aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2014-03-02 17:22:03 -0500
committerTony Lindgren <tony@atomide.com>2014-03-02 17:22:03 -0500
commitf777ba1780584b100ab9664cc06d04f3bb273a84 (patch)
tree865813eb0078530ca3b036c0c3eee6ce33f9315f /arch/arm
parentf68e355c86cff91e5266cf937ea24fcba0641900 (diff)
parent1a5fe3ca5ea192d4309dd61f3626b79ff38693c2 (diff)
Merge tag 'for_3.15/dts_signed' of git://git.kernel.org/pub/scm/linux/kernel/git/bcousson/linux-omap-dt into omap-for-v3.15/dt
Add craneboard devices Add more N900 devices Add am43x-epos-evm and am437x-gp-evm devices Add OMAP4 DMM devices Conflicts: arch/arm/boot/dts/am43x-epos-evm.dts arch/arm/boot/dts/dra7.dtsi
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boot/dts/Makefile3
-rw-r--r--arch/arm/boot/dts/am3517-craneboard.dts174
-rw-r--r--arch/arm/boot/dts/am4372.dtsi9
-rw-r--r--arch/arm/boot/dts/am437x-gp-evm.dts100
-rw-r--r--arch/arm/boot/dts/am43x-epos-evm.dts67
-rw-r--r--arch/arm/boot/dts/at91-sama5d3_xplained.dts229
-rw-r--r--arch/arm/boot/dts/at91sam9263.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9n12ek.dts4
-rw-r--r--arch/arm/boot/dts/dra7.dtsi7
-rw-r--r--arch/arm/boot/dts/omap3-n900.dts90
-rw-r--r--arch/arm/boot/dts/omap3430-sdp.dts4
-rw-r--r--arch/arm/boot/dts/omap4.dtsi7
-rw-r--r--arch/arm/boot/dts/omap5.dtsi7
-rw-r--r--arch/arm/boot/dts/sama5d3.dtsi2
-rw-r--r--arch/arm/boot/dts/ste-href.dtsi1
-rw-r--r--arch/arm/boot/dts/sun4i-a10.dtsi4
-rw-r--r--arch/arm/boot/dts/sun5i-a10s.dtsi4
-rw-r--r--arch/arm/boot/dts/sun7i-a20.dtsi4
-rw-r--r--arch/arm/boot/dts/twl4030.dtsi7
-rw-r--r--arch/arm/configs/multi_v7_defconfig1
-rw-r--r--arch/arm/mach-hisi/Kconfig2
-rw-r--r--arch/arm/mach-imx/clk-imx6q.c3
-rw-r--r--arch/arm/mach-imx/clk-imx6sl.c3
-rw-r--r--arch/arm/mach-imx/pm-imx6q.c2
-rw-r--r--arch/arm/mach-moxart/Kconfig1
-rw-r--r--arch/arm/mach-omap2/Kconfig2
-rw-r--r--arch/arm/mach-pxa/am300epd.c1
-rw-r--r--arch/arm/mach-pxa/include/mach/balloon3.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/corgi.h1
-rw-r--r--arch/arm/mach-pxa/include/mach/csb726.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/gumstix.h1
-rw-r--r--arch/arm/mach-pxa/include/mach/idp.h1
-rw-r--r--arch/arm/mach-pxa/include/mach/palmld.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/palmt5.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/palmtc.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/palmtx.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/pcm027.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/pcm990_baseboard.h1
-rw-r--r--arch/arm/mach-pxa/include/mach/poodle.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/spitz.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/tosa.h2
-rw-r--r--arch/arm/mach-pxa/include/mach/trizeps4.h2
-rw-r--r--arch/arm/mach-shmobile/Kconfig2
-rw-r--r--arch/arm/mach-zynq/common.c14
44 files changed, 766 insertions, 16 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4bd70db752f1..fcce17c14bc2 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -38,6 +38,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb
38dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb 38dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb
39dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb 39dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb
40# sama5d3 40# sama5d3
41dtb-$(CONFIG_ARCH_AT91) += at91-sama5d3_xplained.dtb
41dtb-$(CONFIG_ARCH_AT91) += sama5d31ek.dtb 42dtb-$(CONFIG_ARCH_AT91) += sama5d31ek.dtb
42dtb-$(CONFIG_ARCH_AT91) += sama5d33ek.dtb 43dtb-$(CONFIG_ARCH_AT91) += sama5d33ek.dtb
43dtb-$(CONFIG_ARCH_AT91) += sama5d34ek.dtb 44dtb-$(CONFIG_ARCH_AT91) += sama5d34ek.dtb
@@ -231,9 +232,11 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
231 am335x-boneblack.dtb \ 232 am335x-boneblack.dtb \
232 am335x-nano.dtb \ 233 am335x-nano.dtb \
233 am335x-base0033.dtb \ 234 am335x-base0033.dtb \
235 am3517-craneboard.dtb \
234 am3517-evm.dtb \ 236 am3517-evm.dtb \
235 am3517_mt_ventoux.dtb \ 237 am3517_mt_ventoux.dtb \
236 am43x-epos-evm.dtb \ 238 am43x-epos-evm.dtb \
239 am437x-gp-evm.dtb \
237 dra7-evm.dtb 240 dra7-evm.dtb
238dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb 241dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb
239dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb 242dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
diff --git a/arch/arm/boot/dts/am3517-craneboard.dts b/arch/arm/boot/dts/am3517-craneboard.dts
new file mode 100644
index 000000000000..2d40b3f241cd
--- /dev/null
+++ b/arch/arm/boot/dts/am3517-craneboard.dts
@@ -0,0 +1,174 @@
1/*
2 * See craneboard.org for more details
3 *
4 * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10/dts-v1/;
11
12#include "am3517.dtsi"
13
14/ {
15 model = "TI AM3517 CraneBoard (TMDSEVM3517)";
16 compatible = "ti,am3517-craneboard", "ti,am3517", "ti,omap3";
17
18 memory {
19 device_type = "memory";
20 reg = <0x80000000 0x10000000>; /* 256 MB */
21 };
22
23 vbat: fixedregulator@0 {
24 compatible = "regulator-fixed";
25 regulator-name = "vbat";
26 regulator-min-microvolt = <5000000>;
27 regulator-max-microvolt = <5000000>;
28 regulator-boot-on;
29 };
30};
31
32&davinci_emac {
33 status = "okay";
34};
35
36&davinci_mdio {
37 status = "okay";
38};
39
40&i2c1 {
41 clock-frequency = <2600000>;
42
43 tps: tps@2d {
44 reg = <0x2d>;
45 };
46};
47
48&i2c2 {
49 clock-frequency = <400000>;
50 /* goes to expansion connector */
51 status = "disabled";
52};
53
54&i2c3 {
55 clock-frequency = <400000>;
56 /* goes to expansion connector */
57 status = "disabled";
58};
59
60&mmc1 {
61 vmmc-supply = <&vdd2_reg>;
62 bus-width = <8>;
63};
64
65&mmc2 {
66 /* goes to expansion connector */
67 status = "disabled";
68};
69
70&mmc3 {
71 /* goes to expansion connector */
72 status = "disabled";
73};
74
75#include "tps65910.dtsi"
76
77&omap3_pmx_core {
78 tps_pins: pinmux_tps_pins {
79 pinctrl-single,pins = <
80 0x1b0 (PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq.sys_nirq */
81 >;
82 };
83};
84
85&tps {
86 pinctrl-names = "default";
87 pinctrl-0 = <&tps_pins>;
88
89 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
90 interrupt-parent = <&intc>;
91
92 ti,en-ck32k-xtal;
93
94 vcc1-supply = <&vbat>;
95 vcc2-supply = <&vbat>;
96 vcc3-supply = <&vbat>;
97 vcc4-supply = <&vbat>;
98 vcc5-supply = <&vbat>;
99 vcc6-supply = <&vbat>;
100 vcc7-supply = <&vbat>;
101 vccio-supply = <&vbat>;
102
103 regulators {
104 vrtc_reg: regulator@0 {
105 regulator-always-on;
106 };
107
108 vio_reg: regulator@1 {
109 regulator-always-on;
110 };
111
112 /*
113 * Unused:
114 * VDIG1=2.7V,300mA max
115 * VDIG2=1.8V,300mA max
116 */
117
118 vpll_reg: regulator@7 {
119 /* VDDS_DPLL_1V8 */
120 regulator-min-microvolt = <1800000>;
121 regulator-max-microvolt = <1800000>;
122 regulator-always-on;
123 };
124
125 vaux1_reg: regulator@9 {
126 /* VDDS_SRAM_1V8 */
127 regulator-min-microvolt = <1800000>;
128 regulator-max-microvolt = <1800000>;
129 regulator-always-on;
130 };
131
132 vaux2_reg: regulator@10 {
133 /* VDDA1P8V_USBPHY */
134 regulator-min-microvolt = <1800000>;
135 regulator-max-microvolt = <1800000>;
136 regulator-always-on;
137 };
138
139 /* VAUX33 unused */
140
141 vdac_reg: regulator@8 {
142 /* VDDA_DAC_1V8 */
143 regulator-min-microvolt = <1800000>;
144 regulator-max-microvolt = <1800000>;
145 regulator-always-on;
146 };
147
148 vmmc_reg: regulator@12 {
149 /* VDDA3P3V_USBPHY */
150 regulator-min-microvolt = <3300000>;
151 regulator-max-microvolt = <3300000>;
152 regulator-always-on;
153 };
154
155 vdd1_reg: regulator@2 {
156 /* VDD_CORE */
157 regulator-name = "vdd_core";
158 regulator-min-microvolt = <1200000>;
159 regulator-max-microvolt = <1200000>;
160 regulator-boot-on;
161 regulator-always-on;
162 };
163
164 vdd2_reg: regulator@3 {
165 /* VDDSHV_3V3 */
166 regulator-name = "vdd_shv";
167 regulator-min-microvolt = <3300000>;
168 regulator-max-microvolt = <3300000>;
169 regulator-always-on;
170 };
171
172 /* VDD3 unused */
173 };
174};
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index a4555bedd713..b687869b8298 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -533,6 +533,7 @@
533 533
534 ecap0: ecap@48300100 { 534 ecap0: ecap@48300100 {
535 compatible = "ti,am4372-ecap","ti,am33xx-ecap"; 535 compatible = "ti,am4372-ecap","ti,am33xx-ecap";
536 #pwm-cells = <3>;
536 reg = <0x48300100 0x80>; 537 reg = <0x48300100 0x80>;
537 ti,hwmods = "ecap0"; 538 ti,hwmods = "ecap0";
538 status = "disabled"; 539 status = "disabled";
@@ -540,6 +541,7 @@
540 541
541 ehrpwm0: ehrpwm@48300200 { 542 ehrpwm0: ehrpwm@48300200 {
542 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; 543 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
544 #pwm-cells = <3>;
543 reg = <0x48300200 0x80>; 545 reg = <0x48300200 0x80>;
544 ti,hwmods = "ehrpwm0"; 546 ti,hwmods = "ehrpwm0";
545 status = "disabled"; 547 status = "disabled";
@@ -557,6 +559,7 @@
557 559
558 ecap1: ecap@48302100 { 560 ecap1: ecap@48302100 {
559 compatible = "ti,am4372-ecap","ti,am33xx-ecap"; 561 compatible = "ti,am4372-ecap","ti,am33xx-ecap";
562 #pwm-cells = <3>;
560 reg = <0x48302100 0x80>; 563 reg = <0x48302100 0x80>;
561 ti,hwmods = "ecap1"; 564 ti,hwmods = "ecap1";
562 status = "disabled"; 565 status = "disabled";
@@ -564,6 +567,7 @@
564 567
565 ehrpwm1: ehrpwm@48302200 { 568 ehrpwm1: ehrpwm@48302200 {
566 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; 569 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
570 #pwm-cells = <3>;
567 reg = <0x48302200 0x80>; 571 reg = <0x48302200 0x80>;
568 ti,hwmods = "ehrpwm1"; 572 ti,hwmods = "ehrpwm1";
569 status = "disabled"; 573 status = "disabled";
@@ -581,6 +585,7 @@
581 585
582 ecap2: ecap@48304100 { 586 ecap2: ecap@48304100 {
583 compatible = "ti,am4372-ecap","ti,am33xx-ecap"; 587 compatible = "ti,am4372-ecap","ti,am33xx-ecap";
588 #pwm-cells = <3>;
584 reg = <0x48304100 0x80>; 589 reg = <0x48304100 0x80>;
585 ti,hwmods = "ecap2"; 590 ti,hwmods = "ecap2";
586 status = "disabled"; 591 status = "disabled";
@@ -588,6 +593,7 @@
588 593
589 ehrpwm2: ehrpwm@48304200 { 594 ehrpwm2: ehrpwm@48304200 {
590 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; 595 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
596 #pwm-cells = <3>;
591 reg = <0x48304200 0x80>; 597 reg = <0x48304200 0x80>;
592 ti,hwmods = "ehrpwm2"; 598 ti,hwmods = "ehrpwm2";
593 status = "disabled"; 599 status = "disabled";
@@ -605,6 +611,7 @@
605 611
606 ehrpwm3: ehrpwm@48306200 { 612 ehrpwm3: ehrpwm@48306200 {
607 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; 613 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
614 #pwm-cells = <3>;
608 reg = <0x48306200 0x80>; 615 reg = <0x48306200 0x80>;
609 ti,hwmods = "ehrpwm3"; 616 ti,hwmods = "ehrpwm3";
610 status = "disabled"; 617 status = "disabled";
@@ -622,6 +629,7 @@
622 629
623 ehrpwm4: ehrpwm@48308200 { 630 ehrpwm4: ehrpwm@48308200 {
624 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; 631 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
632 #pwm-cells = <3>;
625 reg = <0x48308200 0x80>; 633 reg = <0x48308200 0x80>;
626 ti,hwmods = "ehrpwm4"; 634 ti,hwmods = "ehrpwm4";
627 status = "disabled"; 635 status = "disabled";
@@ -639,6 +647,7 @@
639 647
640 ehrpwm5: ehrpwm@4830a200 { 648 ehrpwm5: ehrpwm@4830a200 {
641 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm"; 649 compatible = "ti,am4372-ehrpwm","ti,am33xx-ehrpwm";
650 #pwm-cells = <3>;
642 reg = <0x4830a200 0x80>; 651 reg = <0x4830a200 0x80>;
643 ti,hwmods = "ehrpwm5"; 652 ti,hwmods = "ehrpwm5";
644 status = "disabled"; 653 status = "disabled";
diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts
new file mode 100644
index 000000000000..4eb72b803d6d
--- /dev/null
+++ b/arch/arm/boot/dts/am437x-gp-evm.dts
@@ -0,0 +1,100 @@
1/*
2 * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.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
9/* AM437x GP EVM */
10
11/dts-v1/;
12
13#include "am4372.dtsi"
14#include <dt-bindings/pinctrl/am43xx.h>
15#include <dt-bindings/pwm/pwm.h>
16#include <dt-bindings/gpio/gpio.h>
17
18/ {
19 model = "TI AM437x GP EVM";
20 compatible = "ti,am437x-gp-evm","ti,am4372","ti,am43";
21
22 backlight {
23 compatible = "pwm-backlight";
24 pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
25 brightness-levels = <0 51 53 56 62 75 101 152 255>;
26 default-brightness-level = <8>;
27 };
28
29 matrix_keypad: matrix_keypad@0 {
30 compatible = "gpio-matrix-keypad";
31 debounce-delay-ms = <5>;
32 col-scan-delay-us = <2>;
33
34 row-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH /* Bank3, pin21 */
35 &gpio4 3 GPIO_ACTIVE_HIGH /* Bank4, pin3 */
36 &gpio4 2 GPIO_ACTIVE_HIGH>; /* Bank4, pin2 */
37
38 col-gpios = <&gpio3 19 GPIO_ACTIVE_HIGH /* Bank3, pin19 */
39 &gpio3 20 GPIO_ACTIVE_HIGH>; /* Bank3, pin20 */
40
41 linux,keymap = <0x00000201 /* P1 */
42 0x00010202 /* P2 */
43 0x01000067 /* UP */
44 0x0101006a /* RIGHT */
45 0x02000069 /* LEFT */
46 0x0201006c>; /* DOWN */
47 };
48};
49
50&am43xx_pinmux {
51 i2c0_pins: i2c0_pins {
52 pinctrl-single,pins = <
53 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
54 0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */
55 >;
56 };
57
58 i2c1_pins: i2c1_pins {
59 pinctrl-single,pins = <
60 0x15c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* spi0_cs0.i2c1_scl */
61 0x158 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* spi0_d1.i2c1_sda */
62 >;
63 };
64
65 ecap0_pins: backlight_pins {
66 pinctrl-single,pins = <
67 0x164 MUX_MODE0 /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
68 >;
69 };
70};
71
72&i2c0 {
73 status = "okay";
74 pinctrl-names = "default";
75 pinctrl-0 = <&i2c0_pins>;
76};
77
78&i2c1 {
79 status = "okay";
80 pinctrl-names = "default";
81 pinctrl-0 = <&i2c1_pins>;
82};
83
84&epwmss0 {
85 status = "okay";
86};
87
88&ecap0 {
89 status = "okay";
90 pinctrl-names = "default";
91 pinctrl-0 = <&ecap0_pins>;
92};
93
94&gpio3 {
95 status = "okay";
96};
97
98&gpio4 {
99 status = "okay";
100};
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index 15aa70822bdf..a3a53ce84f16 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -13,6 +13,7 @@
13#include "am4372.dtsi" 13#include "am4372.dtsi"
14#include <dt-bindings/pinctrl/am43xx.h> 14#include <dt-bindings/pinctrl/am43xx.h>
15#include <dt-bindings/gpio/gpio.h> 15#include <dt-bindings/gpio/gpio.h>
16#include <dt-bindings/pwm/pwm.h>
16 17
17/ { 18/ {
18 model = "TI AM43x EPOS EVM"; 19 model = "TI AM43x EPOS EVM";
@@ -100,6 +101,37 @@
100 0x9c (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */ 101 0x9c (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */
101 >; 102 >;
102 }; 103 };
104
105 ecap0_pins: backlight_pins {
106 pinctrl-single,pins = <
107 0x164 MUX_MODE0 /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
108 >;
109 };
110
111 i2c2_pins: pinmux_i2c2_pins {
112 pinctrl-single,pins = <
113 0x1c0 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE8) /* i2c2_sda.i2c2_sda */
114 0x1c4 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE8) /* i2c2_scl.i2c2_scl */
115 >;
116 };
117
118 spi0_pins: pinmux_spi0_pins {
119 pinctrl-single,pins = <
120 0x150 (PIN_INPUT | MUX_MODE0) /* spi0_clk.spi0_clk */
121 0x154 (PIN_OUTPUT | MUX_MODE0) /* spi0_d0.spi0_d0 */
122 0x158 (PIN_INPUT | MUX_MODE0) /* spi0_d1.spi0_d1 */
123 0x15c (PIN_OUTPUT | MUX_MODE0) /* spi0_cs0.spi0_cs0 */
124 >;
125 };
126
127 spi1_pins: pinmux_spi1_pins {
128 pinctrl-single,pins = <
129 0x190 (PIN_INPUT | MUX_MODE3) /* mcasp0_aclkx.spi1_clk */
130 0x194 (PIN_OUTPUT | MUX_MODE3) /* mcasp0_fsx.spi1_d0 */
131 0x198 (PIN_INPUT | MUX_MODE3) /* mcasp0_axr0.spi1_d1 */
132 0x19c (PIN_OUTPUT | MUX_MODE3) /* mcasp0_ahclkr.spi1_cs0 */
133 >;
134 };
103 }; 135 };
104 136
105 matrix_keypad: matrix_keypad@0 { 137 matrix_keypad: matrix_keypad@0 {
@@ -134,6 +166,13 @@
134 0x0203006c /* DOWN */ 166 0x0203006c /* DOWN */
135 0x03030069>; /* LEFT */ 167 0x03030069>; /* LEFT */
136 }; 168 };
169
170 backlight {
171 compatible = "pwm-backlight";
172 pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
173 brightness-levels = <0 51 53 56 62 75 101 152 255>;
174 default-brightness-level = <8>;
175 };
137}; 176};
138 177
139&mmc1 { 178&mmc1 {
@@ -190,6 +229,12 @@
190 }; 229 };
191}; 230};
192 231
232&i2c2 {
233 pinctrl-names = "default";
234 pinctrl-0 = <&i2c2_pins>;
235 status = "okay";
236};
237
193&gpio0 { 238&gpio0 {
194 status = "okay"; 239 status = "okay";
195}; 240};
@@ -291,3 +336,25 @@
291 }; 336 };
292 }; 337 };
293}; 338};
339
340&epwmss0 {
341 status = "okay";
342};
343
344&ecap0 {
345 status = "okay";
346 pinctrl-names = "default";
347 pinctrl-0 = <&ecap0_pins>;
348};
349
350&spi0 {
351 pinctrl-names = "default";
352 pinctrl-0 = <&spi0_pins>;
353 status = "okay";
354};
355
356&spi1 {
357 pinctrl-names = "default";
358 pinctrl-0 = <&spi1_pins>;
359 status = "okay";
360};
diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
new file mode 100644
index 000000000000..ce1375595e5f
--- /dev/null
+++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
@@ -0,0 +1,229 @@
1/*
2 * at91-sama5d3_xplained.dts - Device Tree file for the SAMA5D3 Xplained board
3 *
4 * Copyright (C) 2014 Atmel,
5 * 2014 Nicolas Ferre <nicolas.ferre@atmel.com>
6 *
7 * Licensed under GPLv2 or later.
8 */
9/dts-v1/;
10#include "sama5d36.dtsi"
11
12/ {
13 model = "SAMA5D3 Xplained";
14 compatible = "atmel,sama5d3-xplained", "atmel,sama5d3", "atmel,sama5";
15
16 chosen {
17 bootargs = "console=ttyS0,115200";
18 };
19
20 memory {
21 reg = <0x20000000 0x10000000>;
22 };
23
24 ahb {
25 apb {
26 mmc0: mmc@f0000000 {
27 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
28 status = "okay";
29 slot@0 {
30 reg = <0>;
31 bus-width = <8>;
32 cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
33 };
34 };
35
36 spi0: spi@f0004000 {
37 cs-gpios = <&pioD 13 0>;
38 status = "okay";
39 };
40
41 can0: can@f000c000 {
42 status = "okay";
43 };
44
45 i2c0: i2c@f0014000 {
46 status = "okay";
47 };
48
49 i2c1: i2c@f0018000 {
50 status = "okay";
51 };
52
53 macb0: ethernet@f0028000 {
54 phy-mode = "rgmii";
55 status = "okay";
56 };
57
58 usart0: serial@f001c000 {
59 status = "okay";
60 };
61
62 usart1: serial@f0020000 {
63 pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
64 status = "okay";
65 };
66
67 uart0: serial@f0024000 {
68 status = "okay";
69 };
70
71 mmc1: mmc@f8000000 {
72 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
73 status = "okay";
74 slot@0 {
75 reg = <0>;
76 bus-width = <4>;
77 cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>;
78 };
79 };
80
81 spi1: spi@f8008000 {
82 cs-gpios = <&pioC 25 0>, <0>, <0>, <&pioD 16 0>;
83 status = "okay";
84 };
85
86 adc0: adc@f8018000 {
87 pinctrl-0 = <
88 &pinctrl_adc0_adtrg
89 &pinctrl_adc0_ad0
90 &pinctrl_adc0_ad1
91 &pinctrl_adc0_ad2
92 &pinctrl_adc0_ad3
93 &pinctrl_adc0_ad4
94 &pinctrl_adc0_ad5
95 &pinctrl_adc0_ad6
96 &pinctrl_adc0_ad7
97 &pinctrl_adc0_ad8
98 &pinctrl_adc0_ad9
99 >;
100 status = "okay";
101 };
102
103 i2c2: i2c@f801c000 {
104 dmas = <0>, <0>; /* Do not use DMA for i2c2 */
105 status = "okay";
106 };
107
108 macb1: ethernet@f802c000 {
109 phy-mode = "rmii";
110 status = "okay";
111 };
112
113 dbgu: serial@ffffee00 {
114 status = "okay";
115 };
116
117 pinctrl@fffff200 {
118 board {
119 pinctrl_mmc0_cd: mmc0_cd {
120 atmel,pins =
121 <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
122 };
123
124 pinctrl_mmc1_cd: mmc1_cd {
125 atmel,pins =
126 <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
127 };
128
129 pinctrl_usba_vbus: usba_vbus {
130 atmel,pins =
131 <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */
132 };
133 };
134 };
135
136 pmc: pmc@fffffc00 {
137 main: mainck {
138 clock-frequency = <12000000>;
139 };
140 };
141 };
142
143 nand0: nand@60000000 {
144 nand-bus-width = <8>;
145 nand-ecc-mode = "hw";
146 atmel,has-pmecc;
147 atmel,pmecc-cap = <4>;
148 atmel,pmecc-sector-size = <512>;
149 nand-on-flash-bbt;
150 status = "okay";
151
152 at91bootstrap@0 {
153 label = "at91bootstrap";
154 reg = <0x0 0x40000>;
155 };
156
157 bootloader@40000 {
158 label = "bootloader";
159 reg = <0x40000 0x80000>;
160 };
161
162 bootloaderenv@c0000 {
163 label = "bootloader env";
164 reg = <0xc0000 0xc0000>;
165 };
166
167 dtb@180000 {
168 label = "device tree";
169 reg = <0x180000 0x80000>;
170 };
171
172 kernel@200000 {
173 label = "kernel";
174 reg = <0x200000 0x600000>;
175 };
176
177 rootfs@800000 {
178 label = "rootfs";
179 reg = <0x800000 0x0f800000>;
180 };
181 };
182
183 usb0: gadget@00500000 {
184 atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>; /* PE9, conflicts with A9 */
185 pinctrl-names = "default";
186 pinctrl-0 = <&pinctrl_usba_vbus>;
187 status = "okay";
188 };
189
190 usb1: ohci@00600000 {
191 num-ports = <3>;
192 atmel,vbus-gpio = <0
193 &pioE 3 GPIO_ACTIVE_LOW
194 &pioE 4 GPIO_ACTIVE_LOW
195 >;
196 status = "okay";
197 };
198
199 usb2: ehci@00700000 {
200 status = "okay";
201 };
202 };
203
204 gpio_keys {
205 compatible = "gpio-keys";
206
207 bp3 {
208 label = "PB_USER";
209 gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
210 linux,code = <0x104>;
211 gpio-key,wakeup;
212 };
213 };
214
215 leds {
216 compatible = "gpio-leds";
217
218 d2 {
219 label = "d2";
220 gpios = <&pioE 23 GPIO_ACTIVE_LOW>; /* PE23, conflicts with A23, CTS2 */
221 linux,default-trigger = "heartbeat";
222 };
223
224 d3 {
225 label = "d3";
226 gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
227 };
228 };
229};
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi
index 0042f73068b0..fece8665fb63 100644
--- a/arch/arm/boot/dts/at91sam9263.dtsi
+++ b/arch/arm/boot/dts/at91sam9263.dtsi
@@ -523,7 +523,7 @@
523 }; 523 };
524 524
525 i2c0: i2c@fff88000 { 525 i2c0: i2c@fff88000 {
526 compatible = "atmel,at91sam9263-i2c"; 526 compatible = "atmel,at91sam9260-i2c";
527 reg = <0xfff88000 0x100>; 527 reg = <0xfff88000 0x100>;
528 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>; 528 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>;
529 #address-cells = <1>; 529 #address-cells = <1>;
diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts
index e9487f6f0166..924a6a6ffd0f 100644
--- a/arch/arm/boot/dts/at91sam9n12ek.dts
+++ b/arch/arm/boot/dts/at91sam9n12ek.dts
@@ -124,6 +124,10 @@
124 nand-on-flash-bbt; 124 nand-on-flash-bbt;
125 status = "okay"; 125 status = "okay";
126 }; 126 };
127
128 usb0: ohci@00500000 {
129 status = "okay";
130 };
127 }; 131 };
128 132
129 leds { 133 leds {
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
index 17f3b5adb7c2..499974a50e27 100644
--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -476,6 +476,13 @@
476 #hwlock-cells = <1>; 476 #hwlock-cells = <1>;
477 }; 477 };
478 478
479 dmm@4e000000 {
480 compatible = "ti,omap5-dmm";
481 reg = <0x4e000000 0x800>;
482 interrupts = <0 113 0x4>;
483 ti,hwmods = "dmm";
484 };
485
479 i2c1: i2c@48070000 { 486 i2c1: i2c@48070000 {
480 compatible = "ti,omap4-i2c"; 487 compatible = "ti,omap4-i2c";
481 reg = <0x48070000 0x100>; 488 reg = <0x48070000 0x100>;
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index 6fc85f963530..64aa416ee4c1 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -74,6 +74,11 @@
74 }; 74 };
75 }; 75 };
76 76
77 isp1704: isp1704 {
78 compatible = "nxp,isp1704";
79 nxp,enable-gpio = <&gpio3 3 GPIO_ACTIVE_HIGH>;
80 usb-phy = <&usb2_phy>;
81 };
77}; 82};
78 83
79&omap3_pmx_core { 84&omap3_pmx_core {
@@ -254,6 +259,61 @@
254 }; 259 };
255}; 260};
256 261
262&twl_keypad {
263 linux,keymap = < 0x00000010 /* KEY_Q */
264 0x00010018 /* KEY_O */
265 0x00020019 /* KEY_P */
266 0x00030033 /* KEY_COMMA */
267 0x0004000e /* KEY_BACKSPACE */
268 0x0006001e /* KEY_A */
269 0x0007001f /* KEY_S */
270
271 0x01000011 /* KEY_W */
272 0x01010020 /* KEY_D */
273 0x01020021 /* KEY_F */
274 0x01030022 /* KEY_G */
275 0x01040023 /* KEY_H */
276 0x01050024 /* KEY_J */
277 0x01060025 /* KEY_K */
278 0x01070026 /* KEY_L */
279
280 0x02000012 /* KEY_E */
281 0x02010034 /* KEY_DOT */
282 0x02020067 /* KEY_UP */
283 0x0203001c /* KEY_ENTER */
284 0x0205002c /* KEY_Z */
285 0x0206002d /* KEY_X */
286 0x0207002e /* KEY_C */
287 0x02080043 /* KEY_F9 */
288
289 0x03000013 /* KEY_R */
290 0x0301002f /* KEY_V */
291 0x03020030 /* KEY_B */
292 0x03030031 /* KEY_N */
293 0x03040032 /* KEY_M */
294 0x03050039 /* KEY_SPACE */
295 0x03060039 /* KEY_SPACE */
296 0x03070069 /* KEY_LEFT */
297
298 0x04000014 /* KEY_T */
299 0x0401006c /* KEY_DOWN */
300 0x0402006a /* KEY_RIGHT */
301 0x0404001d /* KEY_LEFTCTRL */
302 0x04050064 /* KEY_RIGHTALT */
303 0x0406002a /* KEY_LEFTSHIFT */
304 0x04080044 /* KEY_F10 */
305
306 0x05000015 /* KEY_Y */
307 0x05080057 /* KEY_F11 */
308
309 0x06000016 /* KEY_U */
310
311 0x07000017 /* KEY_I */
312 0x07010041 /* KEY_F7 */
313 0x07020042 /* KEY_F8 */
314 >;
315};
316
257&twl_gpio { 317&twl_gpio {
258 ti,pullups = <0x0>; 318 ti,pullups = <0x0>;
259 ti,pulldowns = <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */ 319 ti,pulldowns = <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */
@@ -291,6 +351,13 @@
291 DVDD-supply = <&vio>; 351 DVDD-supply = <&vio>;
292 }; 352 };
293 353
354 tsl2563: tsl2563@29 {
355 compatible = "amstaos,tsl2563";
356 reg = <0x29>;
357
358 amstaos,cover-comp-gain = <16>;
359 };
360
294 lp5523: lp5523@32 { 361 lp5523: lp5523@32 {
295 compatible = "national,lp5523"; 362 compatible = "national,lp5523";
296 reg = <0x32>; 363 reg = <0x32>;
@@ -356,6 +423,29 @@
356 compatible = "ti,bq27200"; 423 compatible = "ti,bq27200";
357 reg = <0x55>; 424 reg = <0x55>;
358 }; 425 };
426
427 tpa6130a2: tpa6130a2@60 {
428 compatible = "ti,tpa6130a2";
429 reg = <0x60>;
430
431 Vdd-supply = <&vmmc2>;
432
433 power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* 98 */
434 };
435
436 bq24150a: bq24150a@6b {
437 compatible = "ti,bq24150a";
438 reg = <0x6b>;
439
440 ti,current-limit = <100>;
441 ti,weak-battery-voltage = <3400>;
442 ti,battery-regulation-voltage = <4200>;
443 ti,charge-current = <650>;
444 ti,termination-current = <100>;
445 ti,resistor-sense = <68>;
446
447 ti,usb-charger-detection = <&isp1704>;
448 };
359}; 449};
360 450
361&i2c3 { 451&i2c3 {
diff --git a/arch/arm/boot/dts/omap3430-sdp.dts b/arch/arm/boot/dts/omap3430-sdp.dts
index d48c08558de3..02f69f4a8fd3 100644
--- a/arch/arm/boot/dts/omap3430-sdp.dts
+++ b/arch/arm/boot/dts/omap3430-sdp.dts
@@ -34,6 +34,10 @@
34&mmc1 { 34&mmc1 {
35 vmmc-supply = <&vmmc1>; 35 vmmc-supply = <&vmmc1>;
36 vmmc_aux-supply = <&vsim>; 36 vmmc_aux-supply = <&vsim>;
37 /*
38 * S6-3 must be in ON position for 8 bit mode to function
39 * Else, use 4 bit mode
40 */
37 bus-width = <8>; 41 bus-width = <8>;
38}; 42};
39 43
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 890223780620..afa23bcf6f44 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -566,6 +566,13 @@
566 ti,hwmods = "kbd"; 566 ti,hwmods = "kbd";
567 }; 567 };
568 568
569 dmm@4e000000 {
570 compatible = "ti,omap4-dmm";
571 reg = <0x4e000000 0x800>;
572 interrupts = <0 113 0x4>;
573 ti,hwmods = "dmm";
574 };
575
569 emif1: emif@4c000000 { 576 emif1: emif@4c000000 {
570 compatible = "ti,emif-4d"; 577 compatible = "ti,emif-4d";
571 reg = <0x4c000000 0x100>; 578 reg = <0x4c000000 0x100>;
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index f15c31cebc27..7fe682562dad 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -695,6 +695,13 @@
695 ti,hwmods = "wd_timer2"; 695 ti,hwmods = "wd_timer2";
696 }; 696 };
697 697
698 dmm@4e000000 {
699 compatible = "ti,omap5-dmm";
700 reg = <0x4e000000 0x800>;
701 interrupts = <0 113 0x4>;
702 ti,hwmods = "dmm";
703 };
704
698 emif1: emif@4c000000 { 705 emif1: emif@4c000000 {
699 compatible = "ti,emif-4d5"; 706 compatible = "ti,emif-4d5";
700 ti,hwmods = "emif1"; 707 ti,hwmods = "emif1";
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi
index 52447c17537a..3d5faf85f51b 100644
--- a/arch/arm/boot/dts/sama5d3.dtsi
+++ b/arch/arm/boot/dts/sama5d3.dtsi
@@ -1228,7 +1228,7 @@
1228 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 1228 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
1229 reg = <0x00600000 0x100000>; 1229 reg = <0x00600000 0x100000>;
1230 interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>; 1230 interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
1231 clocks = <&usb>, <&uhphs_clk>, <&udphs_clk>, 1231 clocks = <&usb>, <&uhphs_clk>, <&uhphs_clk>,
1232 <&uhpck>; 1232 <&uhpck>;
1233 clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; 1233 clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck";
1234 status = "disabled"; 1234 status = "disabled";
diff --git a/arch/arm/boot/dts/ste-href.dtsi b/arch/arm/boot/dts/ste-href.dtsi
index 0c1e8d871ed1..6cb9b68e2188 100644
--- a/arch/arm/boot/dts/ste-href.dtsi
+++ b/arch/arm/boot/dts/ste-href.dtsi
@@ -188,7 +188,6 @@
188 msp2: msp@80117000 { 188 msp2: msp@80117000 {
189 pinctrl-names = "default"; 189 pinctrl-names = "default";
190 pinctrl-0 = <&msp2_default_mode>; 190 pinctrl-0 = <&msp2_default_mode>;
191 status = "okay";
192 }; 191 };
193 192
194 msp3: msp@80125000 { 193 msp3: msp@80125000 {
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 040bb0eba152..10666ca8aee1 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -315,7 +315,7 @@
315 ranges; 315 ranges;
316 316
317 emac: ethernet@01c0b000 { 317 emac: ethernet@01c0b000 {
318 compatible = "allwinner,sun4i-emac"; 318 compatible = "allwinner,sun4i-a10-emac";
319 reg = <0x01c0b000 0x1000>; 319 reg = <0x01c0b000 0x1000>;
320 interrupts = <55>; 320 interrupts = <55>;
321 clocks = <&ahb_gates 17>; 321 clocks = <&ahb_gates 17>;
@@ -323,7 +323,7 @@
323 }; 323 };
324 324
325 mdio@01c0b080 { 325 mdio@01c0b080 {
326 compatible = "allwinner,sun4i-mdio"; 326 compatible = "allwinner,sun4i-a10-mdio";
327 reg = <0x01c0b080 0x14>; 327 reg = <0x01c0b080 0x14>;
328 status = "disabled"; 328 status = "disabled";
329 #address-cells = <1>; 329 #address-cells = <1>;
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
index ea16054857a4..64961595e8d6 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
@@ -278,7 +278,7 @@
278 ranges; 278 ranges;
279 279
280 emac: ethernet@01c0b000 { 280 emac: ethernet@01c0b000 {
281 compatible = "allwinner,sun4i-emac"; 281 compatible = "allwinner,sun4i-a10-emac";
282 reg = <0x01c0b000 0x1000>; 282 reg = <0x01c0b000 0x1000>;
283 interrupts = <55>; 283 interrupts = <55>;
284 clocks = <&ahb_gates 17>; 284 clocks = <&ahb_gates 17>;
@@ -286,7 +286,7 @@
286 }; 286 };
287 287
288 mdio@01c0b080 { 288 mdio@01c0b080 {
289 compatible = "allwinner,sun4i-mdio"; 289 compatible = "allwinner,sun4i-a10-mdio";
290 reg = <0x01c0b080 0x14>; 290 reg = <0x01c0b080 0x14>;
291 status = "disabled"; 291 status = "disabled";
292 #address-cells = <1>; 292 #address-cells = <1>;
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 119f066f0d98..9ff09484847b 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -340,7 +340,7 @@
340 ranges; 340 ranges;
341 341
342 emac: ethernet@01c0b000 { 342 emac: ethernet@01c0b000 {
343 compatible = "allwinner,sun4i-emac"; 343 compatible = "allwinner,sun4i-a10-emac";
344 reg = <0x01c0b000 0x1000>; 344 reg = <0x01c0b000 0x1000>;
345 interrupts = <0 55 4>; 345 interrupts = <0 55 4>;
346 clocks = <&ahb_gates 17>; 346 clocks = <&ahb_gates 17>;
@@ -348,7 +348,7 @@
348 }; 348 };
349 349
350 mdio@01c0b080 { 350 mdio@01c0b080 {
351 compatible = "allwinner,sun4i-mdio"; 351 compatible = "allwinner,sun4i-a10-mdio";
352 reg = <0x01c0b080 0x14>; 352 reg = <0x01c0b080 0x14>;
353 status = "disabled"; 353 status = "disabled";
354 #address-cells = <1>; 354 #address-cells = <1>;
diff --git a/arch/arm/boot/dts/twl4030.dtsi b/arch/arm/boot/dts/twl4030.dtsi
index 4217096ee677..86cfc7d15ca7 100644
--- a/arch/arm/boot/dts/twl4030.dtsi
+++ b/arch/arm/boot/dts/twl4030.dtsi
@@ -145,4 +145,11 @@
145 compatible = "ti,twl4030-pwrbutton"; 145 compatible = "ti,twl4030-pwrbutton";
146 interrupts = <8>; 146 interrupts = <8>;
147 }; 147 };
148
149 twl_keypad: keypad {
150 compatible = "ti,twl4030-keypad";
151 interrupts = <1>;
152 keypad,num-rows = <8>;
153 keypad,num-columns = <8>;
154 };
148}; 155};
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index 845bc745706b..ee6982976d66 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -29,6 +29,7 @@ CONFIG_ARCH_OMAP3=y
29CONFIG_ARCH_OMAP4=y 29CONFIG_ARCH_OMAP4=y
30CONFIG_SOC_OMAP5=y 30CONFIG_SOC_OMAP5=y
31CONFIG_SOC_AM33XX=y 31CONFIG_SOC_AM33XX=y
32CONFIG_SOC_DRA7XX=y
32CONFIG_SOC_AM43XX=y 33CONFIG_SOC_AM43XX=y
33CONFIG_ARCH_ROCKCHIP=y 34CONFIG_ARCH_ROCKCHIP=y
34CONFIG_ARCH_SOCFPGA=y 35CONFIG_ARCH_SOCFPGA=y
diff --git a/arch/arm/mach-hisi/Kconfig b/arch/arm/mach-hisi/Kconfig
index 8f4649b301b2..1abae5f6a418 100644
--- a/arch/arm/mach-hisi/Kconfig
+++ b/arch/arm/mach-hisi/Kconfig
@@ -8,7 +8,7 @@ config ARCH_HI3xxx
8 select CLKSRC_OF 8 select CLKSRC_OF
9 select GENERIC_CLOCKEVENTS 9 select GENERIC_CLOCKEVENTS
10 select HAVE_ARM_SCU 10 select HAVE_ARM_SCU
11 select HAVE_ARM_TWD 11 select HAVE_ARM_TWD if SMP
12 select HAVE_SMP 12 select HAVE_SMP
13 select PINCTRL 13 select PINCTRL
14 select PINCTRL_SINGLE 14 select PINCTRL_SINGLE
diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
index af2e582d2b74..4d677f442539 100644
--- a/arch/arm/mach-imx/clk-imx6q.c
+++ b/arch/arm/mach-imx/clk-imx6q.c
@@ -482,6 +482,9 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
482 if (IS_ENABLED(CONFIG_PCI_IMX6)) 482 if (IS_ENABLED(CONFIG_PCI_IMX6))
483 clk_set_parent(clk[lvds1_sel], clk[sata_ref]); 483 clk_set_parent(clk[lvds1_sel], clk[sata_ref]);
484 484
485 /* Set initial power mode */
486 imx6q_set_lpm(WAIT_CLOCKED);
487
485 np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt"); 488 np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt");
486 base = of_iomap(np, 0); 489 base = of_iomap(np, 0);
487 WARN_ON(!base); 490 WARN_ON(!base);
diff --git a/arch/arm/mach-imx/clk-imx6sl.c b/arch/arm/mach-imx/clk-imx6sl.c
index 3781a1853998..4c86f3035205 100644
--- a/arch/arm/mach-imx/clk-imx6sl.c
+++ b/arch/arm/mach-imx/clk-imx6sl.c
@@ -266,6 +266,9 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node)
266 /* Audio-related clocks configuration */ 266 /* Audio-related clocks configuration */
267 clk_set_parent(clks[IMX6SL_CLK_SPDIF0_SEL], clks[IMX6SL_CLK_PLL3_PFD3]); 267 clk_set_parent(clks[IMX6SL_CLK_SPDIF0_SEL], clks[IMX6SL_CLK_PLL3_PFD3]);
268 268
269 /* Set initial power mode */
270 imx6q_set_lpm(WAIT_CLOCKED);
271
269 np = of_find_compatible_node(NULL, NULL, "fsl,imx6sl-gpt"); 272 np = of_find_compatible_node(NULL, NULL, "fsl,imx6sl-gpt");
270 base = of_iomap(np, 0); 273 base = of_iomap(np, 0);
271 WARN_ON(!base); 274 WARN_ON(!base);
diff --git a/arch/arm/mach-imx/pm-imx6q.c b/arch/arm/mach-imx/pm-imx6q.c
index 9d47adc078aa..7a9b98589db7 100644
--- a/arch/arm/mach-imx/pm-imx6q.c
+++ b/arch/arm/mach-imx/pm-imx6q.c
@@ -236,8 +236,6 @@ void __init imx6q_pm_init(void)
236 regmap_update_bits(gpr, IOMUXC_GPR1, IMX6Q_GPR1_GINT, 236 regmap_update_bits(gpr, IOMUXC_GPR1, IMX6Q_GPR1_GINT,
237 IMX6Q_GPR1_GINT); 237 IMX6Q_GPR1_GINT);
238 238
239 /* Set initial power mode */
240 imx6q_set_lpm(WAIT_CLOCKED);
241 239
242 suspend_set_ops(&imx6q_pm_ops); 240 suspend_set_ops(&imx6q_pm_ops);
243} 241}
diff --git a/arch/arm/mach-moxart/Kconfig b/arch/arm/mach-moxart/Kconfig
index ba470d64493b..3795ae28a613 100644
--- a/arch/arm/mach-moxart/Kconfig
+++ b/arch/arm/mach-moxart/Kconfig
@@ -2,7 +2,6 @@ config ARCH_MOXART
2 bool "MOXA ART SoC" if ARCH_MULTI_V4T 2 bool "MOXA ART SoC" if ARCH_MULTI_V4T
3 select CPU_FA526 3 select CPU_FA526
4 select ARM_DMA_MEM_BUFFERABLE 4 select ARM_DMA_MEM_BUFFERABLE
5 select DMA_OF
6 select USE_OF 5 select USE_OF
7 select CLKSRC_OF 6 select CLKSRC_OF
8 select CLKSRC_MMIO 7 select CLKSRC_MMIO
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 653b489479e0..e2ce4f8366a7 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -54,7 +54,7 @@ config SOC_OMAP5
54 select ARM_GIC 54 select ARM_GIC
55 select CPU_V7 55 select CPU_V7
56 select HAVE_ARM_SCU if SMP 56 select HAVE_ARM_SCU if SMP
57 select HAVE_ARM_TWD if LOCAL_TIMERS 57 select HAVE_ARM_TWD if SMP
58 select HAVE_SMP 58 select HAVE_SMP
59 select HAVE_ARM_ARCH_TIMER 59 select HAVE_ARM_ARCH_TIMER
60 select ARM_ERRATA_798181 if SMP 60 select ARM_ERRATA_798181 if SMP
diff --git a/arch/arm/mach-pxa/am300epd.c b/arch/arm/mach-pxa/am300epd.c
index c9f309ae88c5..8b90c4f2d430 100644
--- a/arch/arm/mach-pxa/am300epd.c
+++ b/arch/arm/mach-pxa/am300epd.c
@@ -30,6 +30,7 @@
30 30
31#include <mach/gumstix.h> 31#include <mach/gumstix.h>
32#include <mach/mfp-pxa25x.h> 32#include <mach/mfp-pxa25x.h>
33#include <mach/irqs.h>
33#include <linux/platform_data/video-pxafb.h> 34#include <linux/platform_data/video-pxafb.h>
34 35
35#include "generic.h" 36#include "generic.h"
diff --git a/arch/arm/mach-pxa/include/mach/balloon3.h b/arch/arm/mach-pxa/include/mach/balloon3.h
index 954641e6c8b1..1b0825911e62 100644
--- a/arch/arm/mach-pxa/include/mach/balloon3.h
+++ b/arch/arm/mach-pxa/include/mach/balloon3.h
@@ -14,6 +14,8 @@
14#ifndef ASM_ARCH_BALLOON3_H 14#ifndef ASM_ARCH_BALLOON3_H
15#define ASM_ARCH_BALLOON3_H 15#define ASM_ARCH_BALLOON3_H
16 16
17#include "irqs.h" /* PXA_NR_BUILTIN_GPIO */
18
17enum balloon3_features { 19enum balloon3_features {
18 BALLOON3_FEATURE_OHCI, 20 BALLOON3_FEATURE_OHCI,
19 BALLOON3_FEATURE_MMC, 21 BALLOON3_FEATURE_MMC,
diff --git a/arch/arm/mach-pxa/include/mach/corgi.h b/arch/arm/mach-pxa/include/mach/corgi.h
index f3c3493b468d..c030d955bbd7 100644
--- a/arch/arm/mach-pxa/include/mach/corgi.h
+++ b/arch/arm/mach-pxa/include/mach/corgi.h
@@ -13,6 +13,7 @@
13#ifndef __ASM_ARCH_CORGI_H 13#ifndef __ASM_ARCH_CORGI_H
14#define __ASM_ARCH_CORGI_H 1 14#define __ASM_ARCH_CORGI_H 1
15 15
16#include "irqs.h" /* PXA_NR_BUILTIN_GPIO */
16 17
17/* 18/*
18 * Corgi (Non Standard) GPIO Definitions 19 * Corgi (Non Standard) GPIO Definitions
diff --git a/arch/arm/mach-pxa/include/mach/csb726.h b/arch/arm/mach-pxa/include/mach/csb726.h
index 2628e7b72116..00cfbbbf73f7 100644
--- a/arch/arm/mach-pxa/include/mach/csb726.h
+++ b/arch/arm/mach-pxa/include/mach/csb726.h
@@ -11,6 +11,8 @@
11#ifndef CSB726_H 11#ifndef CSB726_H
12#define CSB726_H 12#define CSB726_H
13 13
14#include "irqs.h" /* PXA_GPIO_TO_IRQ */
15
14#define CSB726_GPIO_IRQ_LAN 52 16#define CSB726_GPIO_IRQ_LAN 52
15#define CSB726_GPIO_IRQ_SM501 53 17#define CSB726_GPIO_IRQ_SM501 53
16#define CSB726_GPIO_MMC_DETECT 100 18#define CSB726_GPIO_MMC_DETECT 100
diff --git a/arch/arm/mach-pxa/include/mach/gumstix.h b/arch/arm/mach-pxa/include/mach/gumstix.h
index dba14b6503ad..f7df27bbb42e 100644
--- a/arch/arm/mach-pxa/include/mach/gumstix.h
+++ b/arch/arm/mach-pxa/include/mach/gumstix.h
@@ -6,6 +6,7 @@
6 * published by the Free Software Foundation. 6 * published by the Free Software Foundation.
7 */ 7 */
8 8
9#include "irqs.h" /* PXA_GPIO_TO_IRQ */
9 10
10/* BTRESET - Reset line to Bluetooth module, active low signal. */ 11/* BTRESET - Reset line to Bluetooth module, active low signal. */
11#define GPIO_GUMSTIX_BTRESET 7 12#define GPIO_GUMSTIX_BTRESET 7
diff --git a/arch/arm/mach-pxa/include/mach/idp.h b/arch/arm/mach-pxa/include/mach/idp.h
index 22a96f87232b..7e63f4680271 100644
--- a/arch/arm/mach-pxa/include/mach/idp.h
+++ b/arch/arm/mach-pxa/include/mach/idp.h
@@ -23,6 +23,7 @@
23 * IDP hardware. 23 * IDP hardware.
24 */ 24 */
25 25
26#include "irqs.h" /* PXA_GPIO_TO_IRQ */
26 27
27#define IDP_FLASH_PHYS (PXA_CS0_PHYS) 28#define IDP_FLASH_PHYS (PXA_CS0_PHYS)
28#define IDP_ALT_FLASH_PHYS (PXA_CS1_PHYS) 29#define IDP_ALT_FLASH_PHYS (PXA_CS1_PHYS)
diff --git a/arch/arm/mach-pxa/include/mach/palmld.h b/arch/arm/mach-pxa/include/mach/palmld.h
index 2c4471336570..b184f296023b 100644
--- a/arch/arm/mach-pxa/include/mach/palmld.h
+++ b/arch/arm/mach-pxa/include/mach/palmld.h
@@ -13,6 +13,8 @@
13#ifndef _INCLUDE_PALMLD_H_ 13#ifndef _INCLUDE_PALMLD_H_
14#define _INCLUDE_PALMLD_H_ 14#define _INCLUDE_PALMLD_H_
15 15
16#include "irqs.h" /* PXA_GPIO_TO_IRQ */
17
16/** HERE ARE GPIOs **/ 18/** HERE ARE GPIOs **/
17 19
18/* GPIOs */ 20/* GPIOs */
diff --git a/arch/arm/mach-pxa/include/mach/palmt5.h b/arch/arm/mach-pxa/include/mach/palmt5.h
index 0bd4f036c72f..e342c5921405 100644
--- a/arch/arm/mach-pxa/include/mach/palmt5.h
+++ b/arch/arm/mach-pxa/include/mach/palmt5.h
@@ -15,6 +15,8 @@
15#ifndef _INCLUDE_PALMT5_H_ 15#ifndef _INCLUDE_PALMT5_H_
16#define _INCLUDE_PALMT5_H_ 16#define _INCLUDE_PALMT5_H_
17 17
18#include "irqs.h" /* PXA_GPIO_TO_IRQ */
19
18/** HERE ARE GPIOs **/ 20/** HERE ARE GPIOs **/
19 21
20/* GPIOs */ 22/* GPIOs */
diff --git a/arch/arm/mach-pxa/include/mach/palmtc.h b/arch/arm/mach-pxa/include/mach/palmtc.h
index c383a21680b6..81c727b3cfd2 100644
--- a/arch/arm/mach-pxa/include/mach/palmtc.h
+++ b/arch/arm/mach-pxa/include/mach/palmtc.h
@@ -16,6 +16,8 @@
16#ifndef _INCLUDE_PALMTC_H_ 16#ifndef _INCLUDE_PALMTC_H_
17#define _INCLUDE_PALMTC_H_ 17#define _INCLUDE_PALMTC_H_
18 18
19#include "irqs.h" /* PXA_GPIO_TO_IRQ */
20
19/** HERE ARE GPIOs **/ 21/** HERE ARE GPIOs **/
20 22
21/* GPIOs */ 23/* GPIOs */
diff --git a/arch/arm/mach-pxa/include/mach/palmtx.h b/arch/arm/mach-pxa/include/mach/palmtx.h
index f2e530380253..92bc1f05300d 100644
--- a/arch/arm/mach-pxa/include/mach/palmtx.h
+++ b/arch/arm/mach-pxa/include/mach/palmtx.h
@@ -16,6 +16,8 @@
16#ifndef _INCLUDE_PALMTX_H_ 16#ifndef _INCLUDE_PALMTX_H_
17#define _INCLUDE_PALMTX_H_ 17#define _INCLUDE_PALMTX_H_
18 18
19#include "irqs.h" /* PXA_GPIO_TO_IRQ */
20
19/** HERE ARE GPIOs **/ 21/** HERE ARE GPIOs **/
20 22
21/* GPIOs */ 23/* GPIOs */
diff --git a/arch/arm/mach-pxa/include/mach/pcm027.h b/arch/arm/mach-pxa/include/mach/pcm027.h
index 6bf28de228bd..86ebd7b6c960 100644
--- a/arch/arm/mach-pxa/include/mach/pcm027.h
+++ b/arch/arm/mach-pxa/include/mach/pcm027.h
@@ -23,6 +23,8 @@
23 * Definitions of CPU card resources only 23 * Definitions of CPU card resources only
24 */ 24 */
25 25
26#include "irqs.h" /* PXA_GPIO_TO_IRQ */
27
26/* phyCORE-PXA270 (PCM027) Interrupts */ 28/* phyCORE-PXA270 (PCM027) Interrupts */
27#define PCM027_IRQ(x) (IRQ_BOARD_START + (x)) 29#define PCM027_IRQ(x) (IRQ_BOARD_START + (x))
28#define PCM027_BTDET_IRQ PCM027_IRQ(0) 30#define PCM027_BTDET_IRQ PCM027_IRQ(0)
diff --git a/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h b/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h
index 0260aaa2fc17..7e544c14967e 100644
--- a/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h
+++ b/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h
@@ -20,6 +20,7 @@
20 */ 20 */
21 21
22#include <mach/pcm027.h> 22#include <mach/pcm027.h>
23#include "irqs.h" /* PXA_GPIO_TO_IRQ */
23 24
24/* 25/*
25 * definitions relevant only when the PCM-990 26 * definitions relevant only when the PCM-990
diff --git a/arch/arm/mach-pxa/include/mach/poodle.h b/arch/arm/mach-pxa/include/mach/poodle.h
index f32ff75dcca8..b56b19351a03 100644
--- a/arch/arm/mach-pxa/include/mach/poodle.h
+++ b/arch/arm/mach-pxa/include/mach/poodle.h
@@ -15,6 +15,8 @@
15#ifndef __ASM_ARCH_POODLE_H 15#ifndef __ASM_ARCH_POODLE_H
16#define __ASM_ARCH_POODLE_H 1 16#define __ASM_ARCH_POODLE_H 1
17 17
18#include "irqs.h" /* PXA_GPIO_TO_IRQ */
19
18/* 20/*
19 * GPIOs 21 * GPIOs
20 */ 22 */
diff --git a/arch/arm/mach-pxa/include/mach/spitz.h b/arch/arm/mach-pxa/include/mach/spitz.h
index 0bfe6507c95d..25c9f62e46aa 100644
--- a/arch/arm/mach-pxa/include/mach/spitz.h
+++ b/arch/arm/mach-pxa/include/mach/spitz.h
@@ -15,8 +15,8 @@
15#define __ASM_ARCH_SPITZ_H 1 15#define __ASM_ARCH_SPITZ_H 1
16#endif 16#endif
17 17
18#include "irqs.h" /* PXA_NR_BUILTIN_GPIO, PXA_GPIO_TO_IRQ */
18#include <linux/fb.h> 19#include <linux/fb.h>
19#include <linux/gpio.h>
20 20
21/* Spitz/Akita GPIOs */ 21/* Spitz/Akita GPIOs */
22 22
diff --git a/arch/arm/mach-pxa/include/mach/tosa.h b/arch/arm/mach-pxa/include/mach/tosa.h
index 2bb0e862598c..0497d95cef25 100644
--- a/arch/arm/mach-pxa/include/mach/tosa.h
+++ b/arch/arm/mach-pxa/include/mach/tosa.h
@@ -13,6 +13,8 @@
13#ifndef _ASM_ARCH_TOSA_H_ 13#ifndef _ASM_ARCH_TOSA_H_
14#define _ASM_ARCH_TOSA_H_ 1 14#define _ASM_ARCH_TOSA_H_ 1
15 15
16#include "irqs.h" /* PXA_NR_BUILTIN_GPIO */
17
16/* TOSA Chip selects */ 18/* TOSA Chip selects */
17#define TOSA_LCDC_PHYS PXA_CS4_PHYS 19#define TOSA_LCDC_PHYS PXA_CS4_PHYS
18/* Internel Scoop */ 20/* Internel Scoop */
diff --git a/arch/arm/mach-pxa/include/mach/trizeps4.h b/arch/arm/mach-pxa/include/mach/trizeps4.h
index d2ca01053f69..ae3ca013afab 100644
--- a/arch/arm/mach-pxa/include/mach/trizeps4.h
+++ b/arch/arm/mach-pxa/include/mach/trizeps4.h
@@ -10,6 +10,8 @@
10#ifndef _TRIPEPS4_H_ 10#ifndef _TRIPEPS4_H_
11#define _TRIPEPS4_H_ 11#define _TRIPEPS4_H_
12 12
13#include "irqs.h" /* PXA_GPIO_TO_IRQ */
14
13/* physical memory regions */ 15/* physical memory regions */
14#define TRIZEPS4_FLASH_PHYS (PXA_CS0_PHYS) /* Flash region */ 16#define TRIZEPS4_FLASH_PHYS (PXA_CS0_PHYS) /* Flash region */
15#define TRIZEPS4_DISK_PHYS (PXA_CS1_PHYS) /* Disk On Chip region */ 17#define TRIZEPS4_DISK_PHYS (PXA_CS1_PHYS) /* Disk On Chip region */
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 338640631e08..05fa505df585 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -8,7 +8,7 @@ config ARCH_SHMOBILE_MULTI
8 select CPU_V7 8 select CPU_V7
9 select GENERIC_CLOCKEVENTS 9 select GENERIC_CLOCKEVENTS
10 select HAVE_ARM_SCU if SMP 10 select HAVE_ARM_SCU if SMP
11 select HAVE_ARM_TWD if LOCAL_TIMERS 11 select HAVE_ARM_TWD if SMP
12 select HAVE_SMP 12 select HAVE_SMP
13 select ARM_GIC 13 select ARM_GIC
14 select MIGHT_HAVE_CACHE_L2X0 14 select MIGHT_HAVE_CACHE_L2X0
diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c
index 1db2a5ca9ab8..8c09a8393fb6 100644
--- a/arch/arm/mach-zynq/common.c
+++ b/arch/arm/mach-zynq/common.c
@@ -25,6 +25,7 @@
25#include <linux/of_irq.h> 25#include <linux/of_irq.h>
26#include <linux/of_platform.h> 26#include <linux/of_platform.h>
27#include <linux/of.h> 27#include <linux/of.h>
28#include <linux/memblock.h>
28#include <linux/irqchip.h> 29#include <linux/irqchip.h>
29#include <linux/irqchip/arm-gic.h> 30#include <linux/irqchip/arm-gic.h>
30 31
@@ -41,6 +42,18 @@
41 42
42void __iomem *zynq_scu_base; 43void __iomem *zynq_scu_base;
43 44
45/**
46 * zynq_memory_init - Initialize special memory
47 *
48 * We need to stop things allocating the low memory as DMA can't work in
49 * the 1st 512K of memory.
50 */
51static void __init zynq_memory_init(void)
52{
53 if (!__pa(PAGE_OFFSET))
54 memblock_reserve(__pa(PAGE_OFFSET), __pa(swapper_pg_dir));
55}
56
44static struct platform_device zynq_cpuidle_device = { 57static struct platform_device zynq_cpuidle_device = {
45 .name = "cpuidle-zynq", 58 .name = "cpuidle-zynq",
46}; 59};
@@ -117,5 +130,6 @@ DT_MACHINE_START(XILINX_EP107, "Xilinx Zynq Platform")
117 .init_machine = zynq_init_machine, 130 .init_machine = zynq_init_machine,
118 .init_time = zynq_timer_init, 131 .init_time = zynq_timer_init,
119 .dt_compat = zynq_dt_match, 132 .dt_compat = zynq_dt_match,
133 .reserve = zynq_memory_init,
120 .restart = zynq_system_reset, 134 .restart = zynq_system_reset,
121MACHINE_END 135MACHINE_END