blob: 6778b3e7ad5b4db12a8ed02b723f8c5ae584f2e7 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001STMicroelectronics stih4xx platforms
2
3- sti-vtg: video timing generator
4 Required properties:
5 - compatible: "st,vtg"
6 - reg: Physical base address of the IP registers and length of memory mapped region.
7 Optional properties:
8 - interrupts : VTG interrupt number to the CPU.
9 - st,slave: phandle on a slave vtg
10
11- sti-vtac: video timing advanced inter dye communication Rx and TX
12 Required properties:
13 - compatible: "st,vtac-main" or "st,vtac-aux"
14 - reg: Physical base address of the IP registers and length of memory mapped region.
15 - clocks: from common clock binding: handle hardware IP needed clocks, the
16 number of clocks may depend of the SoC type.
17 See ../clocks/clock-bindings.txt for details.
18 - clock-names: names of the clocks listed in clocks property in the same
19 order.
20
21- sti-display-subsystem: Master device for DRM sub-components
22 This device must be the parent of all the sub-components and is responsible
23 of bind them.
24 Required properties:
25 - compatible: "st,sti-display-subsystem"
26 - ranges: to allow probing of subdevices
27
28- sti-compositor: frame compositor engine
29 must be a child of sti-display-subsystem
30 Required properties:
31 - compatible: "st,stih<chip>-compositor"
32 - reg: Physical base address of the IP registers and length of memory mapped region.
33 - clocks: from common clock binding: handle hardware IP needed clocks, the
34 number of clocks may depend of the SoC type.
35 See ../clocks/clock-bindings.txt for details.
36 - clock-names: names of the clocks listed in clocks property in the same
37 order.
38 - resets: resets to be used by the device
39 See ../reset/reset.txt for details.
40 - reset-names: names of the resets listed in resets property in the same
41 order.
42 - st,vtg: phandle(s) on vtg device (main and aux) nodes.
43
44- sti-tvout: video out hardware block
45 must be a child of sti-display-subsystem
46 Required properties:
47 - compatible: "st,stih<chip>-tvout"
48 - reg: Physical base address of the IP registers and length of memory mapped region.
49 - reg-names: names of the mapped memory regions listed in regs property in
50 the same order.
51 - resets: resets to be used by the device
52 See ../reset/reset.txt for details.
53 - reset-names: names of the resets listed in resets property in the same
54 order.
55
56- sti-hdmi: hdmi output block
57 must be a child of sti-display-subsystem
58 Required properties:
59 - compatible: "st,stih<chip>-hdmi";
60 - reg: Physical base address of the IP registers and length of memory mapped region.
61 - reg-names: names of the mapped memory regions listed in regs property in
62 the same order.
63 - interrupts : HDMI interrupt number to the CPU.
64 - interrupt-names: names of the interrupts listed in interrupts property in
65 the same order
66 - clocks: from common clock binding: handle hardware IP needed clocks, the
67 number of clocks may depend of the SoC type.
68 - clock-names: names of the clocks listed in clocks property in the same
69 order.
70 - ddc: phandle of an I2C controller used for DDC EDID probing
71
72sti-hda:
73 Required properties:
74 must be a child of sti-display-subsystem
75 - compatible: "st,stih<chip>-hda"
76 - reg: Physical base address of the IP registers and length of memory mapped region.
77 - reg-names: names of the mapped memory regions listed in regs property in
78 the same order.
79 - clocks: from common clock binding: handle hardware IP needed clocks, the
80 number of clocks may depend of the SoC type.
81 See ../clocks/clock-bindings.txt for details.
82 - clock-names: names of the clocks listed in clocks property in the same
83 order.
84
85sti-dvo:
86 Required properties:
87 must be a child of sti-display-subsystem
88 - compatible: "st,stih<chip>-dvo"
89 - reg: Physical base address of the IP registers and length of memory mapped region.
90 - reg-names: names of the mapped memory regions listed in regs property in
91 the same order.
92 - clocks: from common clock binding: handle hardware IP needed clocks, the
93 number of clocks may depend of the SoC type.
94 See ../clocks/clock-bindings.txt for details.
95 - clock-names: names of the clocks listed in clocks property in the same
96 order.
97 - pinctrl-0: pin control handle
98 - pinctrl-names: names of the pin control states to use
99 - sti,panel: phandle of the panel connected to the DVO output
100
101sti-hqvdp:
102 must be a child of sti-display-subsystem
103 Required properties:
104 - compatible: "st,stih<chip>-hqvdp"
105 - reg: Physical base address of the IP registers and length of memory mapped region.
106 - clocks: from common clock binding: handle hardware IP needed clocks, the
107 number of clocks may depend of the SoC type.
108 See ../clocks/clock-bindings.txt for details.
109 - clock-names: names of the clocks listed in clocks property in the same
110 order.
111 - resets: resets to be used by the device
112 See ../reset/reset.txt for details.
113 - reset-names: names of the resets listed in resets property in the same
114 order.
115 - st,vtg: phandle on vtg main device node.
116
117Example:
118
119/ {
120 ...
121
122 vtg_main_slave: sti-vtg-main-slave@fe85a800 {
123 compatible = "st,vtg";
124 reg = <0xfe85A800 0x300>;
125 interrupts = <GIC_SPI 175 IRQ_TYPE_NONE>;
126 };
127
128 vtg_main: sti-vtg-main-master@fd348000 {
129 compatible = "st,vtg";
130 reg = <0xfd348000 0x400>;
131 st,slave = <&vtg_main_slave>;
132 };
133
134 vtg_aux_slave: sti-vtg-aux-slave@fd348400 {
135 compatible = "st,vtg";
136 reg = <0xfe858200 0x300>;
137 interrupts = <GIC_SPI 176 IRQ_TYPE_NONE>;
138 };
139
140 vtg_aux: sti-vtg-aux-master@fd348400 {
141 compatible = "st,vtg";
142 reg = <0xfd348400 0x400>;
143 st,slave = <&vtg_aux_slave>;
144 };
145
146
147 sti-vtac-rx-main@fee82800 {
148 compatible = "st,vtac-main";
149 reg = <0xfee82800 0x200>;
150 clock-names = "vtac";
151 clocks = <&clk_m_a2_div0 CLK_M_VTAC_MAIN_PHY>;
152 };
153
154 sti-vtac-rx-aux@fee82a00 {
155 compatible = "st,vtac-aux";
156 reg = <0xfee82a00 0x200>;
157 clock-names = "vtac";
158 clocks = <&clk_m_a2_div0 CLK_M_VTAC_AUX_PHY>;
159 };
160
161 sti-vtac-tx-main@fd349000 {
162 compatible = "st,vtac-main";
163 reg = <0xfd349000 0x200>, <0xfd320000 0x10000>;
164 clock-names = "vtac";
165 clocks = <&clk_s_a1_hs CLK_S_VTAC_TX_PHY>;
166 };
167
168 sti-vtac-tx-aux@fd349200 {
169 compatible = "st,vtac-aux";
170 reg = <0xfd349200 0x200>, <0xfd320000 0x10000>;
171 clock-names = "vtac";
172 clocks = <&clk_s_a1_hs CLK_S_VTAC_TX_PHY>;
173 };
174
175 sti-display-subsystem {
176 compatible = "st,sti-display-subsystem";
177 ranges;
178
179 sti-compositor@fd340000 {
180 compatible = "st,stih416-compositor";
181 reg = <0xfd340000 0x1000>;
182 clock-names = "compo_main", "compo_aux",
183 "pix_main", "pix_aux";
184 clocks = <&clk_m_a2_div1 CLK_M_COMPO_MAIN>, <&clk_m_a2_div1 CLK_M_COMPO_AUX>,
185 <&clockgen_c_vcc CLK_S_PIX_MAIN>, <&clockgen_c_vcc CLK_S_PIX_AUX>;
186 reset-names = "compo-main", "compo-aux";
187 resets = <&softreset STIH416_COMPO_M_SOFTRESET>, <&softreset STIH416_COMPO_A_SOFTRESET>;
188 st,vtg = <&vtg_main>, <&vtg_aux>;
189 };
190
191 sti-tvout@fe000000 {
192 compatible = "st,stih416-tvout";
193 reg = <0xfe000000 0x1000>, <0xfe85a000 0x400>, <0xfe830000 0x10000>;
194 reg-names = "tvout-reg", "hda-reg", "syscfg";
195 reset-names = "tvout";
196 resets = <&softreset STIH416_HDTVOUT_SOFTRESET>;
197 };
198
199 sti-hdmi@fe85c000 {
200 compatible = "st,stih416-hdmi";
201 reg = <0xfe85c000 0x1000>, <0xfe830000 0x10000>;
202 reg-names = "hdmi-reg", "syscfg";
203 interrupts = <GIC_SPI 173 IRQ_TYPE_NONE>;
204 interrupt-names = "irq";
205 clock-names = "pix", "tmds", "phy", "audio";
206 clocks = <&clockgen_c_vcc CLK_S_PIX_HDMI>, <&clockgen_c_vcc CLK_S_TMDS_HDMI>, <&clockgen_c_vcc CLK_S_HDMI_REJECT_PLL>, <&clockgen_b1 CLK_S_PCM_0>;
207 };
208
209 sti-hda@fe85a000 {
210 compatible = "st,stih416-hda";
211 reg = <0xfe85a000 0x400>, <0xfe83085c 0x4>;
212 reg-names = "hda-reg", "video-dacs-ctrl";
213 clock-names = "pix", "hddac";
214 clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>;
215 };
216
217 sti-dvo@8d00400 {
218 compatible = "st,stih407-dvo";
219 reg = <0x8d00400 0x200>;
220 reg-names = "dvo-reg";
221 clock-names = "dvo_pix", "dvo",
222 "main_parent", "aux_parent";
223 clocks = <&clk_s_d2_flexgen CLK_PIX_DVO>, <&clk_s_d2_flexgen CLK_DVO>,
224 <&clk_s_d2_quadfs 0>, <&clk_s_d2_quadfs 1>;
225 pinctrl-names = "default";
226 pinctrl-0 = <&pinctrl_dvo>;
227 sti,panel = <&panel_dvo>;
228 };
229
230 sti-hqvdp@9c000000 {
231 compatible = "st,stih407-hqvdp";
232 reg = <0x9C00000 0x100000>;
233 clock-names = "hqvdp", "pix_main";
234 clocks = <&clk_s_c0_flexgen CLK_MAIN_DISP>, <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>;
235 reset-names = "hqvdp";
236 resets = <&softreset STIH407_HDQVDP_SOFTRESET>;
237 st,vtg = <&vtg_main>;
238 };
239 };
240 ...
241};