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