6be932bee6de4f94b4f190123075cca5afac96b5
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / ste-u300.dts
1 /*
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
27         s365 {
28                 compatible = "stericsson,s365";
29                 vana15-supply = <&ab3100_ldo_d_reg>;
30         };
31
32         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
57         watchdog: watchdog@c0012000 {
58                 compatible = "stericsson,coh901327";
59                 reg = <0xc0012000 0x1000>;
60                 interrupt-parent = <&vicb>;
61                 interrupts = <3>;
62         };
63
64         rtc: rtc@c0017000 {
65                 compatible = "stericsson,coh901331";
66                 reg = <0xc0017000 0x1000>;
67                 interrupt-parent = <&vicb>;
68                 interrupts = <10>;
69         };
70
71         i2c0: i2c@c0004000 {
72                 compatible = "st,ddci2c";
73                 reg = <0xc0004000 0x1000>;
74                 interrupt-parent = <&vicb>;
75                 interrupts = <8>;
76                 #address-cells = <1>;
77                 #size-cells = <0>;
78                 ab3100: ab3100@0x48 {
79                         compatible = "stericsson,ab3100";
80                         reg = <0x48>;
81                         interrupt-parent = <&vica>;
82                         interrupts = <0>; /* EXT0 IRQ */
83                         ab3100-regulators {
84                                 compatible = "stericsson,ab3100-regulators";
85                                 ab3100_ldo_a_reg: ab3100_ldo_a {
86                                         regulator-compatible = "ab3100_ldo_a";
87                                         startup-delay-us = <200>;
88                                         regulator-always-on;
89                                         regulator-boot-on;
90                                 };
91                                 ab3100_ldo_c_reg: ab3100_ldo_c {
92                                         regulator-compatible = "ab3100_ldo_c";
93                                         startup-delay-us = <200>;
94                                 };
95                                 ab3100_ldo_d_reg: ab3100_ldo_d {
96                                         regulator-compatible = "ab3100_ldo_d";
97                                         startup-delay-us = <200>;
98                                 };
99                                 ab3100_ldo_e_reg: ab3100_ldo_e {
100                                         regulator-compatible = "ab3100_ldo_e";
101                                         regulator-min-microvolt = <1800000>;
102                                         regulator-max-microvolt = <1800000>;
103                                         startup-delay-us = <200>;
104                                         regulator-always-on;
105                                         regulator-boot-on;
106                                 };
107                                 ab3100_ldo_f_reg: ab3100_ldo_f {
108                                         regulator-compatible = "ab3100_ldo_f";
109                                         regulator-min-microvolt = <2500000>;
110                                         regulator-max-microvolt = <2500000>;
111                                         startup-delay-us = <600>;
112                                         regulator-always-on;
113                                         regulator-boot-on;
114                                 };
115                                 ab3100_ldo_g_reg: ab3100_ldo_g {
116                                         regulator-compatible = "ab3100_ldo_g";
117                                         regulator-min-microvolt = <1500000>;
118                                         regulator-max-microvolt = <2850000>;
119                                         startup-delay-us = <400>;
120                                 };
121                                 ab3100_ldo_h_reg: ab3100_ldo_h {
122                                         regulator-compatible = "ab3100_ldo_h";
123                                         regulator-min-microvolt = <1200000>;
124                                         regulator-max-microvolt = <2750000>;
125                                         startup-delay-us = <200>;
126                                 };
127                                 ab3100_ldo_k_reg: ab3100_ldo_k {
128                                         regulator-compatible = "ab3100_ldo_k";
129                                         regulator-min-microvolt = <1800000>;
130                                         regulator-max-microvolt = <2750000>;
131                                         startup-delay-us = <200>;
132                                 };
133                                 ab3100_ext_reg: ab3100_ext {
134                                         regulator-compatible = "ab3100_ext";
135                                 };
136                                 ab3100_buck_reg: ab3100_buck {
137                                         regulator-compatible = "ab3100_buck";
138                                         regulator-min-microvolt = <1200000>;
139                                         regulator-max-microvolt = <1800000>;
140                                         startup-delay-us = <1000>;
141                                         regulator-always-on;
142                                         regulator-boot-on;
143                                 };
144                         };
145                 };
146         };
147
148         i2c1: i2c@c0005000 {
149                 compatible = "st,ddci2c";
150                 reg = <0xc0005000 0x1000>;
151                 interrupt-parent = <&vicb>;
152                 interrupts = <9>;
153                 #address-cells = <1>;
154                 #size-cells = <0>;
155                 fwcam0: fwcam@0x10 {
156                         reg = <0x10>;
157                 };
158                 fwcam1: fwcam@0x5d {
159                         reg = <0x5d>;
160                 };
161         };
162
163         amba {
164                 compatible = "arm,amba-bus";
165                 #address-cells = <1>;
166                 #size-cells = <1>;
167                 ranges;
168
169                 vica: interrupt-controller@a0001000 {
170                         compatible = "arm,versatile-vic";
171                         interrupt-controller;
172                         #interrupt-cells = <1>;
173                         reg = <0xa0001000 0x20>;
174                 };
175
176                 vicb: interrupt-controller@a0002000 {
177                         compatible = "arm,versatile-vic";
178                         interrupt-controller;
179                         #interrupt-cells = <1>;
180                         reg = <0xa0002000 0x20>;
181                 };
182
183                 uart0: serial@c0013000 {
184                         compatible = "arm,pl011", "arm,primecell";
185                         reg = <0xc0013000 0x1000>;
186                         interrupt-parent = <&vica>;
187                         interrupts = <22>;
188                         dmas = <&dmac 17 &dmac 18>;
189                         dma-names = "tx", "rx";
190                 };
191
192                 uart1: serial@c0007000 {
193                         compatible = "arm,pl011", "arm,primecell";
194                         reg = <0xc0007000 0x1000>;
195                         interrupt-parent = <&vicb>;
196                         interrupts = <20>;
197                         dmas = <&dmac 38 &dmac 39>;
198                         dma-names = "tx", "rx";
199                 };
200
201                 mmcsd: mmcsd@c0001000 {
202                         compatible = "arm,pl18x", "arm,primecell";
203                         reg = <0xc0001000 0x1000>;
204                         interrupt-parent = <&vicb>;
205                         interrupts = <6 7>;
206                         max-frequency = <24000000>;
207                         bus-width = <4>; // SD-card slot
208                         mmc-cap-mmc-highspeed;
209                         mmc-cap-sd-highspeed;
210                         cd-gpios = <&gpio 12 0x4>;
211                         cd-inverted;
212                         vmmc-supply = <&ab3100_ldo_g_reg>;
213                         dmas = <&dmac 14>;
214                         dma-names = "rx";
215                 };
216         };
217 };