blob: 1b20769d261a0ff5374a62cfacd9377ca2745705 [file] [log] [blame]
Linus Walleij978577e2013-04-08 11:38:50 +02001/*
2 * Device Tree for the ST-Ericsson U300 Machine and SoC
3 */
4
5/dts-v1/;
6/include/ "skeleton.dtsi"
7
8/ {
9 model = "ST-Ericsson U300";
10 compatible = "stericsson,u300";
11 #address-cells = <1>;
12 #size-cells = <1>;
13
14 chosen {
15 bootargs = "root=/dev/ram0 console=ttyAMA0,115200n8 earlyprintk";
16 };
17
18 aliases {
19 serial0 = &uart0;
20 serial1 = &uart1;
21 };
22
23 memory {
24 reg = <0x48000000 0x03c00000>;
25 };
26
Linus Walleijecf5b392013-04-19 10:51:59 +020027 s365 {
28 compatible = "stericsson,s365";
29 vana15-supply = <&ab3100_ldo_d_reg>;
30 };
31
Linus Walleij978577e2013-04-08 11:38:50 +020032 timer: timer@c0014000 {
33 compatible = "stericsson,u300-apptimer";
34 reg = <0xc0014000 0x1000>;
35 interrupt-parent = <&vica>;
36 interrupts = <24 25 26 27>;
37 };
38
39 gpio: gpio@c0016000 {
40 compatible = "stericsson,gpio-coh901";
41 reg = <0xc0016000 0x1000>;
42 interrupt-parent = <&vicb>;
43 interrupts = <0 1 2 18 21 22 23>;
44 interrupt-names = "gpio0", "gpio1", "gpio2", "gpio3",
45 "gpio4", "gpio5", "gpio6";
46 interrupt-controller;
47 #interrupt-cells = <2>;
48 gpio-controller;
49 #gpio-cells = <2>;
50 };
51
52 pinctrl: pinctrl@c0011000 {
53 compatible = "stericsson,pinctrl-u300";
54 reg = <0xc0011000 0x1000>;
55 };
56
Linus Walleij63a62ec2013-04-19 12:59:59 +020057 watchdog: watchdog@c0012000 {
58 compatible = "stericsson,coh901327";
59 reg = <0xc0012000 0x1000>;
60 interrupt-parent = <&vicb>;
61 interrupts = <3>;
62 };
63
Linus Walleijae87bb82013-04-19 13:22:57 +020064 rtc: rtc@c0017000 {
65 compatible = "stericsson,coh901331";
66 reg = <0xc0017000 0x1000>;
67 interrupt-parent = <&vicb>;
68 interrupts = <10>;
69 };
70
Linus Walleij39738cc2013-04-19 13:44:25 +020071 dmac: dma-controller@c00020000 {
72 compatible = "stericsson,coh901318";
73 reg = <0xc0020000 0x1000>;
74 interrupt-parent = <&vica>;
75 interrupts = <2>;
76 #dma-cells = <1>;
77 dma-channels = <40>;
78 };
79
Linus Walleijc023b8b2013-04-11 15:13:39 +020080 i2c0: i2c@c0004000 {
81 compatible = "st,ddci2c";
82 reg = <0xc0004000 0x1000>;
83 interrupt-parent = <&vicb>;
84 interrupts = <8>;
85 #address-cells = <1>;
86 #size-cells = <0>;
Linus Walleijecf5b392013-04-19 10:51:59 +020087 ab3100: ab3100@0x48 {
88 compatible = "stericsson,ab3100";
89 reg = <0x48>;
90 interrupt-parent = <&vica>;
91 interrupts = <0>; /* EXT0 IRQ */
92 ab3100-regulators {
93 compatible = "stericsson,ab3100-regulators";
94 ab3100_ldo_a_reg: ab3100_ldo_a {
95 regulator-compatible = "ab3100_ldo_a";
96 startup-delay-us = <200>;
97 regulator-always-on;
98 regulator-boot-on;
99 };
100 ab3100_ldo_c_reg: ab3100_ldo_c {
101 regulator-compatible = "ab3100_ldo_c";
102 startup-delay-us = <200>;
103 };
104 ab3100_ldo_d_reg: ab3100_ldo_d {
105 regulator-compatible = "ab3100_ldo_d";
106 startup-delay-us = <200>;
107 };
108 ab3100_ldo_e_reg: ab3100_ldo_e {
109 regulator-compatible = "ab3100_ldo_e";
110 regulator-min-microvolt = <1800000>;
111 regulator-max-microvolt = <1800000>;
112 startup-delay-us = <200>;
113 regulator-always-on;
114 regulator-boot-on;
115 };
116 ab3100_ldo_f_reg: ab3100_ldo_f {
117 regulator-compatible = "ab3100_ldo_f";
118 regulator-min-microvolt = <2500000>;
119 regulator-max-microvolt = <2500000>;
120 startup-delay-us = <600>;
121 regulator-always-on;
122 regulator-boot-on;
123 };
124 ab3100_ldo_g_reg: ab3100_ldo_g {
125 regulator-compatible = "ab3100_ldo_g";
126 regulator-min-microvolt = <1500000>;
127 regulator-max-microvolt = <2850000>;
128 startup-delay-us = <400>;
129 };
130 ab3100_ldo_h_reg: ab3100_ldo_h {
131 regulator-compatible = "ab3100_ldo_h";
132 regulator-min-microvolt = <1200000>;
133 regulator-max-microvolt = <2750000>;
134 startup-delay-us = <200>;
135 };
136 ab3100_ldo_k_reg: ab3100_ldo_k {
137 regulator-compatible = "ab3100_ldo_k";
138 regulator-min-microvolt = <1800000>;
139 regulator-max-microvolt = <2750000>;
140 startup-delay-us = <200>;
141 };
142 ab3100_ext_reg: ab3100_ext {
143 regulator-compatible = "ab3100_ext";
144 };
145 ab3100_buck_reg: ab3100_buck {
146 regulator-compatible = "ab3100_buck";
147 regulator-min-microvolt = <1200000>;
148 regulator-max-microvolt = <1800000>;
149 startup-delay-us = <1000>;
150 regulator-always-on;
151 regulator-boot-on;
152 };
153 };
154 };
Linus Walleijc023b8b2013-04-11 15:13:39 +0200155 };
156
157 i2c1: i2c@c0005000 {
158 compatible = "st,ddci2c";
159 reg = <0xc0005000 0x1000>;
160 interrupt-parent = <&vicb>;
161 interrupts = <9>;
162 #address-cells = <1>;
163 #size-cells = <0>;
Linus Walleijecf5b392013-04-19 10:51:59 +0200164 fwcam0: fwcam@0x10 {
165 reg = <0x10>;
166 };
167 fwcam1: fwcam@0x5d {
168 reg = <0x5d>;
169 };
Linus Walleijc023b8b2013-04-11 15:13:39 +0200170 };
171
Linus Walleij978577e2013-04-08 11:38:50 +0200172 amba {
173 compatible = "arm,amba-bus";
174 #address-cells = <1>;
175 #size-cells = <1>;
176 ranges;
177
178 vica: interrupt-controller@a0001000 {
179 compatible = "arm,versatile-vic";
180 interrupt-controller;
181 #interrupt-cells = <1>;
182 reg = <0xa0001000 0x20>;
183 };
184
185 vicb: interrupt-controller@a0002000 {
186 compatible = "arm,versatile-vic";
187 interrupt-controller;
188 #interrupt-cells = <1>;
189 reg = <0xa0002000 0x20>;
190 };
191
192 uart0: serial@c0013000 {
193 compatible = "arm,pl011", "arm,primecell";
194 reg = <0xc0013000 0x1000>;
195 interrupt-parent = <&vica>;
196 interrupts = <22>;
Linus Walleijefb9bc22013-05-02 10:38:52 +0200197 dmas = <&dmac 17 &dmac 18>;
198 dma-names = "tx", "rx";
Linus Walleij978577e2013-04-08 11:38:50 +0200199 };
200
201 uart1: serial@c0007000 {
202 compatible = "arm,pl011", "arm,primecell";
203 reg = <0xc0007000 0x1000>;
204 interrupt-parent = <&vicb>;
205 interrupts = <20>;
Linus Walleijefb9bc22013-05-02 10:38:52 +0200206 dmas = <&dmac 38 &dmac 39>;
207 dma-names = "tx", "rx";
Linus Walleij978577e2013-04-08 11:38:50 +0200208 };
Linus Walleijba078d12013-04-10 14:34:00 +0200209
210 mmcsd: mmcsd@c0001000 {
211 compatible = "arm,pl18x", "arm,primecell";
212 reg = <0xc0001000 0x1000>;
213 interrupt-parent = <&vicb>;
214 interrupts = <6 7>;
215 max-frequency = <24000000>;
216 bus-width = <4>; // SD-card slot
217 mmc-cap-mmc-highspeed;
218 mmc-cap-sd-highspeed;
219 cd-gpios = <&gpio 12 0x4>;
220 cd-inverted;
221 vmmc-supply = <&ab3100_ldo_g_reg>;
Linus Walleijefb9bc22013-05-02 10:38:52 +0200222 dmas = <&dmac 14>;
223 dma-names = "rx";
Linus Walleijba078d12013-04-10 14:34:00 +0200224 };
Linus Walleijcf4af862013-04-19 14:56:46 +0200225
226 spi: ssp@c0006000 {
227 compatible = "arm,pl022", "arm,primecell";
228 reg = <0xc0006000 0x1000>;
229 interrupt-parent = <&vica>;
230 interrupts = <23>;
231 dmas = <&dmac 27 &dmac 28>;
232 dma-names = "tx", "rx";
233 num-cs = <3>;
234 #address-cells = <1>;
235 #size-cells = <0>;
Linus Walleij20d4af62013-04-21 21:39:46 +0200236 spi-dummy@1 {
237 compatible = "arm,pl022-dummy";
238 reg = <1>;
239 spi-max-frequency = <20000000>;
240 };
Linus Walleijcf4af862013-04-19 14:56:46 +0200241 };
Linus Walleij978577e2013-04-08 11:38:50 +0200242 };
243};