ARM: dts: omap4-kc1: USB OTG support
[linux-2.6-block.git] / arch / arm / boot / dts / omap4-kc1.dts
1 /*
2  * Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr>
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 /dts-v1/;
9
10 #include "omap443x.dtsi"
11
12 / {
13         model = "Amazon Kindle Fire (first generation)";
14         compatible = "amazon,omap4-kc1", "ti,omap4430", "ti,omap4";
15
16         memory {
17                 device_type = "memory";
18                 reg = <0x80000000 0x20000000>; /* 512 MB */
19         };
20 };
21
22 &omap4_pmx_core {
23         pinctrl-names = "default";
24
25         uart3_pins: pinmux_uart3_pins {
26                 pinctrl-single,pins = <
27                         OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0)               /* uart3_rx_irrx */
28                         OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0)              /* uart3_tx_irtx */
29                 >;
30         };
31
32         i2c1_pins: pinmux_i2c1_pins {
33                 pinctrl-single,pins = <
34                         OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_scl */
35                         OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_sda */
36                 >;
37         };
38
39         i2c2_pins: pinmux_i2c2_pins {
40                 pinctrl-single,pins = <
41                         OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_scl */
42                         OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c2_sda */
43                 >;
44         };
45
46         i2c3_pins: pinmux_i2c3_pins {
47                 pinctrl-single,pins = <
48                         OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_scl */
49                         OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c3_sda */
50                 >;
51         };
52
53         i2c4_pins: pinmux_i2c4_pins {
54                 pinctrl-single,pins = <
55                         OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_scl */
56                         OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_sda */
57                 >;
58         };
59
60         mmc2_pins: pinmux_mmc2_pins {
61                 pinctrl-single,pins = <
62                         OMAP4_IOPAD(0x040, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat0 */
63                         OMAP4_IOPAD(0x042, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat1 */
64                         OMAP4_IOPAD(0x044, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat2 */
65                         OMAP4_IOPAD(0x046, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat3 */
66                         OMAP4_IOPAD(0x048, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat4 */
67                         OMAP4_IOPAD(0x04a, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat5 */
68                         OMAP4_IOPAD(0x04c, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat6 */
69                         OMAP4_IOPAD(0x04e, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat7 */
70                         OMAP4_IOPAD(0x082, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_clk */
71                         OMAP4_IOPAD(0x084, PIN_INPUT_PULLUP | MUX_MODE1)        /* sdmmc2_cmd */
72                 >;
73         };
74
75         usb_otg_hs_pins: pinmux_usb_otg_hs_pins {
76                 pinctrl-single,pins = <
77                         OMAP4_IOPAD(0x194, PIN_OUTPUT_PULLDOWN | MUX_MODE0)     /* usba0_otg_ce */
78                         OMAP4_IOPAD(0x196, PIN_INPUT | MUX_MODE0)               /* usba0_otg_dp */
79                         OMAP4_IOPAD(0x198, PIN_INPUT | MUX_MODE0)               /* usba0_otg_dm */
80                 >;
81         };
82 };
83
84 &uart3 {
85         pinctrl-names = "default";
86         pinctrl-0 = <&uart3_pins>;
87
88         interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
89                                &omap4_pmx_core OMAP4_UART3_RX>;
90 };
91
92 &i2c1 {
93         pinctrl-names = "default";
94         pinctrl-0 = <&i2c1_pins>;
95
96         clock-frequency = <400000>;
97
98         twl: twl@48 {
99                 reg = <0x48>;
100                 /* IRQ# = 7 */
101                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
102         };
103 };
104
105 &i2c2 {
106         pinctrl-names = "default";
107         pinctrl-0 = <&i2c2_pins>;
108
109         clock-frequency = <400000>;
110 };
111
112 &i2c3 {
113         pinctrl-names = "default";
114         pinctrl-0 = <&i2c3_pins>;
115
116         clock-frequency = <400000>;
117 };
118
119 &i2c4 {
120         pinctrl-names = "default";
121         pinctrl-0 = <&i2c4_pins>;
122
123         clock-frequency = <400000>;
124 };
125
126 &mmc1 {
127         status = "disabled";
128 };
129
130 &mmc2 {
131         pinctrl-names = "default";
132         pinctrl-0 = <&mmc2_pins>;
133
134         vmmc-supply = <&vaux1>;
135         ti,non-removable;
136         bus-width = <8>;
137 };
138
139 &mmc3 {
140         status = "disabled";
141 };
142
143 &mmc4 {
144         status = "disabled";
145 };
146
147 &usb_otg_hs {
148         pinctrl-names = "default";
149         pinctrl-0 = <&usb_otg_hs_pins>;
150
151         interface-type = <1>;
152         mode = <3>;
153         power = <50>;
154 };
155
156 #include "twl6030.dtsi"
157 #include "twl6030_omap4.dtsi"
158
159 &twl_usb_comparator {
160         usb-supply = <&vusb>;
161 };