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 regulator-compatible = "ab3100_ldo_a";
319 startup-delay-us = <200>;
323 ab3100_ldo_c_reg: ab3100_ldo_c {
324 regulator-compatible = "ab3100_ldo_c";
325 startup-delay-us = <200>;
327 ab3100_ldo_d_reg: ab3100_ldo_d {
328 regulator-compatible = "ab3100_ldo_d";
329 startup-delay-us = <200>;
331 ab3100_ldo_e_reg: ab3100_ldo_e {
332 regulator-compatible = "ab3100_ldo_e";
333 regulator-min-microvolt = <1800000>;
334 regulator-max-microvolt = <1800000>;
335 startup-delay-us = <200>;
339 ab3100_ldo_f_reg: ab3100_ldo_f {
340 regulator-compatible = "ab3100_ldo_f";
341 regulator-min-microvolt = <2500000>;
342 regulator-max-microvolt = <2500000>;
343 startup-delay-us = <600>;
347 ab3100_ldo_g_reg: ab3100_ldo_g {
348 regulator-compatible = "ab3100_ldo_g";
349 regulator-min-microvolt = <1500000>;
350 regulator-max-microvolt = <2850000>;
351 startup-delay-us = <400>;
353 ab3100_ldo_h_reg: ab3100_ldo_h {
354 regulator-compatible = "ab3100_ldo_h";
355 regulator-min-microvolt = <1200000>;
356 regulator-max-microvolt = <2750000>;
357 startup-delay-us = <200>;
359 ab3100_ldo_k_reg: ab3100_ldo_k {
360 regulator-compatible = "ab3100_ldo_k";
361 regulator-min-microvolt = <1800000>;
362 regulator-max-microvolt = <2750000>;
363 startup-delay-us = <200>;
365 ab3100_ext_reg: ab3100_ext {
366 regulator-compatible = "ab3100_ext";
368 ab3100_buck_reg: ab3100_buck {
369 regulator-compatible = "ab3100_buck";
370 regulator-min-microvolt = <1200000>;
371 regulator-max-microvolt = <1800000>;
372 startup-delay-us = <1000>;
381 compatible = "st,ddci2c";
382 reg = <0xc0005000 0x1000>;
383 interrupt-parent = <&vicb>;
385 clocks = <&i2c1_clk>;
386 #address-cells = <1>;
397 compatible = "arm,amba-bus";
398 #address-cells = <1>;
402 vica: interrupt-controller@a0001000 {
403 compatible = "arm,versatile-vic";
404 interrupt-controller;
405 #interrupt-cells = <1>;
406 reg = <0xa0001000 0x20>;
409 vicb: interrupt-controller@a0002000 {
410 compatible = "arm,versatile-vic";
411 interrupt-controller;
412 #interrupt-cells = <1>;
413 reg = <0xa0002000 0x20>;
416 uart0: serial@c0013000 {
417 compatible = "arm,pl011", "arm,primecell";
418 reg = <0xc0013000 0x1000>;
419 interrupt-parent = <&vica>;
421 clocks = <&uart0_clk>, <&uart0_clk>;
422 clock-names = "apb_pclk", "uart0_clk";
423 dmas = <&dmac 17 &dmac 18>;
424 dma-names = "tx", "rx";
427 uart1: serial@c0007000 {
428 compatible = "arm,pl011", "arm,primecell";
429 reg = <0xc0007000 0x1000>;
430 interrupt-parent = <&vicb>;
432 dmas = <&dmac 38 &dmac 39>;
433 dma-names = "tx", "rx";
436 mmcsd: mmcsd@c0001000 {
437 compatible = "arm,pl18x", "arm,primecell";
438 reg = <0xc0001000 0x1000>;
439 interrupt-parent = <&vicb>;
441 clocks = <&mmc_pclk>, <&mmc_mclk>;
442 clock-names = "apb_pclk", "mclk";
443 max-frequency = <24000000>;
444 bus-width = <4>; // SD-card slot
447 cd-gpios = <&gpio 12 0x4>;
449 vmmc-supply = <&ab3100_ldo_g_reg>;
455 compatible = "arm,pl022", "arm,primecell";
456 reg = <0xc0006000 0x1000>;
457 interrupt-parent = <&vica>;
459 clocks = <&spi_clk>, <&spi_clk>;
460 clock-names = "SSPCLK", "apb_pclk";
461 dmas = <&dmac 27 &dmac 28>;
462 dma-names = "tx", "rx";
464 #address-cells = <1>;
467 compatible = "arm,pl022-dummy";
469 spi-max-frequency = <20000000>;