blob: 6d847019c5545c9078058f1867ff2d879a897abc [file] [log] [blame]
Thomas Gleixner1d0ea062019-05-29 16:57:46 -07001// SPDX-License-Identifier: GPL-2.0-only
Peter Griffinb16b77a2014-11-17 17:48:00 +01002/*
3 * Copyright (C) 2014 STMicroelectronics Limited.
4 * Author: Peter Griffin <peter.griffin@linaro.org>
Peter Griffinb16b77a2014-11-17 17:48:00 +01005 */
6#include "stih410-clock.dtsi"
7#include "stih407-family.dtsi"
8#include "stih410-pinctrl.dtsi"
Patrice Chotard7ac1f592018-01-10 09:21:02 +01009#include <dt-bindings/gpio/gpio.h>
Peter Griffinb16b77a2014-11-17 17:48:00 +010010/ {
Fabien Dessenne79444502015-06-16 15:30:00 +020011 aliases {
12 bdisp0 = &bdisp0;
13 };
14
Peter Griffin9d9f65f2015-01-07 16:04:00 +010015 soc {
Patrice Chotard1d919582018-01-19 11:18:19 +010016 usb2_picophy1: phy2@0 {
Peter Griffin9d9f65f2015-01-07 16:04:00 +010017 compatible = "st,stih407-usb2-phy";
Patrice Chotard1d919582018-01-19 11:18:19 +010018 reg = <0 0>;
Peter Griffin9d9f65f2015-01-07 16:04:00 +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";
Maxime Coquelinb771ae22015-09-23 19:53:58 +020024
25 status = "disabled";
Peter Griffin9d9f65f2015-01-07 16:04:00 +010026 };
Peter Griffinb16b77a2014-11-17 17:48:00 +010027
Patrice Chotard1d919582018-01-19 11:18:19 +010028 usb2_picophy2: phy3@0 {
Peter Griffin9d9f65f2015-01-07 16:04:00 +010029 compatible = "st,stih407-usb2-phy";
Patrice Chotard1d919582018-01-19 11:18:19 +010030 reg = <0 0>;
Peter Griffin9d9f65f2015-01-07 16:04:00 +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";
Maxime Coquelinb771ae22015-09-23 19:53:58 +020036
37 status = "disabled";
Peter Griffin9d9f65f2015-01-07 16:04:00 +010038 };
Peter Griffina59a4d962015-01-07 16:04:00 +010039
40 ohci0: usb@9a03c00 {
41 compatible = "st,st-ohci-300x";
42 reg = <0x9a03c00 0x100>;
Patrice Chotardfd827d02018-04-20 17:41:54 +020043 interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e9d2852016-09-08 11:11:00 +020044 clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
45 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
Peter Griffina59a4d962015-01-07 16:04:00 +010046 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";
Maxime Coquelinb771ae22015-09-23 19:53:58 +020051
52 status = "disabled";
Peter Griffina59a4d962015-01-07 16:04:00 +010053 };
54
55 ehci0: usb@9a03e00 {
56 compatible = "st,st-ehci-300x";
57 reg = <0x9a03e00 0x100>;
Patrice Chotardfd827d02018-04-20 17:41:54 +020058 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
Peter Griffina59a4d962015-01-07 16:04:00 +010059 pinctrl-names = "default";
60 pinctrl-0 = <&pinctrl_usb0>;
Lee Jones7e9d2852016-09-08 11:11:00 +020061 clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
62 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
Peter Griffina59a4d962015-01-07 16:04:00 +010063 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";
Maxime Coquelinb771ae22015-09-23 19:53:58 +020068
69 status = "disabled";
Peter Griffina59a4d962015-01-07 16:04:00 +010070 };
71
72 ohci1: usb@9a83c00 {
73 compatible = "st,st-ohci-300x";
74 reg = <0x9a83c00 0x100>;
Patrice Chotardfd827d02018-04-20 17:41:54 +020075 interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e9d2852016-09-08 11:11:00 +020076 clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
77 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
Peter Griffina59a4d962015-01-07 16:04:00 +010078 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";
Maxime Coquelinb771ae22015-09-23 19:53:58 +020083
84 status = "disabled";
Peter Griffina59a4d962015-01-07 16:04:00 +010085 };
86
87 ehci1: usb@9a83e00 {
88 compatible = "st,st-ehci-300x";
89 reg = <0x9a83e00 0x100>;
Patrice Chotardfd827d02018-04-20 17:41:54 +020090 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
Peter Griffina59a4d962015-01-07 16:04:00 +010091 pinctrl-names = "default";
92 pinctrl-0 = <&pinctrl_usb1>;
Lee Jones7e9d2852016-09-08 11:11:00 +020093 clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
94 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
Peter Griffina59a4d962015-01-07 16:04:00 +010095 resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
96 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
97 reset-names = "power", "softreset";
98 phys = <&usb2_picophy2>;
99 phy-names = "usb";
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100100
Maxime Coquelinb771ae22015-09-23 19:53:58 +0200101 status = "disabled";
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100102 };
103
Patrice Chotard0b09a912018-01-09 17:47:47 +0100104 sti-display-subsystem@0 {
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100105 compatible = "st,sti-display-subsystem";
106 #address-cells = <1>;
107 #size-cells = <1>;
108
Patrice Chotard0b09a912018-01-09 17:47:47 +0100109 reg = <0 0>;
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100110 assigned-clocks = <&clk_s_d2_quadfs 0>,
Gabriel Fernandez3a741522016-08-29 14:27:00 +0200111 <&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>,
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100115 <&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>,
Gabriel Fernandez3a741522016-08-29 14:27:00 +0200124 <0>,
125 <&clk_s_c0_pll1 0>,
126 <&clk_s_c0_pll1 0>,
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100127 <&clk_s_d2_quadfs 0>,
Gabriel Fernandez3a741522016-08-29 14:27:00 +0200128 <&clk_s_d2_quadfs 1>,
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100129 <&clk_s_d2_quadfs 0>,
130 <&clk_s_d2_quadfs 0>,
131 <&clk_s_d2_quadfs 0>,
132 <&clk_s_d2_quadfs 0>;
133
Gabriel Fernandez3a741522016-08-29 14:27:00 +0200134 assigned-clock-rates = <297000000>,
Patrice Chotardb9ec8662017-01-06 14:30:21 +0100135 <297000000>,
Gabriel Fernandez3a741522016-08-29 14:27:00 +0200136 <0>,
137 <400000000>,
138 <400000000>;
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100139
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>;
Benjamin Gaignard79a313f2015-09-23 21:48:03 +0200195 };
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100196
Arnaud Pouliquen24595472016-10-04 18:11:00 +0200197 sti_hdmi: sti-hdmi@8d04000 {
Benjamin Gaignard79a313f2015-09-23 21:48:03 +0200198 compatible = "st,stih407-hdmi";
199 reg = <0x8d04000 0x1000>;
200 reg-names = "hdmi-reg";
Rob Herring4f21a122018-03-01 21:25:00 +0100201 #sound-dai-cells = <0>;
Patrice Chotardfd827d02018-04-20 17:41:54 +0200202 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
Benjamin Gaignard79a313f2015-09-23 21:48:03 +0200203 interrupt-names = "irq";
204 clock-names = "pix",
205 "tmds",
206 "phy",
207 "audio",
208 "main_parent",
209 "aux_parent";
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100210
Benjamin Gaignard79a313f2015-09-23 21:48:03 +0200211 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>;
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100217
Patrice Chotard7ac1f592018-01-10 09:21:02 +0100218 hdmi,hpd-gpio = <&pio5 3 GPIO_ACTIVE_LOW>;
Benjamin Gaignard79a313f2015-09-23 21:48:03 +0200219 reset-names = "hdmi";
220 resets = <&softreset STIH407_HDMI_TX_PHY_SOFTRESET>;
221 ddc = <&hdmiddc>;
222 };
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100223
Benjamin Gaignard79a313f2015-09-23 21:48:03 +0200224 sti-hda@8d02000 {
225 compatible = "st,stih407-hda";
Patrice Chotard9d65f902016-12-07 10:49:51 +0100226 status = "disabled";
Benjamin Gaignard79a313f2015-09-23 21:48:03 +0200227 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>;
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100237 };
Patrice Chotard241a6872016-12-07 10:51:31 +0100238
Patrice Chotardd6d854c2018-01-08 11:20:42 +0100239 sti-hqvdp@9c00000 {
Patrice Chotard241a6872016-12-07 10:51:31 +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 };
Gabriel FERNANDEZ956b42d2015-01-14 16:47:00 +0100249 };
Fabien Dessenne79444502015-06-16 15:30:00 +0200250
251 bdisp0:bdisp@9f10000 {
252 compatible = "st,stih407-bdisp";
253 reg = <0x9f10000 0x1000>;
Patrice Chotardfd827d02018-04-20 17:41:54 +0200254 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
Fabien Dessenne79444502015-06-16 15:30:00 +0200255 clock-names = "bdisp";
256 clocks = <&clk_s_c0_flexgen CLK_IC_BDISP_0>;
257 };
Patrice Chotard70bc0f32016-08-15 14:17:00 +0200258
Jean-Christophe Trotin390aafe2016-07-25 09:57:30 +0200259 hva@8c85000 {
260 compatible = "st,st-hva";
261 reg = <0x8c85000 0x400>, <0x6000000 0x40000>;
262 reg-names = "hva_registers", "hva_esram";
Patrice Chotardfd827d02018-04-20 17:41:54 +0200263 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
264 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
Jean-Christophe Trotin390aafe2016-07-25 09:57:30 +0200265 clock-names = "clk_hva";
266 clocks = <&clk_s_c0_flexgen CLK_HVA>;
267 };
268
Patrice Chotard70bc0f32016-08-15 14:17:00 +0200269 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 };
Hugues Fruchetb005ebf2016-12-05 18:11:00 +0100276
Patrice Chotard5eccdff2018-01-19 09:09:05 +0100277 delta0@0 {
Hugues Fruchetb005ebf2016-12-05 18:11:00 +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 };
Benjamin Gaignarded3022d2017-01-03 12:54:57 -0200286
Rob Herring8dccafa2017-10-13 12:54:51 -0500287 sti-cec@94a087c {
Benjamin Gaignarded3022d2017-01-03 12:54:57 -0200288 compatible = "st,stih-cec";
289 reg = <0x94a087c 0x64>;
290 clocks = <&clk_sysin>;
291 clock-names = "cec-clk";
Patrice Chotardfd827d02018-04-20 17:41:54 +0200292 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
Benjamin Gaignarded3022d2017-01-03 12:54:57 -0200293 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>;
298 };
Peter Griffin9d9f65f2015-01-07 16:04:00 +0100299 };
Peter Griffinb16b77a2014-11-17 17:48:00 +0100300};