1 // SPDX-License-Identifier: GPL-2.0
3 * Device Tree for the ST-Ericsson U300 Machine and SoC
7 /include/ "skeleton.dtsi"
10 model = "ST-Ericsson U300";
11 compatible = "stericsson,u300";
16 bootargs = "root=/dev/ram0 console=ttyAMA0,115200n8 earlyprintk";
25 reg = <0x48000000 0x03c00000>;
29 compatible = "stericsson,s365";
30 vana15-supply = <&ab3100_ldo_d_reg>;
34 syscon: syscon@c0011000 {
35 compatible = "stericsson,u300-syscon", "syscon";
36 reg = <0xc0011000 0x1000>;
37 clk32: app_32_clk@32k {
39 compatible = "fixed-clock";
40 clock-frequency = <32768>;
44 compatible = "fixed-clock";
45 clock-frequency = <13000000>;
47 /* Slow bridge clocks under PLL13 */
48 slow_clk: slow_clk@13M {
50 compatible = "stericsson,u300-syscon-clk";
51 clock-type = <0>; /* Slow */
55 uart0_clk: uart0_clk@13M {
57 compatible = "stericsson,u300-syscon-clk";
58 clock-type = <0>; /* Slow */
62 gpio_clk: gpio_clk@13M {
64 compatible = "stericsson,u300-syscon-clk";
65 clock-type = <0>; /* Slow */
69 rtc_clk: rtc_clk@13M {
71 compatible = "stericsson,u300-syscon-clk";
72 clock-type = <0>; /* Slow */
76 apptimer_clk: app_tmr_clk@13M {
78 compatible = "stericsson,u300-syscon-clk";
79 clock-type = <0>; /* Slow */
85 compatible = "stericsson,u300-syscon-clk";
86 clock-type = <0>; /* Slow */
92 compatible = "fixed-clock";
93 clock-frequency = <208000000>;
95 app208: app_208_clk@208M {
97 compatible = "fixed-factor-clock";
104 compatible = "stericsson,u300-syscon-clk";
105 clock-type = <2>; /* Rest */
109 app104: app_104_clk@104M {
111 compatible = "fixed-factor-clock";
118 compatible = "stericsson,u300-syscon-clk";
119 clock-type = <2>; /* Rest */
123 app52: app_52_clk@52M {
125 compatible = "fixed-factor-clock";
130 /* AHB subsystem clocks */
131 ahb_clk: ahb_subsys_clk@52M {
133 compatible = "stericsson,u300-syscon-clk";
134 clock-type = <2>; /* Rest */
140 compatible = "stericsson,u300-syscon-clk";
141 clock-type = <2>; /* Rest */
147 compatible = "stericsson,u300-syscon-clk";
148 clock-type = <2>; /* Rest */
152 dmac_clk: dmac_clk@52M {
154 compatible = "stericsson,u300-syscon-clk";
155 clock-type = <2>; /* Rest */
159 fsmc_clk: fsmc_clk@52M {
161 compatible = "stericsson,u300-syscon-clk";
162 clock-type = <2>; /* Rest */
166 xgam_clk: xgam_clk@52M {
168 compatible = "stericsson,u300-syscon-clk";
169 clock-type = <2>; /* Rest */
173 app26: app_26_clk@26M {
175 compatible = "fixed-factor-clock";
180 /* Fast bridge clocks */
181 fast_clk: fast_clk@26M {
183 compatible = "stericsson,u300-syscon-clk";
184 clock-type = <1>; /* Fast */
188 i2c0_clk: i2c0_clk@26M {
190 compatible = "stericsson,u300-syscon-clk";
191 clock-type = <1>; /* Fast */
193 clocks = <&fast_clk>;
195 i2c1_clk: i2c1_clk@26M {
197 compatible = "stericsson,u300-syscon-clk";
198 clock-type = <1>; /* Fast */
200 clocks = <&fast_clk>;
202 mmc_pclk: mmc_p_clk@26M {
204 compatible = "stericsson,u300-syscon-clk";
205 clock-type = <1>; /* Fast */
207 clocks = <&fast_clk>;
211 compatible = "stericsson,u300-syscon-mclk";
212 clocks = <&mmc_pclk>;
214 spi_clk: spi_p_clk@26M {
216 compatible = "stericsson,u300-syscon-clk";
217 clock-type = <1>; /* Fast */
219 clocks = <&fast_clk>;
223 timer: timer@c0014000 {
224 compatible = "stericsson,u300-apptimer";
225 reg = <0xc0014000 0x1000>;
226 interrupt-parent = <&vica>;
227 interrupts = <24 25 26 27>;
228 clocks = <&apptimer_clk>;
231 gpio: gpio@c0016000 {
232 compatible = "stericsson,gpio-coh901";
233 reg = <0xc0016000 0x1000>;
234 interrupt-parent = <&vicb>;
235 interrupts = <0 1 2 18 21 22 23>;
236 clocks = <&gpio_clk>;
237 interrupt-names = "gpio0", "gpio1", "gpio2", "gpio3",
238 "gpio4", "gpio5", "gpio6";
239 interrupt-controller;
240 #interrupt-cells = <2>;
245 pinctrl: pinctrl@c0011000 {
246 compatible = "stericsson,pinctrl-u300";
247 reg = <0xc0011000 0x1000>;
250 watchdog: watchdog@c0012000 {
251 compatible = "stericsson,coh901327";
252 reg = <0xc0012000 0x1000>;
253 interrupt-parent = <&vicb>;
259 compatible = "stericsson,coh901331";
260 reg = <0xc0017000 0x1000>;
261 interrupt-parent = <&vicb>;
266 dmac: dma-controller@c00020000 {
267 compatible = "stericsson,coh901318";
268 reg = <0xc0020000 0x1000>;
269 interrupt-parent = <&vica>;
273 clocks = <&dmac_clk>;
276 /* A NAND flash of 128 MiB */
277 fsmc: flash@40000000 {
278 compatible = "stericsson,fsmc-nand";
279 #address-cells = <1>;
281 reg = <0x9f800000 0x1000>, /* FSMC Register*/
282 <0x80000000 0x4000>, /* NAND Base DATA */
283 <0x80020000 0x4000>, /* NAND Base ADDR */
284 <0x80010000 0x4000>; /* NAND Base CMD */
285 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
287 clocks = <&fsmc_clk>;
290 label = "boot records";
295 reg = <0x20000 0x7e0000>;
299 reg = <0x800000 0xf800000>;
304 compatible = "st,ddci2c";
305 reg = <0xc0004000 0x1000>;
306 interrupt-parent = <&vicb>;
308 clocks = <&i2c0_clk>;
309 #address-cells = <1>;
312 compatible = "stericsson,ab3100";
314 interrupt-parent = <&vica>;
315 interrupts = <0>; /* EXT0 IRQ */
317 compatible = "stericsson,ab3100-regulators";
318 ab3100_ldo_a_reg: ab3100_ldo_a {
319 startup-delay-us = <200>;
323 ab3100_ldo_c_reg: ab3100_ldo_c {
324 startup-delay-us = <200>;
326 ab3100_ldo_d_reg: ab3100_ldo_d {
327 startup-delay-us = <200>;
329 ab3100_ldo_e_reg: ab3100_ldo_e {
330 regulator-min-microvolt = <1800000>;
331 regulator-max-microvolt = <1800000>;
332 startup-delay-us = <200>;
336 ab3100_ldo_f_reg: ab3100_ldo_f {
337 regulator-min-microvolt = <2500000>;
338 regulator-max-microvolt = <2500000>;
339 startup-delay-us = <600>;
343 ab3100_ldo_g_reg: ab3100_ldo_g {
344 regulator-min-microvolt = <1500000>;
345 regulator-max-microvolt = <2850000>;
346 startup-delay-us = <400>;
348 ab3100_ldo_h_reg: ab3100_ldo_h {
349 regulator-min-microvolt = <1200000>;
350 regulator-max-microvolt = <2750000>;
351 startup-delay-us = <200>;
353 ab3100_ldo_k_reg: ab3100_ldo_k {
354 regulator-min-microvolt = <1800000>;
355 regulator-max-microvolt = <2750000>;
356 startup-delay-us = <200>;
358 ab3100_ext_reg: ab3100_ext {
360 ab3100_buck_reg: ab3100_buck {
361 regulator-min-microvolt = <1200000>;
362 regulator-max-microvolt = <1800000>;
363 startup-delay-us = <1000>;
372 compatible = "st,ddci2c";
373 reg = <0xc0005000 0x1000>;
374 interrupt-parent = <&vicb>;
376 clocks = <&i2c1_clk>;
377 #address-cells = <1>;
388 compatible = "simple-bus";
389 #address-cells = <1>;
393 vica: interrupt-controller@a0001000 {
394 compatible = "arm,versatile-vic";
395 interrupt-controller;
396 #interrupt-cells = <1>;
397 reg = <0xa0001000 0x20>;
400 vicb: interrupt-controller@a0002000 {
401 compatible = "arm,versatile-vic";
402 interrupt-controller;
403 #interrupt-cells = <1>;
404 reg = <0xa0002000 0x20>;
407 uart0: serial@c0013000 {
408 compatible = "arm,pl011", "arm,primecell";
409 reg = <0xc0013000 0x1000>;
410 interrupt-parent = <&vica>;
412 clocks = <&uart0_clk>, <&uart0_clk>;
413 clock-names = "apb_pclk", "uart0_clk";
414 dmas = <&dmac 17 &dmac 18>;
415 dma-names = "tx", "rx";
418 uart1: serial@c0007000 {
419 compatible = "arm,pl011", "arm,primecell";
420 reg = <0xc0007000 0x1000>;
421 interrupt-parent = <&vicb>;
423 dmas = <&dmac 38 &dmac 39>;
424 dma-names = "tx", "rx";
427 mmcsd: mmcsd@c0001000 {
428 compatible = "arm,pl18x", "arm,primecell";
429 reg = <0xc0001000 0x1000>;
430 interrupt-parent = <&vicb>;
432 clocks = <&mmc_pclk>, <&mmc_mclk>;
433 clock-names = "apb_pclk", "mclk";
434 max-frequency = <24000000>;
435 bus-width = <4>; // SD-card slot
438 cd-gpios = <&gpio 12 0x4>;
440 vmmc-supply = <&ab3100_ldo_g_reg>;
446 compatible = "arm,pl022", "arm,primecell";
447 reg = <0xc0006000 0x1000>;
448 interrupt-parent = <&vica>;
450 clocks = <&spi_clk>, <&spi_clk>;
451 clock-names = "SSPCLK", "apb_pclk";
452 dmas = <&dmac 27 &dmac 28>;
453 dma-names = "tx", "rx";
455 #address-cells = <1>;
458 compatible = "arm,pl022-dummy";
460 spi-max-frequency = <20000000>;