Merge branch 'tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-cubox
[cascardo/linux.git] / arch / arm / boot / dts / omap5-cm-t54.dts
1 /*
2  * Support for CompuLab CM-T54
3  */
4 /dts-v1/;
5
6 #include "omap5.dtsi"
7 #include <dt-bindings/interrupt-controller/irq.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9
10 / {
11         model = "CompuLab CM-T54";
12         compatible = "compulab,omap5-cm-t54", "ti,omap5";
13
14         memory {
15                 device_type = "memory";
16                 reg = <0x80000000 0x7F000000>; /* 2048 MB */
17         };
18
19         vmmcsd_fixed: fixed-regulator-mmcsd {
20                 compatible = "regulator-fixed";
21                 regulator-name = "vmmcsd_fixed";
22                 regulator-min-microvolt = <3300000>;
23                 regulator-max-microvolt = <3300000>;
24         };
25
26         vwlan_pdn_fixed: fixed-regulator-vwlan-pdn {
27                 compatible = "regulator-fixed";
28                 regulator-name = "vwlan_pdn_fixed";
29                 regulator-min-microvolt = <3300000>;
30                 regulator-max-microvolt = <3300000>;
31                 vin-supply = <&ldo2_reg>;
32                 gpio = <&gpio4 13 GPIO_ACTIVE_HIGH>;   /* gpio4_109 */
33                 startup-delay-us = <1000>;
34                 enable-active-high;
35         };
36
37         vwlan_fixed: fixed-regulator-vwlan {
38                 compatible = "regulator-fixed";
39                 regulator-name = "vwlan_fixed";
40                 regulator-min-microvolt = <3300000>;
41                 regulator-max-microvolt = <3300000>;
42                 vin-supply = <&vwlan_pdn_fixed>;
43                 gpio = <&gpio4 14 GPIO_ACTIVE_HIGH>;   /* gpio4_110 */
44                 startup-delay-us = <1000>;
45                 enable-active-high;
46         };
47
48         /* HS USB Host PHY on PORT 2 */
49         hsusb2_phy: hsusb2_phy {
50                 compatible = "usb-nop-xceiv";
51                 reset-gpios = <&gpio3 12 GPIO_ACTIVE_LOW>; /* gpio3_76 HUB_RESET */
52         };
53
54         /* HS USB Host PHY on PORT 3 */
55         hsusb3_phy: hsusb3_phy {
56                 compatible = "usb-nop-xceiv";
57                 reset-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; /* gpio3_83 ETH_RESET */
58         };
59
60         leds {
61                 compatible = "gpio-leds";
62                 led@1 {
63                         label = "Heartbeat";
64                         gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; /* gpio3_80 ACT_LED */
65                         linux,default-trigger = "heartbeat";
66                         default-state = "off";
67                 };
68         };
69 };
70
71 &omap5_pmx_core {
72         pinctrl-names = "default";
73         pinctrl-0 = <
74                         &led_gpio_pins
75                         &usbhost_pins
76         >;
77
78         led_gpio_pins: pinmux_led_gpio_pins {
79                 pinctrl-single,pins = <
80                         OMAP5_IOPAD(0x00b0, PIN_OUTPUT | MUX_MODE6) /* hsi2_caflag.gpio3_80 */
81                 >;
82         };
83
84         i2c1_pins: pinmux_i2c1_pins {
85                 pinctrl-single,pins = <
86                         OMAP5_IOPAD(0x01f2, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_pmic_scl */
87                         OMAP5_IOPAD(0x01f4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_pmic_sda */
88                 >;
89         };
90
91         mmc1_pins: pinmux_mmc1_pins {
92                 pinctrl-single,pins = <
93                         OMAP5_IOPAD(0x01e2, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_clk */
94                         OMAP5_IOPAD(0x01e4, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_cmd */
95                         OMAP5_IOPAD(0x01e6, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_data2 */
96                         OMAP5_IOPAD(0x01e8, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_data3 */
97                         OMAP5_IOPAD(0x01ea, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_data0 */
98                         OMAP5_IOPAD(0x01ec, PIN_INPUT_PULLUP | MUX_MODE0) /* sdcard_data1 */
99                 >;
100         };
101
102         mmc2_pins: pinmux_mmc2_pins {
103                 pinctrl-single,pins = <
104                         OMAP5_IOPAD(0x0040, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_clk */
105                         OMAP5_IOPAD(0x0042, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_cmd */
106                         OMAP5_IOPAD(0x0044, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data0 */
107                         OMAP5_IOPAD(0x0046, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data1 */
108                         OMAP5_IOPAD(0x0048, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data2 */
109                         OMAP5_IOPAD(0x004a, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data3 */
110                         OMAP5_IOPAD(0x004c, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data4 */
111                         OMAP5_IOPAD(0x004e, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data5 */
112                         OMAP5_IOPAD(0x0050, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data6 */
113                         OMAP5_IOPAD(0x0052, PIN_INPUT_PULLUP | MUX_MODE0) /* emmc_data7 */
114                 >;
115         };
116
117         mmc3_pins: pinmux_mmc3_pins {
118                 pinctrl-single,pins = <
119                         OMAP5_IOPAD(0x01a4, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_clk */
120                         OMAP5_IOPAD(0x01a6, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_cmd */
121                         OMAP5_IOPAD(0x01a8, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data0 */
122                         OMAP5_IOPAD(0x01aa, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data1 */
123                         OMAP5_IOPAD(0x01ac, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data2 */
124                         OMAP5_IOPAD(0x01ae, PIN_INPUT_PULLUP | MUX_MODE0) /* wlsdio_data3 */
125                 >;
126         };
127
128         wlan_gpios_pins: pinmux_wlan_gpios_pins {
129                 pinctrl-single,pins = <
130                         OMAP5_IOPAD(0x019c, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* gpio4_109 */
131                         OMAP5_IOPAD(0x019e, PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* gpio4_110 */
132                 >;
133         };
134
135         usbhost_pins: pinmux_usbhost_pins {
136                 pinctrl-single,pins = <
137                         OMAP5_IOPAD(0x00c4, PIN_INPUT | MUX_MODE0)  /* usbb2_hsic_strobe */
138                         OMAP5_IOPAD(0x00c6, PIN_INPUT | MUX_MODE0)  /* usbb2_hsic_data */
139
140                         OMAP5_IOPAD(0x01dc, PIN_INPUT | MUX_MODE0)  /* usbb3_hsic_strobe */
141                         OMAP5_IOPAD(0x01de, PIN_INPUT | MUX_MODE0)  /* usbb3_hsic_data */
142
143                         OMAP5_IOPAD(0x00a8, PIN_OUTPUT | MUX_MODE6) /* hsi2_caready.gpio3_76 */
144                         OMAP5_IOPAD(0x00b6, PIN_OUTPUT | MUX_MODE6) /* hsi2_acdata.gpio3_83 */
145                 >;
146         };
147 };
148
149 &mmc1 {
150         pinctrl-names = "default";
151         pinctrl-0 = <&mmc1_pins>;
152         vmmc-supply = <&ldo9_reg>;
153         bus-width = <4>;
154 };
155
156 &mmc2 {
157         pinctrl-names = "default";
158         pinctrl-0 = <&mmc2_pins>;
159         vmmc-supply = <&vmmcsd_fixed>;
160         bus-width = <8>;
161         ti,non-removable;
162 };
163
164 &mmc3 {
165         pinctrl-names = "default";
166         pinctrl-0 = <
167                 &mmc3_pins
168                 &wlan_gpios_pins
169         >;
170         vmmc-supply = <&vwlan_fixed>;
171         bus-width = <4>;
172         ti,non-removable;
173 };
174
175 &mmc4 {
176         status = "disabled";
177 };
178
179 &mmc5 {
180         status = "disabled";
181 };
182
183 &i2c1 {
184         pinctrl-names = "default";
185         pinctrl-0 = <&i2c1_pins>;
186
187         clock-frequency = <400000>;
188
189         at24@50 {
190                 compatible = "at24,24c02";
191                 pagesize = <16>;
192                 reg = <0x50>;
193         };
194
195         palmas: palmas@48 {
196                 compatible = "ti,palmas";
197                 interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* IRQ_SYS_1N */
198                 interrupt-parent = <&gic>;
199                 reg = <0x48>;
200                 interrupt-controller;
201                 #interrupt-cells = <2>;
202                 ti,system-power-controller;
203
204                 extcon_usb3: palmas_usb {
205                         compatible = "ti,palmas-usb-vid";
206                         ti,enable-vbus-detection;
207                         ti,enable-id-detection;
208                         ti,wakeup;
209                 };
210
211                 rtc {
212                         compatible = "ti,palmas-rtc";
213                         interrupt-parent = <&palmas>;
214                         interrupts = <8 IRQ_TYPE_NONE>;
215                 };
216
217                 palmas_pmic {
218                         compatible = "ti,palmas-pmic";
219                         interrupt-parent = <&palmas>;
220                         interrupts = <14 IRQ_TYPE_NONE>;
221                         interrupt-name = "short-irq";
222
223                         ti,ldo6-vibrator;
224
225                         regulators {
226                                 smps123_reg: smps123 {
227                                         /* VDD_OPP_MPU */
228                                         regulator-name = "smps123";
229                                         regulator-min-microvolt = < 600000>;
230                                         regulator-max-microvolt = <1500000>;
231                                         regulator-always-on;
232                                         regulator-boot-on;
233                                 };
234
235                                 smps45_reg: smps45 {
236                                         /* VDD_OPP_MM */
237                                         regulator-name = "smps45";
238                                         regulator-min-microvolt = < 600000>;
239                                         regulator-max-microvolt = <1310000>;
240                                         regulator-always-on;
241                                         regulator-boot-on;
242                                 };
243
244                                 smps6_reg: smps6 {
245                                         /* VDD_DDR3 - over VDD_SMPS6 */
246                                         regulator-name = "smps6";
247                                         regulator-min-microvolt = <1500000>;
248                                         regulator-max-microvolt = <1500000>;
249                                         regulator-always-on;
250                                         regulator-boot-on;
251                                 };
252
253                                 smps7_reg: smps7 {
254                                         /* VDDS_1v8_OMAP over VDDS_1v8_MAIN */
255                                         regulator-name = "smps7";
256                                         regulator-min-microvolt = <1800000>;
257                                         regulator-max-microvolt = <1800000>;
258                                         regulator-always-on;
259                                         regulator-boot-on;
260                                 };
261
262                                 smps8_reg: smps8 {
263                                         /* VDD_OPP_CORE */
264                                         regulator-name = "smps8";
265                                         regulator-min-microvolt = < 600000>;
266                                         regulator-max-microvolt = <1310000>;
267                                         regulator-always-on;
268                                         regulator-boot-on;
269                                 };
270
271                                 smps9_reg: smps9 {
272                                         /* VDDA_2v1_AUD over VDD_2v1 */
273                                         regulator-name = "smps9";
274                                         regulator-min-microvolt = <3300000>;
275                                         regulator-max-microvolt = <3300000>;
276                                         ti,smps-range = <0x80>;
277                                         regulator-always-on;
278                                         regulator-boot-on;
279                                 };
280
281                                 smps10_out2_reg: smps10_out2 {
282                                         /* VBUS_5V_OTG */
283                                         regulator-name = "smps10_out2";
284                                         regulator-min-microvolt = <5000000>;
285                                         regulator-max-microvolt = <5000000>;
286                                         regulator-always-on;
287                                         regulator-boot-on;
288                                 };
289
290                                 smps10_out1_reg: smps10_out1 {
291                                         /* VBUS_5V_OTG */
292                                         regulator-name = "smps10_out1";
293                                         regulator-min-microvolt = <5000000>;
294                                         regulator-max-microvolt = <5000000>;
295                                 };
296
297                                 ldo1_reg: ldo1 {
298                                         /* VDDAPHY_CAM: vdda_csiport */
299                                         regulator-name = "ldo1";
300                                         regulator-min-microvolt = <1500000>;
301                                         regulator-max-microvolt = <1800000>;
302                                 };
303
304                                 ldo2_reg: ldo2 {
305                                         /* VDD_3V3_WLAN */
306                                         regulator-name = "ldo2";
307                                         regulator-min-microvolt = <3300000>;
308                                         regulator-max-microvolt = <3300000>;
309                                         startup-delay-us = <1000>;
310                                 };
311
312                                 ldo3_reg: ldo3 {
313                                         /* VCC_1V5_AUD */
314                                         regulator-name = "ldo3";
315                                         regulator-min-microvolt = <1500000>;
316                                         regulator-max-microvolt = <1500000>;
317                                         regulator-always-on;
318                                         regulator-boot-on;
319                                 };
320
321                                 ldo4_reg: ldo4 {
322                                         /* VDDAPHY_DISP: vdda_dsiport/hdmi */
323                                         regulator-name = "ldo4";
324                                         regulator-min-microvolt = <1500000>;
325                                         regulator-max-microvolt = <1800000>;
326                                 };
327
328                                 ldo5_reg: ldo5 {
329                                         /* VDDA_1V8_PHY: usb/sata/hdmi.. */
330                                         regulator-name = "ldo5";
331                                         regulator-min-microvolt = <1800000>;
332                                         regulator-max-microvolt = <1800000>;
333                                         regulator-always-on;
334                                         regulator-boot-on;
335                                 };
336
337                                 ldo6_reg: ldo6 {
338                                         /* VDDS_1V2_WKUP: hsic/ldo_emu_wkup */
339                                         regulator-name = "ldo6";
340                                         regulator-min-microvolt = <1200000>;
341                                         regulator-max-microvolt = <1200000>;
342                                         regulator-always-on;
343                                         regulator-boot-on;
344                                 };
345
346                                 ldo7_reg: ldo7 {
347                                         /* VDD_VPP: vpp1 */
348                                         regulator-name = "ldo7";
349                                         regulator-min-microvolt = <2000000>;
350                                         regulator-max-microvolt = <2000000>;
351                                         /* Only for efuse reprograming! */
352                                         status = "disabled";
353                                 };
354
355                                 ldo8_reg: ldo8 {
356                                         /* VDD_3v0: Does not go anywhere */
357                                         regulator-name = "ldo8";
358                                         regulator-min-microvolt = <3000000>;
359                                         regulator-max-microvolt = <3000000>;
360                                         regulator-boot-on;
361                                         /* Unused */
362                                         status = "disabled";
363                                 };
364
365                                 ldo9_reg: ldo9 {
366                                         /* VCC_DV_SDIO: vdds_sdcard */
367                                         regulator-name = "ldo9";
368                                         regulator-min-microvolt = <1800000>;
369                                         regulator-max-microvolt = <3000000>;
370                                         regulator-boot-on;
371                                 };
372
373                                 ldoln_reg: ldoln {
374                                         /* VDDA_1v8_REF: vdds_osc/mm_l4per.. */
375                                         regulator-name = "ldoln";
376                                         regulator-min-microvolt = <1800000>;
377                                         regulator-max-microvolt = <1800000>;
378                                         regulator-always-on;
379                                         regulator-boot-on;
380                                 };
381
382                                 ldousb_reg: ldousb {
383                                         /* VDDA_3V_USB: VDDA_USBHS33 */
384                                         regulator-name = "ldousb";
385                                         regulator-min-microvolt = <3250000>;
386                                         regulator-max-microvolt = <3250000>;
387                                         regulator-always-on;
388                                         regulator-boot-on;
389                                 };
390
391                                 regen3_reg: regen3 {
392                                         /* REGEN3 controls LDO9 supply to card */
393                                         regulator-name = "regen3";
394                                         regulator-always-on;
395                                         regulator-boot-on;
396                                 };
397                         };
398                 };
399         };
400 };
401
402 &usbhshost {
403         port2-mode = "ehci-hsic";
404         port3-mode = "ehci-hsic";
405 };
406
407 &usbhsehci {
408         phys = <0 &hsusb2_phy &hsusb3_phy>;
409 };
410
411 &cpu0 {
412         cpu0-supply = <&smps123_reg>;
413 };