Path: blob/master/Documentation/devicetree/bindings/display/bridge/fsl,imx8qxp-ldb.yaml
26309 views
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)1%YAML 1.22---3$id: http://devicetree.org/schemas/display/bridge/fsl,imx8qxp-ldb.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: Freescale i.MX8qm/qxp LVDS Display Bridge78maintainers:9- Liu Ying <victor.liu@nxp.com>1011description: |12The Freescale i.MX8qm/qxp LVDS Display Bridge(LDB) has two channels.1314The i.MX8qm/qxp LDB is controlled by Control and Status Registers(CSR) module.15The CSR module, as a system controller, contains the LDB's configuration16registers.1718For i.MX8qxp LDB, each channel supports up to 24bpp parallel input color19format and can map the input to VESA or JEIDA standards. The two channels20cannot be used simultaneously, that is to say, the user should pick one of21them to use. Two LDB channels from two LDB instances can work together in22LDB split mode to support a dual link LVDS display. The channel indexes23have to be different. Channel0 outputs odd pixels and channel1 outputs24even pixels.2526For i.MX8qm LDB, each channel additionally supports up to 30bpp parallel27input color format. The two channels can be used simultaneously, either28in dual mode or split mode. In dual mode, the two channels output identical29data. In split mode, channel0 outputs odd pixels and channel1 outputs even30pixels.3132A side note is that i.MX8qm/qxp LDB is officially called pixel mapper in33the SoC reference manuals. The pixel mapper uses logic of LDBs embedded in34i.MX6qdl/sx SoCs, i.e., it is essentially based on them. To keep the naming35consistency, this binding calls it LDB.3637properties:38compatible:39enum:40- fsl,imx8qm-ldb41- fsl,imx8qxp-ldb4243"#address-cells":44const: 14546"#size-cells":47const: 04849clocks:50items:51- description: pixel clock52- description: bypass clock5354clock-names:55items:56- const: pixel57- const: bypass5859power-domains:60maxItems: 16162fsl,companion-ldb:63$ref: /schemas/types.yaml#/definitions/phandle64description: |65A phandle which points to companion LDB which is used in LDB split mode.6667patternProperties:68"^channel@[0-1]$":69type: object70description: Represents a channel of LDB.7172properties:73"#address-cells":74const: 17576"#size-cells":77const: 07879reg:80description: The channel index.81enum: [ 0, 1 ]8283phys:84description: A phandle to the phy module representing the LVDS PHY.85maxItems: 18687phy-names:88const: lvds_phy8990port@0:91$ref: /schemas/graph.yaml#/properties/port92description: Input port of the channel.9394port@1:95$ref: /schemas/graph.yaml#/properties/port96description: Output port of the channel.9798required:99- "#address-cells"100- "#size-cells"101- reg102- phys103- phy-names104105additionalProperties: false106107required:108- compatible109- "#address-cells"110- "#size-cells"111- clocks112- clock-names113- power-domains114- channel@0115- channel@1116117allOf:118- if:119properties:120compatible:121contains:122const: fsl,imx8qm-ldb123then:124properties:125fsl,companion-ldb: false126127additionalProperties: false128129examples:130- |131#include <dt-bindings/firmware/imx/rsrc.h>132ldb {133#address-cells = <1>;134#size-cells = <0>;135compatible = "fsl,imx8qxp-ldb";136clocks = <&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_MISC2>,137<&clk IMX_SC_R_LVDS_0 IMX_SC_PM_CLK_BYPASS>;138clock-names = "pixel", "bypass";139power-domains = <&pd IMX_SC_R_LVDS_0>;140141channel@0 {142#address-cells = <1>;143#size-cells = <0>;144reg = <0>;145phys = <&mipi_lvds_0_phy>;146phy-names = "lvds_phy";147148port@0 {149reg = <0>;150151mipi_lvds_0_ldb_ch0_mipi_lvds_0_pxl2dpi: endpoint {152remote-endpoint = <&mipi_lvds_0_pxl2dpi_mipi_lvds_0_ldb_ch0>;153};154};155};156157channel@1 {158#address-cells = <1>;159#size-cells = <0>;160reg = <1>;161phys = <&mipi_lvds_0_phy>;162phy-names = "lvds_phy";163164port@0 {165reg = <0>;166167mipi_lvds_0_ldb_ch1_mipi_lvds_0_pxl2dpi: endpoint {168remote-endpoint = <&mipi_lvds_0_pxl2dpi_mipi_lvds_0_ldb_ch1>;169};170};171};172};173174175