blob: 91096a49efa95af9e63082765d97eac2f81f1210 [file] [log] [blame]
Maxime Coquelinf563a572014-02-27 13:27:27 +01001/*
2 * Copyright (C) 2014 STMicroelectronics Limited.
3 * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * publishhed by the Free Software Foundation.
8 */
Maxime Coquelinf563a572014-02-27 13:27:27 +01009#include "stih407-pinctrl.dtsi"
Lee Jones358764f2015-04-09 16:47:00 +020010#include <dt-bindings/mfd/st-lpc.h>
Peter Griffinb3d37f92015-03-31 09:35:00 +020011#include <dt-bindings/phy/phy.h>
Philipp Zabelefdf5aa2015-02-13 12:20:49 +010012#include <dt-bindings/reset/stih407-resets.h>
Lee Jones107dea02015-05-12 14:51:00 +020013#include <dt-bindings/interrupt-controller/irq-st.h>
Maxime Coquelinf563a572014-02-27 13:27:27 +010014/ {
15 #address-cells = <1>;
16 #size-cells = <1>;
17
Lee Jonesfe135c62016-04-21 17:07:00 +020018 reserved-memory {
19 #address-cells = <1>;
20 #size-cells = <1>;
21 ranges;
22
23 gp0_reserved: rproc@40000000 {
24 compatible = "shared-dma-pool";
25 reg = <0x40000000 0x01000000>;
26 no-map;
Lee Jones0e289e52016-06-17 13:44:18 +020027 status = "disabled";
Lee Jonesfe135c62016-04-21 17:07:00 +020028 };
29
30 gp1_reserved: rproc@41000000 {
31 compatible = "shared-dma-pool";
32 reg = <0x41000000 0x01000000>;
33 no-map;
Lee Jones0e289e52016-06-17 13:44:18 +020034 status = "disabled";
Lee Jonesfe135c62016-04-21 17:07:00 +020035 };
36
37 audio_reserved: rproc@42000000 {
38 compatible = "shared-dma-pool";
39 reg = <0x42000000 0x01000000>;
40 no-map;
Lee Jones0e289e52016-06-17 13:44:18 +020041 status = "disabled";
Lee Jonesfe135c62016-04-21 17:07:00 +020042 };
43
44 dmu_reserved: rproc@43000000 {
45 compatible = "shared-dma-pool";
46 reg = <0x43000000 0x01000000>;
47 no-map;
48 };
49 };
50
Maxime Coquelinf563a572014-02-27 13:27:27 +010051 cpus {
52 #address-cells = <1>;
53 #size-cells = <0>;
54 cpu@0 {
55 device_type = "cpu";
56 compatible = "arm,cortex-a9";
57 reg = <0>;
Lee Jones6fef7952016-04-21 17:07:00 +020058
Peter Griffinc1dc02d2015-06-09 15:33:00 +020059 /* u-boot puts hpen in SBC dmem at 0xa4 offset */
60 cpu-release-addr = <0x94100A4>;
Lee Jones6fef7952016-04-21 17:07:00 +020061
62 /* kHz uV */
63 operating-points = <1500000 0
64 1200000 0
65 800000 0
66 500000 0>;
Lee Jones4ad8f3a2016-04-21 17:07:00 +020067
68 clocks = <&clk_m_a9>;
69 clock-names = "cpu";
70 clock-latency = <100000>;
Lee Jonesfe7de3c2016-04-21 17:07:00 +020071 cpu0-supply = <&pwm_regulator>;
Lee Jones56092632016-04-21 17:07:00 +020072 st,syscfg = <&syscfg_core 0x8e0>;
Maxime Coquelinf563a572014-02-27 13:27:27 +010073 };
74 cpu@1 {
75 device_type = "cpu";
76 compatible = "arm,cortex-a9";
77 reg = <1>;
Lee Jones6fef7952016-04-21 17:07:00 +020078
Peter Griffinc1dc02d2015-06-09 15:33:00 +020079 /* u-boot puts hpen in SBC dmem at 0xa4 offset */
80 cpu-release-addr = <0x94100A4>;
Lee Jones6fef7952016-04-21 17:07:00 +020081
82 /* kHz uV */
83 operating-points = <1500000 0
84 1200000 0
85 800000 0
86 500000 0>;
Maxime Coquelinf563a572014-02-27 13:27:27 +010087 };
88 };
89
90 intc: interrupt-controller@08761000 {
91 compatible = "arm,cortex-a9-gic";
92 #interrupt-cells = <3>;
93 interrupt-controller;
94 reg = <0x08761000 0x1000>, <0x08760100 0x100>;
95 };
96
97 scu@08760000 {
98 compatible = "arm,cortex-a9-scu";
99 reg = <0x08760000 0x1000>;
100 };
101
102 timer@08760200 {
103 interrupt-parent = <&intc>;
104 compatible = "arm,cortex-a9-global-timer";
105 reg = <0x08760200 0x100>;
106 interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
107 clocks = <&arm_periph_clk>;
108 };
109
110 l2: cache-controller {
111 compatible = "arm,pl310-cache";
112 reg = <0x08762000 0x1000>;
113 arm,data-latency = <3 3 3>;
114 arm,tag-latency = <2 2 2>;
115 cache-unified;
116 cache-level = <2>;
117 };
118
Lee Jones00133b92015-05-12 14:51:00 +0200119 arm-pmu {
120 interrupt-parent = <&intc>;
121 compatible = "arm,cortex-a9-pmu";
122 interrupts = <GIC_PPI 15 IRQ_TYPE_LEVEL_HIGH>;
123 };
124
Lee Jones23155ff2015-07-07 17:06:00 +0200125 pwm_regulator: pwm-regulator {
126 compatible = "pwm-regulator";
127 pwms = <&pwm1 3 8448>;
128 regulator-name = "CPU_1V0_AVS";
129 regulator-min-microvolt = <784000>;
130 regulator-max-microvolt = <1299000>;
131 regulator-always-on;
132 max-duty-cycle = <255>;
133 status = "okay";
134 };
135
Maxime Coquelinf563a572014-02-27 13:27:27 +0100136 soc {
137 #address-cells = <1>;
138 #size-cells = <1>;
139 interrupt-parent = <&intc>;
140 ranges;
141 compatible = "simple-bus";
142
Lee Jones48f3fe62015-05-12 14:51:00 +0200143 restart {
144 compatible = "st,stih407-restart";
145 st,syscfg = <&syscfg_sbc_reg>;
146 status = "okay";
147 };
148
Peter Griffinb864a0b2014-07-02 16:08:00 +0200149 powerdown: powerdown-controller {
150 compatible = "st,stih407-powerdown";
151 #reset-cells = <1>;
152 };
153
154 softreset: softreset-controller {
155 compatible = "st,stih407-softreset";
156 #reset-cells = <1>;
157 };
158
159 picophyreset: picophyreset-controller {
160 compatible = "st,stih407-picophyreset";
161 #reset-cells = <1>;
162 };
163
Maxime Coquelinf563a572014-02-27 13:27:27 +0100164 syscfg_sbc: sbc-syscfg@9620000 {
165 compatible = "st,stih407-sbc-syscfg", "syscon";
166 reg = <0x9620000 0x1000>;
167 };
168
169 syscfg_front: front-syscfg@9280000 {
170 compatible = "st,stih407-front-syscfg", "syscon";
171 reg = <0x9280000 0x1000>;
172 };
173
174 syscfg_rear: rear-syscfg@9290000 {
175 compatible = "st,stih407-rear-syscfg", "syscon";
176 reg = <0x9290000 0x1000>;
177 };
178
179 syscfg_flash: flash-syscfg@92a0000 {
180 compatible = "st,stih407-flash-syscfg", "syscon";
181 reg = <0x92a0000 0x1000>;
182 };
183
184 syscfg_sbc_reg: fvdp-lite-syscfg@9600000 {
185 compatible = "st,stih407-sbc-reg-syscfg", "syscon";
186 reg = <0x9600000 0x1000>;
187 };
188
189 syscfg_core: core-syscfg@92b0000 {
190 compatible = "st,stih407-core-syscfg", "syscon";
191 reg = <0x92b0000 0x1000>;
192 };
193
194 syscfg_lpm: lpm-syscfg@94b5100 {
195 compatible = "st,stih407-lpm-syscfg", "syscon";
196 reg = <0x94b5100 0x1000>;
197 };
198
Lee Jones107dea02015-05-12 14:51:00 +0200199 irq-syscfg {
200 compatible = "st,stih407-irq-syscfg";
201 st,syscfg = <&syscfg_core>;
202 st,irq-device = <ST_IRQ_SYSCFG_PMU_0>,
203 <ST_IRQ_SYSCFG_PMU_1>;
204 st,fiq-device = <ST_IRQ_SYSCFG_DISABLED>,
205 <ST_IRQ_SYSCFG_DISABLED>;
206 };
207
Maxime Coquelin759742d2015-09-23 03:04:24 +0200208 /* Display */
209 vtg_main: sti-vtg-main@8d02800 {
210 compatible = "st,vtg";
211 reg = <0x8d02800 0x200>;
212 interrupts = <GIC_SPI 108 IRQ_TYPE_NONE>;
213 };
214
215 vtg_aux: sti-vtg-aux@8d00200 {
216 compatible = "st,vtg";
217 reg = <0x8d00200 0x100>;
218 interrupts = <GIC_SPI 109 IRQ_TYPE_NONE>;
219 };
220
Maxime Coquelinf563a572014-02-27 13:27:27 +0100221 serial@9830000 {
222 compatible = "st,asc";
223 reg = <0x9830000 0x2c>;
224 interrupts = <GIC_SPI 122 IRQ_TYPE_NONE>;
225 pinctrl-names = "default";
226 pinctrl-0 = <&pinctrl_serial0>;
Gabriel FERNANDEZ1befe7e2014-08-25 16:44:00 +0200227 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
Maxime Coquelinf563a572014-02-27 13:27:27 +0100228
229 status = "disabled";
230 };
231
232 serial@9831000 {
233 compatible = "st,asc";
234 reg = <0x9831000 0x2c>;
235 interrupts = <GIC_SPI 123 IRQ_TYPE_NONE>;
236 pinctrl-names = "default";
237 pinctrl-0 = <&pinctrl_serial1>;
Gabriel FERNANDEZ1befe7e2014-08-25 16:44:00 +0200238 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
Maxime Coquelinf563a572014-02-27 13:27:27 +0100239
240 status = "disabled";
241 };
242
243 serial@9832000 {
244 compatible = "st,asc";
245 reg = <0x9832000 0x2c>;
246 interrupts = <GIC_SPI 124 IRQ_TYPE_NONE>;
247 pinctrl-names = "default";
248 pinctrl-0 = <&pinctrl_serial2>;
Gabriel FERNANDEZ1befe7e2014-08-25 16:44:00 +0200249 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
Maxime Coquelinf563a572014-02-27 13:27:27 +0100250
251 status = "disabled";
252 };
253
254 /* SBC_ASC0 - UART10 */
255 sbc_serial0: serial@9530000 {
256 compatible = "st,asc";
257 reg = <0x9530000 0x2c>;
258 interrupts = <GIC_SPI 138 IRQ_TYPE_NONE>;
259 pinctrl-names = "default";
260 pinctrl-0 = <&pinctrl_sbc_serial0>;
261 clocks = <&clk_sysin>;
262
263 status = "disabled";
264 };
265
266 serial@9531000 {
267 compatible = "st,asc";
268 reg = <0x9531000 0x2c>;
269 interrupts = <GIC_SPI 139 IRQ_TYPE_NONE>;
270 pinctrl-names = "default";
271 pinctrl-0 = <&pinctrl_sbc_serial1>;
272 clocks = <&clk_sysin>;
273
274 status = "disabled";
275 };
276
277 i2c@9840000 {
278 compatible = "st,comms-ssc4-i2c";
279 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
280 reg = <0x9840000 0x110>;
Gabriel FERNANDEZ1befe7e2014-08-25 16:44:00 +0200281 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
Maxime Coquelinf563a572014-02-27 13:27:27 +0100282 clock-names = "ssc";
283 clock-frequency = <400000>;
284 pinctrl-names = "default";
285 pinctrl-0 = <&pinctrl_i2c0_default>;
286
287 status = "disabled";
288 };
289
290 i2c@9841000 {
291 compatible = "st,comms-ssc4-i2c";
292 reg = <0x9841000 0x110>;
293 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
Gabriel FERNANDEZ1befe7e2014-08-25 16:44:00 +0200294 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
Maxime Coquelinf563a572014-02-27 13:27:27 +0100295 clock-names = "ssc";
296 clock-frequency = <400000>;
297 pinctrl-names = "default";
298 pinctrl-0 = <&pinctrl_i2c1_default>;
299
300 status = "disabled";
301 };
302
303 i2c@9842000 {
304 compatible = "st,comms-ssc4-i2c";
305 reg = <0x9842000 0x110>;
306 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
Gabriel FERNANDEZ1befe7e2014-08-25 16:44:00 +0200307 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
Maxime Coquelinf563a572014-02-27 13:27:27 +0100308 clock-names = "ssc";
309 clock-frequency = <400000>;
310 pinctrl-names = "default";
311 pinctrl-0 = <&pinctrl_i2c2_default>;
312
313 status = "disabled";
314 };
315
316 i2c@9843000 {
317 compatible = "st,comms-ssc4-i2c";
318 reg = <0x9843000 0x110>;
319 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
Gabriel FERNANDEZ1befe7e2014-08-25 16:44:00 +0200320 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
Maxime Coquelinf563a572014-02-27 13:27:27 +0100321 clock-names = "ssc";
322 clock-frequency = <400000>;
323 pinctrl-names = "default";
324 pinctrl-0 = <&pinctrl_i2c3_default>;
325
326 status = "disabled";
327 };
328
329 i2c@9844000 {
330 compatible = "st,comms-ssc4-i2c";
331 reg = <0x9844000 0x110>;
332 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
Gabriel FERNANDEZ1befe7e2014-08-25 16:44:00 +0200333 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
Maxime Coquelinf563a572014-02-27 13:27:27 +0100334 clock-names = "ssc";
335 clock-frequency = <400000>;
336 pinctrl-names = "default";
337 pinctrl-0 = <&pinctrl_i2c4_default>;
338
339 status = "disabled";
340 };
341
342 i2c@9845000 {
343 compatible = "st,comms-ssc4-i2c";
344 reg = <0x9845000 0x110>;
345 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
Gabriel FERNANDEZ1befe7e2014-08-25 16:44:00 +0200346 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
Maxime Coquelinf563a572014-02-27 13:27:27 +0100347 clock-names = "ssc";
348 clock-frequency = <400000>;
349 pinctrl-names = "default";
350 pinctrl-0 = <&pinctrl_i2c5_default>;
351
352 status = "disabled";
353 };
354
355
356 /* SSCs on SBC */
357 i2c@9540000 {
358 compatible = "st,comms-ssc4-i2c";
359 reg = <0x9540000 0x110>;
360 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
361 clocks = <&clk_sysin>;
362 clock-names = "ssc";
363 clock-frequency = <400000>;
364 pinctrl-names = "default";
365 pinctrl-0 = <&pinctrl_i2c10_default>;
366
367 status = "disabled";
368 };
369
370 i2c@9541000 {
371 compatible = "st,comms-ssc4-i2c";
372 reg = <0x9541000 0x110>;
373 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
374 clocks = <&clk_sysin>;
375 clock-names = "ssc";
376 clock-frequency = <400000>;
377 pinctrl-names = "default";
378 pinctrl-0 = <&pinctrl_i2c11_default>;
379
380 status = "disabled";
381 };
Peter Griffin8facce12015-01-07 16:04:00 +0100382
383 usb2_picophy0: phy1 {
384 compatible = "st,stih407-usb2-phy";
385 #phy-cells = <0>;
386 st,syscfg = <&syscfg_core 0x100 0xf4>;
387 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
Peter Griffin743ac9d2015-04-30 15:30:00 +0200388 <&picophyreset STIH407_PICOPHY2_RESET>;
Peter Griffin8facce12015-01-07 16:04:00 +0100389 reset-names = "global", "port";
390 };
Gabriel FERNANDEZb26373c2015-01-14 10:54:00 +0100391
392 miphy28lp_phy: miphy28lp@9b22000 {
393 compatible = "st,miphy28lp-phy";
394 st,syscfg = <&syscfg_core>;
395 #address-cells = <1>;
396 #size-cells = <1>;
397 ranges;
398
399 phy_port0: port@9b22000 {
400 reg = <0x9b22000 0xff>,
401 <0x9b09000 0xff>,
402 <0x9b04000 0xff>;
403 reg-names = "sata-up",
404 "pcie-up",
405 "pipew";
406
407 st,syscfg = <0x114 0x818 0xe0 0xec>;
408 #phy-cells = <1>;
409
410 reset-names = "miphy-sw-rst";
411 resets = <&softreset STIH407_MIPHY0_SOFTRESET>;
412 };
413
414 phy_port1: port@9b2a000 {
415 reg = <0x9b2a000 0xff>,
416 <0x9b19000 0xff>,
417 <0x9b14000 0xff>;
418 reg-names = "sata-up",
419 "pcie-up",
420 "pipew";
421
422 st,syscfg = <0x118 0x81c 0xe4 0xf0>;
423
424 #phy-cells = <1>;
425
426 reset-names = "miphy-sw-rst";
427 resets = <&softreset STIH407_MIPHY1_SOFTRESET>;
428 };
429
430 phy_port2: port@8f95000 {
431 reg = <0x8f95000 0xff>,
432 <0x8f90000 0xff>;
433 reg-names = "pipew",
434 "usb3-up";
435
436 st,syscfg = <0x11c 0x820>;
437
438 #phy-cells = <1>;
439
440 reset-names = "miphy-sw-rst";
441 resets = <&softreset STIH407_MIPHY2_SOFTRESET>;
442 };
443 };
Lee Jones2c53c272015-01-22 11:07:00 +0100444
445 spi@9840000 {
446 compatible = "st,comms-ssc4-spi";
447 reg = <0x9840000 0x110>;
448 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
449 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
450 clock-names = "ssc";
451 pinctrl-0 = <&pinctrl_spi0_default>;
452 pinctrl-names = "default";
453 #address-cells = <1>;
454 #size-cells = <0>;
455
456 status = "disabled";
457 };
458
459 spi@9841000 {
460 compatible = "st,comms-ssc4-spi";
461 reg = <0x9841000 0x110>;
462 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
463 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
464 clock-names = "ssc";
Peter Griffin55fd9b12015-09-28 14:37:00 +0200465 pinctrl-names = "default";
466 pinctrl-0 = <&pinctrl_spi1_default>;
Lee Jones2c53c272015-01-22 11:07:00 +0100467
468 status = "disabled";
469 };
470
471 spi@9842000 {
472 compatible = "st,comms-ssc4-spi";
473 reg = <0x9842000 0x110>;
474 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
475 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
476 clock-names = "ssc";
Peter Griffin55fd9b12015-09-28 14:37:00 +0200477 pinctrl-names = "default";
478 pinctrl-0 = <&pinctrl_spi2_default>;
Lee Jones2c53c272015-01-22 11:07:00 +0100479
480 status = "disabled";
481 };
482
483 spi@9843000 {
484 compatible = "st,comms-ssc4-spi";
485 reg = <0x9843000 0x110>;
486 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
487 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
488 clock-names = "ssc";
Peter Griffin55fd9b12015-09-28 14:37:00 +0200489 pinctrl-names = "default";
490 pinctrl-0 = <&pinctrl_spi3_default>;
Lee Jones2c53c272015-01-22 11:07:00 +0100491
492 status = "disabled";
493 };
494
495 spi@9844000 {
496 compatible = "st,comms-ssc4-spi";
497 reg = <0x9844000 0x110>;
498 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
499 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
500 clock-names = "ssc";
Peter Griffin55fd9b12015-09-28 14:37:00 +0200501 pinctrl-names = "default";
502 pinctrl-0 = <&pinctrl_spi4_default>;
Lee Jones2c53c272015-01-22 11:07:00 +0100503
504 status = "disabled";
505 };
Lee Jonesb0bb2ba2015-01-22 11:07:00 +0100506
507 /* SBC SSC */
508 spi@9540000 {
509 compatible = "st,comms-ssc4-spi";
510 reg = <0x9540000 0x110>;
511 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
512 clocks = <&clk_sysin>;
513 clock-names = "ssc";
Peter Griffin55fd9b12015-09-28 14:37:00 +0200514 pinctrl-names = "default";
515 pinctrl-0 = <&pinctrl_spi10_default>;
Lee Jonesb0bb2ba2015-01-22 11:07:00 +0100516
517 status = "disabled";
518 };
519
520 spi@9541000 {
521 compatible = "st,comms-ssc4-spi";
522 reg = <0x9541000 0x110>;
523 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
524 clocks = <&clk_sysin>;
525 clock-names = "ssc";
Peter Griffin55fd9b12015-09-28 14:37:00 +0200526 pinctrl-names = "default";
527 pinctrl-0 = <&pinctrl_spi11_default>;
Lee Jonesb0bb2ba2015-01-22 11:07:00 +0100528
529 status = "disabled";
530 };
531
532 spi@9542000 {
533 compatible = "st,comms-ssc4-spi";
534 reg = <0x9542000 0x110>;
535 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
536 clocks = <&clk_sysin>;
537 clock-names = "ssc";
Peter Griffin55fd9b12015-09-28 14:37:00 +0200538 pinctrl-names = "default";
539 pinctrl-0 = <&pinctrl_spi12_default>;
Lee Jonesb0bb2ba2015-01-22 11:07:00 +0100540
541 status = "disabled";
542 };
Peter Griffin9286ac42015-04-10 11:40:00 +0200543
544 mmc0: sdhci@09060000 {
545 compatible = "st,sdhci-stih407", "st,sdhci";
546 status = "disabled";
547 reg = <0x09060000 0x7ff>, <0x9061008 0x20>;
548 reg-names = "mmc", "top-mmc-delay";
549 interrupts = <GIC_SPI 92 IRQ_TYPE_NONE>;
550 interrupt-names = "mmcirq";
551 pinctrl-names = "default";
552 pinctrl-0 = <&pinctrl_mmc0>;
Lee Jones78567f12016-09-08 11:11:00 +0200553 clock-names = "mmc", "icn";
554 clocks = <&clk_s_c0_flexgen CLK_MMC_0>,
555 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
Peter Griffin9286ac42015-04-10 11:40:00 +0200556 bus-width = <8>;
Peter Griffin9286ac42015-04-10 11:40:00 +0200557 };
558
559 mmc1: sdhci@09080000 {
560 compatible = "st,sdhci-stih407", "st,sdhci";
561 status = "disabled";
562 reg = <0x09080000 0x7ff>;
563 reg-names = "mmc";
564 interrupts = <GIC_SPI 90 IRQ_TYPE_NONE>;
565 interrupt-names = "mmcirq";
566 pinctrl-names = "default";
567 pinctrl-0 = <&pinctrl_sd1>;
Lee Jones78567f12016-09-08 11:11:00 +0200568 clock-names = "mmc", "icn";
569 clocks = <&clk_s_c0_flexgen CLK_MMC_1>,
570 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
Peter Griffin9286ac42015-04-10 11:40:00 +0200571 resets = <&softreset STIH407_MMC1_SOFTRESET>;
572 bus-width = <4>;
573 };
Lee Jones358764f2015-04-09 16:47:00 +0200574
575 /* Watchdog and Real-Time Clock */
576 lpc@8787000 {
577 compatible = "st,stih407-lpc";
578 reg = <0x8787000 0x1000>;
579 interrupts = <GIC_SPI 129 IRQ_TYPE_EDGE_RISING>;
580 clocks = <&clk_s_d3_flexgen CLK_LPC_0>;
581 timeout-sec = <120>;
582 st,syscfg = <&syscfg_core>;
583 st,lpc-mode = <ST_LPC_MODE_WDT>;
584 };
585
586 lpc@8788000 {
587 compatible = "st,stih407-lpc";
588 reg = <0x8788000 0x1000>;
589 interrupts = <GIC_SPI 130 IRQ_TYPE_EDGE_RISING>;
590 clocks = <&clk_s_d3_flexgen CLK_LPC_1>;
Lee Jones3d90bc02016-04-21 17:07:00 +0200591 st,lpc-mode = <ST_LPC_MODE_CLKSRC>;
Lee Jones358764f2015-04-09 16:47:00 +0200592 };
Peter Griffinb3d37f92015-03-31 09:35:00 +0200593
594 sata0: sata@9b20000 {
595 compatible = "st,ahci";
596 reg = <0x9b20000 0x1000>;
597
598 interrupts = <GIC_SPI 159 IRQ_TYPE_NONE>;
599 interrupt-names = "hostc";
600
601 phys = <&phy_port0 PHY_TYPE_SATA>;
602 phy-names = "ahci_phy";
603
604 resets = <&powerdown STIH407_SATA0_POWERDOWN>,
605 <&softreset STIH407_SATA0_SOFTRESET>,
606 <&softreset STIH407_SATA0_PWR_SOFTRESET>;
607 reset-names = "pwr-dwn", "sw-rst", "pwr-rst";
608
609 clock-names = "ahci_clk";
610 clocks = <&clk_s_c0_flexgen CLK_ICN_REG>;
611
Patrice Chotardecb8af42016-08-15 14:17:00 +0200612 ports-implemented = <0x1>;
613
Peter Griffinb3d37f92015-03-31 09:35:00 +0200614 status = "disabled";
615 };
616
617 sata1: sata@9b28000 {
618 compatible = "st,ahci";
619 reg = <0x9b28000 0x1000>;
620
621 interrupts = <GIC_SPI 170 IRQ_TYPE_NONE>;
622 interrupt-names = "hostc";
623
624 phys = <&phy_port1 PHY_TYPE_SATA>;
625 phy-names = "ahci_phy";
626
627 resets = <&powerdown STIH407_SATA1_POWERDOWN>,
628 <&softreset STIH407_SATA1_SOFTRESET>,
629 <&softreset STIH407_SATA1_PWR_SOFTRESET>;
630 reset-names = "pwr-dwn",
631 "sw-rst",
632 "pwr-rst";
633
634 clock-names = "ahci_clk";
635 clocks = <&clk_s_c0_flexgen CLK_ICN_REG>;
636
Patrice Chotardecb8af42016-08-15 14:17:00 +0200637 ports-implemented = <0x1>;
638
Peter Griffinb3d37f92015-03-31 09:35:00 +0200639 status = "disabled";
640 };
Peter Griffinfd555992015-04-30 15:30:00 +0200641
Lee Jonescd9f59c2015-07-07 17:06:00 +0200642
Peter Griffinfd555992015-04-30 15:30:00 +0200643 st_dwc3: dwc3@8f94000 {
644 compatible = "st,stih407-dwc3";
645 reg = <0x08f94000 0x1000>, <0x110 0x4>;
646 reg-names = "reg-glue", "syscfg-reg";
647 st,syscfg = <&syscfg_core>;
648 resets = <&powerdown STIH407_USB3_POWERDOWN>,
649 <&softreset STIH407_MIPHY2_SOFTRESET>;
650 reset-names = "powerdown", "softreset";
651 #address-cells = <1>;
652 #size-cells = <1>;
653 pinctrl-names = "default";
654 pinctrl-0 = <&pinctrl_usb3>;
655 ranges;
656
657 status = "disabled";
658
659 dwc3: dwc3@9900000 {
660 compatible = "snps,dwc3";
661 reg = <0x09900000 0x100000>;
662 interrupts = <GIC_SPI 155 IRQ_TYPE_NONE>;
663 dr_mode = "host";
664 phy-names = "usb2-phy", "usb3-phy";
665 phys = <&usb2_picophy0>,
666 <&phy_port2 PHY_TYPE_USB3>;
667 };
668 };
Lee Jonescd9f59c2015-07-07 17:06:00 +0200669
670 /* COMMS PWM Module */
671 pwm0: pwm@9810000 {
672 compatible = "st,sti-pwm";
Lee Jonescd9f59c2015-07-07 17:06:00 +0200673 #pwm-cells = <2>;
674 reg = <0x9810000 0x68>;
Lee Jones65086c22016-08-16 11:34:00 +0200675 interrupts = <GIC_SPI 128 IRQ_TYPE_NONE>;
Lee Jonescd9f59c2015-07-07 17:06:00 +0200676 pinctrl-names = "default";
677 pinctrl-0 = <&pinctrl_pwm0_chan0_default>;
678 clock-names = "pwm";
679 clocks = <&clk_sysin>;
680 st,pwm-num-chan = <1>;
Maxime Coquelin8aa5f092015-09-23 02:47:44 +0200681
682 status = "disabled";
Lee Jonescd9f59c2015-07-07 17:06:00 +0200683 };
684
685 /* SBC PWM Module */
686 pwm1: pwm@9510000 {
687 compatible = "st,sti-pwm";
Lee Jonescd9f59c2015-07-07 17:06:00 +0200688 #pwm-cells = <2>;
689 reg = <0x9510000 0x68>;
690 pinctrl-names = "default";
691 pinctrl-0 = <&pinctrl_pwm1_chan0_default
692 &pinctrl_pwm1_chan1_default
693 &pinctrl_pwm1_chan2_default
694 &pinctrl_pwm1_chan3_default>;
695 clock-names = "pwm";
696 clocks = <&clk_sysin>;
697 st,pwm-num-chan = <4>;
Maxime Coquelin8aa5f092015-09-23 02:47:44 +0200698
699 status = "disabled";
Lee Jonescd9f59c2015-07-07 17:06:00 +0200700 };
Lee Jonescae010a2015-09-17 15:45:00 +0200701
702 rng10: rng@08a89000 {
703 compatible = "st,rng";
704 reg = <0x08a89000 0x1000>;
705 clocks = <&clk_sysin>;
706 status = "okay";
707 };
708
709 rng11: rng@08a8a000 {
710 compatible = "st,rng";
711 reg = <0x08a8a000 0x1000>;
712 clocks = <&clk_sysin>;
713 status = "okay";
714 };
Maxime Coquelinab511d72015-10-01 17:44:41 +0200715
716 ethernet0: dwmac@9630000 {
717 device_type = "network";
718 status = "disabled";
719 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
720 reg = <0x9630000 0x8000>, <0x80 0x4>;
721 reg-names = "stmmaceth", "sti-ethconf";
722
723 st,syscon = <&syscfg_sbc_reg 0x80>;
724 st,gmac_en;
725 resets = <&softreset STIH407_ETH1_SOFTRESET>;
726 reset-names = "stmmaceth";
727
728 interrupts = <GIC_SPI 98 IRQ_TYPE_NONE>,
729 <GIC_SPI 99 IRQ_TYPE_NONE>;
730 interrupt-names = "macirq", "eth_wake_irq";
731
732 /* DMA Bus Mode */
733 snps,pbl = <8>;
734
735 pinctrl-names = "default";
736 pinctrl-0 = <&pinctrl_rgmii1>;
737
738 clock-names = "stmmaceth", "sti-ethclk";
739 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>,
740 <&clk_s_c0_flexgen CLK_ETH_PHY>;
Maxime Coquelinf563a572014-02-27 13:27:27 +0100741 };
Lee Jonesba25d8b2015-09-17 14:45:56 +0100742
Benjamin Gaignard7d1837f2016-09-15 04:37:45 -0300743 cec: sti-cec@094a087c {
744 compatible = "st,stih-cec";
745 reg = <0x94a087c 0x64>;
746 clocks = <&clk_sysin>;
747 clock-names = "cec-clk";
748 interrupts = <GIC_SPI 140 IRQ_TYPE_NONE>;
749 interrupt-names = "cec-irq";
750 pinctrl-names = "default";
751 pinctrl-0 = <&pinctrl_cec0_default>;
752 resets = <&softreset STIH407_LPM_SOFTRESET>;
753 };
754
Lee Jonesba25d8b2015-09-17 14:45:56 +0100755 rng10: rng@08a89000 {
756 compatible = "st,rng";
757 reg = <0x08a89000 0x1000>;
758 clocks = <&clk_sysin>;
759 status = "okay";
760 };
761
762 rng11: rng@08a8a000 {
763 compatible = "st,rng";
764 reg = <0x08a8a000 0x1000>;
765 clocks = <&clk_sysin>;
766 status = "okay";
767 };
Lee Jones6e966f12016-04-21 17:07:00 +0200768
769 mailbox0: mailbox@8f00000 {
770 compatible = "st,stih407-mailbox";
771 reg = <0x8f00000 0x1000>;
772 interrupts = <GIC_SPI 1 IRQ_TYPE_NONE>;
773 #mbox-cells = <2>;
774 mbox-name = "a9";
775 status = "okay";
776 };
777
778 mailbox1: mailbox@8f01000 {
779 compatible = "st,stih407-mailbox";
780 reg = <0x8f01000 0x1000>;
781 #mbox-cells = <2>;
782 mbox-name = "st231_gp_1";
783 status = "okay";
784 };
785
786 mailbox2: mailbox@8f02000 {
787 compatible = "st,stih407-mailbox";
788 reg = <0x8f02000 0x1000>;
789 #mbox-cells = <2>;
790 mbox-name = "st231_gp_0";
791 status = "okay";
792 };
793
794 mailbox3: mailbox@8f03000 {
795 compatible = "st,stih407-mailbox";
796 reg = <0x8f03000 0x1000>;
797 #mbox-cells = <2>;
798 mbox-name = "st231_audio_video";
799 status = "okay";
800 };
Lee Jones3ff0a012016-04-21 17:07:00 +0200801
Lee Jonesfe135c62016-04-21 17:07:00 +0200802 st231_gp0: remote-processor {
Lee Jones3ff0a012016-04-21 17:07:00 +0200803 compatible = "st,st231-rproc";
Lee Jonesfe135c62016-04-21 17:07:00 +0200804 memory-region = <&gp0_reserved>;
Lee Jones3ff0a012016-04-21 17:07:00 +0200805 resets = <&softreset STIH407_ST231_GP0_SOFTRESET>;
806 reset-names = "sw_reset";
807 clocks = <&clk_s_c0_flexgen CLK_ST231_GP_0>;
808 clock-frequency = <600000000>;
809 st,syscfg = <&syscfg_core 0x22c>;
810 };
811
Lee Jonesfe135c62016-04-21 17:07:00 +0200812
813 st231_gp1: remote-processor {
Lee Jones3ff0a012016-04-21 17:07:00 +0200814 compatible = "st,st231-rproc";
Lee Jonesfe135c62016-04-21 17:07:00 +0200815 memory-region = <&gp1_reserved>;
Lee Jones3ff0a012016-04-21 17:07:00 +0200816 resets = <&softreset STIH407_ST231_GP1_SOFTRESET>;
817 reset-names = "sw_reset";
818 clocks = <&clk_s_c0_flexgen CLK_ST231_GP_1>;
819 clock-frequency = <600000000>;
820 st,syscfg = <&syscfg_core 0x220>;
821 };
822
Lee Jonesfe135c62016-04-21 17:07:00 +0200823 st231_audio: remote-processor {
Lee Jones3ff0a012016-04-21 17:07:00 +0200824 compatible = "st,st231-rproc";
Lee Jonesfe135c62016-04-21 17:07:00 +0200825 memory-region = <&audio_reserved>;
Lee Jones3ff0a012016-04-21 17:07:00 +0200826 resets = <&softreset STIH407_ST231_AUD_SOFTRESET>;
827 reset-names = "sw_reset";
828 clocks = <&clk_s_c0_flexgen CLK_ST231_AUD_0>;
829 clock-frequency = <600000000>;
830 st,syscfg = <&syscfg_core 0x228>;
831 };
832
Lee Jonesfe135c62016-04-21 17:07:00 +0200833 st231_dmu: remote-processor {
Lee Jones3ff0a012016-04-21 17:07:00 +0200834 compatible = "st,st231-rproc";
Lee Jonesfe135c62016-04-21 17:07:00 +0200835 memory-region = <&dmu_reserved>;
Lee Jones3ff0a012016-04-21 17:07:00 +0200836 resets = <&softreset STIH407_ST231_DMU_SOFTRESET>;
837 reset-names = "sw_reset";
838 clocks = <&clk_s_c0_flexgen CLK_ST231_DMU>;
839 clock-frequency = <600000000>;
840 st,syscfg = <&syscfg_core 0x224>;
841 };
Peter Griffin399ce402016-09-05 15:16:00 +0200842
843 /* fdma audio */
844 fdma0: dma-controller@8e20000 {
845 compatible = "st,stih407-fdma-mpe31-11", "st,slim-rproc";
846 reg = <0x8e20000 0x8000>,
847 <0x8e30000 0x3000>,
848 <0x8e37000 0x1000>,
849 <0x8e38000 0x8000>;
850 reg-names = "slimcore", "dmem", "peripherals", "imem";
851 clocks = <&clk_s_c0_flexgen CLK_FDMA>,
852 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
853 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
854 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
855 interrupts = <GIC_SPI 5 IRQ_TYPE_NONE>;
856 dma-channels = <16>;
857 #dma-cells = <3>;
858 };
859
860 /* fdma app */
861 fdma1: dma-controller@8e40000 {
862 compatible = "st,stih407-fdma-mpe31-12", "st,slim-rproc";
863 reg = <0x8e40000 0x8000>,
864 <0x8e50000 0x3000>,
865 <0x8e57000 0x1000>,
866 <0x8e58000 0x8000>;
867 reg-names = "slimcore", "dmem", "peripherals", "imem";
868 clocks = <&clk_s_c0_flexgen CLK_FDMA>,
869 <&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
870 <&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
871 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
872
873 interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>;
874 dma-channels = <16>;
875 #dma-cells = <3>;
876 };
877
878 /* fdma free running */
879 fdma2: dma-controller@8e60000 {
880 compatible = "st,stih407-fdma-mpe31-13", "st,slim-rproc";
881 reg = <0x8e60000 0x8000>,
882 <0x8e70000 0x3000>,
883 <0x8e77000 0x1000>,
884 <0x8e78000 0x8000>;
885 reg-names = "slimcore", "dmem", "peripherals", "imem";
886 interrupts = <GIC_SPI 9 IRQ_TYPE_NONE>;
887 dma-channels = <16>;
888 #dma-cells = <3>;
889 clocks = <&clk_s_c0_flexgen CLK_FDMA>,
890 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
891 <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
892 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
893 };
Peter Griffin9cf807f2016-09-05 15:16:00 +0200894
895 sti_sasg_codec: sti-sasg-codec {
896 compatible = "st,stih407-sas-codec";
897 #sound-dai-cells = <1>;
898 status = "disabled";
899 st,syscfg = <&syscfg_core>;
900 };
Peter Griffin271739b2016-09-05 15:16:00 +0200901
902 sti_uni_player0: sti-uni-player@8d80000 {
903 compatible = "st,sti-uni-player";
904 #sound-dai-cells = <0>;
905 st,syscfg = <&syscfg_core>;
906 clocks = <&clk_s_d0_flexgen CLK_PCM_0>;
907 assigned-clocks = <&clk_s_d0_quadfs 0>, <&clk_s_d0_flexgen CLK_PCM_0>;
908 assigned-clock-parents = <0>, <&clk_s_d0_quadfs 0>;
909 assigned-clock-rates = <50000000>;
910 reg = <0x8d80000 0x158>;
911 interrupts = <GIC_SPI 84 IRQ_TYPE_NONE>;
912 dmas = <&fdma0 2 0 1>;
913 dai-name = "Uni Player #0 (HDMI)";
914 dma-names = "tx";
915 st,uniperiph-id = <0>;
916 st,version = <5>;
917 st,mode = "HDMI";
918
919 status = "disabled";
920 };
921
922 sti_uni_player1: sti-uni-player@8d81000 {
923 compatible = "st,sti-uni-player";
924 #sound-dai-cells = <0>;
925 st,syscfg = <&syscfg_core>;
926 clocks = <&clk_s_d0_flexgen CLK_PCM_1>;
927 assigned-clocks = <&clk_s_d0_quadfs 1>, <&clk_s_d0_flexgen CLK_PCM_1>;
928 assigned-clock-parents = <0>, <&clk_s_d0_quadfs 1>;
929 assigned-clock-rates = <50000000>;
930 reg = <0x8d81000 0x158>;
931 interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
932 dmas = <&fdma0 3 0 1>;
933 dai-name = "Uni Player #1 (PIO)";
934 dma-names = "tx";
935 st,uniperiph-id = <1>;
936 st,version = <5>;
937 st,mode = "PCM";
938
939 status = "disabled";
940 };
941
942 sti_uni_player2: sti-uni-player@8d82000 {
943 compatible = "st,sti-uni-player";
944 #sound-dai-cells = <0>;
945 st,syscfg = <&syscfg_core>;
946 clocks = <&clk_s_d0_flexgen CLK_PCM_2>;
947 assigned-clocks = <&clk_s_d0_quadfs 2>, <&clk_s_d0_flexgen CLK_PCM_2>;
948 assigned-clock-parents = <0>, <&clk_s_d0_quadfs 2>;
949 assigned-clock-rates = <50000000>;
950 reg = <0x8d82000 0x158>;
951 interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>;
952 dmas = <&fdma0 4 0 1>;
953 dai-name = "Uni Player #1 (DAC)";
954 dma-names = "tx";
955 st,uniperiph-id = <2>;
956 st,version = <5>;
957 st,mode = "PCM";
958
959 status = "disabled";
960 };
961
962 sti_uni_player3: sti-uni-player@8d85000 {
963 compatible = "st,sti-uni-player";
964 #sound-dai-cells = <0>;
965 st,syscfg = <&syscfg_core>;
966 clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;
967 assigned-clocks = <&clk_s_d0_quadfs 3>, <&clk_s_d0_flexgen CLK_SPDIFF>;
968 assigned-clock-parents = <0>, <&clk_s_d0_quadfs 3>;
969 assigned-clock-rates = <50000000>;
970 reg = <0x8d85000 0x158>;
971 interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>;
972 dmas = <&fdma0 7 0 1>;
973 dma-names = "tx";
974 dai-name = "Uni Player #1 (PIO)";
975 st,uniperiph-id = <3>;
976 st,version = <5>;
977 st,mode = "SPDIF";
978
979 status = "disabled";
980 };
Peter Griffin67f1ff42016-09-05 15:16:00 +0200981
982 sti_uni_reader0: sti-uni-reader@8d83000 {
983 compatible = "st,sti-uni-reader";
984 #sound-dai-cells = <0>;
985 st,syscfg = <&syscfg_core>;
986 reg = <0x8d83000 0x158>;
987 interrupts = <GIC_SPI 87 IRQ_TYPE_NONE>;
988 dmas = <&fdma0 5 0 1>;
989 dma-names = "rx";
990 dai-name = "Uni Reader #0 (PCM IN)";
991 st,version = <3>;
992
993 status = "disabled";
994 };
995
996 sti_uni_reader1: sti-uni-reader@8d84000 {
997 compatible = "st,sti-uni-reader";
998 #sound-dai-cells = <0>;
999 st,syscfg = <&syscfg_core>;
1000 reg = <0x8d84000 0x158>;
1001 interrupts = <GIC_SPI 88 IRQ_TYPE_NONE>;
1002 dmas = <&fdma0 6 0 1>;
1003 dma-names = "rx";
1004 dai-name = "Uni Reader #1 (HDMI RX)";
1005 st,version = <3>;
1006
1007 status = "disabled";
1008 };
Maxime Coquelinf563a572014-02-27 13:27:27 +01001009 };
1010};