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