Merge tag 'for-3.17/bcm-soc' of git://github.com/broadcom/mach-bcm into next/soc
[cascardo/linux.git] / arch / arm / boot / dts / at91-sama5d3_xplained.dts
1 /*
2  * at91-sama5d3_xplained.dts - Device Tree file for the SAMA5D3 Xplained board
3  *
4  *  Copyright (C) 2014 Atmel,
5  *                2014 Nicolas Ferre <nicolas.ferre@atmel.com>
6  *
7  * Licensed under GPLv2 or later.
8  */
9 /dts-v1/;
10 #include "sama5d36.dtsi"
11
12 / {
13         model = "SAMA5D3 Xplained";
14         compatible = "atmel,sama5d3-xplained", "atmel,sama5d3", "atmel,sama5";
15
16         chosen {
17                 bootargs = "console=ttyS0,115200";
18         };
19
20         memory {
21                 reg = <0x20000000 0x10000000>;
22         };
23
24         slow_xtal {
25                 clock-frequency = <32768>;
26         };
27
28         main_xtal {
29                 clock-frequency = <12000000>;
30         };
31
32         ahb {
33                 apb {
34                         mmc0: mmc@f0000000 {
35                                 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
36                                 status = "okay";
37                                 slot@0 {
38                                         reg = <0>;
39                                         bus-width = <8>;
40                                         cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
41                                 };
42                         };
43
44                         spi0: spi@f0004000 {
45                                 cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
46                                 status = "okay";
47                         };
48
49                         can0: can@f000c000 {
50                                 status = "okay";
51                         };
52
53                         i2c0: i2c@f0014000 {
54                                 pinctrl-0 = <&pinctrl_i2c0_pu>;
55                                 status = "okay";
56                         };
57
58                         i2c1: i2c@f0018000 {
59                                 status = "okay";
60
61                                 pmic: act8865@5b {
62                                         compatible = "active-semi,act8865";
63                                         reg = <0x5b>;
64                                         status = "okay";
65
66                                         regulators {
67                                                 vcc_1v8_reg: DCDC_REG1 {
68                                                         regulator-name = "VCC_1V8";
69                                                         regulator-min-microvolt = <1800000>;
70                                                         regulator-max-microvolt = <1800000>;
71                                                         regulator-always-on;
72                                                 };
73
74                                                 vcc_1v2_reg: DCDC_REG2 {
75                                                         regulator-name = "VCC_1V2";
76                                                         regulator-min-microvolt = <1200000>;
77                                                         regulator-max-microvolt = <1200000>;
78                                                         regulator-always-on;
79                                                 };
80
81                                                 vcc_3v3_reg: DCDC_REG3 {
82                                                         regulator-name = "VCC_3V3";
83                                                         regulator-min-microvolt = <3300000>;
84                                                         regulator-max-microvolt = <3300000>;
85                                                         regulator-always-on;
86                                                 };
87
88                                                 vddfuse_reg: LDO_REG1 {
89                                                         regulator-name = "FUSE_2V5";
90                                                         regulator-min-microvolt = <2500000>;
91                                                         regulator-max-microvolt = <2500000>;
92                                                 };
93
94                                                 vddana_reg: LDO_REG2 {
95                                                         regulator-name = "VDDANA";
96                                                         regulator-min-microvolt = <3300000>;
97                                                         regulator-max-microvolt = <3300000>;
98                                                         regulator-always-on;
99                                                 };
100                                         };
101                                 };
102                         };
103
104                         macb0: ethernet@f0028000 {
105                                 phy-mode = "rgmii";
106                                 status = "okay";
107                         };
108
109                         pwm0: pwm@f002c000 {
110                                 pinctrl-names = "default";
111                                 pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>;
112                                 status = "okay";
113                         };
114
115                         usart0: serial@f001c000 {
116                                 status = "okay";
117                         };
118
119                         usart1: serial@f0020000 {
120                                 pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
121                                 status = "okay";
122                         };
123
124                         uart0: serial@f0024000 {
125                                 status = "okay";
126                         };
127
128                         mmc1: mmc@f8000000 {
129                                 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
130                                 status = "okay";
131                                 slot@0 {
132                                         reg = <0>;
133                                         bus-width = <4>;
134                                         cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>;
135                                 };
136                         };
137
138                         spi1: spi@f8008000 {
139                                 cs-gpios = <&pioC 25 0>;
140                                 status = "okay";
141                         };
142
143                         adc0: adc@f8018000 {
144                                 pinctrl-0 = <
145                                         &pinctrl_adc0_adtrg
146                                         &pinctrl_adc0_ad0
147                                         &pinctrl_adc0_ad1
148                                         &pinctrl_adc0_ad2
149                                         &pinctrl_adc0_ad3
150                                         &pinctrl_adc0_ad4
151                                         &pinctrl_adc0_ad5
152                                         &pinctrl_adc0_ad6
153                                         &pinctrl_adc0_ad7
154                                         &pinctrl_adc0_ad8
155                                         &pinctrl_adc0_ad9
156                                         >;
157                                 status = "okay";
158                         };
159
160                         i2c2: i2c@f801c000 {
161                                 dmas = <0>, <0>;        /* Do not use DMA for i2c2 */
162                                 pinctrl-0 = <&pinctrl_i2c2_pu>;
163                                 status = "okay";
164                         };
165
166                         macb1: ethernet@f802c000 {
167                                 phy-mode = "rmii";
168                                 status = "okay";
169                         };
170
171                         dbgu: serial@ffffee00 {
172                                 status = "okay";
173                         };
174
175                         pinctrl@fffff200 {
176                                 board {
177                                         pinctrl_i2c0_pu: i2c0_pu {
178                                                 atmel,pins =
179                                                         <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
180                                                         <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
181                                         };
182
183                                         pinctrl_i2c2_pu: i2c2_pu {
184                                                 atmel,pins =
185                                                         <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
186                                                         <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
187                                         };
188
189                                         pinctrl_mmc0_cd: mmc0_cd {
190                                                 atmel,pins =
191                                                         <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
192                                         };
193
194                                         pinctrl_mmc1_cd: mmc1_cd {
195                                                 atmel,pins =
196                                                         <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
197                                         };
198
199                                         pinctrl_usba_vbus: usba_vbus {
200                                                 atmel,pins =
201                                                         <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;   /* PE9, conflicts with A9 */
202                                         };
203                                 };
204                         };
205
206                         pmc: pmc@fffffc00 {
207                                 main: mainck {
208                                         clock-frequency = <12000000>;
209                                 };
210                         };
211                 };
212
213                 nand0: nand@60000000 {
214                         nand-bus-width = <8>;
215                         nand-ecc-mode = "hw";
216                         atmel,has-pmecc;
217                         atmel,pmecc-cap = <4>;
218                         atmel,pmecc-sector-size = <512>;
219                         nand-on-flash-bbt;
220                         status = "okay";
221
222                         at91bootstrap@0 {
223                                 label = "at91bootstrap";
224                                 reg = <0x0 0x40000>;
225                         };
226
227                         bootloader@40000 {
228                                 label = "bootloader";
229                                 reg = <0x40000 0x80000>;
230                         };
231
232                         bootloaderenv@c0000 {
233                                 label = "bootloader env";
234                                 reg = <0xc0000 0xc0000>;
235                         };
236
237                         dtb@180000 {
238                                 label = "device tree";
239                                 reg = <0x180000 0x80000>;
240                         };
241
242                         kernel@200000 {
243                                 label = "kernel";
244                                 reg = <0x200000 0x600000>;
245                         };
246
247                         rootfs@800000 {
248                                 label = "rootfs";
249                                 reg = <0x800000 0x0f800000>;
250                         };
251                 };
252
253                 usb0: gadget@00500000 {
254                         atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;   /* PE9, conflicts with A9 */
255                         pinctrl-names = "default";
256                         pinctrl-0 = <&pinctrl_usba_vbus>;
257                         status = "okay";
258                 };
259
260                 usb1: ohci@00600000 {
261                         num-ports = <3>;
262                         atmel,vbus-gpio = <0
263                                            &pioE 3 GPIO_ACTIVE_LOW
264                                            &pioE 4 GPIO_ACTIVE_LOW
265                                           >;
266                         status = "okay";
267                 };
268
269                 usb2: ehci@00700000 {
270                         status = "okay";
271                 };
272         };
273
274         gpio_keys {
275                 compatible = "gpio-keys";
276
277                 bp3 {
278                         label = "PB_USER";
279                         gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
280                         linux,code = <0x104>;
281                         gpio-key,wakeup;
282                 };
283         };
284
285         leds {
286                 compatible = "gpio-leds";
287
288                 d2 {
289                         label = "d2";
290                         gpios = <&pioE 23 GPIO_ACTIVE_LOW>;     /* PE23, conflicts with A23, CTS2 */
291                         linux,default-trigger = "heartbeat";
292                 };
293
294                 d3 {
295                         label = "d3";
296                         gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
297                 };
298         };
299 };