Merge commit '81fd23e2b3ccf71c807e671444e8accaba98ca53' of https://git.pengutronix...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / display / bridge / adi,adv7533.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/display/bridge/adi,adv7533.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Analog Devices ADV7533/35 HDMI Encoders
8
9 maintainers:
10   - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11
12 description: |
13   The ADV7533 and ADV7535 are HDMI audio and video transmitters
14   compatible with HDMI 1.4 and DVI 1.0. They support color space
15   conversion, S/PDIF, CEC and HDCP. The transmitter input is MIPI DSI.
16
17 properties:
18   compatible:
19     enum:
20       - adi,adv7533
21       - adi,adv7535
22
23   reg:
24     description: |
25       I2C slave addresses.
26
27       The ADV7533/35 internal registers are split into four pages
28       exposed through different I2C addresses, creating four register
29       maps. Each map has it own I2C address and acts as a standard slave
30       device on the I2C bus. The main address is mandatory, others are
31       optional and revert to defaults if not specified.
32     minItems: 1
33     maxItems: 4
34
35   reg-names:
36     description:
37       Names of maps with programmable addresses. It can contain any map
38       needing a non-default address.
39     minItems: 1
40     items:
41       - const: main
42       - const: edid
43       - const: cec
44       - const: packet
45
46   clocks:
47     description: Reference to the CEC clock.
48     maxItems: 1
49
50   clock-names:
51     const: cec
52
53   interrupts:
54     maxItems: 1
55
56   pd-gpios:
57     description: GPIO connected to the power down signal.
58     maxItems: 1
59
60   avdd-supply:
61     description: A 1.8V supply that powers up the AVDD pin.
62
63   dvdd-supply:
64     description: A 1.8V supply that powers up the DVDD pin.
65
66   pvdd-supply:
67     description: A 1.8V supply that powers up the PVDD pin.
68
69   a2vdd-supply:
70     description: A 1.8V supply that powers up the A2VDD pin.
71
72   v3p3-supply:
73     description: A 3.3V supply that powers up the V3P3 pin.
74
75   v1p2-supply:
76     description:
77       A supply that powers up the V1P2 pin. It can be either 1.2V
78       or 1.8V for ADV7533 but only 1.8V for ADV7535.
79
80   adi,disable-timing-generator:
81     description:
82       Disables the internal timing generator. The chip will rely on the
83       sync signals in the DSI data lanes, rather than generating its own
84       timings for HDMI output.
85     type: boolean
86
87   adi,dsi-lanes:
88     description: Number of DSI data lanes connected to the DSI host.
89     $ref: /schemas/types.yaml#/definitions/uint32
90     enum: [ 1, 2, 3, 4 ]
91
92   ports:
93     description:
94       The ADV7533/35 has two video ports and one audio port. This node
95       models their connections as documented in
96       Documentation/devicetree/bindings/media/video-interfaces.txt
97       Documentation/devicetree/bindings/graph.txt
98     type: object
99     properties:
100       port@0:
101         description:
102           Video port for the DSI input. The remote endpoint phandle
103           should be a reference to a valid mipi_dsi_host_device.
104         type: object
105
106       port@1:
107         description: Video port for the HDMI output.
108         type: object
109
110       port@2:
111         description: Audio port for the HDMI output.
112         type: object
113
114 required:
115   - compatible
116   - reg
117   - ports
118   - adi,dsi-lanes
119   - avdd-supply
120   - dvdd-supply
121   - pvdd-supply
122   - a2vdd-supply
123   - v3p3-supply
124
125 additionalProperties: false
126
127 examples:
128   - |
129     #include <dt-bindings/interrupt-controller/irq.h>
130
131     i2c@e6500000 {
132         #address-cells = <1>;
133         #size-cells = <0>;
134
135         reg = <0 0xe6500000>;
136
137         adv7533: hdmi@39 {
138             compatible = "adi,adv7533";
139             /*
140              * The EDID page will be accessible on address 0x66 on the I2C
141              * bus. All other maps continue to use their default addresses.
142              */
143             reg = <0x39>, <0x66>;
144             reg-names = "main", "edid";
145             interrupt-parent = <&gpio3>;
146             interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
147             clocks = <&cec_clock>;
148             clock-names = "cec";
149             adi,dsi-lanes = <4>;
150             avdd-supply = <&v1v8>;
151             dvdd-supply = <&v1v8>;
152             pvdd-supply = <&v1v8>;
153             a2vdd-supply = <&v1v8>;
154             v3p3-supply = <&v3v3>;
155
156             ports {
157                 #address-cells = <1>;
158                 #size-cells = <0>;
159
160                 port@0 {
161                     reg = <0>;
162                     adv7533_in: endpoint {
163                         remote-endpoint = <&dsi_out>;
164                     };
165                 };
166
167                 port@1 {
168                     reg = <1>;
169                     adv7533_out: endpoint {
170                         remote-endpoint = <&hdmi_connector_in>;
171                     };
172                 };
173
174                 port@2 {
175                     reg = <2>;
176                     codec_endpoint: endpoint {
177                         remote-endpoint = <&i2s0_cpu_endpoint>;
178                     };
179                 };
180             };
181         };
182     };
183
184 ...