aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2015-04-15 15:35:22 -0400
committerArnd Bergmann <arnd@arndb.de>2015-04-15 15:41:13 -0400
commit30ecc84eea691cfb0b731d71839bdcba88df5f75 (patch)
tree831527106aaa10e5b13267275a843b50076fb4e5 /arch/arm
parent9705feacb778d2aa8bb868e8a9ab40557f7f7043 (diff)
parent10709c0858d89716b10b7bbf6d825044f2f59602 (diff)
Merge branch 'omap/dt' into next/late
As pointed out by Stephen Rothwell, commit e52117638b79 ("ARM: dts: omap3: Add DT entries for OMAP 3 ISP") conflicts with b8845074cfbb ("ARM: dts: omap3: add minimal l4 bus layout with control module support") in non-obvious ways, causing a build failure when both patches are present. This merges the two branches that introduce the respective changes into the next/late branch to resolve the way that Stephen suggested, as confirmed by Tony. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Link: https://lkml.org/lkml/2015/4/6/436 Acked-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boot/dts/Makefile5
-rw-r--r--arch/arm/boot/dts/am335x-chiliboard.dts112
-rw-r--r--arch/arm/boot/dts/am335x-chilisom.dtsi239
-rw-r--r--arch/arm/boot/dts/am335x-nano.dts18
-rw-r--r--arch/arm/boot/dts/am4372.dtsi2
-rw-r--r--arch/arm/boot/dts/am437x-idk-evm.dts22
-rw-r--r--arch/arm/boot/dts/am57xx-beagle-x15.dts9
-rw-r--r--arch/arm/boot/dts/dm8168-evm.dts14
-rw-r--r--arch/arm/boot/dts/dm816x.dtsi60
-rw-r--r--arch/arm/boot/dts/dra7-evm.dts8
-rw-r--r--arch/arm/boot/dts/dra7.dtsi7
-rw-r--r--arch/arm/boot/dts/dra72-evm.dts8
-rw-r--r--arch/arm/boot/dts/dra7xx-clocks.dtsi8
-rw-r--r--arch/arm/boot/dts/omap3-beagle-xm.dts1
-rw-r--r--arch/arm/boot/dts/omap3-beagle.dts53
-rw-r--r--arch/arm/boot/dts/omap3-cm-t3x30.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-devkit8000.dts1
-rw-r--r--arch/arm/boot/dts/omap3-gta04.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-igep.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-lilly-a83x.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-n9.dts37
-rw-r--r--arch/arm/boot/dts/omap3-n900.dts16
-rw-r--r--arch/arm/boot/dts/omap3-n950-n9.dtsi2
-rw-r--r--arch/arm/boot/dts/omap3-n950.dts37
-rw-r--r--arch/arm/boot/dts/omap3-overo-base.dtsi1
-rw-r--r--arch/arm/boot/dts/omap3-pandora-1ghz.dts70
-rw-r--r--arch/arm/boot/dts/omap3-pandora-600mhz.dts65
-rw-r--r--arch/arm/boot/dts/omap3-pandora-common.dtsi640
-rw-r--r--arch/arm/boot/dts/omap3-tao3530.dtsi12
-rw-r--r--arch/arm/boot/dts/omap34xx-hs.dtsi16
-rw-r--r--arch/arm/boot/dts/omap34xx.dtsi17
-rw-r--r--arch/arm/boot/dts/omap36xx-hs.dtsi16
-rw-r--r--arch/arm/boot/dts/omap36xx.dtsi17
33 files changed, 1449 insertions, 68 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 8e7b9d55905d..fb1ee1c07021 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -388,6 +388,8 @@ dtb-$(CONFIG_ARCH_OMAP3) += \
388 omap3-overo-storm-tobi.dtb \ 388 omap3-overo-storm-tobi.dtb \
389 omap3-overo-summit.dtb \ 389 omap3-overo-summit.dtb \
390 omap3-overo-tobi.dtb \ 390 omap3-overo-tobi.dtb \
391 omap3-pandora-600mhz.dtb \
392 omap3-pandora-1ghz.dtb \
391 omap3-sbc-t3517.dtb \ 393 omap3-sbc-t3517.dtb \
392 omap3-sbc-t3530.dtb \ 394 omap3-sbc-t3530.dtb \
393 omap3-sbc-t3730.dtb \ 395 omap3-sbc-t3730.dtb \
@@ -403,7 +405,8 @@ dtb-$(CONFIG_SOC_AM33XX) += \
403 am335x-evmsk.dtb \ 405 am335x-evmsk.dtb \
404 am335x-nano.dtb \ 406 am335x-nano.dtb \
405 am335x-pepper.dtb \ 407 am335x-pepper.dtb \
406 am335x-lxm.dtb 408 am335x-lxm.dtb \
409 am335x-chiliboard.dtb
407dtb-$(CONFIG_ARCH_OMAP4) += \ 410dtb-$(CONFIG_ARCH_OMAP4) += \
408 omap4-duovero-parlor.dtb \ 411 omap4-duovero-parlor.dtb \
409 omap4-panda.dtb \ 412 omap4-panda.dtb \
diff --git a/arch/arm/boot/dts/am335x-chiliboard.dts b/arch/arm/boot/dts/am335x-chiliboard.dts
new file mode 100644
index 000000000000..310da20a8aa7
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-chiliboard.dts
@@ -0,0 +1,112 @@
1/*
2 * Copyright (C) 2015 Jablotron s.r.o. -- http://www.jablotron.com/
3 * Author: Rostislav Lisovy <lisovy@jablotron.cz>
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/dts-v1/;
10#include "am335x-chilisom.dtsi"
11
12/ {
13 model = "AM335x Chiliboard";
14 compatible = "grinn,am335x-chiliboard", "grinn,am335x-chilisom",
15 "ti,am33xx";
16
17 leds {
18 compatible = "gpio-leds";
19 pinctrl-names = "default";
20 pinctrl-0 = <&led_gpio_pins>;
21
22 led0 {
23 label = "led0";
24 gpios = <&gpio3 7 GPIO_ACTIVE_LOW>;
25 default-state = "keep";
26 linux,default-trigger = "heartbeat";
27 };
28
29 led1 {
30 label = "led1";
31 gpios = <&gpio3 8 GPIO_ACTIVE_LOW>;
32 default-state = "keep";
33 };
34 };
35};
36
37&am33xx_pinmux {
38 usb1_drvvbus: usb1_drvvbus {
39 pinctrl-single,pins = <
40 0x234 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* usb1_drvvbus.usb1_drvvbus */
41 >;
42 };
43
44 sd_pins: pinmux_sd_card {
45 pinctrl-single,pins = <
46 0xf0 (PIN_INPUT | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
47 0xf4 (PIN_INPUT | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
48 0xf8 (PIN_INPUT | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
49 0xfc (PIN_INPUT | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
50 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */
51 0x104 (PIN_INPUT | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
52 0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
53 >;
54 };
55
56 led_gpio_pins: led_gpio_pins {
57 pinctrl-single,pins = <
58 0x1e4 (PIN_OUTPUT | MUX_MODE7) /* emu0.gpio3_7 */
59 0x1e8 (PIN_OUTPUT | MUX_MODE7) /* emu1.gpio3_8 */
60 >;
61 };
62};
63
64&ldo4_reg {
65 regulator-min-microvolt = <3300000>;
66 regulator-max-microvolt = <3300000>;
67};
68
69/* Ethernet */
70&cpsw_emac0 {
71 phy_id = <&davinci_mdio>, <0>;
72 phy-mode = "rmii";
73};
74
75&phy_sel {
76 rmii-clock-ext;
77};
78
79/* USB */
80&usb {
81 status = "okay";
82};
83
84&usb_ctrl_mod {
85 status = "okay";
86};
87
88&usb1_phy {
89 status = "okay";
90};
91
92&usb1 {
93 pinctrl-names = "default";
94 pinctrl-0 = <&usb1_drvvbus>;
95
96 status = "okay";
97 dr_mode = "host";
98};
99
100&cppi41dma {
101 status = "okay";
102};
103
104/* microSD */
105&mmc1 {
106 pinctrl-names = "default";
107 pinctrl-0 = <&sd_pins>;
108 vmmc-supply = <&ldo4_reg>;
109 bus-width = <0x4>;
110 cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
111 status = "okay";
112};
diff --git a/arch/arm/boot/dts/am335x-chilisom.dtsi b/arch/arm/boot/dts/am335x-chilisom.dtsi
new file mode 100644
index 000000000000..7e9a34dffe21
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-chilisom.dtsi
@@ -0,0 +1,239 @@
1/*
2 * Copyright (C) 2015 Jablotron s.r.o. -- http://www.jablotron.com/
3 * Author: Rostislav Lisovy <lisovy@jablotron.cz>
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 "am33xx.dtsi"
10
11/ {
12 model = "Grinn AM335x ChiliSOM";
13 compatible = "grinn,am335x-chilisom", "ti,am33xx";
14
15 cpus {
16 cpu@0 {
17 cpu0-supply = <&dcdc2_reg>;
18 };
19 };
20
21 memory {
22 device_type = "memory";
23 reg = <0x80000000 0x20000000>; /* 512 MB */
24 };
25};
26
27&am33xx_pinmux {
28 pinctrl-names = "default";
29
30 i2c0_pins: pinmux_i2c0_pins {
31 pinctrl-single,pins = <
32 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
33 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
34 >;
35 };
36
37 uart0_pins: pinmux_uart0_pins {
38 pinctrl-single,pins = <
39 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
40 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
41 >;
42 };
43
44 cpsw_default: cpsw_default {
45 pinctrl-single,pins = <
46 /* Slave 1 */
47 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_crs.rmii1_crs */
48 0x110 (PIN_INPUT_PULLUP | MUX_MODE1) /* mii1_rxerr.rmii1_rxerr */
49 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txen.rmii1_txen */
50 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd1.rmii1_txd1 */
51 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd0.rmii1_txd0 */
52 0x13c (PIN_INPUT_PULLUP | MUX_MODE1) /* mii1_rxd1.rmii1_rxd1 */
53 0x140 (PIN_INPUT_PULLUP | MUX_MODE1) /* mii1_rxd0.rmii1_rxd0 */
54 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii1_ref_clk.rmii_ref_clk */
55 >;
56 };
57
58 cpsw_sleep: cpsw_sleep {
59 pinctrl-single,pins = <
60 /* Slave 1 reset value */
61 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7)
62 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
63 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
64 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
65 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
66 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
67 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
68 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
69 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7)
70 >;
71 };
72
73 davinci_mdio_default: davinci_mdio_default {
74 pinctrl-single,pins = <
75 /* mdio_data.mdio_data */
76 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)
77 /* mdio_clk.mdio_clk */
78 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)
79 >;
80 };
81
82 davinci_mdio_sleep: davinci_mdio_sleep {
83 pinctrl-single,pins = <
84 /* MDIO reset value */
85 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
86 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
87 >;
88 };
89
90 nandflash_pins: nandflash_pins {
91 pinctrl-single,pins = <
92 0x00 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad0.gpmc_ad0 */
93 0x04 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad1.gpmc_ad1 */
94 0x08 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad2.gpmc_ad2 */
95 0x0c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad3.gpmc_ad3 */
96 0x10 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad4.gpmc_ad4 */
97 0x14 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad5.gpmc_ad5 */
98 0x18 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad6.gpmc_ad6 */
99 0x1c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* gpmc_ad7.gpmc_ad7 */
100
101 0x70 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0.gpmc_wait0 */
102 0x7c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_csn0.gpmc_csn0 */
103 0x90 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_advn_ale.gpmc_advn_ale */
104 0x94 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren */
105 0x98 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_wen.gpmc_wen */
106 0x9c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */
107 >;
108 };
109};
110
111&uart0 {
112 pinctrl-names = "default";
113 pinctrl-0 = <&uart0_pins>;
114
115 status = "okay";
116};
117
118&i2c0 {
119 pinctrl-names = "default";
120 pinctrl-0 = <&i2c0_pins>;
121
122 status = "okay";
123 clock-frequency = <400000>;
124
125 tps: tps@24 {
126 reg = <0x24>;
127 };
128
129};
130
131/include/ "tps65217.dtsi"
132
133&tps {
134 regulators {
135 dcdc1_reg: regulator@0 {
136 regulator-name = "vdds_dpr";
137 regulator-always-on;
138 };
139
140 dcdc2_reg: regulator@1 {
141 /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
142 regulator-name = "vdd_mpu";
143 regulator-min-microvolt = <925000>;
144 regulator-max-microvolt = <1325000>;
145 regulator-boot-on;
146 regulator-always-on;
147 };
148
149 dcdc3_reg: regulator@2 {
150 /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
151 regulator-name = "vdd_core";
152 regulator-min-microvolt = <925000>;
153 regulator-max-microvolt = <1150000>;
154 regulator-boot-on;
155 regulator-always-on;
156 };
157
158 ldo1_reg: regulator@3 {
159 regulator-name = "vio,vrtc,vdds";
160 regulator-boot-on;
161 regulator-always-on;
162 };
163
164 ldo2_reg: regulator@4 {
165 regulator-name = "vdd_3v3aux";
166 regulator-boot-on;
167 regulator-always-on;
168 };
169
170 ldo3_reg: regulator@5 {
171 regulator-name = "vdd_1v8";
172 regulator-boot-on;
173 regulator-always-on;
174 };
175
176 ldo4_reg: regulator@6 {
177 regulator-name = "vdd_3v3d";
178 regulator-boot-on;
179 regulator-always-on;
180 };
181 };
182};
183
184/* Ethernet MAC */
185&mac {
186 slaves = <1>;
187 pinctrl-names = "default", "sleep";
188 pinctrl-0 = <&cpsw_default>;
189 pinctrl-1 = <&cpsw_sleep>;
190 status = "okay";
191};
192
193&davinci_mdio {
194 pinctrl-names = "default", "sleep";
195 pinctrl-0 = <&davinci_mdio_default>;
196 pinctrl-1 = <&davinci_mdio_sleep>;
197 status = "okay";
198};
199
200/* NAND Flash */
201&elm {
202 status = "okay";
203};
204
205&gpmc {
206 status = "okay";
207 pinctrl-names = "default";
208 pinctrl-0 = <&nandflash_pins>;
209 ranges = <0 0 0x08000000 0x01000000>; /* CS0 0 @addr 0x08000000, size 0x01000000 */
210 nand@0,0 {
211 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
212 ti,nand-ecc-opt = "bch8";
213 ti,elm-id = <&elm>;
214 nand-bus-width = <8>;
215 gpmc,device-width = <1>;
216 gpmc,sync-clk-ps = <0>;
217 gpmc,cs-on-ns = <0>;
218 gpmc,cs-rd-off-ns = <44>;
219 gpmc,cs-wr-off-ns = <44>;
220 gpmc,adv-on-ns = <6>;
221 gpmc,adv-rd-off-ns = <34>;
222 gpmc,adv-wr-off-ns = <44>;
223 gpmc,we-on-ns = <0>;
224 gpmc,we-off-ns = <40>;
225 gpmc,oe-on-ns = <0>;
226 gpmc,oe-off-ns = <54>;
227 gpmc,access-ns = <64>;
228 gpmc,rd-cycle-ns = <82>;
229 gpmc,wr-cycle-ns = <82>;
230 gpmc,wait-on-read = "true";
231 gpmc,wait-on-write = "true";
232 gpmc,bus-turnaround-ns = <0>;
233 gpmc,cycle2cycle-delay-ns = <0>;
234 gpmc,clk-activation-ns = <0>;
235 gpmc,wait-monitoring-ns = <0>;
236 gpmc,wr-access-ns = <40>;
237 gpmc,wr-data-mux-bus-ns = <0>;
238 };
239};
diff --git a/arch/arm/boot/dts/am335x-nano.dts b/arch/arm/boot/dts/am335x-nano.dts
index a3466455b171..5ed4ca6eaf55 100644
--- a/arch/arm/boot/dts/am335x-nano.dts
+++ b/arch/arm/boot/dts/am335x-nano.dts
@@ -213,7 +213,9 @@
213 pinctrl-0 = <&i2c0_pins>; 213 pinctrl-0 = <&i2c0_pins>;
214 214
215 gpio@20 { 215 gpio@20 {
216 compatible = "mcp,mcp23017"; 216 compatible = "microchip,mcp23017";
217 gpio-controller;
218 #gpio-cells = <2>;
217 reg = <0x20>; 219 reg = <0x20>;
218 }; 220 };
219 221
@@ -222,7 +224,7 @@
222 }; 224 };
223 225
224 eeprom@53 { 226 eeprom@53 {
225 compatible = "mcp,24c02"; 227 compatible = "microchip,24c02";
226 reg = <0x53>; 228 reg = <0x53>;
227 pagesize = <8>; 229 pagesize = <8>;
228 }; 230 };
@@ -297,8 +299,8 @@
297 | |-->0x004FFFFF-> Kernel end 299 | |-->0x004FFFFF-> Kernel end
298 | |-->0x00500000-> File system start 300 | |-->0x00500000-> File system start
299 | | 301 | |
300 | |-->0x014FFFFF-> File system end 302 | |-->0x01FFFFFF-> File system end
301 | |-->0x01500000-> User data start 303 | |-->0x02000000-> User data start
302 | | 304 | |
303 | |-->0x03FFFFFF-> User data end 305 | |-->0x03FFFFFF-> User data end
304 | |-->0x04000000-> Data storage start 306 | |-->0x04000000-> Data storage start
@@ -327,12 +329,12 @@
327 329
328 partition@4 { 330 partition@4 {
329 label = "rootfs"; 331 label = "rootfs";
330 reg = <0x00500000 0x01000000>; /* 16MB */ 332 reg = <0x00500000 0x01b00000>; /* 27MB */
331 }; 333 };
332 334
333 partition@5 { 335 partition@5 {
334 label = "user"; 336 label = "user";
335 reg = <0x01500000 0x02b00000>; /* 43MB */ 337 reg = <0x02000000 0x02000000>; /* 32MB */
336 }; 338 };
337 339
338 partition@6 { 340 partition@6 {
@@ -343,7 +345,7 @@
343}; 345};
344 346
345&mac { 347&mac {
346 dual_emac = <1>; 348 dual_emac;
347 status = "okay"; 349 status = "okay";
348}; 350};
349 351
@@ -353,11 +355,13 @@
353 355
354&cpsw_emac0 { 356&cpsw_emac0 {
355 phy_id = <&davinci_mdio>, <0>; 357 phy_id = <&davinci_mdio>, <0>;
358 phy-mode = "mii";
356 dual_emac_res_vlan = <1>; 359 dual_emac_res_vlan = <1>;
357}; 360};
358 361
359&cpsw_emac1 { 362&cpsw_emac1 {
360 phy_id = <&davinci_mdio>, <1>; 363 phy_id = <&davinci_mdio>, <1>;
364 phy-mode = "mii";
361 dual_emac_res_vlan = <2>; 365 dual_emac_res_vlan = <2>;
362}; 366};
363 367
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index 2f6f0c2040db..48c9bea8df10 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -897,7 +897,7 @@
897 }; 897 };
898 898
899 hdq: hdq@48347000 { 899 hdq: hdq@48347000 {
900 compatible = "ti,am43xx-hdq"; 900 compatible = "ti,am4372-hdq";
901 reg = <0x48347000 0x1000>; 901 reg = <0x48347000 0x1000>;
902 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 902 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
903 clocks = <&func_12m_clk>; 903 clocks = <&func_12m_clk>;
diff --git a/arch/arm/boot/dts/am437x-idk-evm.dts b/arch/arm/boot/dts/am437x-idk-evm.dts
index 0198f5a62b96..378344271746 100644
--- a/arch/arm/boot/dts/am437x-idk-evm.dts
+++ b/arch/arm/boot/dts/am437x-idk-evm.dts
@@ -133,6 +133,20 @@
133 >; 133 >;
134 }; 134 };
135 135
136 i2c2_pins_default: i2c2_pins_default {
137 pinctrl-single,pins = <
138 0x1e8 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE3) /* cam1_data1.i2c2_scl */
139 0x1ec (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE3) /* cam1_data0.i2c2_sda */
140 >;
141 };
142
143 i2c2_pins_sleep: i2c2_pins_sleep {
144 pinctrl-single,pins = <
145 0x1e8 (PIN_INPUT_PULLDOWN | MUX_MODE7)
146 0x1ec (PIN_INPUT_PULLDOWN | MUX_MODE7)
147 >;
148 };
149
136 mmc1_pins_default: pinmux_mmc1_pins_default { 150 mmc1_pins_default: pinmux_mmc1_pins_default {
137 pinctrl-single,pins = < 151 pinctrl-single,pins = <
138 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */ 152 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */
@@ -263,6 +277,14 @@
263 }; 277 };
264}; 278};
265 279
280&i2c2 {
281 status = "okay";
282 pinctrl-names = "default", "sleep";
283 pinctrl-0 = <&i2c2_pins_default>;
284 pinctrl-1 = <&i2c2_pins_sleep>;
285 clock-frequency = <100000>;
286};
287
266&epwmss0 { 288&epwmss0 {
267 status = "okay"; 289 status = "okay";
268}; 290};
diff --git a/arch/arm/boot/dts/am57xx-beagle-x15.dts b/arch/arm/boot/dts/am57xx-beagle-x15.dts
index 31497a45afb0..6a3621c23017 100644
--- a/arch/arm/boot/dts/am57xx-beagle-x15.dts
+++ b/arch/arm/boot/dts/am57xx-beagle-x15.dts
@@ -8,7 +8,6 @@
8/dts-v1/; 8/dts-v1/;
9 9
10#include "dra74x.dtsi" 10#include "dra74x.dtsi"
11#include <dt-bindings/clk/ti-dra7-atl.h>
12#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/interrupt-controller/irq.h> 12#include <dt-bindings/interrupt-controller/irq.h>
14 13
@@ -551,6 +550,14 @@
551 pinctrl-0 = <&usb1_pins>; 550 pinctrl-0 = <&usb1_pins>;
552}; 551};
553 552
553&omap_dwc3_1 {
554 extcon = <&extcon_usb1>;
555};
556
557&omap_dwc3_2 {
558 extcon = <&extcon_usb2>;
559};
560
554&usb2 { 561&usb2 {
555 dr_mode = "peripheral"; 562 dr_mode = "peripheral";
556}; 563};
diff --git a/arch/arm/boot/dts/dm8168-evm.dts b/arch/arm/boot/dts/dm8168-evm.dts
index d3a29c1b8417..dee39c3f830f 100644
--- a/arch/arm/boot/dts/dm8168-evm.dts
+++ b/arch/arm/boot/dts/dm8168-evm.dts
@@ -29,22 +29,22 @@
29&dm816x_pinmux { 29&dm816x_pinmux {
30 mcspi1_pins: pinmux_mcspi1_pins { 30 mcspi1_pins: pinmux_mcspi1_pins {
31 pinctrl-single,pins = < 31 pinctrl-single,pins = <
32 DM816X_IOPAD(0x0a94, PIN_INPUT | MUX_MODE0) /* SPI_SCLK */ 32 DM816X_IOPAD(0x0a94, MUX_MODE0) /* SPI_SCLK */
33 DM816X_IOPAD(0x0a98, PIN_OUTPUT | MUX_MODE0) /* SPI_SCS0 */ 33 DM816X_IOPAD(0x0a98, MUX_MODE0) /* SPI_SCS0 */
34 DM816X_IOPAD(0x0aa8, PIN_INPUT | MUX_MODE0) /* SPI_D0 */ 34 DM816X_IOPAD(0x0aa8, MUX_MODE0) /* SPI_D0 */
35 DM816X_IOPAD(0x0aac, PIN_INPUT | MUX_MODE0) /* SPI_D1 */ 35 DM816X_IOPAD(0x0aac, MUX_MODE0) /* SPI_D1 */
36 >; 36 >;
37 }; 37 };
38 38
39 usb0_pins: pinmux_usb0_pins { 39 usb0_pins: pinmux_usb0_pins {
40 pinctrl-single,pins = < 40 pinctrl-single,pins = <
41 DM816X_IOPAD(0x0d00, MUX_MODE0) /* USB0_DRVVBUS */ 41 DM816X_IOPAD(0x0d04, MUX_MODE0) /* USB0_DRVVBUS */
42 >; 42 >;
43 }; 43 };
44 44
45 usb1_pins: pinmux_usb0_pins { 45 usb1_pins: pinmux_usb1_pins {
46 pinctrl-single,pins = < 46 pinctrl-single,pins = <
47 DM816X_IOPAD(0x0d04, MUX_MODE0) /* USB1_DRVVBUS */ 47 DM816X_IOPAD(0x0d08, MUX_MODE0) /* USB1_DRVVBUS */
48 >; 48 >;
49 }; 49 };
50}; 50};
diff --git a/arch/arm/boot/dts/dm816x.dtsi b/arch/arm/boot/dts/dm816x.dtsi
index 3c97b5f2addc..90c820715521 100644
--- a/arch/arm/boot/dts/dm816x.dtsi
+++ b/arch/arm/boot/dts/dm816x.dtsi
@@ -386,6 +386,29 @@
386 mentor,num-eps = <16>; 386 mentor,num-eps = <16>;
387 mentor,ram-bits = <12>; 387 mentor,ram-bits = <12>;
388 mentor,power = <500>; 388 mentor,power = <500>;
389
390 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
391 &cppi41dma 2 0 &cppi41dma 3 0
392 &cppi41dma 4 0 &cppi41dma 5 0
393 &cppi41dma 6 0 &cppi41dma 7 0
394 &cppi41dma 8 0 &cppi41dma 9 0
395 &cppi41dma 10 0 &cppi41dma 11 0
396 &cppi41dma 12 0 &cppi41dma 13 0
397 &cppi41dma 14 0 &cppi41dma 0 1
398 &cppi41dma 1 1 &cppi41dma 2 1
399 &cppi41dma 3 1 &cppi41dma 4 1
400 &cppi41dma 5 1 &cppi41dma 6 1
401 &cppi41dma 7 1 &cppi41dma 8 1
402 &cppi41dma 9 1 &cppi41dma 10 1
403 &cppi41dma 11 1 &cppi41dma 12 1
404 &cppi41dma 13 1 &cppi41dma 14 1>;
405 dma-names =
406 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
407 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
408 "rx14", "rx15",
409 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
410 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
411 "tx14", "tx15";
389 }; 412 };
390 413
391 usb1: usb@47401800 { 414 usb1: usb@47401800 {
@@ -403,6 +426,43 @@
403 mentor,num-eps = <16>; 426 mentor,num-eps = <16>;
404 mentor,ram-bits = <12>; 427 mentor,ram-bits = <12>;
405 mentor,power = <500>; 428 mentor,power = <500>;
429
430 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
431 &cppi41dma 17 0 &cppi41dma 18 0
432 &cppi41dma 19 0 &cppi41dma 20 0
433 &cppi41dma 21 0 &cppi41dma 22 0
434 &cppi41dma 23 0 &cppi41dma 24 0
435 &cppi41dma 25 0 &cppi41dma 26 0
436 &cppi41dma 27 0 &cppi41dma 28 0
437 &cppi41dma 29 0 &cppi41dma 15 1
438 &cppi41dma 16 1 &cppi41dma 17 1
439 &cppi41dma 18 1 &cppi41dma 19 1
440 &cppi41dma 20 1 &cppi41dma 21 1
441 &cppi41dma 22 1 &cppi41dma 23 1
442 &cppi41dma 24 1 &cppi41dma 25 1
443 &cppi41dma 26 1 &cppi41dma 27 1
444 &cppi41dma 28 1 &cppi41dma 29 1>;
445 dma-names =
446 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
447 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
448 "rx14", "rx15",
449 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
450 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
451 "tx14", "tx15";
452 };
453
454 cppi41dma: dma-controller@47402000 {
455 compatible = "ti,am3359-cppi41";
456 reg = <0x47400000 0x1000
457 0x47402000 0x1000
458 0x47403000 0x1000
459 0x47404000 0x4000>;
460 reg-names = "glue", "controller", "scheduler", "queuemgr";
461 interrupts = <17>;
462 interrupt-names = "glue";
463 #dma-cells = <2>;
464 #dma-channels = <30>;
465 #dma-requests = <256>;
406 }; 466 };
407 }; 467 };
408 468
diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
index 3290a96ba586..746cddb1b8f5 100644
--- a/arch/arm/boot/dts/dra7-evm.dts
+++ b/arch/arm/boot/dts/dra7-evm.dts
@@ -543,6 +543,14 @@
543 }; 543 };
544}; 544};
545 545
546&omap_dwc3_1 {
547 extcon = <&extcon_usb1>;
548};
549
550&omap_dwc3_2 {
551 extcon = <&extcon_usb2>;
552};
553
546&usb1 { 554&usb1 {
547 dr_mode = "peripheral"; 555 dr_mode = "peripheral";
548 pinctrl-names = "default"; 556 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
index ce3eb311da1e..a3c32e8ee90f 100644
--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -700,7 +700,6 @@
700 reg = <0x48820000 0x80>; 700 reg = <0x48820000 0x80>;
701 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 701 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
702 ti,hwmods = "timer5"; 702 ti,hwmods = "timer5";
703 ti,timer-dsp;
704 }; 703 };
705 704
706 timer6: timer@48822000 { 705 timer6: timer@48822000 {
@@ -708,8 +707,6 @@
708 reg = <0x48822000 0x80>; 707 reg = <0x48822000 0x80>;
709 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 708 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
710 ti,hwmods = "timer6"; 709 ti,hwmods = "timer6";
711 ti,timer-dsp;
712 ti,timer-pwm;
713 }; 710 };
714 711
715 timer7: timer@48824000 { 712 timer7: timer@48824000 {
@@ -717,7 +714,6 @@
717 reg = <0x48824000 0x80>; 714 reg = <0x48824000 0x80>;
718 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 715 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
719 ti,hwmods = "timer7"; 716 ti,hwmods = "timer7";
720 ti,timer-dsp;
721 }; 717 };
722 718
723 timer8: timer@48826000 { 719 timer8: timer@48826000 {
@@ -725,8 +721,6 @@
725 reg = <0x48826000 0x80>; 721 reg = <0x48826000 0x80>;
726 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 722 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
727 ti,hwmods = "timer8"; 723 ti,hwmods = "timer8";
728 ti,timer-dsp;
729 ti,timer-pwm;
730 }; 724 };
731 725
732 timer9: timer@4803e000 { 726 timer9: timer@4803e000 {
@@ -748,7 +742,6 @@
748 reg = <0x48088000 0x80>; 742 reg = <0x48088000 0x80>;
749 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 743 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
750 ti,hwmods = "timer11"; 744 ti,hwmods = "timer11";
751 ti,timer-pwm;
752 }; 745 };
753 746
754 timer13: timer@48828000 { 747 timer13: timer@48828000 {
diff --git a/arch/arm/boot/dts/dra72-evm.dts b/arch/arm/boot/dts/dra72-evm.dts
index e0264d0bf7b9..4d8711713610 100644
--- a/arch/arm/boot/dts/dra72-evm.dts
+++ b/arch/arm/boot/dts/dra72-evm.dts
@@ -380,6 +380,14 @@
380 phy-supply = <&ldo4_reg>; 380 phy-supply = <&ldo4_reg>;
381}; 381};
382 382
383&omap_dwc3_1 {
384 extcon = <&extcon_usb1>;
385};
386
387&omap_dwc3_2 {
388 extcon = <&extcon_usb2>;
389};
390
383&usb1 { 391&usb1 {
384 dr_mode = "peripheral"; 392 dr_mode = "peripheral";
385 pinctrl-names = "default"; 393 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/dra7xx-clocks.dtsi b/arch/arm/boot/dts/dra7xx-clocks.dtsi
index 4bdcbd61ce47..2a9994f73974 100644
--- a/arch/arm/boot/dts/dra7xx-clocks.dtsi
+++ b/arch/arm/boot/dts/dra7xx-clocks.dtsi
@@ -1421,6 +1421,14 @@
1421 ti,dividers = <1>, <8>; 1421 ti,dividers = <1>, <8>;
1422 }; 1422 };
1423 1423
1424 clkout2_clk: clkout2_clk {
1425 #clock-cells = <0>;
1426 compatible = "ti,gate-clock";
1427 clocks = <&clkoutmux2_clk_mux>;
1428 ti,bit-shift = <8>;
1429 reg = <0x06b0>;
1430 };
1431
1424 l3init_960m_gfclk: l3init_960m_gfclk { 1432 l3init_960m_gfclk: l3init_960m_gfclk {
1425 #clock-cells = <0>; 1433 #clock-cells = <0>;
1426 compatible = "ti,gate-clock"; 1434 compatible = "ti,gate-clock";
diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts
index 25f7b0a22114..da1464bfbc60 100644
--- a/arch/arm/boot/dts/omap3-beagle-xm.dts
+++ b/arch/arm/boot/dts/omap3-beagle-xm.dts
@@ -60,7 +60,6 @@
60 ti,model = "omap3beagle"; 60 ti,model = "omap3beagle";
61 61
62 ti,mcbsp = <&mcbsp2>; 62 ti,mcbsp = <&mcbsp2>;
63 ti,codec = <&twl_audio>;
64 }; 63 };
65 64
66 gpio_keys { 65 gpio_keys {
diff --git a/arch/arm/boot/dts/omap3-beagle.dts b/arch/arm/boot/dts/omap3-beagle.dts
index c792391ef090..28f99a14c0a1 100644
--- a/arch/arm/boot/dts/omap3-beagle.dts
+++ b/arch/arm/boot/dts/omap3-beagle.dts
@@ -71,7 +71,6 @@
71 ti,model = "omap3beagle"; 71 ti,model = "omap3beagle";
72 72
73 ti,mcbsp = <&mcbsp2>; 73 ti,mcbsp = <&mcbsp2>;
74 ti,codec = <&twl_audio>;
75 }; 74 };
76 75
77 gpio_keys { 76 gpio_keys {
@@ -379,3 +378,55 @@
379 }; 378 };
380 }; 379 };
381}; 380};
381
382&gpmc {
383 status = "ok";
384 ranges = <0 0 0x30000000 0x1000000>; /* CS0 space, 16MB */
385
386 /* Chip select 0 */
387 nand@0,0 {
388 reg = <0 0 4>; /* NAND I/O window, 4 bytes */
389 interrupts = <20>;
390 ti,nand-ecc-opt = "ham1";
391 nand-bus-width = <16>;
392 #address-cells = <1>;
393 #size-cells = <1>;
394
395 gpmc,device-width = <2>;
396 gpmc,cs-on-ns = <0>;
397 gpmc,cs-rd-off-ns = <36>;
398 gpmc,cs-wr-off-ns = <36>;
399 gpmc,adv-on-ns = <6>;
400 gpmc,adv-rd-off-ns = <24>;
401 gpmc,adv-wr-off-ns = <36>;
402 gpmc,oe-on-ns = <6>;
403 gpmc,oe-off-ns = <48>;
404 gpmc,we-on-ns = <6>;
405 gpmc,we-off-ns = <30>;
406 gpmc,rd-cycle-ns = <72>;
407 gpmc,wr-cycle-ns = <72>;
408 gpmc,access-ns = <54>;
409 gpmc,wr-access-ns = <30>;
410
411 partition@0 {
412 label = "X-Loader";
413 reg = <0 0x80000>;
414 };
415 partition@80000 {
416 label = "U-Boot";
417 reg = <0x80000 0x1e0000>;
418 };
419 partition@1c0000 {
420 label = "U-Boot Env";
421 reg = <0x260000 0x20000>;
422 };
423 partition@280000 {
424 label = "Kernel";
425 reg = <0x280000 0x400000>;
426 };
427 partition@780000 {
428 label = "Filesystem";
429 reg = <0x680000 0xf980000>;
430 };
431 };
432};
diff --git a/arch/arm/boot/dts/omap3-cm-t3x30.dtsi b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi
index d9e92b654f85..046cd7733c4f 100644
--- a/arch/arm/boot/dts/omap3-cm-t3x30.dtsi
+++ b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi
@@ -16,7 +16,6 @@
16 ti,model = "cm-t35"; 16 ti,model = "cm-t35";
17 17
18 ti,mcbsp = <&mcbsp2>; 18 ti,mcbsp = <&mcbsp2>;
19 ti,codec = <&twl_audio>;
20 }; 19 };
21}; 20};
22 21
diff --git a/arch/arm/boot/dts/omap3-devkit8000.dts b/arch/arm/boot/dts/omap3-devkit8000.dts
index 169037e5ff53..134d3f27a8ec 100644
--- a/arch/arm/boot/dts/omap3-devkit8000.dts
+++ b/arch/arm/boot/dts/omap3-devkit8000.dts
@@ -48,7 +48,6 @@
48 ti,model = "devkit8000"; 48 ti,model = "devkit8000";
49 49
50 ti,mcbsp = <&mcbsp2>; 50 ti,mcbsp = <&mcbsp2>;
51 ti,codec = <&twl_audio>;
52 ti,audio-routing = 51 ti,audio-routing =
53 "Ext Spk", "PREDRIVEL", 52 "Ext Spk", "PREDRIVEL",
54 "Ext Spk", "PREDRIVER", 53 "Ext Spk", "PREDRIVER",
diff --git a/arch/arm/boot/dts/omap3-gta04.dtsi b/arch/arm/boot/dts/omap3-gta04.dtsi
index fb3a69604ed5..b9f68817bd6e 100644
--- a/arch/arm/boot/dts/omap3-gta04.dtsi
+++ b/arch/arm/boot/dts/omap3-gta04.dtsi
@@ -46,7 +46,6 @@
46 ti,model = "gta04"; 46 ti,model = "gta04";
47 47
48 ti,mcbsp = <&mcbsp2>; 48 ti,mcbsp = <&mcbsp2>;
49 ti,codec = <&twl_audio>;
50 }; 49 };
51 50
52 spi_lcd { 51 spi_lcd {
diff --git a/arch/arm/boot/dts/omap3-igep.dtsi b/arch/arm/boot/dts/omap3-igep.dtsi
index 8a63ad2286aa..d5e5cd449b16 100644
--- a/arch/arm/boot/dts/omap3-igep.dtsi
+++ b/arch/arm/boot/dts/omap3-igep.dtsi
@@ -22,7 +22,6 @@
22 compatible = "ti,omap-twl4030"; 22 compatible = "ti,omap-twl4030";
23 ti,model = "igep2"; 23 ti,model = "igep2";
24 ti,mcbsp = <&mcbsp2>; 24 ti,mcbsp = <&mcbsp2>;
25 ti,codec = <&twl_audio>;
26 }; 25 };
27 26
28 vdd33: regulator-vdd33 { 27 vdd33: regulator-vdd33 {
diff --git a/arch/arm/boot/dts/omap3-lilly-a83x.dtsi b/arch/arm/boot/dts/omap3-lilly-a83x.dtsi
index e81fb651d5d0..e63133304a34 100644
--- a/arch/arm/boot/dts/omap3-lilly-a83x.dtsi
+++ b/arch/arm/boot/dts/omap3-lilly-a83x.dtsi
@@ -38,7 +38,6 @@
38 ti,model = "lilly-a83x"; 38 ti,model = "lilly-a83x";
39 39
40 ti,mcbsp = <&mcbsp2>; 40 ti,mcbsp = <&mcbsp2>;
41 ti,codec = <&twl_audio>;
42 }; 41 };
43 42
44 reg_vcc3: vcc3 { 43 reg_vcc3: vcc3 {
diff --git a/arch/arm/boot/dts/omap3-n9.dts b/arch/arm/boot/dts/omap3-n9.dts
index 9938b5dc1909..f2e213931e09 100644
--- a/arch/arm/boot/dts/omap3-n9.dts
+++ b/arch/arm/boot/dts/omap3-n9.dts
@@ -16,3 +16,40 @@
16 model = "Nokia N9"; 16 model = "Nokia N9";
17 compatible = "nokia,omap3-n9", "ti,omap36xx", "ti,omap3"; 17 compatible = "nokia,omap3-n9", "ti,omap36xx", "ti,omap3";
18}; 18};
19
20&i2c2 {
21 smia_1: camera@10 {
22 compatible = "nokia,smia";
23 reg = <0x10>;
24 /* No reset gpio */
25 vana-supply = <&vaux3>;
26 clocks = <&isp 0>;
27 clock-frequency = <9600000>;
28 nokia,nvm-size = <(16 * 64)>;
29 port {
30 smia_1_1: endpoint {
31 link-frequencies = /bits/ 64 <199200000 210000000 499200000>;
32 clock-lanes = <0>;
33 data-lanes = <1 2>;
34 remote-endpoint = <&csi2a_ep>;
35 };
36 };
37 };
38};
39
40&isp {
41 vdd-csiphy1-supply = <&vaux2>;
42 vdd-csiphy2-supply = <&vaux2>;
43 ports {
44 port@2 {
45 reg = <2>;
46 csi2a_ep: endpoint {
47 remote-endpoint = <&smia_1_1>;
48 clock-lanes = <2>;
49 data-lanes = <1 3>;
50 crc = <1>;
51 lane-polarities = <1 1 1>;
52 };
53 };
54 };
55};
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index db80f9d376fa..bbea3076e1d4 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -9,9 +9,23 @@
9 9
10/dts-v1/; 10/dts-v1/;
11 11
12#include "omap34xx-hs.dtsi" 12#include "omap34xx.dtsi"
13#include <dt-bindings/input/input.h> 13#include <dt-bindings/input/input.h>
14 14
15/*
16 * Default secure signed bootloader (Nokia X-Loader) does not enable L3 firewall
17 * for omap AES HW crypto support. When linux kernel try to access memory of AES
18 * blocks then kernel receive "Unhandled fault: external abort on non-linefetch"
19 * and crash. Until somebody fix omap-aes.c and omap_hwmod_3xxx_data.c code (no
20 * crash anymore) omap AES support will be disabled for all Nokia N900 devices.
21 * There is "unofficial" version of bootloader which enables AES in L3 firewall
22 * but it is not widely used and to prevent kernel crash rather AES is disabled.
23 * There is also no runtime detection code if AES is disabled in L3 firewall...
24 */
25&aes {
26 status = "disabled";
27};
28
15/ { 29/ {
16 model = "Nokia N900"; 30 model = "Nokia N900";
17 compatible = "nokia,omap3-n900", "ti,omap3430", "ti,omap3"; 31 compatible = "nokia,omap3-n900", "ti,omap3430", "ti,omap3";
diff --git a/arch/arm/boot/dts/omap3-n950-n9.dtsi b/arch/arm/boot/dts/omap3-n950-n9.dtsi
index c41db94ee9c2..800b379d368d 100644
--- a/arch/arm/boot/dts/omap3-n950-n9.dtsi
+++ b/arch/arm/boot/dts/omap3-n950-n9.dtsi
@@ -8,7 +8,7 @@
8 * published by the Free Software Foundation. 8 * published by the Free Software Foundation.
9 */ 9 */
10 10
11#include "omap36xx-hs.dtsi" 11#include "omap36xx.dtsi"
12 12
13/ { 13/ {
14 cpus { 14 cpus {
diff --git a/arch/arm/boot/dts/omap3-n950.dts b/arch/arm/boot/dts/omap3-n950.dts
index 261c5589bfa3..0885b34d5d7d 100644
--- a/arch/arm/boot/dts/omap3-n950.dts
+++ b/arch/arm/boot/dts/omap3-n950.dts
@@ -16,3 +16,40 @@
16 model = "Nokia N950"; 16 model = "Nokia N950";
17 compatible = "nokia,omap3-n950", "ti,omap36xx", "ti,omap3"; 17 compatible = "nokia,omap3-n950", "ti,omap36xx", "ti,omap3";
18}; 18};
19
20&i2c2 {
21 smia_1: camera@10 {
22 compatible = "nokia,smia";
23 reg = <0x10>;
24 /* No reset gpio */
25 vana-supply = <&vaux3>;
26 clocks = <&isp 0>;
27 clock-frequency = <9600000>;
28 nokia,nvm-size = <(16 * 64)>;
29 port {
30 smia_1_1: endpoint {
31 link-frequencies = /bits/ 64 <210000000 333600000 398400000>;
32 clock-lanes = <0>;
33 data-lanes = <1 2>;
34 remote-endpoint = <&csi2a_ep>;
35 };
36 };
37 };
38};
39
40&isp {
41 vdd-csiphy1-supply = <&vaux2>;
42 vdd-csiphy2-supply = <&vaux2>;
43 ports {
44 port@2 {
45 reg = <2>;
46 csi2a_ep: endpoint {
47 remote-endpoint = <&smia_1_1>;
48 clock-lanes = <2>;
49 data-lanes = <3 1>;
50 crc = <1>;
51 lane-polarities = <1 1 1>;
52 };
53 };
54 };
55};
diff --git a/arch/arm/boot/dts/omap3-overo-base.dtsi b/arch/arm/boot/dts/omap3-overo-base.dtsi
index d36bf0250a05..18e1649681c1 100644
--- a/arch/arm/boot/dts/omap3-overo-base.dtsi
+++ b/arch/arm/boot/dts/omap3-overo-base.dtsi
@@ -27,7 +27,6 @@
27 ti,model = "overo"; 27 ti,model = "overo";
28 28
29 ti,mcbsp = <&mcbsp2>; 29 ti,mcbsp = <&mcbsp2>;
30 ti,codec = <&twl_audio>;
31 }; 30 };
32 31
33 /* HS USB Port 2 Power */ 32 /* HS USB Port 2 Power */
diff --git a/arch/arm/boot/dts/omap3-pandora-1ghz.dts b/arch/arm/boot/dts/omap3-pandora-1ghz.dts
new file mode 100644
index 000000000000..9619a28dfd7d
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-pandora-1ghz.dts
@@ -0,0 +1,70 @@
1/*
2 * Copyright (C) 2015
3 * Nikolaus Schaller <hns@goldelico.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
10/*
11 * device tree for OpenPandora 1GHz with DM3730
12 */
13
14/dts-v1/;
15
16#include "omap36xx.dtsi"
17#include "omap3-pandora-common.dtsi"
18
19/ {
20 model = "Pandora Handheld Console 1GHz";
21
22 compatible = "ti,omap36xx", "ti,omap3";
23};
24
25&omap3_pmx_core2 {
26
27 pinctrl-names = "default";
28 pinctrl-0 = <
29 &hsusb2_2_pins
30 &control_pins
31 >;
32
33 hsusb2_2_pins: pinmux_hsusb2_2_pins {
34 pinctrl-single,pins = <
35 OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */
36 OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */
37 OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */
38 OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */
39 OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */
40 OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */
41 >;
42 };
43
44 mmc3_pins: pinmux_mmc3_pins {
45 pinctrl-single,pins = <
46 OMAP3630_CORE2_IOPAD(0x25d8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_clk.sdmmc3_clk */
47 OMAP3630_CORE2_IOPAD(0x25da, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_ctl.sdmmc3_cmd */
48 OMAP3630_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d3.sdmmc3_dat3 */
49 OMAP3630_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d4.sdmmc3_dat0 */
50 OMAP3630_CORE2_IOPAD(0x25e6, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d5.sdmmc3_dat1 */
51 OMAP3630_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d6.sdmmc3_dat2 */
52 >;
53 };
54
55 control_pins: pinmux_control_pins {
56 pinctrl-single,pins = <
57 OMAP3630_CORE2_IOPAD(0x25dc, PIN_INPUT_PULLDOWN | MUX_MODE4) /* etk_d0.gpio_14 = HP_SHUTDOWN */
58 OMAP3630_CORE2_IOPAD(0x25de, PIN_OUTPUT | MUX_MODE4) /* etk_d1.gpio_15 = BT_SHUTDOWN */
59 OMAP3630_CORE2_IOPAD(0x25e0, PIN_OUTPUT | MUX_MODE4) /* etk_d2.gpio_16 = RESET_USB_HOST */
60 OMAP3630_CORE2_IOPAD(0x25ea, PIN_INPUT | MUX_MODE4) /* etk_d7.gpio_21 = WIFI IRQ */
61 OMAP3630_CORE2_IOPAD(0x25ec, PIN_OUTPUT | MUX_MODE4) /* etk_d8.gpio_22 = MSECURE */
62 OMAP3630_CORE2_IOPAD(0x25ee, PIN_OUTPUT | MUX_MODE4) /* etk_d9.gpio_23 = WIFI_POWER */
63 OMAP3_WKUP_IOPAD(0x2a54, PIN_INPUT | MUX_MODE4) /* reserved.gpio_127 = MMC2_WP */
64 OMAP3_WKUP_IOPAD(0x2a56, PIN_INPUT | MUX_MODE4) /* reserved.gpio_126 = MMC1_WP */
65 OMAP3_WKUP_IOPAD(0x2a58, PIN_OUTPUT | MUX_MODE4) /* reserved.gpio_128 = LED_MMC1 */
66 OMAP3_WKUP_IOPAD(0x2a5a, PIN_OUTPUT | MUX_MODE4) /* reserved.gpio_129 = LED_MMC2 */
67
68 >;
69 };
70};
diff --git a/arch/arm/boot/dts/omap3-pandora-600mhz.dts b/arch/arm/boot/dts/omap3-pandora-600mhz.dts
new file mode 100644
index 000000000000..fb803a70a2bb
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-pandora-600mhz.dts
@@ -0,0 +1,65 @@
1/*
2 * Copyright (C) 2015
3 * Nikolaus Schaller <hns@goldelico.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
10/*
11 * device tree for OpenPandora with OMAP3530
12 */
13
14/dts-v1/;
15
16#include "omap34xx.dtsi"
17#include "omap3-pandora-common.dtsi"
18
19/ {
20 model = "Pandora Handheld Console";
21
22 compatible = "ti,omap3";
23};
24
25&omap3_pmx_core2 {
26
27 pinctrl-names = "default";
28 pinctrl-0 = <
29 &hsusb2_2_pins
30 &control_pins
31 >;
32
33 hsusb2_2_pins: pinmux_hsusb2_2_pins {
34 pinctrl-single,pins = <
35 OMAP3430_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3) /* etk_d10.hsusb2_clk */
36 OMAP3430_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3) /* etk_d11.hsusb2_stp */
37 OMAP3430_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d12.hsusb2_dir */
38 OMAP3430_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d13.hsusb2_nxt */
39 OMAP3430_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d14.hsusb2_data0 */
40 OMAP3430_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3) /* etk_d15.hsusb2_data1 */
41 >;
42 };
43
44 mmc3_pins: pinmux_mmc3_pins {
45 pinctrl-single,pins = <
46 OMAP3430_CORE2_IOPAD(0x25d8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_clk.sdmmc3_clk */
47 OMAP3430_CORE2_IOPAD(0x25da, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_ctl.sdmmc3_cmd */
48 OMAP3430_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d3.sdmmc3_dat3 */
49 OMAP3430_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d4.sdmmc3_dat0 */
50 OMAP3430_CORE2_IOPAD(0x25e6, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d5.sdmmc3_dat1 */
51 OMAP3430_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLUP | MUX_MODE2) /* etk_d6.sdmmc3_dat2 */
52 >;
53 };
54
55 control_pins: pinmux_control_pins {
56 pinctrl-single,pins = <
57 OMAP3430_CORE2_IOPAD(0x25dc, PIN_INPUT_PULLDOWN | MUX_MODE4) /* etk_d0.gpio_14 = HP_SHUTDOWN */
58 OMAP3430_CORE2_IOPAD(0x25de, PIN_OUTPUT | MUX_MODE4) /* etk_d1.gpio_15 = BT_SHUTDOWN */
59 OMAP3430_CORE2_IOPAD(0x25e0, PIN_OUTPUT | MUX_MODE4) /* etk_d2.gpio_16 = RESET_USB_HOST */
60 OMAP3430_CORE2_IOPAD(0x25ea, PIN_INPUT | MUX_MODE4) /* etk_d7.gpio_21 = WIFI IRQ */
61 OMAP3430_CORE2_IOPAD(0x25ec, PIN_OUTPUT | MUX_MODE4) /* etk_d8.gpio_22 = MSECURE */
62 OMAP3430_CORE2_IOPAD(0x25ee, PIN_OUTPUT | MUX_MODE4) /* etk_d9.gpio_23 = WIFI_POWER */
63 >;
64 };
65};
diff --git a/arch/arm/boot/dts/omap3-pandora-common.dtsi b/arch/arm/boot/dts/omap3-pandora-common.dtsi
new file mode 100644
index 000000000000..782ab1ff1d08
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-pandora-common.dtsi
@@ -0,0 +1,640 @@
1/*
2 * Copyright (C) 2015
3 * Nikolaus Schaller <hns@goldelico.com>
4 *
5 * Common device tree include for OpenPandora devices.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11
12#include <dt-bindings/input/input.h>
13
14/ {
15 cpus {
16 cpu@0 {
17 cpu0-supply = <&vcc>;
18 };
19 };
20
21 memory {
22 device_type = "memory";
23 reg = <0x80000000 0x20000000>; /* 512 MB */
24 };
25
26 aliases {
27 display0 = &lcd;
28 };
29
30 tv: connector@1 {
31 compatible = "connector-analog-tv";
32 label = "tv";
33
34 port {
35 tv_connector_in: endpoint {
36 remote-endpoint = <&venc_out>;
37 };
38 };
39 };
40
41 gpio-leds {
42
43 compatible = "gpio-leds";
44
45 pinctrl-names = "default";
46 pinctrl-0 = <&led_pins>;
47
48 led@1 {
49 label = "pandora::sd1";
50 gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>; /* GPIO_128 */
51 linux,default-trigger = "mmc0";
52 default-state = "off";
53 };
54
55 led@2 {
56 label = "pandora::sd2";
57 gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; /* GPIO_129 */
58 linux,default-trigger = "mmc1";
59 default-state = "off";
60 };
61
62 led@3 {
63 label = "pandora::bluetooth";
64 gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>; /* GPIO_158 */
65 linux,default-trigger = "heartbeat";
66 default-state = "off";
67 };
68
69 led@4 {
70 label = "pandora::wifi";
71 gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>; /* GPIO_159 */
72 linux,default-trigger = "mmc2";
73 default-state = "off";
74 };
75 };
76
77 gpio-keys {
78 compatible = "gpio-keys";
79
80 pinctrl-names = "default";
81 pinctrl-0 = <&button_pins>;
82
83 up-button {
84 label = "up";
85 linux,code = <KEY_UP>;
86 gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* GPIO_110 */
87 gpio-key,wakeup;
88 };
89
90 down-button {
91 label = "down";
92 linux,code = <KEY_DOWN>;
93 gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; /* GPIO_103 */
94 gpio-key,wakeup;
95 };
96
97 left-button {
98 label = "left";
99 linux,code = <KEY_LEFT>;
100 gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; /* GPIO_96 */
101 gpio-key,wakeup;
102 };
103
104 right-button {
105 label = "right";
106 linux,code = <KEY_RIGHT>;
107 gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; /* GPIO_98 */
108 gpio-key,wakeup;
109 };
110
111 pageup-button {
112 label = "game 1";
113 linux,code = <KEY_PAGEUP>;
114 gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* GPIO_109 */
115 gpio-key,wakeup;
116 };
117
118 pagedown-button {
119 label = "game 3";
120 linux,code = <KEY_PAGEDOWN>;
121 gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; /* GPIO_106 */
122 gpio-key,wakeup;
123 };
124
125 home-button {
126 label = "game 4";
127 linux,code = <KEY_HOME>;
128 gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* GPIO_101 */
129 gpio-key,wakeup;
130 };
131
132 end-button {
133 label = "game 2";
134 linux,code = <KEY_END>;
135 gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* GPIO_111 */
136 gpio-key,wakeup;
137 };
138
139 right-shift {
140 label = "l";
141 linux,code = <KEY_RIGHTSHIFT>;
142 gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* GPIO_102 */
143 gpio-key,wakeup;
144 };
145
146 kp-plus {
147 label = "l2";
148 linux,code = <KEY_KPPLUS>;
149 gpios = <&gpio4 1 GPIO_ACTIVE_LOW>; /* GPIO_97 */
150 gpio-key,wakeup;
151 };
152
153 right-ctrl {
154 label = "r";
155 linux,code = <KEY_RIGHTCTRL>;
156 gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; /* GPIO_105 */
157 gpio-key,wakeup;
158 };
159
160 kp-minus {
161 label = "r2";
162 linux,code = <KEY_KPMINUS>;
163 gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* GPIO_107 */
164 gpio-key,wakeup;
165 };
166
167 left-ctrl {
168 label = "ctrl";
169 linux,code = <KEY_LEFTCTRL>;
170 gpios = <&gpio4 8 GPIO_ACTIVE_LOW>; /* GPIO_104 */
171 gpio-key,wakeup;
172 };
173
174 menu {
175 label = "menu";
176 linux,code = <KEY_MENU>;
177 gpios = <&gpio4 3 GPIO_ACTIVE_LOW>; /* GPIO_99 */
178 gpio-key,wakeup;
179 };
180
181 hold {
182 label = "hold";
183 linux,code = <KEY_COFFEE>;
184 gpios = <&gpio6 16 GPIO_ACTIVE_LOW>; /* GPIO_176 */
185 gpio-key,wakeup;
186 };
187
188 left-alt {
189 label = "alt";
190 linux,code = <KEY_LEFTALT>;
191 gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; /* GPIO_100 */
192 gpio-key,wakeup;
193 };
194
195 lid {
196 label = "lid";
197 linux,code = <0x00>; /* SW_LID lid shut */
198 linux,input-type = <0x05>; /* EV_SW */
199 gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; /* GPIO_108 */
200 };
201 };
202};
203
204&omap3_pmx_core {
205
206 mmc1_pins: pinmux_mmc1_pins {
207 pinctrl-single,pins = <
208 OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
209 OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
210 OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */
211 OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */
212 OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */
213 OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
214 >;
215 };
216
217 mmc2_pins: pinmux_mmc2_pins {
218 pinctrl-single,pins = <
219 OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */
220 OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */
221 OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */
222 OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */
223 OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */
224 OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */
225 OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat4.sdmmc2_dirdat0 */
226 OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat5.sdmmc2_dirdat1 */
227 OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat6.sdmmc2_dircmd */
228 OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE1) /* sdmmc2_dat7.sdmmc2_clkin */
229 >;
230 };
231
232 dss_dpi_pins: pinmux_dss_dpi_pins {
233 pinctrl-single,pins = <
234 OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */
235 OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */
236 OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */
237 OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */
238 OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */
239 OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */
240 OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */
241 OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */
242 OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */
243 OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */
244 OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */
245 OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */
246 OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */
247 OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */
248 OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */
249 OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */
250 OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */
251 OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */
252 OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */
253 OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */
254 OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */
255 OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */
256 OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */
257 OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */
258 OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */
259 OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */
260 OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */
261 OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */
262 OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4) /* GPIO_157 = lcd reset */
263 >;
264 };
265
266 uart3_pins: pinmux_uart3_pins {
267 pinctrl-single,pins = <
268 OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
269 OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
270 >;
271 };
272
273 led_pins: pinmux_leds_pins {
274 pinctrl-single,pins = <
275 OMAP3_CORE1_IOPAD(0x2154, PIN_OUTPUT | MUX_MODE4) /* GPIO_128 */
276 OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4) /* GPIO_129 */
277 OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE4) /* GPIO_158 */
278 OMAP3_CORE1_IOPAD(0x2192, PIN_OUTPUT | MUX_MODE4) /* GPIO_159 */
279 >;
280 };
281
282 button_pins: pinmux_button_pins {
283 pinctrl-single,pins = <
284 OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE4) /* GPIO_96 */
285 OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE4) /* GPIO_97 */
286 OMAP3_CORE1_IOPAD(0x2114, PIN_INPUT | MUX_MODE4) /* GPIO_98 */
287 OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE4) /* GPIO_99 */
288 OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE4) /* GPIO_100 */
289 OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE4) /* GPIO_101 */
290 OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE4) /* GPIO_102 */
291 OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE4) /* GPIO_103 */
292 OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE4) /* GPIO_104 */
293 OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE4) /* GPIO_105 */
294 OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE4) /* GPIO_106 */
295 OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE4) /* GPIO_107 */
296 OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE4) /* GPIO_108 */
297 OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4) /* GPIO_109 */
298 OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT | MUX_MODE4) /* GPIO_110 */
299 OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT | MUX_MODE4) /* GPIO_111 */
300 OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4) /* GPIO_176 */
301 >;
302 };
303
304 penirq_pins: pinmux_penirq_pins {
305 pinctrl-single,pins = <
306 /* here we could enable to wakeup the cpu from suspend by a pen touch */
307 OMAP3_CORE1_IOPAD(0x210c, PIN_INPUT | MUX_MODE4) /* GPIO_94 */
308 >;
309 };
310
311};
312
313&omap3_pmx_core2 {
314 /* define in CPU specific file that includes this one
315 * use either OMAP3430_CORE2_IOPAD() or OMAP3630_CORE2_IOPAD()
316 */
317};
318
319&i2c1 {
320 clock-frequency = <2600000>;
321
322 twl: twl@48 {
323 reg = <0x48>;
324 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
325 interrupt-parent = <&intc>;
326
327 twl_power: power {
328 compatible = "ti,twl4030-power-reset";
329 ti,use_poweroff;
330 };
331
332 twl_audio: audio {
333 compatible = "ti,twl4030-audio";
334
335 codec {
336 ti,ramp_delay_value = <3>;
337 };
338 };
339 };
340};
341
342#include "twl4030.dtsi"
343#include "twl4030_omap3.dtsi"
344
345&twl_keypad {
346 keypad,num-rows = <8>;
347 keypad,num-columns = <6>;
348 linux,keymap = <
349 MATRIX_KEY(0, 0, KEY_9)
350 MATRIX_KEY(0, 1, KEY_8)
351 MATRIX_KEY(0, 2, KEY_I)
352 MATRIX_KEY(0, 3, KEY_J)
353 MATRIX_KEY(0, 4, KEY_N)
354 MATRIX_KEY(0, 5, KEY_M)
355 MATRIX_KEY(1, 0, KEY_0)
356 MATRIX_KEY(1, 1, KEY_7)
357 MATRIX_KEY(1, 2, KEY_U)
358 MATRIX_KEY(1, 3, KEY_H)
359 MATRIX_KEY(1, 4, KEY_B)
360 MATRIX_KEY(1, 5, KEY_SPACE)
361 MATRIX_KEY(2, 0, KEY_BACKSPACE)
362 MATRIX_KEY(2, 1, KEY_6)
363 MATRIX_KEY(2, 2, KEY_Y)
364 MATRIX_KEY(2, 3, KEY_G)
365 MATRIX_KEY(2, 4, KEY_V)
366 MATRIX_KEY(2, 5, KEY_FN)
367 MATRIX_KEY(3, 0, KEY_O)
368 MATRIX_KEY(3, 1, KEY_5)
369 MATRIX_KEY(3, 2, KEY_T)
370 MATRIX_KEY(3, 3, KEY_F)
371 MATRIX_KEY(3, 4, KEY_C)
372 MATRIX_KEY(4, 0, KEY_P)
373 MATRIX_KEY(4, 1, KEY_4)
374 MATRIX_KEY(4, 2, KEY_R)
375 MATRIX_KEY(4, 3, KEY_D)
376 MATRIX_KEY(4, 4, KEY_X)
377 MATRIX_KEY(5, 0, KEY_K)
378 MATRIX_KEY(5, 1, KEY_3)
379 MATRIX_KEY(5, 2, KEY_E)
380 MATRIX_KEY(5, 3, KEY_S)
381 MATRIX_KEY(5, 4, KEY_Z)
382 MATRIX_KEY(6, 0, KEY_L)
383 MATRIX_KEY(6, 1, KEY_2)
384 MATRIX_KEY(6, 2, KEY_W)
385 MATRIX_KEY(6, 3, KEY_A)
386 MATRIX_KEY(6, 4, KEY_RIGHTBRACE)
387 MATRIX_KEY(7, 0, KEY_ENTER)
388 MATRIX_KEY(7, 1, KEY_1)
389 MATRIX_KEY(7, 2, KEY_Q)
390 MATRIX_KEY(7, 3, KEY_LEFTSHIFT)
391 MATRIX_KEY(7, 4, KEY_LEFTBRACE )
392 >;
393};
394
395/* backup battery charger */
396&charger {
397 ti,bb-uvolt = <3200000>;
398 ti,bb-uamp = <150>;
399};
400
401/* MMC2 */
402&vmmc2 {
403 regulator-min-microvolt = <1850000>;
404 regulator-max-microvolt = <3150000>;
405};
406
407/* LCD */
408&vaux1 {
409 regulator-min-microvolt = <3000000>;
410 regulator-max-microvolt = <3000000>;
411};
412
413/* USB Host PHY */
414&vaux2 {
415 regulator-min-microvolt = <1800000>;
416 regulator-max-microvolt = <1800000>;
417};
418
419/* available on expansion connector */
420&vaux3 {
421 regulator-min-microvolt = <2800000>;
422 regulator-max-microvolt = <2800000>;
423};
424
425/* ADS7846 and nubs */
426&vaux4 {
427 regulator-min-microvolt = <2800000>;
428 regulator-max-microvolt = <2800000>;
429};
430
431/* power audio DAC and LID sensor */
432&vsim {
433 regulator-min-microvolt = <2800000>;
434 regulator-max-microvolt = <2800000>;
435 regulator-always-on;
436};
437
438&i2c2 {
439 clock-frequency = <100000>;
440 /* no clients so we should disable clock */
441};
442
443&i2c3 {
444 clock-frequency = <100000>;
445
446 bq27500@55 {
447 compatible = "ti,bq27500";
448 reg = <0x55>;
449 };
450
451};
452
453&usb_otg_hs {
454 interface-type = <0>;
455 usb-phy = <&usb2_phy>;
456 phys = <&usb2_phy>;
457 phy-names = "usb2-phy";
458 mode = <3>;
459 power = <50>;
460};
461
462&mmc1 {
463 pinctrl-names = "default";
464 pinctrl-0 = <&mmc1_pins>;
465 vmmc-supply = <&vmmc1>;
466 bus-width = <4>;
467 cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>;
468 wp-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>; /* GPIO_126 */
469};
470
471&mmc2 {
472 pinctrl-names = "default";
473 pinctrl-0 = <&mmc2_pins>;
474 vmmc-supply = <&vmmc2>;
475 bus-width = <4>;
476 cd-gpios = <&twl_gpio 1 GPIO_ACTIVE_HIGH>;
477 wp-gpios = <&gpio4 31 GPIO_ACTIVE_LOW>; /* GPIO_127 */
478};
479
480/* bluetooth*/
481&uart1 {
482};
483
484/* spare (expansion connector) */
485&uart2 {
486};
487
488/* console (expansion connector) */
489&uart3 {
490 pinctrl-names = "default";
491 pinctrl-0 = <&uart3_pins>;
492 interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
493};
494
495&usbhshost {
496 port2-mode = "ehci-phy";
497};
498
499&gpmc {
500 ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
501
502 nand@0,0 {
503 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
504 nand-bus-width = <16>;
505 ti,nand-ecc-opt = "sw";
506
507 gpmc,sync-clk-ps = <0>;
508 gpmc,cs-on-ns = <0>;
509 gpmc,cs-rd-off-ns = <44>;
510 gpmc,cs-wr-off-ns = <44>;
511 gpmc,adv-on-ns = <6>;
512 gpmc,adv-rd-off-ns = <34>;
513 gpmc,adv-wr-off-ns = <44>;
514 gpmc,we-off-ns = <40>;
515 gpmc,oe-off-ns = <54>;
516 gpmc,access-ns = <64>;
517 gpmc,rd-cycle-ns = <82>;
518 gpmc,wr-cycle-ns = <82>;
519 gpmc,wr-access-ns = <40>;
520 gpmc,wr-data-mux-bus-ns = <0>;
521 gpmc,device-width = <2>;
522
523 #address-cells = <1>;
524 #size-cells = <1>;
525
526 /* u-boot uses mtdparts=nand:512k(xloader),1920k(uboot),128k(uboot-env),10m(boot),-(rootfs) */
527
528 x-loader@0 {
529 label = "xloader";
530 reg = <0 0x80000>;
531 };
532
533 bootloaders@80000 {
534 label = "uboot";
535 reg = <0x80000 0x1e0000>;
536 };
537
538 bootloaders_env@260000 {
539 label = "uboot-env";
540 reg = <0x260000 0x20000>;
541 };
542
543 kernel@280000 {
544 label = "boot";
545 reg = <0x280000 0xa00000>;
546 };
547
548 filesystem@680000 {
549 label = "rootfs";
550 reg = <0xc80000 0>; /* 0 = MTDPART_SIZ_FULL */
551 };
552 };
553};
554
555&mcspi1 {
556 tsc2046@0 {
557 reg = <0>; /* CS0 */
558 compatible = "ti,tsc2046";
559 spi-max-frequency = <1000000>;
560 pinctrl-names = "default";
561 pinctrl-0 = <&penirq_pins>;
562 interrupt-parent = <&gpio3>;
563 interrupts = <30 0>; /* GPIO_94 */
564 pendown-gpio = <&gpio3 30 0>;
565 vcc-supply = <&vaux4>;
566
567 ti,x-min = /bits/ 16 <0>;
568 ti,x-max = /bits/ 16 <8000>;
569 ti,y-min = /bits/ 16 <0>;
570 ti,y-max = /bits/ 16 <4800>;
571 ti,x-plate-ohms = /bits/ 16 <40>;
572 ti,pressure-max = /bits/ 16 <255>;
573
574 linux,wakeup;
575 };
576
577 lcd: lcd@1 {
578 reg = <1>; /* CS1 */
579 compatible = "omapdss,tpo,td043mtea1";
580 spi-max-frequency = <100000>;
581 spi-cpol;
582 spi-cpha;
583
584 label = "lcd";
585 reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>; /* GPIO_157 */
586 vcc-supply = <&vaux1>;
587
588 port {
589 lcd_in: endpoint {
590 remote-endpoint = <&dpi_out>;
591 };
592 };
593 };
594
595
596};
597
598/* n/a - used as GPIOs */
599&mcbsp1 {
600};
601
602/* audio DAC */
603&mcbsp2 {
604};
605
606/* bluetooth */
607&mcbsp3 {
608};
609
610/* to twl4030*/
611&mcbsp4 {
612};
613
614&venc {
615 status = "ok";
616
617 vdda-supply = <&vdac>;
618
619 port {
620 venc_out: endpoint {
621 remote-endpoint = <&tv_connector_in>;
622 ti,channels = <2>;
623 };
624 };
625};
626
627&dss {
628 pinctrl-names = "default";
629 pinctrl-0 = < &dss_dpi_pins >;
630
631 status = "ok";
632 vdds_dsi-supply = <&vpll2>;
633
634 port {
635 dpi_out: endpoint {
636 remote-endpoint = <&lcd_in>;
637 data-lines = <24>;
638 };
639 };
640};
diff --git a/arch/arm/boot/dts/omap3-tao3530.dtsi b/arch/arm/boot/dts/omap3-tao3530.dtsi
index e89820a6776e..7bd8d9a4f67f 100644
--- a/arch/arm/boot/dts/omap3-tao3530.dtsi
+++ b/arch/arm/boot/dts/omap3-tao3530.dtsi
@@ -8,7 +8,16 @@
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10 10
11#include "omap34xx-hs.dtsi" 11#include "omap34xx.dtsi"
12
13/* Secure omaps have some devices inaccessible depending on the firmware */
14&aes {
15 status = "disabled";
16};
17
18&sham {
19 status = "disabled";
20};
12 21
13/ { 22/ {
14 cpus { 23 cpus {
@@ -45,7 +54,6 @@
45 54
46 /* McBSP2 is used for onboard sound, same as on beagle */ 55 /* McBSP2 is used for onboard sound, same as on beagle */
47 ti,mcbsp = <&mcbsp2>; 56 ti,mcbsp = <&mcbsp2>;
48 ti,codec = <&twl_audio>;
49 }; 57 };
50 58
51 /* Regulator to enable/switch the vcc of the Wifi module */ 59 /* Regulator to enable/switch the vcc of the Wifi module */
diff --git a/arch/arm/boot/dts/omap34xx-hs.dtsi b/arch/arm/boot/dts/omap34xx-hs.dtsi
deleted file mode 100644
index 1ff626489546..000000000000
--- a/arch/arm/boot/dts/omap34xx-hs.dtsi
+++ /dev/null
@@ -1,16 +0,0 @@
1/* Disabled modules for secure omaps */
2
3#include "omap34xx.dtsi"
4
5/* Secure omaps have some devices inaccessible depending on the firmware */
6&aes {
7 status = "disabled";
8};
9
10&sham {
11 status = "disabled";
12};
13
14&timer12 {
15 status = "disabled";
16};
diff --git a/arch/arm/boot/dts/omap34xx.dtsi b/arch/arm/boot/dts/omap34xx.dtsi
index 3819c1e91591..4f6b2d5b1902 100644
--- a/arch/arm/boot/dts/omap34xx.dtsi
+++ b/arch/arm/boot/dts/omap34xx.dtsi
@@ -8,6 +8,8 @@
8 * kind, whether express or implied. 8 * kind, whether express or implied.
9 */ 9 */
10 10
11#include <dt-bindings/media/omap3-isp.h>
12
11#include "omap3.dtsi" 13#include "omap3.dtsi"
12 14
13/ { 15/ {
@@ -37,6 +39,21 @@
37 pinctrl-single,register-width = <16>; 39 pinctrl-single,register-width = <16>;
38 pinctrl-single,function-mask = <0xff1f>; 40 pinctrl-single,function-mask = <0xff1f>;
39 }; 41 };
42
43 isp: isp@480bc000 {
44 compatible = "ti,omap3-isp";
45 reg = <0x480bc000 0x12fc
46 0x480bd800 0x017c>;
47 interrupts = <24>;
48 iommus = <&mmu_isp>;
49 syscon = <&scm_conf 0xdc>;
50 ti,phy-type = <OMAP3ISP_PHY_TYPE_COMPLEX_IO>;
51 #clock-cells = <1>;
52 ports {
53 #address-cells = <1>;
54 #size-cells = <0>;
55 };
56 };
40 }; 57 };
41}; 58};
42 59
diff --git a/arch/arm/boot/dts/omap36xx-hs.dtsi b/arch/arm/boot/dts/omap36xx-hs.dtsi
deleted file mode 100644
index 2c7febb0e016..000000000000
--- a/arch/arm/boot/dts/omap36xx-hs.dtsi
+++ /dev/null
@@ -1,16 +0,0 @@
1/* Disabled modules for secure omaps */
2
3#include "omap36xx.dtsi"
4
5/* Secure omaps have some devices inaccessible depending on the firmware */
6&aes {
7 status = "disabled";
8};
9
10&sham {
11 status = "disabled";
12};
13
14&timer12 {
15 status = "disabled";
16};
diff --git a/arch/arm/boot/dts/omap36xx.dtsi b/arch/arm/boot/dts/omap36xx.dtsi
index 541704a59a5a..86253de5a97a 100644
--- a/arch/arm/boot/dts/omap36xx.dtsi
+++ b/arch/arm/boot/dts/omap36xx.dtsi
@@ -8,6 +8,8 @@
8 * kind, whether express or implied. 8 * kind, whether express or implied.
9 */ 9 */
10 10
11#include <dt-bindings/media/omap3-isp.h>
12
11#include "omap3.dtsi" 13#include "omap3.dtsi"
12 14
13/ { 15/ {
@@ -69,6 +71,21 @@
69 pinctrl-single,register-width = <16>; 71 pinctrl-single,register-width = <16>;
70 pinctrl-single,function-mask = <0xff1f>; 72 pinctrl-single,function-mask = <0xff1f>;
71 }; 73 };
74
75 isp: isp@480bc000 {
76 compatible = "ti,omap3-isp";
77 reg = <0x480bc000 0x12fc
78 0x480bd800 0x0600>;
79 interrupts = <24>;
80 iommus = <&mmu_isp>;
81 syscon = <&scm_conf 0x2f0>;
82 ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>;
83 #clock-cells = <1>;
84 ports {
85 #address-cells = <1>;
86 #size-cells = <0>;
87 };
88 };
72 }; 89 };
73}; 90};
74 91