blob: 2aac62219ff64cd706d534c2457c1e5c54b1e5cf [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/rockchip/rockchip,dw-hdmi.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Rockchip DWC HDMI TX Encoder
8
9maintainers:
10 - Mark Yao <markyao0591@gmail.com>
11
12description: |
13 The HDMI transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP
14 with a companion PHY IP.
15
16allOf:
17 - $ref: ../bridge/synopsys,dw-hdmi.yaml#
Tom Rini762f85b2024-07-20 11:15:10 -060018 - $ref: /schemas/sound/dai-common.yaml#
Tom Rini53633a82024-02-29 12:33:36 -050019
20properties:
21 compatible:
22 enum:
23 - rockchip,rk3228-dw-hdmi
24 - rockchip,rk3288-dw-hdmi
25 - rockchip,rk3328-dw-hdmi
26 - rockchip,rk3399-dw-hdmi
27 - rockchip,rk3568-dw-hdmi
28
29 reg-io-width:
30 const: 4
31
32 avdd-0v9-supply:
33 description:
34 A 0.9V supply that powers up the SoC internal circuitry. The actual pin name
35 varies between the different SoCs and is usually HDMI_TX_AVDD_0V9 or sometimes
36 HDMI_AVDD_1V0.
37
38 avdd-1v8-supply:
39 description:
40 A 1.8V supply that powers up the SoC internal circuitry. The pin name on the
41 SoC usually is HDMI_TX_AVDD_1V8.
42
43 clocks:
44 minItems: 2
45 items:
46 - {}
47 - {}
48 # The next three clocks are all optional, but shall be specified in this
49 # order when present.
50 - description: The HDMI CEC controller main clock
51 - description: Power for GRF IO
52 - description: External clock for some HDMI PHY (old clock name, deprecated)
53 - description: External clock for some HDMI PHY (new name)
54
55 clock-names:
56 minItems: 2
57 items:
58 - {}
59 - {}
60 - enum:
61 - cec
62 - grf
63 - vpll
64 - ref
65 - enum:
66 - grf
67 - vpll
68 - ref
69 - enum:
70 - vpll
71 - ref
72
73 ddc-i2c-bus:
74 $ref: /schemas/types.yaml#/definitions/phandle
75 description:
76 The HDMI DDC bus can be connected to either a system I2C master or the
77 functionally-reduced I2C master contained in the DWC HDMI. When connected
78 to a system I2C master this property contains a phandle to that I2C
79 master controller.
80
81 phys:
82 maxItems: 1
83 description: The HDMI PHY
84
85 phy-names:
86 const: hdmi
87
88 pinctrl-names:
89 description:
90 The unwedge pinctrl entry shall drive the DDC SDA line low. This is
91 intended to work around a hardware errata that can cause the DDC I2C
92 bus to be wedged.
93 minItems: 1
94 items:
95 - const: default
96 - const: unwedge
97
Tom Rini6bb92fc2024-05-20 09:54:58 -060098 power-domains:
99 maxItems: 1
100
Tom Rini53633a82024-02-29 12:33:36 -0500101 ports:
102 $ref: /schemas/graph.yaml#/properties/ports
103
Tom Rini6bb92fc2024-05-20 09:54:58 -0600104 properties:
105 port@0:
Tom Rini53633a82024-02-29 12:33:36 -0500106 $ref: /schemas/graph.yaml#/properties/port
107 description: Input of the DWC HDMI TX
108 properties:
109 endpoint:
110 description: Connection to the VOP
111 endpoint@0:
112 description: Connection to the VOPB
113 endpoint@1:
114 description: Connection to the VOPL
Tom Rini53633a82024-02-29 12:33:36 -0500115 port@1:
116 $ref: /schemas/graph.yaml#/properties/port
117 description: Output of the DWC HDMI TX
118
Tom Rini6bb92fc2024-05-20 09:54:58 -0600119 required:
120 - port@0
121 - port@1
122
Tom Rini53633a82024-02-29 12:33:36 -0500123 rockchip,grf:
124 $ref: /schemas/types.yaml#/definitions/phandle
125 description:
126 phandle to the GRF to mux vopl/vopb.
127
Tom Rini762f85b2024-07-20 11:15:10 -0600128 "#sound-dai-cells":
129 const: 0
130
Tom Rini53633a82024-02-29 12:33:36 -0500131required:
132 - compatible
133 - reg
134 - reg-io-width
135 - clocks
136 - clock-names
137 - interrupts
138 - ports
139 - rockchip,grf
140
141unevaluatedProperties: false
142
143examples:
144 - |
145 #include <dt-bindings/clock/rk3288-cru.h>
146 #include <dt-bindings/interrupt-controller/arm-gic.h>
147 #include <dt-bindings/interrupt-controller/irq.h>
Tom Rini6bb92fc2024-05-20 09:54:58 -0600148 #include <dt-bindings/power/rk3288-power.h>
Tom Rini53633a82024-02-29 12:33:36 -0500149
150 hdmi: hdmi@ff980000 {
151 compatible = "rockchip,rk3288-dw-hdmi";
152 reg = <0xff980000 0x20000>;
153 reg-io-width = <4>;
Tom Rini53633a82024-02-29 12:33:36 -0500154 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
155 clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
156 clock-names = "iahb", "isfr";
Tom Rini6bb92fc2024-05-20 09:54:58 -0600157 ddc-i2c-bus = <&i2c5>;
158 power-domains = <&power RK3288_PD_VIO>;
159 rockchip,grf = <&grf>;
Tom Rini762f85b2024-07-20 11:15:10 -0600160 #sound-dai-cells = <0>;
Tom Rini53633a82024-02-29 12:33:36 -0500161
162 ports {
Tom Rini6bb92fc2024-05-20 09:54:58 -0600163 #address-cells = <1>;
164 #size-cells = <0>;
165
166 port@0 {
167 reg = <0>;
Tom Rini53633a82024-02-29 12:33:36 -0500168 #address-cells = <1>;
169 #size-cells = <0>;
170
171 hdmi_in_vopb: endpoint@0 {
172 reg = <0>;
173 remote-endpoint = <&vopb_out_hdmi>;
174 };
Tom Rini6bb92fc2024-05-20 09:54:58 -0600175
Tom Rini53633a82024-02-29 12:33:36 -0500176 hdmi_in_vopl: endpoint@1 {
177 reg = <1>;
178 remote-endpoint = <&vopl_out_hdmi>;
179 };
180 };
Tom Rini6bb92fc2024-05-20 09:54:58 -0600181
182 port@1 {
183 reg = <1>;
184
185 hdmi_out_con: endpoint {
186 remote-endpoint = <&hdmi_con_in>;
187 };
188 };
Tom Rini53633a82024-02-29 12:33:36 -0500189 };
190 };
191
192...