blob: 6d847019c5545c9078058f1867ff2d879a897abc [file] [log] [blame]
Patrice Chotardaad11b12019-07-23 15:33:30 +02001// SPDX-License-Identifier: GPL-2.0-only
Patrice Chotardcdf6b572017-02-21 13:37:11 +01002/*
3 * Copyright (C) 2014 STMicroelectronics Limited.
4 * Author: Peter Griffin <peter.griffin@linaro.org>
Patrice Chotardcdf6b572017-02-21 13:37:11 +01005 */
6#include "stih410-clock.dtsi"
7#include "stih407-family.dtsi"
8#include "stih410-pinctrl.dtsi"
Patrice Chotardaad11b12019-07-23 15:33:30 +02009#include <dt-bindings/gpio/gpio.h>
Patrice Chotardcdf6b572017-02-21 13:37:11 +010010/ {
11 aliases {
12 bdisp0 = &bdisp0;
13 };
14
Patrice Chotardcdf6b572017-02-21 13:37:11 +010015 soc {
Patrice Chotardaad11b12019-07-23 15:33:30 +020016 usb2_picophy1: phy2@0 {
Patrice Chotardcdf6b572017-02-21 13:37:11 +010017 compatible = "st,stih407-usb2-phy";
Patrice Chotardaad11b12019-07-23 15:33:30 +020018 reg = <0 0>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +010019 #phy-cells = <0>;
20 st,syscfg = <&syscfg_core 0xf8 0xf4>;
21 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
22 <&picophyreset STIH407_PICOPHY0_RESET>;
23 reset-names = "global", "port";
24
25 status = "disabled";
26 };
27
Patrice Chotardaad11b12019-07-23 15:33:30 +020028 usb2_picophy2: phy3@0 {
Patrice Chotardcdf6b572017-02-21 13:37:11 +010029 compatible = "st,stih407-usb2-phy";
Patrice Chotardaad11b12019-07-23 15:33:30 +020030 reg = <0 0>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +010031 #phy-cells = <0>;
32 st,syscfg = <&syscfg_core 0xfc 0xf4>;
33 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
34 <&picophyreset STIH407_PICOPHY1_RESET>;
35 reset-names = "global", "port";
36
37 status = "disabled";
38 };
39
40 ohci0: usb@9a03c00 {
Patrice Chotardaad11b12019-07-23 15:33:30 +020041 compatible = "st,st-ohci-300x";
Patrice Chotardcdf6b572017-02-21 13:37:11 +010042 reg = <0x9a03c00 0x100>;
Patrice Chotardaad11b12019-07-23 15:33:30 +020043 interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +010044 clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
45 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
46 resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
47 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
48 reset-names = "power", "softreset";
49 phys = <&usb2_picophy1>;
50 phy-names = "usb";
51
52 status = "disabled";
53 };
54
55 ehci0: usb@9a03e00 {
Patrice Chotardaad11b12019-07-23 15:33:30 +020056 compatible = "st,st-ehci-300x";
Patrice Chotardcdf6b572017-02-21 13:37:11 +010057 reg = <0x9a03e00 0x100>;
Patrice Chotardaad11b12019-07-23 15:33:30 +020058 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +010059 pinctrl-names = "default";
60 pinctrl-0 = <&pinctrl_usb0>;
61 clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
62 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
63 resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
64 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
65 reset-names = "power", "softreset";
66 phys = <&usb2_picophy1>;
67 phy-names = "usb";
68
69 status = "disabled";
70 };
71
72 ohci1: usb@9a83c00 {
Patrice Chotardaad11b12019-07-23 15:33:30 +020073 compatible = "st,st-ohci-300x";
Patrice Chotardcdf6b572017-02-21 13:37:11 +010074 reg = <0x9a83c00 0x100>;
Patrice Chotardaad11b12019-07-23 15:33:30 +020075 interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +010076 clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
77 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
78 resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
79 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
80 reset-names = "power", "softreset";
81 phys = <&usb2_picophy2>;
82 phy-names = "usb";
83
84 status = "disabled";
85 };
86
87 ehci1: usb@9a83e00 {
Patrice Chotardaad11b12019-07-23 15:33:30 +020088 compatible = "st,st-ehci-300x";
Patrice Chotardcdf6b572017-02-21 13:37:11 +010089 reg = <0x9a83e00 0x100>;
Patrice Chotardaad11b12019-07-23 15:33:30 +020090 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +010091 pinctrl-names = "default";
92 pinctrl-0 = <&pinctrl_usb1>;
93 clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
94 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
95 resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
96 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
97 reset-names = "power", "softreset";
Patrice Chotardcdf6b572017-02-21 13:37:11 +010098 phys = <&usb2_picophy2>;
99 phy-names = "usb";
100
101 status = "disabled";
102 };
103
Patrice Chotardaad11b12019-07-23 15:33:30 +0200104 sti-display-subsystem@0 {
Patrice Chotardcdf6b572017-02-21 13:37:11 +0100105 compatible = "st,sti-display-subsystem";
106 #address-cells = <1>;
107 #size-cells = <1>;
108
Patrice Chotardaad11b12019-07-23 15:33:30 +0200109 reg = <0 0>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +0100110 assigned-clocks = <&clk_s_d2_quadfs 0>,
111 <&clk_s_d2_quadfs 1>,
112 <&clk_s_c0_pll1 0>,
113 <&clk_s_c0_flexgen CLK_COMPO_DVP>,
114 <&clk_s_c0_flexgen CLK_MAIN_DISP>,
115 <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>,
116 <&clk_s_d2_flexgen CLK_PIX_AUX_DISP>,
117 <&clk_s_d2_flexgen CLK_PIX_GDP1>,
118 <&clk_s_d2_flexgen CLK_PIX_GDP2>,
119 <&clk_s_d2_flexgen CLK_PIX_GDP3>,
120 <&clk_s_d2_flexgen CLK_PIX_GDP4>;
121
122 assigned-clock-parents = <0>,
123 <0>,
124 <0>,
125 <&clk_s_c0_pll1 0>,
126 <&clk_s_c0_pll1 0>,
127 <&clk_s_d2_quadfs 0>,
128 <&clk_s_d2_quadfs 1>,
129 <&clk_s_d2_quadfs 0>,
130 <&clk_s_d2_quadfs 0>,
131 <&clk_s_d2_quadfs 0>,
132 <&clk_s_d2_quadfs 0>;
133
134 assigned-clock-rates = <297000000>,
135 <297000000>,
136 <0>,
137 <400000000>,
138 <400000000>;
139
140 ranges;
141
142 sti-compositor@9d11000 {
143 compatible = "st,stih407-compositor";
144 reg = <0x9d11000 0x1000>;
145
146 clock-names = "compo_main",
147 "compo_aux",
148 "pix_main",
149 "pix_aux",
150 "pix_gdp1",
151 "pix_gdp2",
152 "pix_gdp3",
153 "pix_gdp4",
154 "main_parent",
155 "aux_parent";
156
157 clocks = <&clk_s_c0_flexgen CLK_COMPO_DVP>,
158 <&clk_s_c0_flexgen CLK_COMPO_DVP>,
159 <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>,
160 <&clk_s_d2_flexgen CLK_PIX_AUX_DISP>,
161 <&clk_s_d2_flexgen CLK_PIX_GDP1>,
162 <&clk_s_d2_flexgen CLK_PIX_GDP2>,
163 <&clk_s_d2_flexgen CLK_PIX_GDP3>,
164 <&clk_s_d2_flexgen CLK_PIX_GDP4>,
165 <&clk_s_d2_quadfs 0>,
166 <&clk_s_d2_quadfs 1>;
167
168 reset-names = "compo-main", "compo-aux";
169 resets = <&softreset STIH407_COMPO_SOFTRESET>,
170 <&softreset STIH407_COMPO_SOFTRESET>;
171 st,vtg = <&vtg_main>, <&vtg_aux>;
172 };
173
174 sti-tvout@8d08000 {
175 compatible = "st,stih407-tvout";
176 reg = <0x8d08000 0x1000>;
177 reg-names = "tvout-reg";
178 reset-names = "tvout";
179 resets = <&softreset STIH407_HDTVOUT_SOFTRESET>;
180 #address-cells = <1>;
181 #size-cells = <1>;
182 assigned-clocks = <&clk_s_d2_flexgen CLK_PIX_HDMI>,
183 <&clk_s_d2_flexgen CLK_TMDS_HDMI>,
184 <&clk_s_d2_flexgen CLK_REF_HDMIPHY>,
185 <&clk_s_d0_flexgen CLK_PCM_0>,
186 <&clk_s_d2_flexgen CLK_PIX_HDDAC>,
187 <&clk_s_d2_flexgen CLK_HDDAC>;
188
189 assigned-clock-parents = <&clk_s_d2_quadfs 0>,
190 <&clk_tmdsout_hdmi>,
191 <&clk_s_d2_quadfs 0>,
192 <&clk_s_d0_quadfs 0>,
193 <&clk_s_d2_quadfs 0>,
194 <&clk_s_d2_quadfs 0>;
195 };
196
197 sti_hdmi: sti-hdmi@8d04000 {
198 compatible = "st,stih407-hdmi";
Patrice Chotardcdf6b572017-02-21 13:37:11 +0100199 reg = <0x8d04000 0x1000>;
200 reg-names = "hdmi-reg";
Patrice Chotardaad11b12019-07-23 15:33:30 +0200201 #sound-dai-cells = <0>;
202 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +0100203 interrupt-names = "irq";
204 clock-names = "pix",
205 "tmds",
206 "phy",
207 "audio",
208 "main_parent",
209 "aux_parent";
210
211 clocks = <&clk_s_d2_flexgen CLK_PIX_HDMI>,
212 <&clk_s_d2_flexgen CLK_TMDS_HDMI>,
213 <&clk_s_d2_flexgen CLK_REF_HDMIPHY>,
214 <&clk_s_d0_flexgen CLK_PCM_0>,
215 <&clk_s_d2_quadfs 0>,
216 <&clk_s_d2_quadfs 1>;
217
Patrice Chotardaad11b12019-07-23 15:33:30 +0200218 hdmi,hpd-gpio = <&pio5 3 GPIO_ACTIVE_LOW>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +0100219 reset-names = "hdmi";
220 resets = <&softreset STIH407_HDMI_TX_PHY_SOFTRESET>;
221 ddc = <&hdmiddc>;
222 };
223
224 sti-hda@8d02000 {
225 compatible = "st,stih407-hda";
226 status = "disabled";
227 reg = <0x8d02000 0x400>, <0x92b0120 0x4>;
228 reg-names = "hda-reg", "video-dacs-ctrl";
229 clock-names = "pix",
230 "hddac",
231 "main_parent",
232 "aux_parent";
233 clocks = <&clk_s_d2_flexgen CLK_PIX_HDDAC>,
234 <&clk_s_d2_flexgen CLK_HDDAC>,
235 <&clk_s_d2_quadfs 0>,
236 <&clk_s_d2_quadfs 1>;
237 };
238
Patrice Chotardaad11b12019-07-23 15:33:30 +0200239 sti-hqvdp@9c00000 {
Patrice Chotardcdf6b572017-02-21 13:37:11 +0100240 compatible = "st,stih407-hqvdp";
241 reg = <0x9C00000 0x100000>;
242 clock-names = "hqvdp", "pix_main";
243 clocks = <&clk_s_c0_flexgen CLK_MAIN_DISP>,
244 <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>;
245 reset-names = "hqvdp";
246 resets = <&softreset STIH407_HDQVDP_SOFTRESET>;
247 st,vtg = <&vtg_main>;
248 };
249 };
250
251 bdisp0:bdisp@9f10000 {
252 compatible = "st,stih407-bdisp";
253 reg = <0x9f10000 0x1000>;
Patrice Chotardaad11b12019-07-23 15:33:30 +0200254 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +0100255 clock-names = "bdisp";
256 clocks = <&clk_s_c0_flexgen CLK_IC_BDISP_0>;
257 };
258
259 hva@8c85000 {
260 compatible = "st,st-hva";
261 reg = <0x8c85000 0x400>, <0x6000000 0x40000>;
262 reg-names = "hva_registers", "hva_esram";
Patrice Chotardaad11b12019-07-23 15:33:30 +0200263 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
264 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +0100265 clock-names = "clk_hva";
266 clocks = <&clk_s_c0_flexgen CLK_HVA>;
267 };
268
269 thermal@91a0000 {
270 compatible = "st,stih407-thermal";
271 reg = <0x91a0000 0x28>;
272 clock-names = "thermal";
273 clocks = <&clk_sysin>;
274 interrupts = <GIC_SPI 205 IRQ_TYPE_EDGE_RISING>;
275 };
276
Patrice Chotardaad11b12019-07-23 15:33:30 +0200277 delta0@0 {
Patrice Chotardcdf6b572017-02-21 13:37:11 +0100278 compatible = "st,st-delta";
279 clock-names = "delta",
280 "delta-st231",
281 "delta-flash-promip";
282 clocks = <&clk_s_c0_flexgen CLK_VID_DMU>,
283 <&clk_s_c0_flexgen CLK_ST231_DMU>,
284 <&clk_s_c0_flexgen CLK_FLASH_PROMIP>;
285 };
286
Patrice Chotardaad11b12019-07-23 15:33:30 +0200287 sti-cec@94a087c {
288 compatible = "st,stih-cec";
289 reg = <0x94a087c 0x64>;
290 clocks = <&clk_sysin>;
291 clock-names = "cec-clk";
292 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
293 interrupt-names = "cec-irq";
294 pinctrl-names = "default";
295 pinctrl-0 = <&pinctrl_cec0_default>;
296 resets = <&softreset STIH407_LPM_SOFTRESET>;
297 hdmi-phandle = <&sti_hdmi>;
Patrice Chotardcdf6b572017-02-21 13:37:11 +0100298 };
299 };
300};