aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2014-11-28 08:56:14 -0500
committerArnd Bergmann <arnd@arndb.de>2014-11-28 08:56:14 -0500
commitea4409cc44e8f0f36182fcc22eb48b15ed61dd16 (patch)
tree1edc32a56fe62d017672495fdb326f180bc16064
parentbcc8cef7c43c46ca0467be725d677e2a8da806c0 (diff)
parentf80ecaf55b4982a888272790743dabf2c715dc10 (diff)
Merge tag 'omap-for-v3.19/dt-part2-updated' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt
Pull "More dts changes for omaps to add support for new devices" from Tony Lindgren: - Add DCAN support am335x, am437x and dra7 - Add devices for sb-t3x computers - Add support for NovaTech OrionLXm - Add n900 battery and si4713 support * tag 'omap-for-v3.19/dt-part2-updated' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (26 commits) ARM: dts: am335x-evm: Add DCAN1 details ARM: dts: am33xx: Update DCAN nodes ARM: dts: am33xx: Add control module syscon node ARM: dts: am437x-gp: Add dcan support ARM: dts: am4372: Add DCAN nodes ARM: dts: am4372: Add control module syscon node ARM: dts: dra72-evm: Add CAN support ARM: dts: dra7-evm: Add CAN support ARM: dts: DRA7: Add DCAN nodes ARM: dts: dra7: Add syscon regmap for CORE CONTROL area ARM: dts: sbc-t3x30: add audio support ARM: dts: sbc-t3x: add TV out display alias ARM: dts: cm-t3x: add TV out support ARM: dts: cm-t3x: add I2C1 pinmux ARM: dts: AM43xx: add tscadc DT entries for am437x-evm and am43x-epos-evm ARM: dts: cm-t3x30: add keypad support ARM: dts: sb-t35: add EEPROM support ARM: dts: cm-t3x: add EEPROM support ARM: OMAP2+: remove cm-t3x touchscreen pdata quirk ARM: dts: cm-t3x: add ADS7846 touchscreen support ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--Documentation/devicetree/bindings/arm/omap/omap.txt3
-rw-r--r--arch/arm/boot/dts/Makefile3
-rw-r--r--arch/arm/boot/dts/am335x-evm.dts13
-rw-r--r--arch/arm/boot/dts/am335x-lxm.dts362
-rw-r--r--arch/arm/boot/dts/am33xx.dtsi25
-rw-r--r--arch/arm/boot/dts/am4372.dtsi47
-rw-r--r--arch/arm/boot/dts/am437x-gp-evm.dts34
-rw-r--r--arch/arm/boot/dts/am43x-epos-evm.dts8
-rw-r--r--arch/arm/boot/dts/dra7-evm.dts22
-rw-r--r--arch/arm/boot/dts/dra7.dtsi35
-rw-r--r--arch/arm/boot/dts/dra72-evm.dts23
-rw-r--r--arch/arm/boot/dts/omap3-cm-t3x.dtsi124
-rw-r--r--arch/arm/boot/dts/omap3-cm-t3x30.dtsi35
-rw-r--r--arch/arm/boot/dts/omap3-n900.dts16
-rw-r--r--arch/arm/boot/dts/omap3-sb-t35.dtsi36
-rw-r--r--arch/arm/boot/dts/omap3-sbc-t3517.dts1
-rw-r--r--arch/arm/boot/dts/omap3-sbc-t3530.dts1
-rw-r--r--arch/arm/boot/dts/omap3-sbc-t3730.dts1
-rw-r--r--arch/arm/boot/dts/omap4-duovero-parlor.dts1
-rw-r--r--arch/arm/mach-omap2/pdata-quirks.c3
20 files changed, 775 insertions, 18 deletions
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt
index ddd9bcdf889c..4f6a82cef1d1 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -132,6 +132,9 @@ Boards:
132- AM335X Bone : Low cost community board 132- AM335X Bone : Low cost community board
133 compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3" 133 compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3"
134 134
135- AM335X OrionLXm : Substation Automation Platform
136 compatible = "novatech,am335x-lxm", "ti,am33xx"
137
135- OMAP5 EVM : Evaluation Module 138- OMAP5 EVM : Evaluation Module
136 compatible = "ti,omap5-evm", "ti,omap5" 139 compatible = "ti,omap5-evm", "ti,omap5"
137 140
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index b242f82637c5..f8d11c74440d 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -342,7 +342,8 @@ dtb-$(CONFIG_SOC_AM33XX) += am335x-base0033.dtb \
342 am335x-evm.dtb \ 342 am335x-evm.dtb \
343 am335x-evmsk.dtb \ 343 am335x-evmsk.dtb \
344 am335x-nano.dtb \ 344 am335x-nano.dtb \
345 am335x-pepper.dtb 345 am335x-pepper.dtb \
346 am335x-lxm.dtb
346dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \ 347dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \
347 omap4-panda.dtb \ 348 omap4-panda.dtb \
348 omap4-panda-a4.dtb \ 349 omap4-panda-a4.dtb \
diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
index 43a536c08c9f..d46b31c45af0 100644
--- a/arch/arm/boot/dts/am335x-evm.dts
+++ b/arch/arm/boot/dts/am335x-evm.dts
@@ -307,6 +307,13 @@
307 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */ 307 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
308 >; 308 >;
309 }; 309 };
310
311 dcan1_pins_default: dcan1_pins_default {
312 pinctrl-single,pins = <
313 0x168 (PIN_OUTPUT | MUX_MODE2) /* uart0_ctsn.d_can1_tx */
314 0x16c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* uart0_rtsn.d_can1_rx */
315 >;
316 };
310}; 317};
311 318
312&uart0 { 319&uart0 {
@@ -664,3 +671,9 @@
664&aes { 671&aes {
665 status = "okay"; 672 status = "okay";
666}; 673};
674
675&dcan1 {
676 status = "disabled"; /* Enable only if Profile 1 is selected */
677 pinctrl-names = "default";
678 pinctrl-0 = <&dcan1_pins_default>;
679};
diff --git a/arch/arm/boot/dts/am335x-lxm.dts b/arch/arm/boot/dts/am335x-lxm.dts
new file mode 100644
index 000000000000..7266a00aab2e
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-lxm.dts
@@ -0,0 +1,362 @@
1/*
2 * Copyright (C) 2014 NovaTech LLC - http://www.novatechweb.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/dts-v1/;
9
10#include "am33xx.dtsi"
11
12/ {
13 model = "NovaTech OrionLXm";
14 compatible = "novatech,am335x-lxm", "ti,am33xx";
15
16 cpus {
17 cpu@0 {
18 cpu0-supply = <&vdd1_reg>;
19 };
20 };
21
22 memory {
23 device_type = "memory";
24 reg = <0x80000000 0x20000000>; /* 512 MB */
25 };
26
27 /* Power supply provides a fixed 5V @2A */
28 vbat: fixedregulator@0 {
29 compatible = "regulator-fixed";
30 regulator-name = "vbat";
31 regulator-min-microvolt = <5000000>;
32 regulator-max-microvolt = <5000000>;
33 regulator-boot-on;
34 };
35
36 /* Power supply provides a fixed 3.3V @3A */
37 vmmcsd_fixed: fixedregulator@1 {
38 compatible = "regulator-fixed";
39 regulator-name = "vmmcsd_fixed";
40 regulator-min-microvolt = <3300000>;
41 regulator-max-microvolt = <3300000>;
42 regulator-boot-on;
43 };
44};
45
46&am33xx_pinmux {
47 mmc1_pins: pinmux_mmc1_pins {
48 pinctrl-single,pins = <
49 0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3 */
50 0xf4 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2 */
51 0xf8 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1 */
52 0xfc (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0 */
53 0x100 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk */
54 0x104 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd */
55 >;
56 };
57
58 i2c0_pins: pinmux_i2c0_pins {
59 pinctrl-single,pins = <
60 0x188 (PIN_INPUT | MUX_MODE0) /* i2c0_sda.i2c0_sda */
61 0x18c (PIN_INPUT | MUX_MODE0) /* i2c0_scl.i2c0_scl */
62 >;
63 };
64
65 cpsw_default: cpsw_default {
66 pinctrl-single,pins = <
67 /* Slave 1 */
68 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_int */
69 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_crs_dv */
70 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rxer */
71 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_txen */
72 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_td1 */
73 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* rmii1_td0 */
74 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rd1 */
75 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii1_rd0 */
76 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii1_refclk */
77
78 /* Slave 2 */
79 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_txen */
80 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_td1 */
81 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* rmii2_td0 */
82 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rd1 */
83 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rd0 */
84 0x70 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_crs_dv */
85 0x74 (PIN_INPUT_PULLDOWN | MUX_MODE3) /* rmii2_rxer */
86 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_int */
87 0x108 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* rmii2_refclk */
88 >;
89 };
90
91 cpsw_sleep: cpsw_sleep {
92 pinctrl-single,pins = <
93 /* Slave 1 reset value */
94 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_int */
95 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_crs_dv */
96 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rxer */
97 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_txen */
98 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_td1 */
99 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_td0 */
100 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rd1 */
101 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_rd0 */
102 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_refclk */
103
104 /* Slave 2 reset value*/
105 0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_txen */
106 0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_td1 */
107 0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_td0 */
108 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rd1 */
109 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rd0 */
110 0x70 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_crs_dv */
111 0x74 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_rxer */
112 0x78 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_int */
113 0x108 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii2_refclk */
114 >;
115 };
116
117 davinci_mdio_default: davinci_mdio_default {
118 pinctrl-single,pins = <
119 /* MDIO */
120 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
121 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
122 >;
123 };
124
125 davinci_mdio_sleep: davinci_mdio_sleep {
126 pinctrl-single,pins = <
127 /* MDIO reset value */
128 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
129 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
130 >;
131 };
132
133 emmc_pins: pinmux_emmc_pins {
134 pinctrl-single,pins = <
135 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
136 0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
137 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
138 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
139 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
140 0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
141 0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
142 0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
143 0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
144 0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
145 >;
146 };
147
148 uart0_pins: pinmux_uart0_pins {
149 pinctrl-single,pins = <
150 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
151 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
152 >;
153 };
154};
155
156&i2c0 {
157 pinctrl-names = "default";
158 pinctrl-0 = <&i2c0_pins>;
159
160 status = "okay";
161 clock-frequency = <400000>;
162
163 serial_config1: serial_config1@20 {
164 compatible = "nxp,pca9539";
165 reg = <0x20>;
166 };
167
168 serial_config2: serial_config2@21 {
169 compatible = "nxp,pca9539";
170 reg = <0x21>;
171 };
172
173 tps: tps@2d {
174 compatible = "ti,tps65910";
175 reg = <0x2d>;
176 };
177};
178
179/include/ "tps65910.dtsi"
180
181&tps {
182 vcc1-supply = <&vbat>;
183 vcc2-supply = <&vbat>;
184 vcc3-supply = <&vbat>;
185 vcc4-supply = <&vbat>;
186 vcc5-supply = <&vbat>;
187 vcc6-supply = <&vbat>;
188 vcc7-supply = <&vbat>;
189 vccio-supply = <&vbat>;
190
191 regulators {
192 /* vrtc - unused */
193
194 vio_reg: regulator@1 {
195 regulator-name = "vio_1v5,ddr";
196 regulator-min-microvolt = <1500000>;
197 regulator-max-microvolt = <1500000>;
198 regulator-boot-on;
199 regulator-always-on;
200 };
201
202 vdd1_reg: regulator@2 {
203 regulator-name = "vdd1,mpu";
204 regulator-min-microvolt = <600000>;
205 regulator-max-microvolt = <1500000>;
206 regulator-boot-on;
207 regulator-always-on;
208 };
209
210 vdd2_reg: regulator@3 {
211 regulator-name = "vdd2_1v1,core";
212 regulator-min-microvolt = <1100000>;
213 regulator-max-microvolt = <1100000>;
214 regulator-boot-on;
215 regulator-always-on;
216 };
217
218 /* vdd3 - unused */
219
220 /* vdig1 - unused */
221
222 vdig2_reg: regulator@6 {
223 regulator-name = "vdig2_1v8,vdds_pll";
224 regulator-min-microvolt = <1800000>;
225 regulator-max-microvolt = <1800000>;
226 regulator-boot-on;
227 regulator-always-on;
228 };
229
230 /* vpll - unused */
231
232 vdac_reg: regulator@8 {
233 regulator-name = "vdac_1v8,vdds";
234 regulator-min-microvolt = <1800000>;
235 regulator-max-microvolt = <1800000>;
236 regulator-boot-on;
237 regulator-always-on;
238 };
239
240 vaux1_reg: regulator@9 {
241 regulator-name = "vaux1_1v8,usb";
242 regulator-min-microvolt = <1800000>;
243 regulator-max-microvolt = <1800000>;
244 regulator-boot-on;
245 regulator-always-on;
246 };
247
248 vaux2_reg: regulator@10 {
249 regulator-name = "vaux2_3v3,io";
250 regulator-min-microvolt = <3300000>;
251 regulator-max-microvolt = <3300000>;
252 regulator-boot-on;
253 regulator-always-on;
254 };
255
256 vaux33_reg: regulator@11 {
257 regulator-name = "vaux33_3v3,usb";
258 regulator-min-microvolt = <3300000>;
259 regulator-max-microvolt = <3300000>;
260 regulator-boot-on;
261 regulator-always-on;
262 };
263
264 vmmc_reg: regulator@12 {
265 regulator-name = "vmmc_3v3,io";
266 regulator-min-microvolt = <3300000>;
267 regulator-max-microvolt = <3300000>;
268 regulator-boot-on;
269 regulator-always-on;
270 };
271 };
272};
273
274&sham {
275 status = "okay";
276};
277
278&aes {
279 status = "okay";
280};
281
282&uart0 {
283 pinctrl-names = "default";
284 pinctrl-0 = <&uart0_pins>;
285
286 status = "okay";
287};
288
289&usb {
290 status = "okay";
291};
292
293&usb_ctrl_mod {
294 status = "okay";
295};
296
297&usb0_phy {
298 status = "okay";
299};
300
301&usb1_phy {
302 status = "okay";
303};
304
305&usb0 {
306 status = "okay";
307 dr_mode = "host";
308};
309
310&usb1 {
311 status = "okay";
312 dr_mode = "host";
313};
314
315&cppi41dma {
316 status = "okay";
317};
318
319&cpsw_emac0 {
320 phy_id = <&davinci_mdio>, <5>;
321 phy-mode = "rmii";
322 dual_emac_res_vlan = <2>;
323};
324
325&cpsw_emac1 {
326 phy_id = <&davinci_mdio>, <4>;
327 phy-mode = "rmii";
328 dual_emac_res_vlan = <3>;
329};
330
331&mac {
332 pinctrl-names = "default", "sleep";
333 pinctrl-0 = <&cpsw_default>;
334 pinctrl-1 = <&cpsw_sleep>;
335 dual_emac = <1>;
336 status = "okay";
337};
338
339&davinci_mdio {
340 pinctrl-names = "default", "sleep";
341 pinctrl-0 = <&davinci_mdio_default>;
342 pinctrl-1 = <&davinci_mdio_sleep>;
343 status = "okay";
344};
345
346&mmc1 {
347 pinctrl-names = "default";
348 pinctrl-0 = <&mmc1_pins>;
349 vmmc-supply = <&vmmcsd_fixed>;
350 bus-width = <4>;
351 status = "okay";
352};
353
354&mmc2 {
355 pinctrl-names = "default";
356 pinctrl-0 = <&emmc_pins>;
357 vmmc-supply = <&vmmcsd_fixed>;
358 bus-width = <8>;
359 ti,non-removable;
360 status = "okay";
361};
362
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index 62bf053d2cb8..befe713b3e1b 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -83,6 +83,11 @@
83 }; 83 };
84 }; 84 };
85 85
86 am33xx_control_module: control_module@4a002000 {
87 compatible = "syscon";
88 reg = <0x44e10000 0x7fc>;
89 };
90
86 am33xx_pinmux: pinmux@44e10800 { 91 am33xx_pinmux: pinmux@44e10800 {
87 compatible = "pinctrl-single"; 92 compatible = "pinctrl-single";
88 reg = <0x44e10800 0x0238>; 93 reg = <0x44e10800 0x0238>;
@@ -339,20 +344,24 @@
339 interrupts = <91>; 344 interrupts = <91>;
340 }; 345 };
341 346
342 dcan0: d_can@481cc000 { 347 dcan0: can@481cc000 {
343 compatible = "bosch,d_can"; 348 compatible = "ti,am3352-d_can";
344 ti,hwmods = "d_can0"; 349 ti,hwmods = "d_can0";
345 reg = <0x481cc000 0x2000 350 reg = <0x481cc000 0x2000>;
346 0x44e10644 0x4>; 351 clocks = <&dcan0_fck>;
352 clock-names = "fck";
353 syscon-raminit = <&am33xx_control_module 0x644 0>;
347 interrupts = <52>; 354 interrupts = <52>;
348 status = "disabled"; 355 status = "disabled";
349 }; 356 };
350 357
351 dcan1: d_can@481d0000 { 358 dcan1: can@481d0000 {
352 compatible = "bosch,d_can"; 359 compatible = "ti,am3352-d_can";
353 ti,hwmods = "d_can1"; 360 ti,hwmods = "d_can1";
354 reg = <0x481d0000 0x2000 361 reg = <0x481d0000 0x2000>;
355 0x44e10644 0x4>; 362 clocks = <&dcan1_fck>;
363 clock-names = "fck";
364 syscon-raminit = <&am33xx_control_module 0x644 1>;
356 interrupts = <55>; 365 interrupts = <55>;
357 status = "disabled"; 366 status = "disabled";
358 }; 367 };
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index 4367f7550183..d42d7865dd53 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -57,6 +57,11 @@
57 cache-level = <2>; 57 cache-level = <2>;
58 }; 58 };
59 59
60 am43xx_control_module: control_module@4a002000 {
61 compatible = "syscon";
62 reg = <0x44e10000 0x7f4>;
63 };
64
60 am43xx_pinmux: pinmux@44e10800 { 65 am43xx_pinmux: pinmux@44e10800 {
61 compatible = "ti,am437-padconf", "pinctrl-single"; 66 compatible = "ti,am437-padconf", "pinctrl-single";
62 reg = <0x44e10800 0x31c>; 67 reg = <0x44e10800 0x31c>;
@@ -668,6 +673,26 @@
668 }; 673 };
669 }; 674 };
670 675
676 tscadc: tscadc@44e0d000 {
677 compatible = "ti,am3359-tscadc";
678 reg = <0x44e0d000 0x1000>;
679 ti,hwmods = "adc_tsc";
680 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
681 clocks = <&adc_tsc_fck>;
682 clock-names = "fck";
683 status = "disabled";
684
685 tsc {
686 compatible = "ti,am3359-tsc";
687 };
688
689 adc {
690 #io-channel-cells = <1>;
691 compatible = "ti,am3359-adc";
692 };
693
694 };
695
671 sham: sham@53100000 { 696 sham: sham@53100000 {
672 compatible = "ti,omap5-sham"; 697 compatible = "ti,omap5-sham";
673 ti,hwmods = "sham"; 698 ti,hwmods = "sham";
@@ -897,6 +922,28 @@
897 compatible = "mmio-sram"; 922 compatible = "mmio-sram";
898 reg = <0x40300000 0x40000>; /* 256k */ 923 reg = <0x40300000 0x40000>; /* 256k */
899 }; 924 };
925
926 dcan0: can@481cc000 {
927 compatible = "ti,am4372-d_can", "ti,am3352-d_can";
928 ti,hwmods = "d_can0";
929 clocks = <&dcan0_fck>;
930 clock-names = "fck";
931 reg = <0x481cc000 0x2000>;
932 syscon-raminit = <&am43xx_control_module 0x644 0>;
933 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
934 status = "disabled";
935 };
936
937 dcan1: can@481d0000 {
938 compatible = "ti,am4372-d_can", "ti,am3352-d_can";
939 ti,hwmods = "d_can1";
940 clocks = <&dcan1_fck>;
941 clock-names = "fck";
942 reg = <0x481d0000 0x2000>;
943 syscon-raminit = <&am43xx_control_module 0x644 1>;
944 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
945 status = "disabled";
946 };
900 }; 947 };
901}; 948};
902 949
diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts
index e7ac47fa6615..bd8d932c591c 100644
--- a/arch/arm/boot/dts/am437x-gp-evm.dts
+++ b/arch/arm/boot/dts/am437x-gp-evm.dts
@@ -254,6 +254,20 @@
254 0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7) 254 0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7)
255 >; 255 >;
256 }; 256 };
257
258 dcan0_default: dcan0_default_pins {
259 pinctrl-single,pins = <
260 0x178 (PIN_OUTPUT | MUX_MODE2) /* uart1_ctsn.d_can0_tx */
261 0x17c (PIN_INPUT_PULLUP | MUX_MODE2) /* uart1_rtsn.d_can0_rx */
262 >;
263 };
264
265 dcan1_default: dcan1_default_pins {
266 pinctrl-single,pins = <
267 0x180 (PIN_OUTPUT | MUX_MODE2) /* uart1_rxd.d_can1_tx */
268 0x184 (PIN_INPUT_PULLUP | MUX_MODE2) /* uart1_txd.d_can1_rx */
269 >;
270 };
257}; 271};
258 272
259&i2c0 { 273&i2c0 {
@@ -343,6 +357,14 @@
343 status = "okay"; 357 status = "okay";
344}; 358};
345 359
360&tscadc {
361 status = "okay";
362
363 adc {
364 ti,adc-channels = <0 1 2 3 4 5 6 7>;
365 };
366};
367
346&ecap0 { 368&ecap0 {
347 status = "okay"; 369 status = "okay";
348 pinctrl-names = "default"; 370 pinctrl-names = "default";
@@ -511,3 +533,15 @@
511 }; 533 };
512 }; 534 };
513}; 535};
536
537&dcan0 {
538 pinctrl-names = "default";
539 pinctrl-0 = <&dcan0_default>;
540 status = "okay";
541};
542
543&dcan1 {
544 pinctrl-names = "default";
545 pinctrl-0 = <&dcan1_default>;
546 status = "okay";
547};
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index bb4cb8554b4a..3ce3a19f7518 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -519,6 +519,14 @@
519 status = "okay"; 519 status = "okay";
520}; 520};
521 521
522&tscadc {
523 status = "okay";
524
525 adc {
526 ti,adc-channels = <0 1 2 3 4 5 6 7>;
527 };
528};
529
522&ecap0 { 530&ecap0 {
523 status = "okay"; 531 status = "okay";
524 pinctrl-names = "default"; 532 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
index 0d8a3bd0f00d..736092b1a535 100644
--- a/arch/arm/boot/dts/dra7-evm.dts
+++ b/arch/arm/boot/dts/dra7-evm.dts
@@ -251,6 +251,21 @@
251 >; 251 >;
252 }; 252 };
253 253
254 dcan1_pins_default: dcan1_pins_default {
255 pinctrl-single,pins = <
256 0x3d0 (PIN_OUTPUT | MUX_MODE0) /* dcan1_tx */
257 0x3d4 (MUX_MODE15) /* dcan1_rx.off */
258 0x418 (PULL_DIS | MUX_MODE1) /* wakeup0.dcan1_rx */
259 >;
260 };
261
262 dcan1_pins_sleep: dcan1_pins_sleep {
263 pinctrl-single,pins = <
264 0x3d0 (MUX_MODE15) /* dcan1_tx.off */
265 0x3d4 (MUX_MODE15) /* dcan1_rx.off */
266 0x418 (MUX_MODE15) /* wakeup0.off */
267 >;
268 };
254}; 269};
255 270
256&i2c1 { 271&i2c1 {
@@ -639,3 +654,10 @@
639 pinctrl-0 = <&davinci_mdio_default>; 654 pinctrl-0 = <&davinci_mdio_default>;
640 pinctrl-1 = <&davinci_mdio_sleep>; 655 pinctrl-1 = <&davinci_mdio_sleep>;
641}; 656};
657
658&dcan1 {
659 status = "ok";
660 pinctrl-names = "default", "sleep";
661 pinctrl-0 = <&dcan1_pins_default>;
662 pinctrl-1 = <&dcan1_pins_sleep>;
663};
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
index 9cd99b931302..63bf99be1762 100644
--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -40,6 +40,8 @@
40 serial9 = &uart10; 40 serial9 = &uart10;
41 ethernet0 = &cpsw_emac0; 41 ethernet0 = &cpsw_emac0;
42 ethernet1 = &cpsw_emac1; 42 ethernet1 = &cpsw_emac1;
43 d_can0 = &dcan1;
44 d_can1 = &dcan2;
43 }; 45 };
44 46
45 timer { 47 timer {
@@ -207,6 +209,11 @@
207 ti,hwmods = "counter_32k"; 209 ti,hwmods = "counter_32k";
208 }; 210 };
209 211
212 dra7_ctrl_core: ctrl_core@4a002000 {
213 compatible = "syscon";
214 reg = <0x4a002000 0x6d0>;
215 };
216
210 dra7_ctrl_general: tisyscon@4a002e00 { 217 dra7_ctrl_general: tisyscon@4a002e00 {
211 compatible = "syscon"; 218 compatible = "syscon";
212 reg = <0x4a002e00 0x7c>; 219 reg = <0x4a002e00 0x7c>;
@@ -1157,6 +1164,15 @@
1157 status = "disabled"; 1164 status = "disabled";
1158 }; 1165 };
1159 1166
1167 rtc@48838000 {
1168 compatible = "ti,am3352-rtc";
1169 reg = <0x48838000 0x100>;
1170 interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,
1171 <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
1172 ti,hwmods = "rtcss";
1173 clocks = <&sys_32k_ck>;
1174 };
1175
1160 omap_control_usb2phy1: control-phy@4a002300 { 1176 omap_control_usb2phy1: control-phy@4a002300 {
1161 compatible = "ti,control-phy-usb2"; 1177 compatible = "ti,control-phy-usb2";
1162 reg = <0x4a002300 0x4>; 1178 reg = <0x4a002300 0x4>;
@@ -1386,6 +1402,25 @@
1386 }; 1402 };
1387 }; 1403 };
1388 1404
1405 dcan1: can@481cc000 {
1406 compatible = "ti,dra7-d_can";
1407 ti,hwmods = "dcan1";
1408 reg = <0x4ae3c000 0x2000>;
1409 syscon-raminit = <&dra7_ctrl_core 0x558 0>;
1410 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
1411 clocks = <&dcan1_sys_clk_mux>;
1412 status = "disabled";
1413 };
1414
1415 dcan2: can@481d0000 {
1416 compatible = "ti,dra7-d_can";
1417 ti,hwmods = "dcan2";
1418 reg = <0x48480000 0x2000>;
1419 syscon-raminit = <&dra7_ctrl_core 0x558 1>;
1420 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
1421 clocks = <&sys_clkin1>;
1422 status = "disabled";
1423 };
1389 }; 1424 };
1390}; 1425};
1391 1426
diff --git a/arch/arm/boot/dts/dra72-evm.dts b/arch/arm/boot/dts/dra72-evm.dts
index abbaaa782f88..afc74fd4bb5e 100644
--- a/arch/arm/boot/dts/dra72-evm.dts
+++ b/arch/arm/boot/dts/dra72-evm.dts
@@ -105,6 +105,22 @@
105 0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */ 105 0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
106 >; 106 >;
107 }; 107 };
108
109 dcan1_pins_default: dcan1_pins_default {
110 pinctrl-single,pins = <
111 0x3d0 (PIN_OUTPUT | MUX_MODE0) /* dcan1_tx */
112 0x3d4 (MUX_MODE15) /* dcan1_rx.off */
113 0x418 (PULL_DIS | MUX_MODE1) /* wakeup0.dcan1_rx */
114 >;
115 };
116
117 dcan1_pins_sleep: dcan1_pins_sleep {
118 pinctrl-single,pins = <
119 0x3d0 (MUX_MODE15) /* dcan1_tx.off */
120 0x3d4 (MUX_MODE15) /* dcan1_rx.off */
121 0x418 (MUX_MODE15) /* wakeup0.off */
122 >;
123 };
108}; 124};
109 125
110&i2c1 { 126&i2c1 {
@@ -438,3 +454,10 @@
438 pinctrl-1 = <&davinci_mdio_sleep>; 454 pinctrl-1 = <&davinci_mdio_sleep>;
439 active_slave = <1>; 455 active_slave = <1>;
440}; 456};
457
458&dcan1 {
459 status = "ok";
460 pinctrl-names = "default", "sleep";
461 pinctrl-0 = <&dcan1_pins_default>;
462 pinctrl-1 = <&dcan1_pins_sleep>;
463};
diff --git a/arch/arm/boot/dts/omap3-cm-t3x.dtsi b/arch/arm/boot/dts/omap3-cm-t3x.dtsi
index b074673703bf..6ea6d460db30 100644
--- a/arch/arm/boot/dts/omap3-cm-t3x.dtsi
+++ b/arch/arm/boot/dts/omap3-cm-t3x.dtsi
@@ -49,6 +49,24 @@
49 compatible = "usb-nop-xceiv"; 49 compatible = "usb-nop-xceiv";
50 vcc-supply = <&hsusb2_power>; 50 vcc-supply = <&hsusb2_power>;
51 }; 51 };
52
53 ads7846reg: ads7846-reg {
54 compatible = "regulator-fixed";
55 regulator-name = "ads7846-reg";
56 regulator-min-microvolt = <3300000>;
57 regulator-max-microvolt = <3300000>;
58 };
59
60 tv0: connector@1 {
61 compatible = "svideo-connector";
62 label = "tv";
63
64 port {
65 tv_connector_in: endpoint {
66 remote-endpoint = <&venc_out>;
67 };
68 };
69 };
52}; 70};
53 71
54&omap3_pmx_core { 72&omap3_pmx_core {
@@ -107,12 +125,43 @@
107 125
108 dss_dpi_pins_cm_t35x: pinmux_dss_dpi_pins_cm_t35x { 126 dss_dpi_pins_cm_t35x: pinmux_dss_dpi_pins_cm_t35x {
109 pinctrl-single,pins = < 127 pinctrl-single,pins = <
110 OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ 128 OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */
111 OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ 129 OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */
112 OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ 130 OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */
113 OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ 131 OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */
114 OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ 132 OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */
115 OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ 133 OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */
134 >;
135 };
136
137 ads7846_pins: pinmux_ads7846_pins {
138 pinctrl-single,pins = <
139 OMAP3_CORE1_IOPAD(0x20ba, PIN_INPUT_PULLUP | MUX_MODE4) /* gpmc_ncs6.gpio_57 */
140 >;
141 };
142
143 mcspi1_pins: pinmux_mcspi1_pins {
144 pinctrl-single,pins = <
145 OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0) /* mcspi1_clk */
146 OMAP3_CORE1_IOPAD(0x21ca, PIN_INPUT | MUX_MODE0) /* mcspi1_simo */
147 OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT | MUX_MODE0) /* mcspi1_somi */
148 OMAP3_CORE1_IOPAD(0x21ce, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcspi1_cs0 */
149 >;
150 };
151
152 i2c1_pins: pinmux_i2c1_pins {
153 pinctrl-single,pins = <
154 OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
155 OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
156 >;
157 };
158
159 mcbsp2_pins: pinmux_mcbsp2_pins {
160 pinctrl-single,pins = <
161 OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0) /* mcbsp2_fsx */
162 OMAP3_CORE1_IOPAD(0x213e, PIN_INPUT | MUX_MODE0) /* mcbsp2_clkx */
163 OMAP3_CORE1_IOPAD(0x2140, PIN_INPUT | MUX_MODE0) /* mcbsp2_dr */
164 OMAP3_CORE1_IOPAD(0x2142, PIN_OUTPUT | MUX_MODE0) /* mcbsp2_dx */
116 >; 165 >;
117 }; 166 };
118}; 167};
@@ -133,12 +182,22 @@
133}; 182};
134 183
135&i2c1 { 184&i2c1 {
185 pinctrl-names = "default";
186 pinctrl-0 = <&i2c1_pins>;
187
136 clock-frequency = <400000>; 188 clock-frequency = <400000>;
189
190 at24@50 {
191 compatible = "at24,24c02";
192 pagesize = <16>;
193 reg = <0x50>;
194 };
137}; 195};
138 196
139&i2c3 { 197&i2c3 {
140 clock-frequency = <400000>; 198 clock-frequency = <400000>;
141}; 199};
200
142&usbhshost { 201&usbhshost {
143 port1-mode = "ehci-phy"; 202 port1-mode = "ehci-phy";
144 port2-mode = "ehci-phy"; 203 port2-mode = "ehci-phy";
@@ -147,3 +206,56 @@
147&usbhsehci { 206&usbhsehci {
148 phys = <&hsusb1_phy &hsusb2_phy>; 207 phys = <&hsusb1_phy &hsusb2_phy>;
149}; 208};
209
210&mcspi1 {
211 pinctrl-names = "default";
212 pinctrl-0 = <&mcspi1_pins>;
213
214 /* touch controller */
215 ads7846@0 {
216 pinctrl-names = "default";
217 pinctrl-0 = <&ads7846_pins>;
218
219 compatible = "ti,ads7846";
220 vcc-supply = <&ads7846reg>;
221
222 reg = <0>; /* CS0 */
223 spi-max-frequency = <1500000>;
224
225 interrupt-parent = <&gpio2>;
226 interrupts = <25 0>; /* gpio_57 */
227 pendown-gpio = <&gpio2 25 0>;
228
229 ti,x-min = /bits/ 16 <0x0>;
230 ti,x-max = /bits/ 16 <0x0fff>;
231 ti,y-min = /bits/ 16 <0x0>;
232 ti,y-max = /bits/ 16 <0x0fff>;
233
234 ti,x-plate-ohms = /bits/ 16 <180>;
235 ti,pressure-max = /bits/ 16 <255>;
236
237 ti,debounce-max = /bits/ 16 <30>;
238 ti,debounce-tol = /bits/ 16 <10>;
239 ti,debounce-rep = /bits/ 16 <1>;
240
241 linux,wakeup;
242 };
243};
244
245&venc {
246 status = "ok";
247
248 port {
249 venc_out: endpoint {
250 remote-endpoint = <&tv_connector_in>;
251 ti,channels = <2>;
252 };
253 };
254};
255
256&mcbsp2 {
257 status = "ok";
258
259 pinctrl-names = "default";
260 pinctrl-0 = <&mcbsp2_pins>;
261};
diff --git a/arch/arm/boot/dts/omap3-cm-t3x30.dtsi b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi
index 25ba08331d88..9a4a3ab9af78 100644
--- a/arch/arm/boot/dts/omap3-cm-t3x30.dtsi
+++ b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi
@@ -10,6 +10,14 @@
10 cpu0-supply = <&vcc>; 10 cpu0-supply = <&vcc>;
11 }; 11 };
12 }; 12 };
13
14 sound {
15 compatible = "ti,omap-twl4030";
16 ti,model = "cm-t35";
17
18 ti,mcbsp = <&mcbsp2>;
19 ti,codec = <&twl_audio>;
20 };
13}; 21};
14 22
15&omap3_pmx_core { 23&omap3_pmx_core {
@@ -59,11 +67,22 @@
59 reg = <0x48>; 67 reg = <0x48>;
60 interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 68 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
61 interrupt-parent = <&intc>; 69 interrupt-parent = <&intc>;
70
71 twl_audio: audio {
72 compatible = "ti,twl4030-audio";
73 codec {
74 };
75 };
62 }; 76 };
63}; 77};
64 78
65#include "twl4030.dtsi" 79#include "twl4030.dtsi"
66#include "twl4030_omap3.dtsi" 80#include "twl4030_omap3.dtsi"
81#include <dt-bindings/input/input.h>
82
83&venc {
84 vdda-supply = <&vdac>;
85};
67 86
68&mmc1 { 87&mmc1 {
69 vmmc-supply = <&vmmc1>; 88 vmmc-supply = <&vmmc1>;
@@ -75,6 +94,22 @@
75 ti,pullups = <0x000001>; 94 ti,pullups = <0x000001>;
76}; 95};
77 96
97&twl_keypad {
98 linux,keymap = <
99 MATRIX_KEY(0x00, 0x01, KEY_A)
100 MATRIX_KEY(0x00, 0x02, KEY_B)
101 MATRIX_KEY(0x00, 0x03, KEY_LEFT)
102
103 MATRIX_KEY(0x01, 0x01, KEY_UP)
104 MATRIX_KEY(0x01, 0x02, KEY_ENTER)
105 MATRIX_KEY(0x01, 0x03, KEY_DOWN)
106
107 MATRIX_KEY(0x02, 0x01, KEY_RIGHT)
108 MATRIX_KEY(0x02, 0x02, KEY_C)
109 MATRIX_KEY(0x02, 0x03, KEY_D)
110 >;
111};
112
78&hsusb1_phy { 113&hsusb1_phy {
79 reset-gpios = <&twl_gpio 6 GPIO_ACTIVE_LOW>; 114 reset-gpios = <&twl_gpio 6 GPIO_ACTIVE_LOW>;
80}; 115};
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index 08ef71fe5273..53f3ca064140 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -115,6 +115,12 @@
115 eci-switch-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* 182 */ 115 eci-switch-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* 182 */
116 speaker-amplifier-gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>; 116 speaker-amplifier-gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>;
117 }; 117 };
118
119 battery: n900-battery {
120 compatible = "nokia,n900-battery";
121 io-channels = <&twl_madc 0>, <&twl_madc 4>, <&twl_madc 12>;
122 io-channel-names = "temp", "bsi", "vbat";
123 };
118}; 124};
119 125
120&omap3_pmx_core { 126&omap3_pmx_core {
@@ -567,6 +573,16 @@
567 power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* 98 */ 573 power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* 98 */
568 }; 574 };
569 575
576 si4713: si4713@63 {
577 compatible = "silabs,si4713";
578 reg = <0x63>;
579
580 interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */
581 reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */
582 vio-supply = <&vio>;
583 vdd-supply = <&vaux1>;
584 };
585
570 bq24150a: bq24150a@6b { 586 bq24150a: bq24150a@6b {
571 compatible = "ti,bq24150a"; 587 compatible = "ti,bq24150a";
572 reg = <0x6b>; 588 reg = <0x6b>;
diff --git a/arch/arm/boot/dts/omap3-sb-t35.dtsi b/arch/arm/boot/dts/omap3-sb-t35.dtsi
index b1cb5774f49a..827f614261f6 100644
--- a/arch/arm/boot/dts/omap3-sb-t35.dtsi
+++ b/arch/arm/boot/dts/omap3-sb-t35.dtsi
@@ -43,6 +43,16 @@
43 }; 43 };
44 }; 44 };
45 }; 45 };
46
47 audio_amp: audio_amp {
48 compatible = "regulator-fixed";
49 regulator-name = "audio_amp";
50 pinctrl-names = "default";
51 pinctrl-0 = <&sb_t35_audio_amp>;
52 gpio = <&gpio2 29 GPIO_ACTIVE_LOW>; /* gpio_61 */
53 enable-active-low;
54 regulator-always-on;
55 };
46}; 56};
47 57
48&omap3_pmx_core { 58&omap3_pmx_core {
@@ -58,6 +68,32 @@
58 OMAP3_CORE1_IOPAD(0x20b4, PIN_OUTPUT | MUX_MODE4) /* gpmc_ncs3.gpio_54 */ 68 OMAP3_CORE1_IOPAD(0x20b4, PIN_OUTPUT | MUX_MODE4) /* gpmc_ncs3.gpio_54 */
59 >; 69 >;
60 }; 70 };
71
72 i2c3_pins: pinmux_i2c3_pins {
73 pinctrl-single,pins = <
74 OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
75 OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
76 >;
77 };
78
79 sb_t35_audio_amp: pinmux_sb_t35_audio_amp {
80 pinctrl-single,pins = <
81 OMAP3_CORE1_IOPAD(0x20c8, PIN_OUTPUT | MUX_MODE4) /* gpmc_nbe1.gpio_61 */
82 >;
83 };
84};
85
86&i2c3 {
87 pinctrl-names = "default";
88 pinctrl-0 = <&i2c3_pins>;
89
90 clock-frequency = <400000>;
91
92 at24@50 {
93 compatible = "at24,24c02";
94 pagesize = <16>;
95 reg = <0x50>;
96 };
61}; 97};
62 98
63&gpmc { 99&gpmc {
diff --git a/arch/arm/boot/dts/omap3-sbc-t3517.dts b/arch/arm/boot/dts/omap3-sbc-t3517.dts
index 4ec5d8684122..17986536c61f 100644
--- a/arch/arm/boot/dts/omap3-sbc-t3517.dts
+++ b/arch/arm/boot/dts/omap3-sbc-t3517.dts
@@ -11,6 +11,7 @@
11 11
12 aliases { 12 aliases {
13 display0 = &dvi0; 13 display0 = &dvi0;
14 display1 = &tv0;
14 }; 15 };
15 16
16 /* Only one GPMC smsc9220 on SBC-T3517, CM-T3517 uses am35x Ethernet */ 17 /* Only one GPMC smsc9220 on SBC-T3517, CM-T3517 uses am35x Ethernet */
diff --git a/arch/arm/boot/dts/omap3-sbc-t3530.dts b/arch/arm/boot/dts/omap3-sbc-t3530.dts
index 8dfc1df8cc17..c994f0f7e38a 100644
--- a/arch/arm/boot/dts/omap3-sbc-t3530.dts
+++ b/arch/arm/boot/dts/omap3-sbc-t3530.dts
@@ -11,6 +11,7 @@
11 11
12 aliases { 12 aliases {
13 display0 = &dvi0; 13 display0 = &dvi0;
14 display1 = &tv0;
14 }; 15 };
15}; 16};
16 17
diff --git a/arch/arm/boot/dts/omap3-sbc-t3730.dts b/arch/arm/boot/dts/omap3-sbc-t3730.dts
index 6b69864bd6ce..5bdddf29341d 100644
--- a/arch/arm/boot/dts/omap3-sbc-t3730.dts
+++ b/arch/arm/boot/dts/omap3-sbc-t3730.dts
@@ -11,6 +11,7 @@
11 11
12 aliases { 12 aliases {
13 display0 = &dvi0; 13 display0 = &dvi0;
14 display1 = &tv0;
14 }; 15 };
15}; 16};
16 17
diff --git a/arch/arm/boot/dts/omap4-duovero-parlor.dts b/arch/arm/boot/dts/omap4-duovero-parlor.dts
index 6dc84d9f9b4c..1a78f013f37a 100644
--- a/arch/arm/boot/dts/omap4-duovero-parlor.dts
+++ b/arch/arm/boot/dts/omap4-duovero-parlor.dts
@@ -177,6 +177,7 @@
177 177
178&hdmi { 178&hdmi {
179 status = "ok"; 179 status = "ok";
180 vdda-supply = <&vdac>;
180 181
181 pinctrl-names = "default"; 182 pinctrl-names = "default";
182 pinctrl-0 = <&dss_hdmi_pins>; 183 pinctrl-0 = <&dss_hdmi_pins>;
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 2156f69fc282..3d7eee1d3cfa 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -131,13 +131,11 @@ static void __init omap3_sbc_t3730_legacy_init(void)
131{ 131{
132 omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub"); 132 omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub");
133 legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 136); 133 legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 136);
134 omap_ads7846_init(1, 57, 0, NULL);
135} 134}
136 135
137static void __init omap3_sbc_t3530_legacy_init(void) 136static void __init omap3_sbc_t3530_legacy_init(void)
138{ 137{
139 omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub"); 138 omap3_sbc_t3x_usb_hub_init(167, "sb-t35 usb hub");
140 omap_ads7846_init(1, 57, 0, NULL);
141} 139}
142 140
143struct ti_st_plat_data wilink_pdata = { 141struct ti_st_plat_data wilink_pdata = {
@@ -249,7 +247,6 @@ static void __init omap3_sbc_t3517_legacy_init(void)
249 hsmmc2_internal_input_clk(); 247 hsmmc2_internal_input_clk();
250 omap3_sbc_t3517_wifi_init(); 248 omap3_sbc_t3517_wifi_init();
251 legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 145); 249 legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 145);
252 omap_ads7846_init(1, 57, 0, NULL);
253} 250}
254 251
255static void __init am3517_evm_legacy_init(void) 252static void __init am3517_evm_legacy_init(void)