]> git.ipfire.org Git - thirdparty/kernel/stable.git/blob - Documentation/devicetree/bindings/display/bridge/adi,adv7533.yaml
Merge tag 'kvm-x86-generic-6.8' of https://github.com/kvm-x86/linux into HEAD
[thirdparty/kernel/stable.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 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 ...