arm: zynq: Add board support for cc108
[oweals/u-boot.git] / arch / arm / dts / am57xx-idk-common.dtsi
1 /*
2  * Copyright (C) 2015-2016 Texas Instruments Incorporated - http://www.ti.com/
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8
9 #include "am57xx-industrial-grade.dtsi"
10
11 / {
12         aliases {
13                 rtc0 = &tps659038_rtc;
14                 rtc1 = &rtc;
15         };
16
17         chosen {
18                 stdout-path = &uart3;
19         };
20
21         vmain: fixedregulator-vmain {
22                 compatible = "regulator-fixed";
23                 regulator-name = "VMAIN";
24                 regulator-min-microvolt = <5000000>;
25                 regulator-max-microvolt = <5000000>;
26                 regulator-always-on;
27                 regulator-boot-on;
28         };
29
30         v3_3d: fixedregulator-v3_3d {
31                 compatible = "regulator-fixed";
32                 regulator-name = "V3_3D";
33                 vin-supply = <&smps9_reg>;
34                 regulator-min-microvolt = <3300000>;
35                 regulator-max-microvolt = <3300000>;
36                 regulator-always-on;
37                 regulator-boot-on;
38         };
39
40         vtt_fixed: fixedregulator-vtt {
41                 /* TPS51200 */
42                 compatible = "regulator-fixed";
43                 regulator-name = "vtt_fixed";
44                 vin-supply = <&v3_3d>;
45                 regulator-min-microvolt = <3300000>;
46                 regulator-max-microvolt = <3300000>;
47                 regulator-always-on;
48                 regulator-boot-on;
49         };
50
51         leds-iio {
52                 status = "disabled";
53                 compatible = "gpio-leds";
54                 led-out0 {
55                         label = "out0";
56                         gpios = <&tpic2810 0 GPIO_ACTIVE_HIGH>;
57                         default-state = "off";
58                 };
59
60                 led-out1 {
61                         label = "out1";
62                         gpios = <&tpic2810 1 GPIO_ACTIVE_HIGH>;
63                         default-state = "off";
64                 };
65
66                 led-out2 {
67                         label = "out2";
68                         gpios = <&tpic2810 2 GPIO_ACTIVE_HIGH>;
69                         default-state = "off";
70                 };
71
72                 led-out3 {
73                         label = "out3";
74                         gpios = <&tpic2810 3 GPIO_ACTIVE_HIGH>;
75                         default-state = "off";
76                 };
77
78                 led-out4 {
79                         label = "out4";
80                         gpios = <&tpic2810 4 GPIO_ACTIVE_HIGH>;
81                         default-state = "off";
82                 };
83
84                 led-out5 {
85                         label = "out5";
86                         gpios = <&tpic2810 5 GPIO_ACTIVE_HIGH>;
87                         default-state = "off";
88                 };
89
90                 led-out6 {
91                         label = "out6";
92                         gpios = <&tpic2810 6 GPIO_ACTIVE_HIGH>;
93                         default-state = "off";
94                 };
95
96                 led-out7 {
97                         label = "out7";
98                         gpios = <&tpic2810 7 GPIO_ACTIVE_HIGH>;
99                         default-state = "off";
100                 };
101         };
102 };
103
104 &dra7_pmx_core {
105         dcan1_pins_default: dcan1_pins_default {
106                 pinctrl-single,pins = <
107                         DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0)        /* dcan1_tx */
108                         DRA7XX_CORE_IOPAD(0x37d4, PIN_INPUT_PULLUP | MUX_MODE0)         /* dcan1_rx */
109                 >;
110         };
111
112         dcan1_pins_sleep: dcan1_pins_sleep {
113                 pinctrl-single,pins = <
114                         DRA7XX_CORE_IOPAD(0x37d0, MUX_MODE15 | PULL_UP) /* dcan1_tx.off */
115                         DRA7XX_CORE_IOPAD(0x37d4, MUX_MODE15 | PULL_UP) /* dcan1_rx.off */
116                 >;
117         };
118 };
119
120 &i2c1 {
121         status = "okay";
122         clock-frequency = <400000>;
123
124         tps659038: tps659038@58 {
125                 compatible = "ti,tps659038";
126                 reg = <0x58>;
127                 interrupts-extended = <&gpio6 16 IRQ_TYPE_LEVEL_HIGH
128                                &dra7_pmx_core 0x418>;
129                 #interrupt-cells = <2>;
130                 interrupt-controller;
131                 ti,system-power-controller;
132                 ti,palmas-override-powerhold;
133
134                 tps659038_pmic {
135                         compatible = "ti,tps659038-pmic";
136
137                         smps12-in-supply = <&vmain>;
138                         smps3-in-supply = <&vmain>;
139                         smps45-in-supply = <&vmain>;
140                         smps6-in-supply = <&vmain>;
141                         smps7-in-supply = <&vmain>;
142                         smps8-in-supply = <&vmain>;
143                         smps9-in-supply = <&vmain>;
144                         ldo1-in-supply = <&vmain>;
145                         ldo2-in-supply = <&vmain>;
146                         ldo3-in-supply = <&vmain>;
147                         ldo4-in-supply = <&vmain>;
148                         ldo9-in-supply = <&vmain>;
149                         ldoln-in-supply = <&vmain>;
150                         ldousb-in-supply = <&vmain>;
151                         ldortc-in-supply = <&vmain>;
152
153                         regulators {
154                                 smps12_reg: smps12 {
155                                         /* VDD_MPU */
156                                         regulator-name = "smps12";
157                                         regulator-min-microvolt = <850000>;
158                                         regulator-max-microvolt = <1250000>;
159                                         regulator-always-on;
160                                         regulator-boot-on;
161                                 };
162
163                                 smps3_reg: smps3 {
164                                         /* VDD_DDR EMIF1 EMIF2 */
165                                         regulator-name = "smps3";
166                                         regulator-min-microvolt = <1350000>;
167                                         regulator-max-microvolt = <1350000>;
168                                         regulator-always-on;
169                                         regulator-boot-on;
170                                 };
171
172                                 smps45_reg: smps45 {
173                                         /* VDD_DSPEVE on AM572 */
174                                         /* VDD_IVA + VDD_DSP on AM571 */
175                                         regulator-name = "smps45";
176                                         regulator-min-microvolt = <850000>;
177                                         regulator-max-microvolt = <1250000>;
178                                         regulator-always-on;
179                                         regulator-boot-on;
180                                 };
181
182                                 smps6_reg: smps6 {
183                                         /* VDD_GPU */
184                                         regulator-name = "smps6";
185                                         regulator-min-microvolt = <850000>;
186                                         regulator-max-microvolt = <1250000>;
187                                         regulator-always-on;
188                                         regulator-boot-on;
189                                 };
190
191                                 smps7_reg: smps7 {
192                                         /* VDD_CORE */
193                                         regulator-name = "smps7";
194                                         regulator-min-microvolt = <850000>;
195                                         regulator-max-microvolt = <1150000>;
196                                         regulator-always-on;
197                                         regulator-boot-on;
198                                 };
199
200                                 smps8_reg: smps8 {
201                                         /* 5728 - VDD_IVAHD */
202                                         /* 5718 - N.C. test point */
203                                         regulator-name = "smps8";
204                                 };
205
206                                 smps9_reg: smps9 {
207                                         /* VDD_3_3D */
208                                         regulator-name = "smps9";
209                                         regulator-min-microvolt = <3300000>;
210                                         regulator-max-microvolt = <3300000>;
211                                         regulator-always-on;
212                                         regulator-boot-on;
213                                 };
214
215                                 ldo1_reg: ldo1 {
216                                         /* VDDSHV8 - VSDMMC  */
217                                         /* NOTE: on rev 1.3a, data supply */
218                                         regulator-name = "ldo1";
219                                         regulator-min-microvolt = <1800000>;
220                                         regulator-max-microvolt = <3300000>;
221                                         regulator-boot-on;
222                                         regulator-always-on;
223                                 };
224
225                                 ldo2_reg: ldo2 {
226                                         /* VDDSH18V */
227                                         regulator-name = "ldo2";
228                                         regulator-min-microvolt = <1800000>;
229                                         regulator-max-microvolt = <1800000>;
230                                         regulator-always-on;
231                                         regulator-boot-on;
232                                 };
233
234                                 ldo3_reg: ldo3 {
235                                         /* R1.3a 572x V1_8PHY_LDO3: USB, SATA */
236                                         regulator-name = "ldo3";
237                                         regulator-min-microvolt = <1800000>;
238                                         regulator-max-microvolt = <1800000>;
239                                         regulator-always-on;
240                                         regulator-boot-on;
241                                 };
242
243                                 ldo4_reg: ldo4 {
244                                         /* R1.3a 572x V1_8PHY_LDO4: PCIE, HDMI*/
245                                         regulator-name = "ldo4";
246                                         regulator-min-microvolt = <1800000>;
247                                         regulator-max-microvolt = <1800000>;
248                                         regulator-always-on;
249                                         regulator-boot-on;
250                                 };
251
252                                 /* LDO5-8 unused */
253
254                                 ldo9_reg: ldo9 {
255                                         /* VDD_RTC  */
256                                         regulator-name = "ldo9";
257                                         regulator-min-microvolt = <840000>;
258                                         regulator-max-microvolt = <1160000>;
259                                         regulator-always-on;
260                                         regulator-boot-on;
261                                 };
262
263                                 ldoln_reg: ldoln {
264                                         /* VDDA_1V8_PLL */
265                                         regulator-name = "ldoln";
266                                         regulator-min-microvolt = <1800000>;
267                                         regulator-max-microvolt = <1800000>;
268                                         regulator-always-on;
269                                         regulator-boot-on;
270                                 };
271
272                                 ldousb_reg: ldousb {
273                                         /* VDDA_3V_USB: VDDA_USBHS33 */
274                                         regulator-name = "ldousb";
275                                         regulator-min-microvolt = <3300000>;
276                                         regulator-max-microvolt = <3300000>;
277                                         regulator-always-on;
278                                         regulator-boot-on;
279                                 };
280
281                                 ldortc_reg: ldortc {
282                                         /* VDDA_RTC  */
283                                         regulator-name = "ldortc";
284                                         regulator-min-microvolt = <1800000>;
285                                         regulator-max-microvolt = <1800000>;
286                                         regulator-always-on;
287                                         regulator-boot-on;
288                                 };
289
290                                 regen1: regen1 {
291                                         /* VDD_3V3_ON */
292                                         regulator-name = "regen1";
293                                         regulator-boot-on;
294                                         regulator-always-on;
295                                 };
296
297                                 regen2: regen2 {
298                                         /* Needed for PMIC internal resource */
299                                         regulator-name = "regen2";
300                                         regulator-boot-on;
301                                         regulator-always-on;
302                                 };
303                         };
304                 };
305
306                 tps659038_rtc: tps659038_rtc {
307                         compatible = "ti,palmas-rtc";
308                         interrupt-parent = <&tps659038>;
309                         interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
310                         wakeup-source;
311                 };
312
313                 tps659038_pwr_button: tps659038_pwr_button {
314                         compatible = "ti,palmas-pwrbutton";
315                         interrupt-parent = <&tps659038>;
316                         interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
317                         wakeup-source;
318                         ti,palmas-long-press-seconds = <12>;
319                 };
320
321                 tps659038_gpio: tps659038_gpio {
322                         compatible = "ti,palmas-gpio";
323                         gpio-controller;
324                         #gpio-cells = <2>;
325                 };
326
327                 extcon_usb2: tps659038_usb {
328                         compatible = "ti,palmas-usb-vid";
329                         ti,enable-vbus-detection;
330                         ti,enable-id-detection;
331                         /* ID & VBUS GPIOs provided in board dts */
332                 };
333         };
334
335         tpic2810: tpic2810@60 {
336                 compatible = "ti,tpic2810";
337                 reg = <0x60>;
338                 gpio-controller;
339                 #gpio-cells = <2>;
340         };
341 };
342
343 &mcspi3 {
344         status = "okay";
345         ti,pindir-d0-out-d1-in;
346
347         sn65hvs882: sn65hvs882@0 {
348                 compatible = "pisosr-gpio";
349                 gpio-controller;
350                 #gpio-cells = <2>;
351
352                 reg = <0>;
353                 spi-max-frequency = <1000000>;
354                 spi-cpol;
355         };
356 };
357
358 &uart3 {
359         status = "okay";
360         interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH
361                                &dra7_pmx_core 0x248>;
362 };
363
364 &rtc {
365         status = "okay";
366         ext-clk-src;
367 };
368
369 &mac {
370         status = "okay";
371         dual_emac;
372 };
373
374 &cpsw_emac0 {
375         phy_id = <&davinci_mdio>, <0>;
376         phy-mode = "rgmii";
377         dual_emac_res_vlan = <1>;
378 };
379
380 &cpsw_emac1 {
381         phy_id = <&davinci_mdio>, <1>;
382         phy-mode = "rgmii";
383         dual_emac_res_vlan = <2>;
384 };
385
386 &usb2_phy1 {
387         phy-supply = <&ldousb_reg>;
388 };
389
390 &usb2_phy2 {
391         phy-supply = <&ldousb_reg>;
392 };
393
394 &usb1 {
395         dr_mode = "host";
396 };
397
398 &usb2 {
399         dr_mode = "peripheral";
400 };
401
402 &mmc1 {
403         status = "okay";
404         vmmc-supply = <&v3_3d>;
405         vqmmc-supply = <&ldo1_reg>;
406         bus-width = <4>;
407         cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
408 };
409
410 &mmc2 {
411         status = "okay";
412         vmmc-supply = <&v3_3d>;
413         bus-width = <8>;
414         ti,non-removable;
415         max-frequency = <96000000>;
416 };
417
418 &dcan1 {
419         status = "okay";
420         pinctrl-names = "default", "sleep", "active";
421         pinctrl-0 = <&dcan1_pins_sleep>;
422         pinctrl-1 = <&dcan1_pins_sleep>;
423         pinctrl-2 = <&dcan1_pins_default>;
424 };
425
426 &qspi {
427         status = "okay";
428
429         spi-max-frequency = <76800000>;
430         m25p80@0 {
431                 compatible = "s25fl256s1", "jedec,spi-nor";
432                 spi-max-frequency = <76800000>;
433                 reg = <0>;
434                 spi-tx-bus-width = <1>;
435                 spi-rx-bus-width = <4>;
436                 #address-cells = <1>;
437                 #size-cells = <1>;
438
439                 /* MTD partition table.
440                  * The ROM checks the first four physical blocks
441                  * for a valid file to boot and the flash here is
442                  * 64KiB block size.
443                  */
444                 partition@0 {
445                         label = "QSPI.SPL";
446                         reg = <0x00000000 0x000040000>;
447                 };
448                 partition@1 {
449                         label = "QSPI.u-boot";
450                         reg = <0x00040000 0x00100000>;
451                 };
452                 partition@2 {
453                         label = "QSPI.u-boot-spl-os";
454                         reg = <0x00140000 0x00080000>;
455                 };
456                 partition@3 {
457                         label = "QSPI.u-boot-env";
458                         reg = <0x001c0000 0x00010000>;
459                 };
460                 partition@4 {
461                         label = "QSPI.u-boot-env.backup1";
462                         reg = <0x001d0000 0x0010000>;
463                 };
464                 partition@5 {
465                         label = "QSPI.kernel";
466                         reg = <0x001e0000 0x0800000>;
467                 };
468                 partition@6 {
469                         label = "QSPI.file-system";
470                         reg = <0x009e0000 0x01620000>;
471                 };
472         };
473 };