Commit | Line | Data |
---|---|---|
39065401 JE |
1 | /* |
2 | * Copyright (C) 2014 Joachim Eastwood <manabian@gmail.com> | |
3 | * Copyright (C) 2012 Variscite Ltd. - http://www.variscite.com | |
4 | * | |
5 | * This program is free software; you can redistribute it and/or modify | |
6 | * it under the terms of the GNU General Public License version 2 as | |
7 | * published by the Free Software Foundation. | |
8 | */ | |
9 | #include "omap4460.dtsi" | |
10 | ||
11 | / { | |
12 | model = "Variscite VAR-SOM-OM44"; | |
13 | compatible = "variscite,var-som-om44", "ti,omap4460", "ti,omap4"; | |
14 | ||
15 | memory { | |
16 | device_type = "memory"; | |
17 | reg = <0x80000000 0x40000000>; /* 1 GB */ | |
18 | }; | |
19 | ||
20 | sound: sound@0 { | |
21 | compatible = "ti,abe-twl6040"; | |
22 | ti,model = "VAR-SOM-OM44"; | |
23 | ||
24 | ti,mclk-freq = <38400000>; | |
25 | ti,mcpdm = <&mcpdm>; | |
26 | ti,twl6040 = <&twl6040>; | |
27 | ||
28 | /* Audio routing */ | |
29 | ti,audio-routing = | |
30 | "Headset Stereophone", "HSOL", | |
31 | "Headset Stereophone", "HSOR", | |
32 | "AFML", "Line In", | |
33 | "AFMR", "Line In"; | |
34 | }; | |
35 | ||
36 | /* HS USB Host PHY on PORT 1 */ | |
37 | hsusb1_phy: hsusb1_phy { | |
38 | compatible = "usb-nop-xceiv"; | |
39 | pinctrl-names = "default"; | |
40 | pinctrl-0 = < | |
41 | &hsusbb1_phy_clk_pins | |
42 | &hsusbb1_phy_rst_pins | |
43 | >; | |
44 | ||
45 | reset-gpios = <&gpio6 17 GPIO_ACTIVE_LOW>; /* gpio 177 */ | |
46 | vcc-supply = <&vbat>; | |
47 | ||
48 | clocks = <&auxclk3_ck>; | |
49 | clock-names = "main_clk"; | |
50 | clock-frequency = <19200000>; | |
51 | }; | |
52 | ||
53 | vbat: fixedregulator-vbat { | |
54 | compatible = "regulator-fixed"; | |
55 | regulator-name = "VBAT"; | |
56 | regulator-min-microvolt = <3300000>; | |
57 | regulator-max-microvolt = <3300000>; | |
58 | regulator-always-on; | |
59 | regulator-boot-on; | |
60 | }; | |
61 | }; | |
62 | ||
63 | &omap4_pmx_core { | |
64 | pinctrl-names = "default"; | |
65 | pinctrl-0 = < | |
66 | &hsusbb1_pins | |
67 | >; | |
68 | ||
69 | twl6040_pins: pinmux_twl6040_pins { | |
70 | pinctrl-single,pins = < | |
71 | OMAP4_IOPAD(0x19c, PIN_OUTPUT | MUX_MODE3) /* fref_clk2_out.gpio_182 */ | |
72 | OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */ | |
73 | >; | |
74 | }; | |
75 | ||
76 | mcpdm_pins: pinmux_mcpdm_pins { | |
77 | pinctrl-single,pins = < | |
78 | OMAP4_IOPAD(0x106, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */ | |
79 | OMAP4_IOPAD(0x108, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */ | |
80 | OMAP4_IOPAD(0x10a, PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */ | |
81 | OMAP4_IOPAD(0x10c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */ | |
82 | OMAP4_IOPAD(0x10e, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */ | |
83 | >; | |
84 | }; | |
85 | ||
86 | tsc2004_pins: pinmux_tsc2004_pins { | |
87 | pinctrl-single,pins = < | |
88 | OMAP4_IOPAD(0x090, PIN_INPUT | MUX_MODE3) /* gpmc_ncs4.gpio_101 (irq) */ | |
89 | OMAP4_IOPAD(0x092, PIN_OUTPUT | MUX_MODE3) /* gpmc_ncs5.gpio_102 (rst) */ | |
90 | >; | |
91 | }; | |
92 | ||
93 | uart3_pins: pinmux_uart3_pins { | |
94 | pinctrl-single,pins = < | |
95 | OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */ | |
96 | OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */ | |
97 | OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */ | |
98 | OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */ | |
99 | >; | |
100 | }; | |
101 | ||
102 | hsusbb1_pins: pinmux_hsusbb1_pins { | |
103 | pinctrl-single,pins = < | |
104 | OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */ | |
105 | OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4) /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */ | |
106 | OMAP4_IOPAD(0x0c6, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */ | |
107 | OMAP4_IOPAD(0x0c8, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */ | |
108 | OMAP4_IOPAD(0x0ca, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */ | |
109 | OMAP4_IOPAD(0x0cc, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */ | |
110 | OMAP4_IOPAD(0x0ce, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */ | |
111 | OMAP4_IOPAD(0x0d0, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */ | |
112 | OMAP4_IOPAD(0x0d2, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */ | |
113 | OMAP4_IOPAD(0x0d4, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */ | |
114 | OMAP4_IOPAD(0x0d6, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */ | |
115 | OMAP4_IOPAD(0x0d8, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */ | |
116 | >; | |
117 | }; | |
118 | ||
119 | hsusbb1_phy_rst_pins: pinmux_hsusbb1_phy_rst_pins { | |
120 | pinctrl-single,pins = < | |
121 | OMAP4_IOPAD(0x18c, PIN_OUTPUT | MUX_MODE3) /* kpd_row2.gpio_177 */ | |
122 | >; | |
123 | }; | |
124 | ||
125 | i2c1_pins: pinmux_i2c1_pins { | |
126 | pinctrl-single,pins = < | |
127 | OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ | |
128 | OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ | |
129 | >; | |
130 | }; | |
131 | ||
132 | i2c3_pins: pinmux_i2c3_pins { | |
133 | pinctrl-single,pins = < | |
134 | OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */ | |
135 | OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */ | |
136 | >; | |
137 | }; | |
138 | ||
139 | mmc1_pins: pinmux_mmc1_pins { | |
140 | pinctrl-single,pins = < | |
141 | OMAP4_IOPAD(0x0e2, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ | |
142 | OMAP4_IOPAD(0x0e4, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ | |
143 | OMAP4_IOPAD(0x0e6, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ | |
144 | OMAP4_IOPAD(0x0e8, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ | |
145 | OMAP4_IOPAD(0x0ea, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ | |
146 | OMAP4_IOPAD(0x0ec, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ | |
147 | >; | |
148 | }; | |
149 | }; | |
150 | ||
151 | &omap4_pmx_wkup { | |
152 | pinctrl-names = "default"; | |
153 | pinctrl-0 = < | |
154 | &hsusbb1_hub_rst_pins | |
155 | &lan7500_rst_pins | |
156 | >; | |
157 | ||
158 | hsusbb1_phy_clk_pins: pinmux_hsusbb1_phy_clk_pins { | |
159 | pinctrl-single,pins = < | |
160 | OMAP4_IOPAD(0x058, PIN_OUTPUT | MUX_MODE0) /* fref_clk3_out */ | |
161 | >; | |
162 | }; | |
163 | ||
164 | hsusbb1_hub_rst_pins: pinmux_hsusbb1_hub_rst_pins { | |
165 | pinctrl-single,pins = < | |
166 | OMAP4_IOPAD(0x042, PIN_OUTPUT | MUX_MODE3) /* gpio_wk1 */ | |
167 | >; | |
168 | }; | |
169 | ||
170 | lan7500_rst_pins: pinmux_lan7500_rst_pins { | |
171 | pinctrl-single,pins = < | |
172 | OMAP4_IOPAD(0x040, PIN_OUTPUT | MUX_MODE3) /* gpio_wk0 */ | |
173 | >; | |
174 | }; | |
175 | }; | |
176 | ||
177 | &i2c1 { | |
178 | pinctrl-names = "default"; | |
179 | pinctrl-0 = <&i2c1_pins>; | |
180 | status = "okay"; | |
181 | ||
182 | clock-frequency = <400000>; | |
183 | ||
184 | twl: twl@48 { | |
185 | reg = <0x48>; | |
186 | /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */ | |
187 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */ | |
39065401 JE |
188 | }; |
189 | ||
190 | twl6040: twl@4b { | |
191 | compatible = "ti,twl6040"; | |
192 | reg = <0x4b>; | |
193 | ||
194 | pinctrl-names = "default"; | |
195 | pinctrl-0 = <&twl6040_pins>; | |
196 | ||
197 | /* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */ | |
198 | interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */ | |
39065401 JE |
199 | ti,audpwron-gpio = <&gpio6 22 0>; /* gpio 182 */ |
200 | ||
201 | vio-supply = <&v1v8>; | |
202 | v2v1-supply = <&v2v1>; | |
203 | enable-active-high; | |
204 | }; | |
205 | }; | |
206 | ||
207 | #include "twl6030.dtsi" | |
208 | #include "twl6030_omap4.dtsi" | |
209 | ||
210 | &vusim { | |
211 | regulator-min-microvolt = <3000000>; | |
212 | regulator-max-microvolt = <3000000>; | |
213 | regulator-always-on; | |
214 | }; | |
215 | ||
216 | &i2c2 { | |
217 | status = "disabled"; | |
218 | }; | |
219 | ||
220 | &i2c3 { | |
221 | pinctrl-names = "default"; | |
222 | pinctrl-0 = <&i2c3_pins>; | |
223 | status = "okay"; | |
224 | ||
225 | clock-frequency = <400000>; | |
226 | ||
227 | touchscreen: tsc2004@48 { | |
228 | compatible = "ti,tsc2004"; | |
229 | reg = <0x48>; | |
230 | pinctrl-names = "default"; | |
231 | pinctrl-0 = <&tsc2004_pins>; | |
232 | interrupt-parent = <&gpio4>; | |
233 | interrupts = <5 IRQ_TYPE_LEVEL_LOW>; /* gpio 101 */ | |
234 | status = "disabled"; | |
235 | }; | |
236 | ||
237 | tmp105@49 { | |
238 | compatible = "ti,tmp105"; | |
239 | reg = <0x49>; | |
240 | }; | |
241 | ||
242 | eeprom@50 { | |
243 | compatible = "microchip,24c32"; | |
244 | reg = <0x50>; | |
245 | }; | |
246 | }; | |
247 | ||
248 | &i2c4 { | |
249 | status = "disabled"; | |
250 | }; | |
251 | ||
252 | &mcpdm { | |
253 | pinctrl-names = "default"; | |
254 | pinctrl-0 = <&mcpdm_pins>; | |
255 | status = "okay"; | |
256 | }; | |
257 | ||
258 | &gpmc { | |
259 | status = "disabled"; | |
260 | }; | |
261 | ||
262 | &mcspi1 { | |
263 | status = "disabled"; | |
264 | }; | |
265 | ||
266 | &mcspi2 { | |
267 | status = "disabled"; | |
268 | }; | |
269 | ||
270 | &mcspi3 { | |
271 | status = "disabled"; | |
272 | }; | |
273 | ||
274 | &mcspi4 { | |
275 | status = "disabled"; | |
276 | }; | |
277 | ||
278 | &mmc1 { | |
279 | pinctrl-names = "default"; | |
280 | pinctrl-0 = <&mmc1_pins>; | |
281 | vmmc-supply = <&vmmc>; | |
282 | bus-width = <4>; | |
283 | ti,non-removable; | |
284 | status = "okay"; | |
285 | }; | |
286 | ||
287 | &mmc2 { | |
288 | status = "disabled"; | |
289 | }; | |
290 | ||
291 | &mmc3 { | |
292 | status = "disabled"; | |
293 | }; | |
294 | ||
295 | &mmc4 { | |
296 | status = "disabled"; | |
297 | }; | |
298 | ||
299 | &mmc5 { | |
300 | status = "disabled"; | |
301 | }; | |
302 | ||
303 | &uart1 { | |
304 | status = "disabled"; | |
305 | }; | |
306 | ||
307 | &uart2 { | |
308 | status = "disabled"; | |
309 | }; | |
310 | ||
311 | &uart3 { | |
312 | pinctrl-names = "default"; | |
313 | pinctrl-0 = <&uart3_pins>; | |
314 | status = "okay"; | |
315 | }; | |
316 | ||
317 | &uart4 { | |
318 | status = "disabled"; | |
319 | }; | |
320 | ||
321 | &keypad { | |
322 | status = "disabled"; | |
323 | }; | |
324 | ||
325 | &twl_usb_comparator { | |
326 | usb-supply = <&vusb>; | |
327 | }; | |
328 | ||
329 | &usb_otg_hs { | |
330 | interface-type = <1>; | |
331 | mode = <3>; | |
332 | power = <50>; | |
333 | }; | |
334 | ||
335 | &usbhshost { | |
336 | port1-mode = "ehci-phy"; | |
337 | }; | |
338 | ||
339 | &usbhsehci { | |
340 | phys = <&hsusb1_phy>; | |
341 | }; |