xref: /linux/arch/arm/boot/dts/st/stih407-family.dtsi (revision 7115816b609a491e767d8ee63ed2727048f51b5f)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2014 STMicroelectronics Limited.
4 * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
5 */
6#include "stih407-pinctrl.dtsi"
7#include <dt-bindings/mfd/st-lpc.h>
8#include <dt-bindings/phy/phy.h>
9#include <dt-bindings/reset/stih407-resets.h>
10#include <dt-bindings/interrupt-controller/irq-st.h>
11/ {
12	#address-cells = <1>;
13	#size-cells = <1>;
14
15	reserved-memory {
16		#address-cells = <1>;
17		#size-cells = <1>;
18		ranges;
19
20		gp0_reserved: rproc@45000000 {
21			compatible = "shared-dma-pool";
22			reg = <0x45000000 0x00400000>;
23			no-map;
24		};
25
26		delta_reserved: rproc@44000000 {
27			compatible = "shared-dma-pool";
28			reg = <0x44000000 0x01000000>;
29			no-map;
30		};
31	};
32
33	cpus {
34		#address-cells = <1>;
35		#size-cells = <0>;
36		cpu@0 {
37			device_type = "cpu";
38			compatible = "arm,cortex-a9";
39			reg = <0>;
40
41			/* u-boot puts hpen in SBC dmem at 0xa4 offset */
42			cpu-release-addr = <0x94100A4>;
43
44					 /* kHz     uV   */
45			operating-points = <1500000 0
46					    1200000 0
47					    800000  0
48					    500000  0>;
49
50			clocks = <&clk_m_a9>;
51			clock-names = "cpu";
52			clock-latency = <100000>;
53			cpu0-supply = <&pwm_regulator>;
54			st,syscfg = <&syscfg_core 0x8e0>;
55		};
56		cpu@1 {
57			device_type = "cpu";
58			compatible = "arm,cortex-a9";
59			reg = <1>;
60
61			/* u-boot puts hpen in SBC dmem at 0xa4 offset */
62			cpu-release-addr = <0x94100A4>;
63
64					 /* kHz     uV   */
65			operating-points = <1500000 0
66					    1200000 0
67					    800000  0
68					    500000  0>;
69		};
70	};
71
72	intc: interrupt-controller@8761000 {
73		compatible = "arm,cortex-a9-gic";
74		#interrupt-cells = <3>;
75		interrupt-controller;
76		reg = <0x08761000 0x1000>, <0x08760100 0x100>;
77	};
78
79	scu@8760000 {
80		compatible = "arm,cortex-a9-scu";
81		reg = <0x08760000 0x1000>;
82	};
83
84	timer@8760200 {
85		interrupt-parent = <&intc>;
86		compatible = "arm,cortex-a9-global-timer";
87		reg = <0x08760200 0x100>;
88		interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
89		clocks = <&arm_periph_clk>;
90	};
91
92	l2: cache-controller@8762000 {
93		compatible = "arm,pl310-cache";
94		reg = <0x08762000 0x1000>;
95		arm,data-latency = <3 3 3>;
96		arm,tag-latency = <2 2 2>;
97		cache-unified;
98		cache-level = <2>;
99	};
100
101	arm-pmu {
102		interrupt-parent = <&intc>;
103		compatible = "arm,cortex-a9-pmu";
104		interrupts = <GIC_PPI 15 IRQ_TYPE_LEVEL_HIGH>;
105	};
106
107	pwm_regulator: pwm-regulator {
108		compatible = "pwm-regulator";
109		pwms = <&pwm1 3 8448>;
110		regulator-name = "CPU_1V0_AVS";
111		regulator-min-microvolt = <784000>;
112		regulator-max-microvolt = <1299000>;
113		regulator-always-on;
114		status = "okay";
115	};
116
117	restart: restart-controller {
118		compatible = "st,stih407-restart";
119		st,syscfg = <&syscfg_sbc_reg>;
120		status = "okay";
121	};
122
123	powerdown: powerdown-controller {
124		compatible = "st,stih407-powerdown";
125		#reset-cells = <1>;
126	};
127
128	softreset: softreset-controller {
129		compatible = "st,stih407-softreset";
130		#reset-cells = <1>;
131	};
132
133	picophyreset: picophyreset-controller {
134		compatible = "st,stih407-picophyreset";
135		#reset-cells = <1>;
136	};
137
138	irq-syscfg {
139		compatible = "st,stih407-irq-syscfg";
140		st,syscfg = <&syscfg_core>;
141		st,irq-device = <ST_IRQ_SYSCFG_PMU_0>,
142				<ST_IRQ_SYSCFG_PMU_1>;
143		st,fiq-device = <ST_IRQ_SYSCFG_DISABLED>,
144				<ST_IRQ_SYSCFG_DISABLED>;
145	};
146
147	usb2_picophy0: phy1 {
148		compatible = "st,stih407-usb2-phy";
149		#phy-cells = <0>;
150		st,syscfg = <&syscfg_core 0x100 0xf4>;
151		resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
152			 <&picophyreset STIH407_PICOPHY2_RESET>;
153		reset-names = "global", "port";
154	};
155
156	miphy28lp_phy: miphy28lp {
157		compatible = "st,miphy28lp-phy";
158		st,syscfg = <&syscfg_core>;
159		#address-cells = <1>;
160		#size-cells = <1>;
161		ranges;
162
163		phy_port0: port@9b22000 {
164			reg = <0x9b22000 0xff>,
165			      <0x9b09000 0xff>,
166			      <0x9b04000 0xff>;
167			reg-names = "sata-up",
168				    "pcie-up",
169				    "pipew";
170
171			st,syscfg = <0x114 0x818 0xe0 0xec>;
172			#phy-cells = <1>;
173
174			reset-names = "miphy-sw-rst";
175			resets = <&softreset STIH407_MIPHY0_SOFTRESET>;
176		};
177
178		phy_port1: port@9b2a000 {
179			reg = <0x9b2a000 0xff>,
180			      <0x9b19000 0xff>,
181			      <0x9b14000 0xff>;
182			reg-names = "sata-up",
183				    "pcie-up",
184				    "pipew";
185
186			st,syscfg = <0x118 0x81c 0xe4 0xf0>;
187
188			#phy-cells = <1>;
189
190			reset-names = "miphy-sw-rst";
191			resets = <&softreset STIH407_MIPHY1_SOFTRESET>;
192		};
193
194		phy_port2: port@8f95000 {
195			reg = <0x8f95000 0xff>,
196			      <0x8f90000 0xff>;
197			reg-names = "pipew",
198				    "usb3-up";
199
200			st,syscfg = <0x11c 0x820>;
201
202			#phy-cells = <1>;
203
204			reset-names = "miphy-sw-rst";
205			resets = <&softreset STIH407_MIPHY2_SOFTRESET>;
206		};
207	};
208
209	st231_gp0: st231-gp0 {
210		compatible = "st,st231-rproc";
211		memory-region = <&gp0_reserved>;
212		resets = <&softreset STIH407_ST231_GP0_SOFTRESET>;
213		reset-names = "sw_reset";
214		clocks = <&clk_s_c0_flexgen CLK_ST231_GP_0>;
215		clock-frequency = <600000000>;
216		st,syscfg = <&syscfg_core 0x22c>;
217		#mbox-cells = <1>;
218		mbox-names = "vq0_rx", "vq0_tx", "vq1_rx", "vq1_tx";
219		mboxes = <&mailbox0 0 2>, <&mailbox2 0 1>, <&mailbox0 0 3>, <&mailbox2 0 0>;
220	};
221
222	st231_delta: st231-delta {
223		compatible = "st,st231-rproc";
224		memory-region = <&delta_reserved>;
225		resets = <&softreset STIH407_ST231_DMU_SOFTRESET>;
226		reset-names = "sw_reset";
227		clocks = <&clk_s_c0_flexgen CLK_ST231_DMU>;
228		clock-frequency = <600000000>;
229		st,syscfg = <&syscfg_core 0x224>;
230		#mbox-cells = <1>;
231		mbox-names = "vq0_rx", "vq0_tx", "vq1_rx", "vq1_tx";
232		mboxes = <&mailbox0 0 0>, <&mailbox3 0 1>, <&mailbox0 0 1>, <&mailbox3 0 0>;
233	};
234
235	delta0 {
236		compatible = "st,st-delta";
237		clock-names = "delta",
238			      "delta-st231",
239			      "delta-flash-promip";
240		clocks = <&clk_s_c0_flexgen CLK_VID_DMU>,
241			 <&clk_s_c0_flexgen CLK_ST231_DMU>,
242			 <&clk_s_c0_flexgen CLK_FLASH_PROMIP>;
243	};
244
245	soc {
246		#address-cells = <1>;
247		#size-cells = <1>;
248		interrupt-parent = <&intc>;
249		ranges;
250		compatible = "simple-bus";
251
252		syscfg_sbc: sbc-syscfg@9620000 {
253			compatible = "st,stih407-sbc-syscfg", "syscon";
254			reg = <0x9620000 0x1000>;
255		};
256
257		syscfg_front: front-syscfg@9280000 {
258			compatible = "st,stih407-front-syscfg", "syscon";
259			reg = <0x9280000 0x1000>;
260		};
261
262		syscfg_rear: rear-syscfg@9290000 {
263			compatible = "st,stih407-rear-syscfg", "syscon";
264			reg = <0x9290000 0x1000>;
265		};
266
267		syscfg_flash: flash-syscfg@92a0000 {
268			compatible = "st,stih407-flash-syscfg", "syscon";
269			reg = <0x92a0000 0x1000>;
270		};
271
272		syscfg_sbc_reg: fvdp-lite-syscfg@9600000 {
273			compatible = "st,stih407-sbc-reg-syscfg", "syscon";
274			reg = <0x9600000 0x1000>;
275		};
276
277		syscfg_core: core-syscfg@92b0000 {
278			compatible = "st,stih407-core-syscfg", "syscon";
279			reg = <0x92b0000 0x1000>;
280
281			sti_sasg_codec: sti-sasg-codec {
282				compatible = "st,stih407-sas-codec";
283				#sound-dai-cells = <1>;
284				status = "disabled";
285				st,syscfg = <&syscfg_core>;
286			};
287		};
288
289		syscfg_lpm: lpm-syscfg@94b5100 {
290			compatible = "st,stih407-lpm-syscfg", "syscon";
291			reg = <0x94b5100 0x1000>;
292		};
293
294		/* Display */
295		vtg_main: sti-vtg-main@8d02800 {
296			compatible = "st,vtg";
297			reg = <0x8d02800 0x200>;
298			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
299		};
300
301		vtg_aux: sti-vtg-aux@8d00200 {
302			compatible = "st,vtg";
303			reg = <0x8d00200 0x100>;
304			interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
305		};
306
307		serial@9830000 {
308			compatible = "st,asc";
309			reg = <0x9830000 0x2c>;
310			interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
311			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
312			/* Pinctrl moved out to a per-board configuration */
313
314			status = "disabled";
315		};
316
317		serial@9831000 {
318			compatible = "st,asc";
319			reg = <0x9831000 0x2c>;
320			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
321			pinctrl-names = "default";
322			pinctrl-0 = <&pinctrl_serial1>;
323			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
324
325			status = "disabled";
326		};
327
328		serial@9832000 {
329			compatible = "st,asc";
330			reg = <0x9832000 0x2c>;
331			interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
332			pinctrl-names = "default";
333			pinctrl-0 = <&pinctrl_serial2>;
334			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
335
336			status = "disabled";
337		};
338
339		/* SBC_ASC0 - UART10 */
340		sbc_serial0: serial@9530000 {
341			compatible = "st,asc";
342			reg = <0x9530000 0x2c>;
343			interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
344			pinctrl-names = "default";
345			pinctrl-0 = <&pinctrl_sbc_serial0>;
346			clocks = <&clk_sysin>;
347
348			status = "disabled";
349		};
350
351		serial@9531000 {
352			compatible = "st,asc";
353			reg = <0x9531000 0x2c>;
354			interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
355			pinctrl-names = "default";
356			pinctrl-0 = <&pinctrl_sbc_serial1>;
357			clocks = <&clk_sysin>;
358
359			status = "disabled";
360		};
361
362		i2c@9840000 {
363			compatible = "st,comms-ssc4-i2c";
364			interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
365			reg = <0x9840000 0x110>;
366			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
367			clock-names = "ssc";
368			clock-frequency = <400000>;
369			pinctrl-names = "default";
370			pinctrl-0 = <&pinctrl_i2c0_default>;
371			#address-cells = <1>;
372			#size-cells = <0>;
373
374			status = "disabled";
375		};
376
377		i2c@9841000 {
378			compatible = "st,comms-ssc4-i2c";
379			reg = <0x9841000 0x110>;
380			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
381			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
382			clock-names = "ssc";
383			clock-frequency = <400000>;
384			pinctrl-names = "default";
385			pinctrl-0 = <&pinctrl_i2c1_default>;
386			#address-cells = <1>;
387			#size-cells = <0>;
388
389			status = "disabled";
390		};
391
392		i2c@9842000 {
393			compatible = "st,comms-ssc4-i2c";
394			reg = <0x9842000 0x110>;
395			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
396			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
397			clock-names = "ssc";
398			clock-frequency = <400000>;
399			pinctrl-names = "default";
400			pinctrl-0 = <&pinctrl_i2c2_default>;
401			#address-cells = <1>;
402			#size-cells = <0>;
403
404			status = "disabled";
405		};
406
407		i2c@9843000 {
408			compatible = "st,comms-ssc4-i2c";
409			reg = <0x9843000 0x110>;
410			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
411			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
412			clock-names = "ssc";
413			clock-frequency = <400000>;
414			pinctrl-names = "default";
415			pinctrl-0 = <&pinctrl_i2c3_default>;
416			#address-cells = <1>;
417			#size-cells = <0>;
418
419			status = "disabled";
420		};
421
422		i2c@9844000 {
423			compatible = "st,comms-ssc4-i2c";
424			reg = <0x9844000 0x110>;
425			interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
426			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
427			clock-names = "ssc";
428			clock-frequency = <400000>;
429			pinctrl-names = "default";
430			pinctrl-0 = <&pinctrl_i2c4_default>;
431			#address-cells = <1>;
432			#size-cells = <0>;
433
434			status = "disabled";
435		};
436
437		i2c@9845000 {
438			compatible = "st,comms-ssc4-i2c";
439			reg = <0x9845000 0x110>;
440			interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
441			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
442			clock-names = "ssc";
443			clock-frequency = <400000>;
444			pinctrl-names = "default";
445			pinctrl-0 = <&pinctrl_i2c5_default>;
446			#address-cells = <1>;
447			#size-cells = <0>;
448
449			status = "disabled";
450		};
451
452
453		/* SSCs on SBC */
454		i2c@9540000 {
455			compatible = "st,comms-ssc4-i2c";
456			reg = <0x9540000 0x110>;
457			interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
458			clocks = <&clk_sysin>;
459			clock-names = "ssc";
460			clock-frequency = <400000>;
461			pinctrl-names = "default";
462			pinctrl-0 = <&pinctrl_i2c10_default>;
463			#address-cells = <1>;
464			#size-cells = <0>;
465
466			status = "disabled";
467		};
468
469		i2c@9541000 {
470			compatible = "st,comms-ssc4-i2c";
471			reg = <0x9541000 0x110>;
472			interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
473			clocks = <&clk_sysin>;
474			clock-names = "ssc";
475			clock-frequency = <400000>;
476			pinctrl-names = "default";
477			pinctrl-0 = <&pinctrl_i2c11_default>;
478			#address-cells = <1>;
479			#size-cells = <0>;
480
481			status = "disabled";
482		};
483
484		spi@9840000 {
485			compatible = "st,comms-ssc4-spi";
486			reg = <0x9840000 0x110>;
487			interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
488			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
489			clock-names = "ssc";
490			pinctrl-0 = <&pinctrl_spi0_default>;
491			pinctrl-names = "default";
492			#address-cells = <1>;
493			#size-cells = <0>;
494
495			status = "disabled";
496		};
497
498		spi@9841000 {
499			compatible = "st,comms-ssc4-spi";
500			reg = <0x9841000 0x110>;
501			interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
502			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
503			clock-names = "ssc";
504			pinctrl-names = "default";
505			pinctrl-0 = <&pinctrl_spi1_default>;
506			#address-cells = <1>;
507			#size-cells = <0>;
508
509			status = "disabled";
510		};
511
512		spi@9842000 {
513			compatible = "st,comms-ssc4-spi";
514			reg = <0x9842000 0x110>;
515			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
516			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
517			clock-names = "ssc";
518			pinctrl-names = "default";
519			pinctrl-0 = <&pinctrl_spi2_default>;
520			#address-cells = <1>;
521			#size-cells = <0>;
522
523			status = "disabled";
524		};
525
526		spi@9843000 {
527			compatible = "st,comms-ssc4-spi";
528			reg = <0x9843000 0x110>;
529			interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
530			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
531			clock-names = "ssc";
532			pinctrl-names = "default";
533			pinctrl-0 = <&pinctrl_spi3_default>;
534			#address-cells = <1>;
535			#size-cells = <0>;
536
537			status = "disabled";
538		};
539
540		spi@9844000 {
541			compatible = "st,comms-ssc4-spi";
542			reg = <0x9844000 0x110>;
543			interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
544			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
545			clock-names = "ssc";
546			pinctrl-names = "default";
547			pinctrl-0 = <&pinctrl_spi4_default>;
548			#address-cells = <1>;
549			#size-cells = <0>;
550
551			status = "disabled";
552		};
553
554		/* SBC SSC */
555		spi@9540000 {
556			compatible = "st,comms-ssc4-spi";
557			reg = <0x9540000 0x110>;
558			interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
559			clocks = <&clk_sysin>;
560			clock-names = "ssc";
561			pinctrl-names = "default";
562			pinctrl-0 = <&pinctrl_spi10_default>;
563			#address-cells = <1>;
564			#size-cells = <0>;
565
566			status = "disabled";
567		};
568
569		spi@9541000 {
570			compatible = "st,comms-ssc4-spi";
571			reg = <0x9541000 0x110>;
572			interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
573			clocks = <&clk_sysin>;
574			clock-names = "ssc";
575			pinctrl-names = "default";
576			pinctrl-0 = <&pinctrl_spi11_default>;
577			#address-cells = <1>;
578			#size-cells = <0>;
579
580			status = "disabled";
581		};
582
583		spi@9542000 {
584			compatible = "st,comms-ssc4-spi";
585			reg = <0x9542000 0x110>;
586			interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
587			clocks = <&clk_sysin>;
588			clock-names = "ssc";
589			pinctrl-names = "default";
590			pinctrl-0 = <&pinctrl_spi12_default>;
591			#address-cells = <1>;
592			#size-cells = <0>;
593
594			status = "disabled";
595		};
596
597		mmc0: sdhci@9060000 {
598			compatible = "st,sdhci-stih407", "st,sdhci";
599			status = "disabled";
600			reg = <0x09060000 0x7ff>, <0x9061008 0x20>;
601			reg-names = "mmc", "top-mmc-delay";
602			interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
603			interrupt-names = "mmcirq";
604			pinctrl-names = "default";
605			pinctrl-0 = <&pinctrl_mmc0>;
606			clock-names = "mmc", "icn";
607			clocks = <&clk_s_c0_flexgen CLK_MMC_0>,
608				 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
609			bus-width = <8>;
610		};
611
612		mmc1: sdhci@9080000 {
613			compatible = "st,sdhci-stih407", "st,sdhci";
614			status = "disabled";
615			reg = <0x09080000 0x7ff>;
616			reg-names = "mmc";
617			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
618			interrupt-names = "mmcirq";
619			pinctrl-names = "default";
620			pinctrl-0 = <&pinctrl_sd1>;
621			clock-names = "mmc", "icn";
622			clocks = <&clk_s_c0_flexgen CLK_MMC_1>,
623				 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
624			resets = <&softreset STIH407_MMC1_SOFTRESET>;
625			bus-width = <4>;
626		};
627
628		/* Watchdog and Real-Time Clock */
629		lpc@8787000 {
630			compatible = "st,stih407-lpc";
631			reg = <0x8787000 0x1000>;
632			interrupts = <GIC_SPI 129 IRQ_TYPE_EDGE_RISING>;
633			clocks = <&clk_s_d3_flexgen CLK_LPC_0>;
634			timeout-sec = <120>;
635			st,syscfg = <&syscfg_core>;
636			st,lpc-mode = <ST_LPC_MODE_WDT>;
637		};
638
639		lpc@8788000 {
640			compatible = "st,stih407-lpc";
641			reg = <0x8788000 0x1000>;
642			interrupts = <GIC_SPI 130 IRQ_TYPE_EDGE_RISING>;
643			clocks = <&clk_s_d3_flexgen CLK_LPC_1>;
644			st,lpc-mode = <ST_LPC_MODE_CLKSRC>;
645		};
646
647		spifsm: spifsm@9022000 {
648			compatible = "st,spi-fsm";
649			reg = <0x9022000 0x1000>;
650			reg-names = "spi-fsm";
651			clocks = <&clk_s_c0_flexgen CLK_FLASH_PROMIP>;
652			clock-names = "emi_clk";
653			pinctrl-names = "default";
654			pinctrl-0 = <&pinctrl_fsm>;
655			st,syscfg = <&syscfg_core>;
656			st,boot-device-reg = <0x8c4>;
657			st,boot-device-spi = <0x68>;
658
659			status = "disabled";
660		};
661
662		sata0: sata@9b20000 {
663			compatible = "st,ahci";
664			reg = <0x9b20000 0x1000>;
665
666			interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
667			interrupt-names = "hostc";
668
669			phys = <&phy_port0 PHY_TYPE_SATA>;
670			phy-names = "ahci_phy";
671
672			resets = <&powerdown STIH407_SATA0_POWERDOWN>,
673				 <&softreset STIH407_SATA0_SOFTRESET>,
674				 <&softreset STIH407_SATA0_PWR_SOFTRESET>;
675			reset-names = "pwr-dwn", "sw-rst", "pwr-rst";
676
677			clock-names = "ahci_clk";
678			clocks = <&clk_s_c0_flexgen CLK_ICN_REG>;
679
680			ports-implemented = <0x1>;
681
682			status = "disabled";
683		};
684
685		sata1: sata@9b28000 {
686			compatible = "st,ahci";
687			reg = <0x9b28000 0x1000>;
688
689			interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
690			interrupt-names = "hostc";
691
692			phys = <&phy_port1 PHY_TYPE_SATA>;
693			phy-names = "ahci_phy";
694
695			resets = <&powerdown STIH407_SATA1_POWERDOWN>,
696				 <&softreset STIH407_SATA1_SOFTRESET>,
697				 <&softreset STIH407_SATA1_PWR_SOFTRESET>;
698			reset-names = "pwr-dwn",
699				      "sw-rst",
700				      "pwr-rst";
701
702			clock-names = "ahci_clk";
703			clocks = <&clk_s_c0_flexgen CLK_ICN_REG>;
704
705			ports-implemented = <0x1>;
706
707			status = "disabled";
708		};
709
710
711		st_dwc3: dwc3@8f94000 {
712			compatible = "st,stih407-dwc3";
713			reg = <0x08f94000 0x1000>, <0x110 0x4>;
714			reg-names = "reg-glue", "syscfg-reg";
715			st,syscfg = <&syscfg_core>;
716			resets = <&powerdown STIH407_USB3_POWERDOWN>,
717				 <&softreset STIH407_MIPHY2_SOFTRESET>;
718			reset-names = "powerdown", "softreset";
719			#address-cells = <1>;
720			#size-cells = <1>;
721			pinctrl-names = "default";
722			pinctrl-0 = <&pinctrl_usb3>;
723			ranges;
724
725			status = "disabled";
726
727			dwc3: usb@9900000 {
728				compatible = "snps,dwc3";
729				reg = <0x09900000 0x100000>;
730				interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
731				dr_mode = "host";
732				phy-names = "usb2-phy", "usb3-phy";
733				phys = <&usb2_picophy0>,
734				       <&phy_port2 PHY_TYPE_USB3>;
735				snps,dis_u3_susphy_quirk;
736			};
737		};
738
739		/* COMMS PWM Module */
740		pwm0: pwm@9810000 {
741			compatible = "st,sti-pwm";
742			#pwm-cells = <2>;
743			reg = <0x9810000 0x68>;
744			interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
745			pinctrl-names = "default";
746			pinctrl-0 = <&pinctrl_pwm0_chan0_default>;
747			clock-names = "pwm";
748			clocks = <&clk_sysin>;
749			st,pwm-num-chan = <1>;
750
751			status = "disabled";
752		};
753
754		/* SBC PWM Module */
755		pwm1: pwm@9510000 {
756			compatible = "st,sti-pwm";
757			#pwm-cells = <2>;
758			reg = <0x9510000 0x68>;
759			interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
760			pinctrl-names = "default";
761			pinctrl-0 = <&pinctrl_pwm1_chan0_default
762				     &pinctrl_pwm1_chan1_default
763				     &pinctrl_pwm1_chan2_default
764				     &pinctrl_pwm1_chan3_default>;
765			clock-names = "pwm";
766			clocks = <&clk_sysin>;
767			st,pwm-num-chan = <4>;
768
769			status = "disabled";
770		};
771
772		rng10: rng@8a89000 {
773			compatible = "st,rng";
774			reg = <0x08a89000 0x1000>;
775			clocks = <&clk_sysin>;
776			status = "okay";
777		};
778
779		rng11: rng@8a8a000 {
780			compatible = "st,rng";
781			reg = <0x08a8a000 0x1000>;
782			clocks = <&clk_sysin>;
783			status = "okay";
784		};
785
786		ethernet0: dwmac@9630000 {
787			device_type = "network";
788			status = "disabled";
789			compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
790			reg = <0x9630000 0x8000>, <0x80 0x4>;
791			reg-names = "stmmaceth", "sti-ethconf";
792
793			st,syscon = <&syscfg_sbc_reg 0x80>;
794			st,gmac_en;
795			resets = <&softreset STIH407_ETH1_SOFTRESET>;
796			reset-names = "stmmaceth";
797
798			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
799				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
800			interrupt-names = "macirq", "eth_wake_irq";
801
802			/* DMA Bus Mode */
803			snps,pbl = <8>;
804
805			pinctrl-names = "default";
806			pinctrl-0 = <&pinctrl_rgmii1>;
807
808			clock-names = "stmmaceth", "sti-ethclk";
809			clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>,
810				 <&clk_s_c0_flexgen CLK_ETH_PHY>;
811		};
812
813		mailbox0: mailbox@8f00000  {
814			compatible = "st,stih407-mailbox";
815			reg = <0x8f00000 0x1000>;
816			interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
817			#mbox-cells = <2>;
818			mbox-name = "a9";
819			status = "okay";
820		};
821
822		mailbox1: mailbox@8f01000 {
823			compatible = "st,stih407-mailbox";
824			reg = <0x8f01000 0x1000>;
825			#mbox-cells = <2>;
826			mbox-name = "st231_gp_1";
827			status = "okay";
828		};
829
830		mailbox2: mailbox@8f02000 {
831			compatible = "st,stih407-mailbox";
832			reg = <0x8f02000 0x1000>;
833			#mbox-cells = <2>;
834			mbox-name = "st231_gp_0";
835			status = "okay";
836		};
837
838		mailbox3: mailbox@8f03000 {
839			compatible = "st,stih407-mailbox";
840			reg = <0x8f03000 0x1000>;
841			#mbox-cells = <2>;
842			mbox-name = "st231_audio_video";
843			status = "okay";
844		};
845
846		/* fdma audio */
847		fdma0: dma-controller@8e20000 {
848			compatible = "st,stih407-fdma-mpe31-11", "st,slim-rproc";
849			reg = <0x8e20000 0x8000>,
850			      <0x8e30000 0x3000>,
851			      <0x8e37000 0x1000>,
852			      <0x8e38000 0x8000>;
853			reg-names = "slimcore", "dmem", "peripherals", "imem";
854			clocks = <&clk_s_c0_flexgen CLK_FDMA>,
855				 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
856				 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
857				 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
858			interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
859			dma-channels = <16>;
860			#dma-cells = <3>;
861		};
862
863		/* fdma app */
864		fdma1: dma-controller@8e40000 {
865			compatible = "st,stih407-fdma-mpe31-12", "st,slim-rproc";
866			reg = <0x8e40000 0x8000>,
867			      <0x8e50000 0x3000>,
868			      <0x8e57000 0x1000>,
869			      <0x8e58000 0x8000>;
870			reg-names = "slimcore", "dmem", "peripherals", "imem";
871			clocks = <&clk_s_c0_flexgen CLK_FDMA>,
872				<&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
873				<&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
874				<&clk_s_c0_flexgen CLK_EXT2F_A9>;
875
876			interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
877			dma-channels = <16>;
878			#dma-cells = <3>;
879
880			status = "disabled";
881		};
882
883		/* fdma free running */
884		fdma2: dma-controller@8e60000 {
885			compatible = "st,stih407-fdma-mpe31-13", "st,slim-rproc";
886			reg = <0x8e60000 0x8000>,
887			      <0x8e70000 0x3000>,
888			      <0x8e77000 0x1000>,
889			      <0x8e78000 0x8000>;
890			reg-names = "slimcore", "dmem", "peripherals", "imem";
891			interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
892			dma-channels = <16>;
893			#dma-cells = <3>;
894			clocks = <&clk_s_c0_flexgen CLK_FDMA>,
895				<&clk_s_c0_flexgen CLK_EXT2F_A9>,
896				<&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
897				<&clk_s_c0_flexgen CLK_EXT2F_A9>;
898
899			status = "disabled";
900		};
901
902		sti_uni_player0: sti-uni-player@8d80000 {
903			compatible = "st,stih407-uni-player-hdmi";
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_LEVEL_HIGH>;
912			dmas = <&fdma0 2 0 1>;
913			dma-names = "tx";
914
915			status = "disabled";
916		};
917
918		sti_uni_player1: sti-uni-player@8d81000 {
919			compatible = "st,stih407-uni-player-pcm-out";
920			#sound-dai-cells = <0>;
921			st,syscfg = <&syscfg_core>;
922			clocks = <&clk_s_d0_flexgen CLK_PCM_1>;
923			assigned-clocks = <&clk_s_d0_quadfs 1>, <&clk_s_d0_flexgen CLK_PCM_1>;
924			assigned-clock-parents = <0>, <&clk_s_d0_quadfs 1>;
925			assigned-clock-rates = <50000000>;
926			reg = <0x8d81000 0x158>;
927			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
928			dmas = <&fdma0 3 0 1>;
929			dma-names = "tx";
930
931			status = "disabled";
932		};
933
934		sti_uni_player2: sti-uni-player@8d82000 {
935			compatible = "st,stih407-uni-player-dac";
936			#sound-dai-cells = <0>;
937			st,syscfg = <&syscfg_core>;
938			clocks = <&clk_s_d0_flexgen CLK_PCM_2>;
939			assigned-clocks = <&clk_s_d0_quadfs 2>, <&clk_s_d0_flexgen CLK_PCM_2>;
940			assigned-clock-parents = <0>, <&clk_s_d0_quadfs 2>;
941			assigned-clock-rates = <50000000>;
942			reg = <0x8d82000 0x158>;
943			interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
944			dmas = <&fdma0 4 0 1>;
945			dma-names = "tx";
946
947			status = "disabled";
948		};
949
950		sti_uni_player3: sti-uni-player@8d85000 {
951			compatible = "st,stih407-uni-player-spdif";
952			#sound-dai-cells = <0>;
953			st,syscfg = <&syscfg_core>;
954			clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;
955			assigned-clocks = <&clk_s_d0_quadfs 3>, <&clk_s_d0_flexgen CLK_SPDIFF>;
956			assigned-clock-parents = <0>, <&clk_s_d0_quadfs 3>;
957			assigned-clock-rates = <50000000>;
958			reg = <0x8d85000 0x158>;
959			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
960			dmas = <&fdma0 7 0 1>;
961			dma-names = "tx";
962
963			status = "disabled";
964		};
965
966		sti_uni_reader0: sti-uni-reader@8d83000 {
967			compatible = "st,stih407-uni-reader-pcm_in";
968			#sound-dai-cells = <0>;
969			st,syscfg = <&syscfg_core>;
970			reg = <0x8d83000 0x158>;
971			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
972			dmas = <&fdma0 5 0 1>;
973			dma-names = "rx";
974
975			status = "disabled";
976		};
977
978		sti_uni_reader1: sti-uni-reader@8d84000 {
979			compatible = "st,stih407-uni-reader-hdmi";
980			#sound-dai-cells = <0>;
981			st,syscfg = <&syscfg_core>;
982			reg = <0x8d84000 0x158>;
983			interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
984			dmas = <&fdma0 6 0 1>;
985			dma-names = "rx";
986
987			status = "disabled";
988		};
989	};
990};
991