xref: /openbmc/linux/Documentation/devicetree/bindings/display/bridge/fsl,imx8qxp-pixel-link.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1*2e7bee68SLiu Ying# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*2e7bee68SLiu Ying%YAML 1.2
3*2e7bee68SLiu Ying---
4*2e7bee68SLiu Ying$id: http://devicetree.org/schemas/display/bridge/fsl,imx8qxp-pixel-link.yaml#
5*2e7bee68SLiu Ying$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2e7bee68SLiu Ying
7*2e7bee68SLiu Yingtitle: Freescale i.MX8qm/qxp Display Pixel Link
8*2e7bee68SLiu Ying
9*2e7bee68SLiu Yingmaintainers:
10*2e7bee68SLiu Ying  - Liu Ying <victor.liu@nxp.com>
11*2e7bee68SLiu Ying
12*2e7bee68SLiu Yingdescription: |
13*2e7bee68SLiu Ying  The Freescale i.MX8qm/qxp Display Pixel Link(DPL) forms a standard
14*2e7bee68SLiu Ying  asynchronous linkage between pixel sources(display controller or
15*2e7bee68SLiu Ying  camera module) and pixel consumers(imaging or displays).
16*2e7bee68SLiu Ying  It consists of two distinct functions, a pixel transfer function and a
17*2e7bee68SLiu Ying  control interface.  Multiple pixel channels can exist per one control channel.
18*2e7bee68SLiu Ying  This binding documentation is only for pixel links whose pixel sources are
19*2e7bee68SLiu Ying  display controllers.
20*2e7bee68SLiu Ying
21*2e7bee68SLiu Ying  The i.MX8qm/qxp Display Pixel Link is accessed via System Controller Unit(SCU)
22*2e7bee68SLiu Ying  firmware.
23*2e7bee68SLiu Ying
24*2e7bee68SLiu Yingproperties:
25*2e7bee68SLiu Ying  compatible:
26*2e7bee68SLiu Ying    enum:
27*2e7bee68SLiu Ying      - fsl,imx8qm-dc-pixel-link
28*2e7bee68SLiu Ying      - fsl,imx8qxp-dc-pixel-link
29*2e7bee68SLiu Ying
30*2e7bee68SLiu Ying  fsl,dc-id:
31*2e7bee68SLiu Ying    $ref: /schemas/types.yaml#/definitions/uint8
32*2e7bee68SLiu Ying    description: |
33*2e7bee68SLiu Ying      u8 value representing the display controller index that the pixel link
34*2e7bee68SLiu Ying      connects to.
35*2e7bee68SLiu Ying
36*2e7bee68SLiu Ying  fsl,dc-stream-id:
37*2e7bee68SLiu Ying    $ref: /schemas/types.yaml#/definitions/uint8
38*2e7bee68SLiu Ying    description: |
39*2e7bee68SLiu Ying      u8 value representing the display controller stream index that the pixel
40*2e7bee68SLiu Ying      link connects to.
41*2e7bee68SLiu Ying    enum: [0, 1]
42*2e7bee68SLiu Ying
43*2e7bee68SLiu Ying  ports:
44*2e7bee68SLiu Ying    $ref: /schemas/graph.yaml#/properties/ports
45*2e7bee68SLiu Ying
46*2e7bee68SLiu Ying    properties:
47*2e7bee68SLiu Ying      port@0:
48*2e7bee68SLiu Ying        $ref: /schemas/graph.yaml#/properties/port
49*2e7bee68SLiu Ying        description: The pixel link input port node from upstream video source.
50*2e7bee68SLiu Ying
51*2e7bee68SLiu Ying    patternProperties:
52*2e7bee68SLiu Ying      "^port@[1-4]$":
53*2e7bee68SLiu Ying        $ref: /schemas/graph.yaml#/properties/port
54*2e7bee68SLiu Ying        description: The pixel link output port node to downstream bridge.
55*2e7bee68SLiu Ying
56*2e7bee68SLiu Ying    required:
57*2e7bee68SLiu Ying      - port@0
58*2e7bee68SLiu Ying      - port@1
59*2e7bee68SLiu Ying      - port@2
60*2e7bee68SLiu Ying      - port@3
61*2e7bee68SLiu Ying      - port@4
62*2e7bee68SLiu Ying
63*2e7bee68SLiu YingallOf:
64*2e7bee68SLiu Ying  - if:
65*2e7bee68SLiu Ying      properties:
66*2e7bee68SLiu Ying        compatible:
67*2e7bee68SLiu Ying          contains:
68*2e7bee68SLiu Ying            const: fsl,imx8qxp-dc-pixel-link
69*2e7bee68SLiu Ying    then:
70*2e7bee68SLiu Ying      properties:
71*2e7bee68SLiu Ying        fsl,dc-id:
72*2e7bee68SLiu Ying          const: 0
73*2e7bee68SLiu Ying
74*2e7bee68SLiu Ying  - if:
75*2e7bee68SLiu Ying      properties:
76*2e7bee68SLiu Ying        compatible:
77*2e7bee68SLiu Ying          contains:
78*2e7bee68SLiu Ying            const: fsl,imx8qm-dc-pixel-link
79*2e7bee68SLiu Ying    then:
80*2e7bee68SLiu Ying      properties:
81*2e7bee68SLiu Ying        fsl,dc-id:
82*2e7bee68SLiu Ying          enum: [0, 1]
83*2e7bee68SLiu Ying
84*2e7bee68SLiu Yingrequired:
85*2e7bee68SLiu Ying  - compatible
86*2e7bee68SLiu Ying  - fsl,dc-id
87*2e7bee68SLiu Ying  - fsl,dc-stream-id
88*2e7bee68SLiu Ying  - ports
89*2e7bee68SLiu Ying
90*2e7bee68SLiu YingadditionalProperties: false
91*2e7bee68SLiu Ying
92*2e7bee68SLiu Yingexamples:
93*2e7bee68SLiu Ying  - |
94*2e7bee68SLiu Ying    dc0-pixel-link0 {
95*2e7bee68SLiu Ying        compatible = "fsl,imx8qxp-dc-pixel-link";
96*2e7bee68SLiu Ying        fsl,dc-id = /bits/ 8 <0>;
97*2e7bee68SLiu Ying        fsl,dc-stream-id = /bits/ 8 <0>;
98*2e7bee68SLiu Ying
99*2e7bee68SLiu Ying        ports {
100*2e7bee68SLiu Ying            #address-cells = <1>;
101*2e7bee68SLiu Ying            #size-cells = <0>;
102*2e7bee68SLiu Ying
103*2e7bee68SLiu Ying            /* from dc0 pixel combiner channel0 */
104*2e7bee68SLiu Ying            port@0 {
105*2e7bee68SLiu Ying                reg = <0>;
106*2e7bee68SLiu Ying
107*2e7bee68SLiu Ying                dc0_pixel_link0_dc0_pixel_combiner_ch0: endpoint {
108*2e7bee68SLiu Ying                    remote-endpoint = <&dc0_pixel_combiner_ch0_dc0_pixel_link0>;
109*2e7bee68SLiu Ying                };
110*2e7bee68SLiu Ying            };
111*2e7bee68SLiu Ying
112*2e7bee68SLiu Ying            /* to PXL2DPIs in MIPI/LVDS combo subsystems */
113*2e7bee68SLiu Ying            port@1 {
114*2e7bee68SLiu Ying                #address-cells = <1>;
115*2e7bee68SLiu Ying                #size-cells = <0>;
116*2e7bee68SLiu Ying                reg = <1>;
117*2e7bee68SLiu Ying
118*2e7bee68SLiu Ying                dc0_pixel_link0_mipi_lvds_0_pxl2dpi: endpoint@0 {
119*2e7bee68SLiu Ying                    reg = <0>;
120*2e7bee68SLiu Ying                    remote-endpoint = <&mipi_lvds_0_pxl2dpi_dc0_pixel_link0>;
121*2e7bee68SLiu Ying                };
122*2e7bee68SLiu Ying
123*2e7bee68SLiu Ying                dc0_pixel_link0_mipi_lvds_1_pxl2dpi: endpoint@1 {
124*2e7bee68SLiu Ying                    reg = <1>;
125*2e7bee68SLiu Ying                    remote-endpoint = <&mipi_lvds_1_pxl2dpi_dc0_pixel_link0>;
126*2e7bee68SLiu Ying                };
127*2e7bee68SLiu Ying            };
128*2e7bee68SLiu Ying
129*2e7bee68SLiu Ying            /* unused */
130*2e7bee68SLiu Ying            port@2 {
131*2e7bee68SLiu Ying                reg = <2>;
132*2e7bee68SLiu Ying            };
133*2e7bee68SLiu Ying
134*2e7bee68SLiu Ying            /* unused */
135*2e7bee68SLiu Ying            port@3 {
136*2e7bee68SLiu Ying                reg = <3>;
137*2e7bee68SLiu Ying            };
138*2e7bee68SLiu Ying
139*2e7bee68SLiu Ying            /* to imaging subsystem */
140*2e7bee68SLiu Ying            port@4 {
141*2e7bee68SLiu Ying                reg = <4>;
142*2e7bee68SLiu Ying            };
143*2e7bee68SLiu Ying        };
144*2e7bee68SLiu Ying    };
145