2 * Device Tree for the ST-Ericsson U300 Machine and SoC
6 /include/ "skeleton.dtsi"
9 model = "ST-Ericsson U300";
10 compatible = "stericsson,u300";
15 bootargs = "root=/dev/ram0 console=ttyAMA0,115200n8 earlyprintk";
24 reg = <0x48000000 0x03c00000>;
28 compatible = "stericsson,s365";
29 vana15-supply = <&ab3100_ldo_d_reg>;
33 syscon: syscon@c0011000 {
34 compatible = "stericsson,u300-syscon", "syscon";
35 reg = <0xc0011000 0x1000>;
36 clk32: app_32_clk@32k {
38 compatible = "fixed-clock";
39 clock-frequency = <32768>;
43 compatible = "fixed-clock";
44 clock-frequency = <13000000>;
46 /* Slow bridge clocks under PLL13 */
47 slow_clk: slow_clk@13M {
49 compatible = "stericsson,u300-syscon-clk";
50 clock-type = <0>; /* Slow */
54 uart0_clk: uart0_clk@13M {
56 compatible = "stericsson,u300-syscon-clk";
57 clock-type = <0>; /* Slow */
61 gpio_clk: gpio_clk@13M {
63 compatible = "stericsson,u300-syscon-clk";
64 clock-type = <0>; /* Slow */
68 rtc_clk: rtc_clk@13M {
70 compatible = "stericsson,u300-syscon-clk";
71 clock-type = <0>; /* Slow */
75 apptimer_clk: app_tmr_clk@13M {
77 compatible = "stericsson,u300-syscon-clk";
78 clock-type = <0>; /* Slow */
84 compatible = "stericsson,u300-syscon-clk";
85 clock-type = <0>; /* Slow */
91 compatible = "fixed-clock";
92 clock-frequency = <208000000>;
94 app208: app_208_clk@208M {
96 compatible = "fixed-factor-clock";
103 compatible = "stericsson,u300-syscon-clk";
104 clock-type = <2>; /* Rest */
108 app104: app_104_clk@104M {
110 compatible = "fixed-factor-clock";
117 compatible = "stericsson,u300-syscon-clk";
118 clock-type = <2>; /* Rest */
122 app52: app_52_clk@52M {
124 compatible = "fixed-factor-clock";
129 /* AHB subsystem clocks */
130 ahb_clk: ahb_subsys_clk@52M {
132 compatible = "stericsson,u300-syscon-clk";
133 clock-type = <2>; /* Rest */
139 compatible = "stericsson,u300-syscon-clk";
140 clock-type = <2>; /* Rest */
146 compatible = "stericsson,u300-syscon-clk";
147 clock-type = <2>; /* Rest */
151 dmac_clk: dmac_clk@52M {
153 compatible = "stericsson,u300-syscon-clk";
154 clock-type = <2>; /* Rest */
158 fsmc_clk: fsmc_clk@52M {
160 compatible = "stericsson,u300-syscon-clk";
161 clock-type = <2>; /* Rest */
165 xgam_clk: xgam_clk@52M {
167 compatible = "stericsson,u300-syscon-clk";
168 clock-type = <2>; /* Rest */
172 app26: app_26_clk@26M {
174 compatible = "fixed-factor-clock";
179 /* Fast bridge clocks */
180 fast_clk: fast_clk@26M {
182 compatible = "stericsson,u300-syscon-clk";
183 clock-type = <1>; /* Fast */
187 i2c0_clk: i2c0_clk@26M {
189 compatible = "stericsson,u300-syscon-clk";
190 clock-type = <1>; /* Fast */
192 clocks = <&fast_clk>;
194 i2c1_clk: i2c1_clk@26M {
196 compatible = "stericsson,u300-syscon-clk";
197 clock-type = <1>; /* Fast */
199 clocks = <&fast_clk>;
201 mmc_pclk: mmc_p_clk@26M {
203 compatible = "stericsson,u300-syscon-clk";
204 clock-type = <1>; /* Fast */
206 clocks = <&fast_clk>;
210 compatible = "stericsson,u300-syscon-mclk";
211 clocks = <&mmc_pclk>;
213 spi_clk: spi_p_clk@26M {
215 compatible = "stericsson,u300-syscon-clk";
216 clock-type = <1>; /* Fast */
218 clocks = <&fast_clk>;
222 timer: timer@c0014000 {
223 compatible = "stericsson,u300-apptimer";
224 reg = <0xc0014000 0x1000>;
225 interrupt-parent = <&vica>;
226 interrupts = <24 25 26 27>;
227 clocks = <&apptimer_clk>;
230 gpio: gpio@c0016000 {
231 compatible = "stericsson,gpio-coh901";
232 reg = <0xc0016000 0x1000>;
233 interrupt-parent = <&vicb>;
234 interrupts = <0 1 2 18 21 22 23>;
235 clocks = <&gpio_clk>;
236 interrupt-names = "gpio0", "gpio1", "gpio2", "gpio3",
237 "gpio4", "gpio5", "gpio6";
238 interrupt-controller;
239 #interrupt-cells = <2>;
244 pinctrl: pinctrl@c0011000 {
245 compatible = "stericsson,pinctrl-u300";
246 reg = <0xc0011000 0x1000>;
249 watchdog: watchdog@c0012000 {
250 compatible = "stericsson,coh901327";
251 reg = <0xc0012000 0x1000>;
252 interrupt-parent = <&vicb>;
258 compatible = "stericsson,coh901331";
259 reg = <0xc0017000 0x1000>;
260 interrupt-parent = <&vicb>;
265 dmac: dma-controller@c00020000 {
266 compatible = "stericsson,coh901318";
267 reg = <0xc0020000 0x1000>;
268 interrupt-parent = <&vica>;
272 clocks = <&dmac_clk>;
275 /* A NAND flash of 128 MiB */
276 fsmc: flash@40000000 {
277 compatible = "stericsson,fsmc-nand";
278 #address-cells = <1>;
280 reg = <0x9f800000 0x1000>, /* FSMC Register*/
281 <0x80000000 0x4000>, /* NAND Base DATA */
282 <0x80020000 0x4000>, /* NAND Base ADDR */
283 <0x80010000 0x4000>; /* NAND Base CMD */
284 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
286 clocks = <&fsmc_clk>;
289 label = "boot records";
294 reg = <0x20000 0x7e0000>;
298 reg = <0x800000 0xf800000>;
303 compatible = "st,ddci2c";
304 reg = <0xc0004000 0x1000>;
305 interrupt-parent = <&vicb>;
307 clocks = <&i2c0_clk>;
308 #address-cells = <1>;
311 compatible = "stericsson,ab3100";
313 interrupt-parent = <&vica>;
314 interrupts = <0>; /* EXT0 IRQ */
316 compatible = "stericsson,ab3100-regulators";
317 ab3100_ldo_a_reg: ab3100_ldo_a {
318 startup-delay-us = <200>;
322 ab3100_ldo_c_reg: ab3100_ldo_c {
323 startup-delay-us = <200>;
325 ab3100_ldo_d_reg: ab3100_ldo_d {
326 startup-delay-us = <200>;
328 ab3100_ldo_e_reg: ab3100_ldo_e {
329 regulator-min-microvolt = <1800000>;
330 regulator-max-microvolt = <1800000>;
331 startup-delay-us = <200>;
335 ab3100_ldo_f_reg: ab3100_ldo_f {
336 regulator-min-microvolt = <2500000>;
337 regulator-max-microvolt = <2500000>;
338 startup-delay-us = <600>;
342 ab3100_ldo_g_reg: ab3100_ldo_g {
343 regulator-min-microvolt = <1500000>;
344 regulator-max-microvolt = <2850000>;
345 startup-delay-us = <400>;
347 ab3100_ldo_h_reg: ab3100_ldo_h {
348 regulator-min-microvolt = <1200000>;
349 regulator-max-microvolt = <2750000>;
350 startup-delay-us = <200>;
352 ab3100_ldo_k_reg: ab3100_ldo_k {
353 regulator-min-microvolt = <1800000>;
354 regulator-max-microvolt = <2750000>;
355 startup-delay-us = <200>;
357 ab3100_ext_reg: ab3100_ext {
359 ab3100_buck_reg: ab3100_buck {
360 regulator-min-microvolt = <1200000>;
361 regulator-max-microvolt = <1800000>;
362 startup-delay-us = <1000>;
371 compatible = "st,ddci2c";
372 reg = <0xc0005000 0x1000>;
373 interrupt-parent = <&vicb>;
375 clocks = <&i2c1_clk>;
376 #address-cells = <1>;
387 compatible = "arm,amba-bus";
388 #address-cells = <1>;
392 vica: interrupt-controller@a0001000 {
393 compatible = "arm,versatile-vic";
394 interrupt-controller;
395 #interrupt-cells = <1>;
396 reg = <0xa0001000 0x20>;
399 vicb: interrupt-controller@a0002000 {
400 compatible = "arm,versatile-vic";
401 interrupt-controller;
402 #interrupt-cells = <1>;
403 reg = <0xa0002000 0x20>;
406 uart0: serial@c0013000 {
407 compatible = "arm,pl011", "arm,primecell";
408 reg = <0xc0013000 0x1000>;
409 interrupt-parent = <&vica>;
411 clocks = <&uart0_clk>, <&uart0_clk>;
412 clock-names = "apb_pclk", "uart0_clk";
413 dmas = <&dmac 17 &dmac 18>;
414 dma-names = "tx", "rx";
417 uart1: serial@c0007000 {
418 compatible = "arm,pl011", "arm,primecell";
419 reg = <0xc0007000 0x1000>;
420 interrupt-parent = <&vicb>;
422 dmas = <&dmac 38 &dmac 39>;
423 dma-names = "tx", "rx";
426 mmcsd: mmcsd@c0001000 {
427 compatible = "arm,pl18x", "arm,primecell";
428 reg = <0xc0001000 0x1000>;
429 interrupt-parent = <&vicb>;
431 clocks = <&mmc_pclk>, <&mmc_mclk>;
432 clock-names = "apb_pclk", "mclk";
433 max-frequency = <24000000>;
434 bus-width = <4>; // SD-card slot
437 cd-gpios = <&gpio 12 0x4>;
439 vmmc-supply = <&ab3100_ldo_g_reg>;
445 compatible = "arm,pl022", "arm,primecell";
446 reg = <0xc0006000 0x1000>;
447 interrupt-parent = <&vica>;
449 clocks = <&spi_clk>, <&spi_clk>;
450 clock-names = "SSPCLK", "apb_pclk";
451 dmas = <&dmac 27 &dmac 28>;
452 dma-names = "tx", "rx";
454 #address-cells = <1>;
457 compatible = "arm,pl022-dummy";
459 spi-max-frequency = <20000000>;