aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-07-19 16:37:44 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-07-19 16:37:44 -0400
commit10b97f38a9439eb911c7ec577b375674c743ca78 (patch)
treeb78da118370db210ce7144a38492e32d05ca39ec
parent9d37e6679dfddbb5fa605fb2d7ff448f7cd6d038 (diff)
parent3eae03daa538303e0d28f56412c6c51f6452e493 (diff)
Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Olof Johansson: "By far most of the fixes here are updates to DTS files to deal with some mostly minor bugs. There's also a fix to deal with non-PM kernel configs on i.MX, a regression fix for ethernet on PXA platforms and a dependency fix for OMAP" * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: keystone: dts: rename pcie nodes to help override status ARM: keystone: dts: fix dt bindings for PCIe ARM: pxa: fix dm9000 platform data regression ARM: dts: Correct audio input route & set mic bias for am335x-pepper ARM: OMAP2+: Add HAVE_ARM_SCU for AM43XX MAINTAINERS: digicolor: add dts files ARM: ux500: fix MMC/SD card regression ARM: ux500: define serial port aliases ARM: dts: OMAP5: Add #iommu-cells property to IOMMUs ARM: dts: OMAP4: Add #iommu-cells property to IOMMUs ARM: dts: Fix frequency scaling on Gumstix Pepper ARM: dts: configure regulators for Gumstix Pepper ARM: dts: omap3: overo: Update LCD panel names ARM: dts: cros-ec-keyboard: Add support for some Japanese keys ARM: imx6: gpc: always enable PU domain if CONFIG_PM is not set ARM: dts: imx53-qsb: fix TVE entry ARM: dts: mx23: fix iio-hwmon support ARM: dts: imx27: Adjust the GPT compatible string ARM: socfpga: dts: Fix entries order ARM: socfpga: dts: Fix adxl34x formating and compatible string
-rw-r--r--MAINTAINERS1
-rw-r--r--arch/arm/boot/dts/am335x-pepper.dts16
-rw-r--r--arch/arm/boot/dts/cros-ec-keyboard.dtsi4
-rw-r--r--arch/arm/boot/dts/imx23.dtsi1
-rw-r--r--arch/arm/boot/dts/imx27.dtsi12
-rw-r--r--arch/arm/boot/dts/imx53-qsb-common.dtsi5
-rw-r--r--arch/arm/boot/dts/k2e.dtsi3
-rw-r--r--arch/arm/boot/dts/keystone.dtsi3
-rw-r--r--arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi2
-rw-r--r--arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi2
-rw-r--r--arch/arm/boot/dts/omap4.dtsi2
-rw-r--r--arch/arm/boot/dts/omap5.dtsi2
-rw-r--r--arch/arm/boot/dts/socfpga_cyclone5_sockit.dts26
-rw-r--r--arch/arm/boot/dts/ste-ccu8540.dts7
-rw-r--r--arch/arm/boot/dts/ste-ccu9540.dts7
-rw-r--r--arch/arm/boot/dts/ste-dbx5x0.dtsi6
-rw-r--r--arch/arm/boot/dts/ste-href.dtsi2
-rw-r--r--arch/arm/boot/dts/ste-hrefprev60-stuib.dts7
-rw-r--r--arch/arm/boot/dts/ste-hrefprev60-tvk.dts7
-rw-r--r--arch/arm/boot/dts/ste-hrefprev60.dtsi5
-rw-r--r--arch/arm/boot/dts/ste-hrefv60plus-stuib.dts7
-rw-r--r--arch/arm/boot/dts/ste-hrefv60plus-tvk.dts7
-rw-r--r--arch/arm/boot/dts/ste-hrefv60plus.dtsi25
-rw-r--r--arch/arm/boot/dts/ste-snowball.dts25
-rw-r--r--arch/arm/mach-imx/gpc.c27
-rw-r--r--arch/arm/mach-omap2/Kconfig1
-rw-r--r--arch/arm/mach-pxa/capc7117.c3
-rw-r--r--arch/arm/mach-pxa/cm-x2xx.c3
-rw-r--r--arch/arm/mach-pxa/cm-x300.c2
-rw-r--r--arch/arm/mach-pxa/colibri-pxa270.c3
-rw-r--r--arch/arm/mach-pxa/em-x270.c2
-rw-r--r--arch/arm/mach-pxa/icontrol.c3
-rw-r--r--arch/arm/mach-pxa/trizeps4.c3
-rw-r--r--arch/arm/mach-pxa/vpac270.c3
-rw-r--r--arch/arm/mach-pxa/zeus.c2
35 files changed, 179 insertions, 57 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index de0ac03b1bae..a2264167791a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1001,6 +1001,7 @@ ARM/CONEXANT DIGICOLOR MACHINE SUPPORT
1001M: Baruch Siach <baruch@tkos.co.il> 1001M: Baruch Siach <baruch@tkos.co.il>
1002L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 1002L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1003S: Maintained 1003S: Maintained
1004F: arch/arm/boot/dts/cx92755*
1004N: digicolor 1005N: digicolor
1005 1006
1006ARM/EBSA110 MACHINE SUPPORT 1007ARM/EBSA110 MACHINE SUPPORT
diff --git a/arch/arm/boot/dts/am335x-pepper.dts b/arch/arm/boot/dts/am335x-pepper.dts
index 0d35ab64641c..7106114c7464 100644
--- a/arch/arm/boot/dts/am335x-pepper.dts
+++ b/arch/arm/boot/dts/am335x-pepper.dts
@@ -74,6 +74,7 @@
74 audio_codec: tlv320aic3106@1b { 74 audio_codec: tlv320aic3106@1b {
75 compatible = "ti,tlv320aic3106"; 75 compatible = "ti,tlv320aic3106";
76 reg = <0x1b>; 76 reg = <0x1b>;
77 ai3x-micbias-vg = <0x2>;
77 }; 78 };
78 79
79 accel: lis331dlh@1d { 80 accel: lis331dlh@1d {
@@ -153,7 +154,7 @@
153 ti,audio-routing = 154 ti,audio-routing =
154 "Headphone Jack", "HPLOUT", 155 "Headphone Jack", "HPLOUT",
155 "Headphone Jack", "HPROUT", 156 "Headphone Jack", "HPROUT",
156 "LINE1L", "Line In"; 157 "MIC3L", "Mic3L Switch";
157}; 158};
158 159
159&mcasp0 { 160&mcasp0 {
@@ -438,41 +439,50 @@
438 regulators { 439 regulators {
439 dcdc1_reg: regulator@0 { 440 dcdc1_reg: regulator@0 {
440 /* VDD_1V8 system supply */ 441 /* VDD_1V8 system supply */
442 regulator-always-on;
441 }; 443 };
442 444
443 dcdc2_reg: regulator@1 { 445 dcdc2_reg: regulator@1 {
444 /* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */ 446 /* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */
445 regulator-name = "vdd_core"; 447 regulator-name = "vdd_core";
446 regulator-min-microvolt = <925000>; 448 regulator-min-microvolt = <925000>;
447 regulator-max-microvolt = <1325000>; 449 regulator-max-microvolt = <1150000>;
448 regulator-boot-on; 450 regulator-boot-on;
451 regulator-always-on;
449 }; 452 };
450 453
451 dcdc3_reg: regulator@2 { 454 dcdc3_reg: regulator@2 {
452 /* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */ 455 /* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */
453 regulator-name = "vdd_mpu"; 456 regulator-name = "vdd_mpu";
454 regulator-min-microvolt = <925000>; 457 regulator-min-microvolt = <925000>;
455 regulator-max-microvolt = <1150000>; 458 regulator-max-microvolt = <1325000>;
456 regulator-boot-on; 459 regulator-boot-on;
460 regulator-always-on;
457 }; 461 };
458 462
459 ldo1_reg: regulator@3 { 463 ldo1_reg: regulator@3 {
460 /* VRTC 1.8V always-on supply */ 464 /* VRTC 1.8V always-on supply */
465 regulator-name = "vrtc,vdds";
461 regulator-always-on; 466 regulator-always-on;
462 }; 467 };
463 468
464 ldo2_reg: regulator@4 { 469 ldo2_reg: regulator@4 {
465 /* 3.3V rail */ 470 /* 3.3V rail */
471 regulator-name = "vdd_3v3aux";
472 regulator-always-on;
466 }; 473 };
467 474
468 ldo3_reg: regulator@5 { 475 ldo3_reg: regulator@5 {
469 /* VDD_3V3A 3.3V rail */ 476 /* VDD_3V3A 3.3V rail */
477 regulator-name = "vdd_3v3a";
470 regulator-min-microvolt = <3300000>; 478 regulator-min-microvolt = <3300000>;
471 regulator-max-microvolt = <3300000>; 479 regulator-max-microvolt = <3300000>;
472 }; 480 };
473 481
474 ldo4_reg: regulator@6 { 482 ldo4_reg: regulator@6 {
475 /* VDD_3V3B 3.3V rail */ 483 /* VDD_3V3B 3.3V rail */
484 regulator-name = "vdd_3v3b";
485 regulator-always-on;
476 }; 486 };
477 }; 487 };
478}; 488};
diff --git a/arch/arm/boot/dts/cros-ec-keyboard.dtsi b/arch/arm/boot/dts/cros-ec-keyboard.dtsi
index 9c7fb0acae79..4e42f30cb318 100644
--- a/arch/arm/boot/dts/cros-ec-keyboard.dtsi
+++ b/arch/arm/boot/dts/cros-ec-keyboard.dtsi
@@ -22,6 +22,7 @@
22 MATRIX_KEY(0x00, 0x02, KEY_F1) 22 MATRIX_KEY(0x00, 0x02, KEY_F1)
23 MATRIX_KEY(0x00, 0x03, KEY_B) 23 MATRIX_KEY(0x00, 0x03, KEY_B)
24 MATRIX_KEY(0x00, 0x04, KEY_F10) 24 MATRIX_KEY(0x00, 0x04, KEY_F10)
25 MATRIX_KEY(0x00, 0x05, KEY_RO)
25 MATRIX_KEY(0x00, 0x06, KEY_N) 26 MATRIX_KEY(0x00, 0x06, KEY_N)
26 MATRIX_KEY(0x00, 0x08, KEY_EQUAL) 27 MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
27 MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) 28 MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
@@ -34,6 +35,7 @@
34 MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) 35 MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
35 MATRIX_KEY(0x01, 0x09, KEY_F9) 36 MATRIX_KEY(0x01, 0x09, KEY_F9)
36 MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) 37 MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
38 MATRIX_KEY(0x01, 0x0c, KEY_HENKAN)
37 39
38 MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL) 40 MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
39 MATRIX_KEY(0x02, 0x01, KEY_TAB) 41 MATRIX_KEY(0x02, 0x01, KEY_TAB)
@@ -45,6 +47,7 @@
45 MATRIX_KEY(0x02, 0x07, KEY_102ND) 47 MATRIX_KEY(0x02, 0x07, KEY_102ND)
46 MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) 48 MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
47 MATRIX_KEY(0x02, 0x09, KEY_F8) 49 MATRIX_KEY(0x02, 0x09, KEY_F8)
50 MATRIX_KEY(0x02, 0x0a, KEY_YEN)
48 51
49 MATRIX_KEY(0x03, 0x01, KEY_GRAVE) 52 MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
50 MATRIX_KEY(0x03, 0x02, KEY_F2) 53 MATRIX_KEY(0x03, 0x02, KEY_F2)
@@ -53,6 +56,7 @@
53 MATRIX_KEY(0x03, 0x06, KEY_6) 56 MATRIX_KEY(0x03, 0x06, KEY_6)
54 MATRIX_KEY(0x03, 0x08, KEY_MINUS) 57 MATRIX_KEY(0x03, 0x08, KEY_MINUS)
55 MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) 58 MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
59 MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN)
56 60
57 MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL) 61 MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
58 MATRIX_KEY(0x04, 0x01, KEY_A) 62 MATRIX_KEY(0x04, 0x01, KEY_A)
diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi
index c892d58e8dad..b995333ea22b 100644
--- a/arch/arm/boot/dts/imx23.dtsi
+++ b/arch/arm/boot/dts/imx23.dtsi
@@ -468,6 +468,7 @@
468 interrupts = <36 37 38 39 40 41 42 43 44>; 468 interrupts = <36 37 38 39 40 41 42 43 44>;
469 status = "disabled"; 469 status = "disabled";
470 clocks = <&clks 26>; 470 clocks = <&clks 26>;
471 #io-channel-cells = <1>;
471 }; 472 };
472 473
473 spdif@80054000 { 474 spdif@80054000 {
diff --git a/arch/arm/boot/dts/imx27.dtsi b/arch/arm/boot/dts/imx27.dtsi
index bc215e4b75fd..b69be5c499cf 100644
--- a/arch/arm/boot/dts/imx27.dtsi
+++ b/arch/arm/boot/dts/imx27.dtsi
@@ -108,7 +108,7 @@
108 }; 108 };
109 109
110 gpt1: timer@10003000 { 110 gpt1: timer@10003000 {
111 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; 111 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
112 reg = <0x10003000 0x1000>; 112 reg = <0x10003000 0x1000>;
113 interrupts = <26>; 113 interrupts = <26>;
114 clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>, 114 clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
@@ -117,7 +117,7 @@
117 }; 117 };
118 118
119 gpt2: timer@10004000 { 119 gpt2: timer@10004000 {
120 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; 120 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
121 reg = <0x10004000 0x1000>; 121 reg = <0x10004000 0x1000>;
122 interrupts = <25>; 122 interrupts = <25>;
123 clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>, 123 clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
@@ -126,7 +126,7 @@
126 }; 126 };
127 127
128 gpt3: timer@10005000 { 128 gpt3: timer@10005000 {
129 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; 129 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
130 reg = <0x10005000 0x1000>; 130 reg = <0x10005000 0x1000>;
131 interrupts = <24>; 131 interrupts = <24>;
132 clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>, 132 clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
@@ -376,7 +376,7 @@
376 }; 376 };
377 377
378 gpt4: timer@10019000 { 378 gpt4: timer@10019000 {
379 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; 379 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
380 reg = <0x10019000 0x1000>; 380 reg = <0x10019000 0x1000>;
381 interrupts = <4>; 381 interrupts = <4>;
382 clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>, 382 clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
@@ -385,7 +385,7 @@
385 }; 385 };
386 386
387 gpt5: timer@1001a000 { 387 gpt5: timer@1001a000 {
388 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; 388 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
389 reg = <0x1001a000 0x1000>; 389 reg = <0x1001a000 0x1000>;
390 interrupts = <3>; 390 interrupts = <3>;
391 clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>, 391 clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
@@ -436,7 +436,7 @@
436 }; 436 };
437 437
438 gpt6: timer@1001f000 { 438 gpt6: timer@1001f000 {
439 compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; 439 compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
440 reg = <0x1001f000 0x1000>; 440 reg = <0x1001f000 0x1000>;
441 interrupts = <2>; 441 interrupts = <2>;
442 clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>, 442 clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
diff --git a/arch/arm/boot/dts/imx53-qsb-common.dtsi b/arch/arm/boot/dts/imx53-qsb-common.dtsi
index 181ae5ebf23f..ab4ba39f2ed9 100644
--- a/arch/arm/boot/dts/imx53-qsb-common.dtsi
+++ b/arch/arm/boot/dts/imx53-qsb-common.dtsi
@@ -295,9 +295,10 @@
295&tve { 295&tve {
296 pinctrl-names = "default"; 296 pinctrl-names = "default";
297 pinctrl-0 = <&pinctrl_vga_sync>; 297 pinctrl-0 = <&pinctrl_vga_sync>;
298 ddc-i2c-bus = <&i2c2>;
298 fsl,tve-mode = "vga"; 299 fsl,tve-mode = "vga";
299 fsl,hsync-pin = <4>; 300 fsl,hsync-pin = <7>; /* IPU DI1 PIN7 via EIM_OE */
300 fsl,vsync-pin = <6>; 301 fsl,vsync-pin = <8>; /* IPU DI1 PIN8 via EIM_RW */
301 status = "okay"; 302 status = "okay";
302}; 303};
303 304
diff --git a/arch/arm/boot/dts/k2e.dtsi b/arch/arm/boot/dts/k2e.dtsi
index 50e555eab50d..1b6494fbdb91 100644
--- a/arch/arm/boot/dts/k2e.dtsi
+++ b/arch/arm/boot/dts/k2e.dtsi
@@ -86,7 +86,7 @@
86 gpio,syscon-dev = <&devctrl 0x240>; 86 gpio,syscon-dev = <&devctrl 0x240>;
87 }; 87 };
88 88
89 pcie@21020000 { 89 pcie1: pcie@21020000 {
90 compatible = "ti,keystone-pcie","snps,dw-pcie"; 90 compatible = "ti,keystone-pcie","snps,dw-pcie";
91 clocks = <&clkpcie1>; 91 clocks = <&clkpcie1>;
92 clock-names = "pcie"; 92 clock-names = "pcie";
@@ -96,6 +96,7 @@
96 ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000 96 ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000
97 0x82000000 0 0x60000000 0x60000000 0 0x10000000>; 97 0x82000000 0 0x60000000 0x60000000 0 0x10000000>;
98 98
99 status = "disabled";
99 device_type = "pci"; 100 device_type = "pci";
100 num-lanes = <2>; 101 num-lanes = <2>;
101 102
diff --git a/arch/arm/boot/dts/keystone.dtsi b/arch/arm/boot/dts/keystone.dtsi
index c06542b2c954..e7a6f6deabb6 100644
--- a/arch/arm/boot/dts/keystone.dtsi
+++ b/arch/arm/boot/dts/keystone.dtsi
@@ -286,7 +286,7 @@
286 ti,syscon-dev = <&devctrl 0x2a0>; 286 ti,syscon-dev = <&devctrl 0x2a0>;
287 }; 287 };
288 288
289 pcie@21800000 { 289 pcie0: pcie@21800000 {
290 compatible = "ti,keystone-pcie", "snps,dw-pcie"; 290 compatible = "ti,keystone-pcie", "snps,dw-pcie";
291 clocks = <&clkpcie>; 291 clocks = <&clkpcie>;
292 clock-names = "pcie"; 292 clock-names = "pcie";
@@ -296,6 +296,7 @@
296 ranges = <0x81000000 0 0 0x23250000 0 0x4000 296 ranges = <0x81000000 0 0 0x23250000 0 0x4000
297 0x82000000 0 0x50000000 0x50000000 0 0x10000000>; 297 0x82000000 0 0x50000000 0x50000000 0 0x10000000>;
298 298
299 status = "disabled";
299 device_type = "pci"; 300 device_type = "pci";
300 num-lanes = <2>; 301 num-lanes = <2>;
301 302
diff --git a/arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi b/arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi
index 233c69e50ae3..df8908adb0cb 100644
--- a/arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi
+++ b/arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi
@@ -120,7 +120,7 @@
120 120
121 lcd0: display@0 { 121 lcd0: display@0 {
122 compatible = "lgphilips,lb035q02"; 122 compatible = "lgphilips,lb035q02";
123 label = "lcd"; 123 label = "lcd35";
124 124
125 reg = <1>; /* CS1 */ 125 reg = <1>; /* CS1 */
126 spi-max-frequency = <10000000>; 126 spi-max-frequency = <10000000>;
diff --git a/arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi b/arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi
index f5395b7da912..048fd216970a 100644
--- a/arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi
+++ b/arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi
@@ -98,7 +98,7 @@
98 98
99 lcd0: display@0 { 99 lcd0: display@0 {
100 compatible = "samsung,lte430wq-f0c", "panel-dpi"; 100 compatible = "samsung,lte430wq-f0c", "panel-dpi";
101 label = "lcd"; 101 label = "lcd43";
102 102
103 pinctrl-names = "default"; 103 pinctrl-names = "default";
104 pinctrl-0 = <&lte430_pins>; 104 pinctrl-0 = <&lte430_pins>;
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index f884d6adb71e..7d31c6ff246f 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -551,6 +551,7 @@
551 reg = <0x4a066000 0x100>; 551 reg = <0x4a066000 0x100>;
552 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 552 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
553 ti,hwmods = "mmu_dsp"; 553 ti,hwmods = "mmu_dsp";
554 #iommu-cells = <0>;
554 }; 555 };
555 556
556 mmu_ipu: mmu@55082000 { 557 mmu_ipu: mmu@55082000 {
@@ -558,6 +559,7 @@
558 reg = <0x55082000 0x100>; 559 reg = <0x55082000 0x100>;
559 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 560 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
560 ti,hwmods = "mmu_ipu"; 561 ti,hwmods = "mmu_ipu";
562 #iommu-cells = <0>;
561 ti,iommu-bus-err-back; 563 ti,iommu-bus-err-back;
562 }; 564 };
563 565
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index 7d24ae0306b5..c8fd648a7108 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -612,6 +612,7 @@
612 reg = <0x4a066000 0x100>; 612 reg = <0x4a066000 0x100>;
613 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 613 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
614 ti,hwmods = "mmu_dsp"; 614 ti,hwmods = "mmu_dsp";
615 #iommu-cells = <0>;
615 }; 616 };
616 617
617 mmu_ipu: mmu@55082000 { 618 mmu_ipu: mmu@55082000 {
@@ -619,6 +620,7 @@
619 reg = <0x55082000 0x100>; 620 reg = <0x55082000 0x100>;
620 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 621 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
621 ti,hwmods = "mmu_ipu"; 622 ti,hwmods = "mmu_ipu";
623 #iommu-cells = <0>;
622 ti,iommu-bus-err-back; 624 ti,iommu-bus-err-back;
623 }; 625 };
624 626
diff --git a/arch/arm/boot/dts/socfpga_cyclone5_sockit.dts b/arch/arm/boot/dts/socfpga_cyclone5_sockit.dts
index 71468a7eb28f..5e17fd147728 100644
--- a/arch/arm/boot/dts/socfpga_cyclone5_sockit.dts
+++ b/arch/arm/boot/dts/socfpga_cyclone5_sockit.dts
@@ -60,27 +60,27 @@
60 rxc-skew-ps = <2000>; 60 rxc-skew-ps = <2000>;
61}; 61};
62 62
63&mmc0 {
64 vmmc-supply = <&regulator_3_3v>;
65 vqmmc-supply = <&regulator_3_3v>;
66};
67
68&usb1 {
69 status = "okay";
70};
71
72&gpio2 { 63&gpio2 {
73 status = "okay"; 64 status = "okay";
74}; 65};
75 66
76&i2c1{ 67&i2c1 {
77 status = "okay"; 68 status = "okay";
78 69
79 accel1: accel1@53{ 70 accel1: accelerometer@53 {
80 compatible = "adxl34x"; 71 compatible = "adi,adxl345";
81 reg = <0x53>; 72 reg = <0x53>;
82 73
83 interrupt-parent = < &portc >; 74 interrupt-parent = <&portc>;
84 interrupts = <3 2>; 75 interrupts = <3 2>;
85 }; 76 };
86}; 77};
78
79&mmc0 {
80 vmmc-supply = <&regulator_3_3v>;
81 vqmmc-supply = <&regulator_3_3v>;
82};
83
84&usb1 {
85 status = "okay";
86};
diff --git a/arch/arm/boot/dts/ste-ccu8540.dts b/arch/arm/boot/dts/ste-ccu8540.dts
index 32dd55e5f4e6..6eaaf638e52e 100644
--- a/arch/arm/boot/dts/ste-ccu8540.dts
+++ b/arch/arm/boot/dts/ste-ccu8540.dts
@@ -17,6 +17,13 @@
17 model = "ST-Ericsson U8540 platform with Device Tree"; 17 model = "ST-Ericsson U8540 platform with Device Tree";
18 compatible = "st-ericsson,ccu8540", "st-ericsson,u8540"; 18 compatible = "st-ericsson,ccu8540", "st-ericsson,u8540";
19 19
20 /* This stablilizes the serial port enumeration */
21 aliases {
22 serial0 = &ux500_serial0;
23 serial1 = &ux500_serial1;
24 serial2 = &ux500_serial2;
25 };
26
20 memory@0 { 27 memory@0 {
21 device_type = "memory"; 28 device_type = "memory";
22 reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>; 29 reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>;
diff --git a/arch/arm/boot/dts/ste-ccu9540.dts b/arch/arm/boot/dts/ste-ccu9540.dts
index 651c56d400a4..c8b815819cfe 100644
--- a/arch/arm/boot/dts/ste-ccu9540.dts
+++ b/arch/arm/boot/dts/ste-ccu9540.dts
@@ -16,6 +16,13 @@
16 model = "ST-Ericsson CCU9540 platform with Device Tree"; 16 model = "ST-Ericsson CCU9540 platform with Device Tree";
17 compatible = "st-ericsson,ccu9540", "st-ericsson,u9540"; 17 compatible = "st-ericsson,ccu9540", "st-ericsson,u9540";
18 18
19 /* This stablilizes the serial port enumeration */
20 aliases {
21 serial0 = &ux500_serial0;
22 serial1 = &ux500_serial1;
23 serial2 = &ux500_serial2;
24 };
25
19 memory { 26 memory {
20 reg = <0x00000000 0x20000000>; 27 reg = <0x00000000 0x20000000>;
21 }; 28 };
diff --git a/arch/arm/boot/dts/ste-dbx5x0.dtsi b/arch/arm/boot/dts/ste-dbx5x0.dtsi
index 853684ad7773..a75f3289e653 100644
--- a/arch/arm/boot/dts/ste-dbx5x0.dtsi
+++ b/arch/arm/boot/dts/ste-dbx5x0.dtsi
@@ -971,7 +971,7 @@
971 power-domains = <&pm_domains DOMAIN_VAPE>; 971 power-domains = <&pm_domains DOMAIN_VAPE>;
972 }; 972 };
973 973
974 uart@80120000 { 974 ux500_serial0: uart@80120000 {
975 compatible = "arm,pl011", "arm,primecell"; 975 compatible = "arm,pl011", "arm,primecell";
976 reg = <0x80120000 0x1000>; 976 reg = <0x80120000 0x1000>;
977 interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; 977 interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
@@ -986,7 +986,7 @@
986 status = "disabled"; 986 status = "disabled";
987 }; 987 };
988 988
989 uart@80121000 { 989 ux500_serial1: uart@80121000 {
990 compatible = "arm,pl011", "arm,primecell"; 990 compatible = "arm,pl011", "arm,primecell";
991 reg = <0x80121000 0x1000>; 991 reg = <0x80121000 0x1000>;
992 interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>; 992 interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
@@ -1001,7 +1001,7 @@
1001 status = "disabled"; 1001 status = "disabled";
1002 }; 1002 };
1003 1003
1004 uart@80007000 { 1004 ux500_serial2: uart@80007000 {
1005 compatible = "arm,pl011", "arm,primecell"; 1005 compatible = "arm,pl011", "arm,primecell";
1006 reg = <0x80007000 0x1000>; 1006 reg = <0x80007000 0x1000>;
1007 interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>; 1007 interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm/boot/dts/ste-href.dtsi b/arch/arm/boot/dts/ste-href.dtsi
index 744c1e3a744d..6d8ce154347e 100644
--- a/arch/arm/boot/dts/ste-href.dtsi
+++ b/arch/arm/boot/dts/ste-href.dtsi
@@ -32,11 +32,11 @@
32 status = "okay"; 32 status = "okay";
33 }; 33 };
34 34
35 /* This UART is unused and thus left disabled */
35 uart@80121000 { 36 uart@80121000 {
36 pinctrl-names = "default", "sleep"; 37 pinctrl-names = "default", "sleep";
37 pinctrl-0 = <&uart1_default_mode>; 38 pinctrl-0 = <&uart1_default_mode>;
38 pinctrl-1 = <&uart1_sleep_mode>; 39 pinctrl-1 = <&uart1_sleep_mode>;
39 status = "okay";
40 }; 40 };
41 41
42 uart@80007000 { 42 uart@80007000 {
diff --git a/arch/arm/boot/dts/ste-hrefprev60-stuib.dts b/arch/arm/boot/dts/ste-hrefprev60-stuib.dts
index 2b1cb5b584b6..18e9795a94f9 100644
--- a/arch/arm/boot/dts/ste-hrefprev60-stuib.dts
+++ b/arch/arm/boot/dts/ste-hrefprev60-stuib.dts
@@ -17,6 +17,13 @@
17 model = "ST-Ericsson HREF (pre-v60) and ST UIB"; 17 model = "ST-Ericsson HREF (pre-v60) and ST UIB";
18 compatible = "st-ericsson,mop500", "st-ericsson,u8500"; 18 compatible = "st-ericsson,mop500", "st-ericsson,u8500";
19 19
20 /* This stablilizes the serial port enumeration */
21 aliases {
22 serial0 = &ux500_serial0;
23 serial1 = &ux500_serial1;
24 serial2 = &ux500_serial2;
25 };
26
20 soc { 27 soc {
21 /* Reset line for the BU21013 touchscreen */ 28 /* Reset line for the BU21013 touchscreen */
22 i2c@80110000 { 29 i2c@80110000 {
diff --git a/arch/arm/boot/dts/ste-hrefprev60-tvk.dts b/arch/arm/boot/dts/ste-hrefprev60-tvk.dts
index 59523f866812..24739914e689 100644
--- a/arch/arm/boot/dts/ste-hrefprev60-tvk.dts
+++ b/arch/arm/boot/dts/ste-hrefprev60-tvk.dts
@@ -16,4 +16,11 @@
16/ { 16/ {
17 model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB"; 17 model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB";
18 compatible = "st-ericsson,mop500", "st-ericsson,u8500"; 18 compatible = "st-ericsson,mop500", "st-ericsson,u8500";
19
20 /* This stablilizes the serial port enumeration */
21 aliases {
22 serial0 = &ux500_serial0;
23 serial1 = &ux500_serial1;
24 serial2 = &ux500_serial2;
25 };
19}; 26};
diff --git a/arch/arm/boot/dts/ste-hrefprev60.dtsi b/arch/arm/boot/dts/ste-hrefprev60.dtsi
index 7f3975b58d16..b0278f4c486c 100644
--- a/arch/arm/boot/dts/ste-hrefprev60.dtsi
+++ b/arch/arm/boot/dts/ste-hrefprev60.dtsi
@@ -23,6 +23,11 @@
23 }; 23 };
24 24
25 soc { 25 soc {
26 /* Enable UART1 on this board */
27 uart@80121000 {
28 status = "okay";
29 };
30
26 i2c@80004000 { 31 i2c@80004000 {
27 tps61052@33 { 32 tps61052@33 {
28 compatible = "tps61052"; 33 compatible = "tps61052";
diff --git a/arch/arm/boot/dts/ste-hrefv60plus-stuib.dts b/arch/arm/boot/dts/ste-hrefv60plus-stuib.dts
index 8c6a2de56cf1..c2e1ba019a2f 100644
--- a/arch/arm/boot/dts/ste-hrefv60plus-stuib.dts
+++ b/arch/arm/boot/dts/ste-hrefv60plus-stuib.dts
@@ -19,6 +19,13 @@
19 model = "ST-Ericsson HREF (v60+) and ST UIB"; 19 model = "ST-Ericsson HREF (v60+) and ST UIB";
20 compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500"; 20 compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
21 21
22 /* This stablilizes the serial port enumeration */
23 aliases {
24 serial0 = &ux500_serial0;
25 serial1 = &ux500_serial1;
26 serial2 = &ux500_serial2;
27 };
28
22 soc { 29 soc {
23 /* Reset line for the BU21013 touchscreen */ 30 /* Reset line for the BU21013 touchscreen */
24 i2c@80110000 { 31 i2c@80110000 {
diff --git a/arch/arm/boot/dts/ste-hrefv60plus-tvk.dts b/arch/arm/boot/dts/ste-hrefv60plus-tvk.dts
index d53cccdce776..ebd8547e98f1 100644
--- a/arch/arm/boot/dts/ste-hrefv60plus-tvk.dts
+++ b/arch/arm/boot/dts/ste-hrefv60plus-tvk.dts
@@ -18,4 +18,11 @@
18/ { 18/ {
19 model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB"; 19 model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB";
20 compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500"; 20 compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
21
22 /* This stablilizes the serial port enumeration */
23 aliases {
24 serial0 = &ux500_serial0;
25 serial1 = &ux500_serial1;
26 serial2 = &ux500_serial2;
27 };
21}; 28};
diff --git a/arch/arm/boot/dts/ste-hrefv60plus.dtsi b/arch/arm/boot/dts/ste-hrefv60plus.dtsi
index a4bc9e77d640..810cda743b6d 100644
--- a/arch/arm/boot/dts/ste-hrefv60plus.dtsi
+++ b/arch/arm/boot/dts/ste-hrefv60plus.dtsi
@@ -43,15 +43,26 @@
43 <&vaudio_hf_hrefv60_mode>, 43 <&vaudio_hf_hrefv60_mode>,
44 <&gbf_hrefv60_mode>, 44 <&gbf_hrefv60_mode>,
45 <&hdtv_hrefv60_mode>, 45 <&hdtv_hrefv60_mode>,
46 <&touch_hrefv60_mode>; 46 <&touch_hrefv60_mode>,
47 <&gpios_hrefv60_mode>;
47 48
48 sdi0 { 49 sdi0 {
49 /* SD card detect GPIO pin, extend default state */
50 sdi0_default_mode: sdi0_default { 50 sdi0_default_mode: sdi0_default {
51 /* SD card detect GPIO pin, extend default state */
51 default_hrefv60_cfg1 { 52 default_hrefv60_cfg1 {
52 pins = "GPIO95_E8"; 53 pins = "GPIO95_E8";
53 ste,config = <&gpio_in_pu>; 54 ste,config = <&gpio_in_pu>;
54 }; 55 };
56 /* VMMCI level-shifter enable */
57 default_hrefv60_cfg2 {
58 pins = "GPIO169_D22";
59 ste,config = <&gpio_out_lo>;
60 };
61 /* VMMCI level-shifter voltage select */
62 default_hrefv60_cfg3 {
63 pins = "GPIO5_AG6";
64 ste,config = <&gpio_out_hi>;
65 };
55 }; 66 };
56 }; 67 };
57 ipgpio { 68 ipgpio {
@@ -213,6 +224,16 @@
213 }; 224 };
214 }; 225 };
215 }; 226 };
227 gpios {
228 /* Dangling GPIO pins */
229 gpios_hrefv60_mode: gpios_hrefv60 {
230 default_cfg1 {
231 /* Normally UART1 RXD, now dangling */
232 pins = "GPIO4_AH6";
233 ste,config = <&in_pu>;
234 };
235 };
236 };
216 }; 237 };
217 }; 238 };
218}; 239};
diff --git a/arch/arm/boot/dts/ste-snowball.dts b/arch/arm/boot/dts/ste-snowball.dts
index 9edadc37719f..32a5ccb14e7e 100644
--- a/arch/arm/boot/dts/ste-snowball.dts
+++ b/arch/arm/boot/dts/ste-snowball.dts
@@ -18,6 +18,13 @@
18 model = "Calao Systems Snowball platform with device tree"; 18 model = "Calao Systems Snowball platform with device tree";
19 compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500"; 19 compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
20 20
21 /* This stablilizes the serial port enumeration */
22 aliases {
23 serial0 = &ux500_serial0;
24 serial1 = &ux500_serial1;
25 serial2 = &ux500_serial2;
26 };
27
21 memory { 28 memory {
22 reg = <0x00000000 0x20000000>; 29 reg = <0x00000000 0x20000000>;
23 }; 30 };
@@ -223,11 +230,11 @@
223 status = "okay"; 230 status = "okay";
224 }; 231 };
225 232
233 /* This UART is unused and thus left disabled */
226 uart@80121000 { 234 uart@80121000 {
227 pinctrl-names = "default", "sleep"; 235 pinctrl-names = "default", "sleep";
228 pinctrl-0 = <&uart1_default_mode>; 236 pinctrl-0 = <&uart1_default_mode>;
229 pinctrl-1 = <&uart1_sleep_mode>; 237 pinctrl-1 = <&uart1_sleep_mode>;
230 status = "okay";
231 }; 238 };
232 239
233 uart@80007000 { 240 uart@80007000 {
@@ -452,7 +459,21 @@
452 pins = "GPIO21_AB3"; /* DAT31DIR */ 459 pins = "GPIO21_AB3"; /* DAT31DIR */
453 ste,config = <&out_hi>; 460 ste,config = <&out_hi>;
454 }; 461 };
455 462 /* SD card detect GPIO pin, extend default state */
463 snowball_cfg2 {
464 pins = "GPIO218_AH11";
465 ste,config = <&gpio_in_pu>;
466 };
467 /* VMMCI level-shifter enable */
468 snowball_cfg3 {
469 pins = "GPIO217_AH12";
470 ste,config = <&gpio_out_lo>;
471 };
472 /* VMMCI level-shifter voltage select */
473 snowball_cfg4 {
474 pins = "GPIO228_AJ6";
475 ste,config = <&gpio_out_hi>;
476 };
456 }; 477 };
457 }; 478 };
458 ssp0 { 479 ssp0 {
diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c
index 80bad29d609a..8c4467fad837 100644
--- a/arch/arm/mach-imx/gpc.c
+++ b/arch/arm/mach-imx/gpc.c
@@ -291,8 +291,6 @@ void __init imx_gpc_check_dt(void)
291 } 291 }
292} 292}
293 293
294#ifdef CONFIG_PM_GENERIC_DOMAINS
295
296static void _imx6q_pm_pu_power_off(struct generic_pm_domain *genpd) 294static void _imx6q_pm_pu_power_off(struct generic_pm_domain *genpd)
297{ 295{
298 int iso, iso2sw; 296 int iso, iso2sw;
@@ -399,7 +397,6 @@ static struct genpd_onecell_data imx_gpc_onecell_data = {
399static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg) 397static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
400{ 398{
401 struct clk *clk; 399 struct clk *clk;
402 bool is_off;
403 int i; 400 int i;
404 401
405 imx6q_pu_domain.reg = pu_reg; 402 imx6q_pu_domain.reg = pu_reg;
@@ -416,18 +413,13 @@ static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
416 } 413 }
417 imx6q_pu_domain.num_clks = i; 414 imx6q_pu_domain.num_clks = i;
418 415
419 is_off = IS_ENABLED(CONFIG_PM); 416 /* Enable power always in case bootloader disabled it. */
420 if (is_off) { 417 imx6q_pm_pu_power_on(&imx6q_pu_domain.base);
421 _imx6q_pm_pu_power_off(&imx6q_pu_domain.base); 418
422 } else { 419 if (!IS_ENABLED(CONFIG_PM_GENERIC_DOMAINS))
423 /* 420 return 0;
424 * Enable power if compiled without CONFIG_PM in case the
425 * bootloader disabled it.
426 */
427 imx6q_pm_pu_power_on(&imx6q_pu_domain.base);
428 }
429 421
430 pm_genpd_init(&imx6q_pu_domain.base, NULL, is_off); 422 pm_genpd_init(&imx6q_pu_domain.base, NULL, false);
431 return of_genpd_add_provider_onecell(dev->of_node, 423 return of_genpd_add_provider_onecell(dev->of_node,
432 &imx_gpc_onecell_data); 424 &imx_gpc_onecell_data);
433 425
@@ -437,13 +429,6 @@ clk_err:
437 return -EINVAL; 429 return -EINVAL;
438} 430}
439 431
440#else
441static inline int imx_gpc_genpd_init(struct device *dev, struct regulator *reg)
442{
443 return 0;
444}
445#endif /* CONFIG_PM_GENERIC_DOMAINS */
446
447static int imx_gpc_probe(struct platform_device *pdev) 432static int imx_gpc_probe(struct platform_device *pdev)
448{ 433{
449 struct regulator *pu_reg; 434 struct regulator *pu_reg;
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index ecc04ff13e95..4a023e8d1bdb 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -60,6 +60,7 @@ config SOC_AM43XX
60 select ARM_GIC 60 select ARM_GIC
61 select MACH_OMAP_GENERIC 61 select MACH_OMAP_GENERIC
62 select MIGHT_HAVE_CACHE_L2X0 62 select MIGHT_HAVE_CACHE_L2X0
63 select HAVE_ARM_SCU
63 64
64config SOC_DRA7XX 65config SOC_DRA7XX
65 bool "TI DRA7XX" 66 bool "TI DRA7XX"
diff --git a/arch/arm/mach-pxa/capc7117.c b/arch/arm/mach-pxa/capc7117.c
index c092730749b9..bf366b39fa61 100644
--- a/arch/arm/mach-pxa/capc7117.c
+++ b/arch/arm/mach-pxa/capc7117.c
@@ -24,6 +24,7 @@
24#include <linux/ata_platform.h> 24#include <linux/ata_platform.h>
25#include <linux/serial_8250.h> 25#include <linux/serial_8250.h>
26#include <linux/gpio.h> 26#include <linux/gpio.h>
27#include <linux/regulator/machine.h>
27 28
28#include <asm/mach-types.h> 29#include <asm/mach-types.h>
29#include <asm/mach/arch.h> 30#include <asm/mach/arch.h>
@@ -144,6 +145,8 @@ static void __init capc7117_init(void)
144 145
145 capc7117_uarts_init(); 146 capc7117_uarts_init();
146 capc7117_ide_init(); 147 capc7117_ide_init();
148
149 regulator_has_full_constraints();
147} 150}
148 151
149MACHINE_START(CAPC7117, 152MACHINE_START(CAPC7117,
diff --git a/arch/arm/mach-pxa/cm-x2xx.c b/arch/arm/mach-pxa/cm-x2xx.c
index bb99f59a36d8..a17a91eb8e9a 100644
--- a/arch/arm/mach-pxa/cm-x2xx.c
+++ b/arch/arm/mach-pxa/cm-x2xx.c
@@ -13,6 +13,7 @@
13#include <linux/syscore_ops.h> 13#include <linux/syscore_ops.h>
14#include <linux/irq.h> 14#include <linux/irq.h>
15#include <linux/gpio.h> 15#include <linux/gpio.h>
16#include <linux/regulator/machine.h>
16 17
17#include <linux/dm9000.h> 18#include <linux/dm9000.h>
18#include <linux/leds.h> 19#include <linux/leds.h>
@@ -466,6 +467,8 @@ static void __init cmx2xx_init(void)
466 cmx2xx_init_ac97(); 467 cmx2xx_init_ac97();
467 cmx2xx_init_touchscreen(); 468 cmx2xx_init_touchscreen();
468 cmx2xx_init_leds(); 469 cmx2xx_init_leds();
470
471 regulator_has_full_constraints();
469} 472}
470 473
471static void __init cmx2xx_init_irq(void) 474static void __init cmx2xx_init_irq(void)
diff --git a/arch/arm/mach-pxa/cm-x300.c b/arch/arm/mach-pxa/cm-x300.c
index 4d3588d26c2a..5851f4c254c1 100644
--- a/arch/arm/mach-pxa/cm-x300.c
+++ b/arch/arm/mach-pxa/cm-x300.c
@@ -835,6 +835,8 @@ static void __init cm_x300_init(void)
835 cm_x300_init_ac97(); 835 cm_x300_init_ac97();
836 cm_x300_init_wi2wi(); 836 cm_x300_init_wi2wi();
837 cm_x300_init_bl(); 837 cm_x300_init_bl();
838
839 regulator_has_full_constraints();
838} 840}
839 841
840static void __init cm_x300_fixup(struct tag *tags, char **cmdline) 842static void __init cm_x300_fixup(struct tag *tags, char **cmdline)
diff --git a/arch/arm/mach-pxa/colibri-pxa270.c b/arch/arm/mach-pxa/colibri-pxa270.c
index 5f9d9303b346..3503826333c7 100644
--- a/arch/arm/mach-pxa/colibri-pxa270.c
+++ b/arch/arm/mach-pxa/colibri-pxa270.c
@@ -18,6 +18,7 @@
18#include <linux/mtd/partitions.h> 18#include <linux/mtd/partitions.h>
19#include <linux/mtd/physmap.h> 19#include <linux/mtd/physmap.h>
20#include <linux/platform_device.h> 20#include <linux/platform_device.h>
21#include <linux/regulator/machine.h>
21#include <linux/ucb1400.h> 22#include <linux/ucb1400.h>
22 23
23#include <asm/mach/arch.h> 24#include <asm/mach/arch.h>
@@ -294,6 +295,8 @@ static void __init colibri_pxa270_init(void)
294 printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n", 295 printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n",
295 colibri_pxa270_baseboard); 296 colibri_pxa270_baseboard);
296 } 297 }
298
299 regulator_has_full_constraints();
297} 300}
298 301
299/* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either 302/* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either
diff --git a/arch/arm/mach-pxa/em-x270.c b/arch/arm/mach-pxa/em-x270.c
index 51531ecffca8..9d7072b04045 100644
--- a/arch/arm/mach-pxa/em-x270.c
+++ b/arch/arm/mach-pxa/em-x270.c
@@ -1306,6 +1306,8 @@ static void __init em_x270_init(void)
1306 em_x270_init_i2c(); 1306 em_x270_init_i2c();
1307 em_x270_init_camera(); 1307 em_x270_init_camera();
1308 em_x270_userspace_consumers_init(); 1308 em_x270_userspace_consumers_init();
1309
1310 regulator_has_full_constraints();
1309} 1311}
1310 1312
1311MACHINE_START(EM_X270, "Compulab EM-X270") 1313MACHINE_START(EM_X270, "Compulab EM-X270")
diff --git a/arch/arm/mach-pxa/icontrol.c b/arch/arm/mach-pxa/icontrol.c
index c98511c5abd1..9b0eb0252af6 100644
--- a/arch/arm/mach-pxa/icontrol.c
+++ b/arch/arm/mach-pxa/icontrol.c
@@ -26,6 +26,7 @@
26#include <linux/spi/spi.h> 26#include <linux/spi/spi.h>
27#include <linux/spi/pxa2xx_spi.h> 27#include <linux/spi/pxa2xx_spi.h>
28#include <linux/can/platform/mcp251x.h> 28#include <linux/can/platform/mcp251x.h>
29#include <linux/regulator/machine.h>
29 30
30#include "generic.h" 31#include "generic.h"
31 32
@@ -185,6 +186,8 @@ static void __init icontrol_init(void)
185 mxm_8x10_mmc_init(); 186 mxm_8x10_mmc_init();
186 187
187 icontrol_can_init(); 188 icontrol_can_init();
189
190 regulator_has_full_constraints();
188} 191}
189 192
190MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM") 193MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM")
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c
index 872dcb20e757..066e3a250ee0 100644
--- a/arch/arm/mach-pxa/trizeps4.c
+++ b/arch/arm/mach-pxa/trizeps4.c
@@ -26,6 +26,7 @@
26#include <linux/dm9000.h> 26#include <linux/dm9000.h>
27#include <linux/mtd/physmap.h> 27#include <linux/mtd/physmap.h>
28#include <linux/mtd/partitions.h> 28#include <linux/mtd/partitions.h>
29#include <linux/regulator/machine.h>
29#include <linux/i2c/pxa-i2c.h> 30#include <linux/i2c/pxa-i2c.h>
30 31
31#include <asm/types.h> 32#include <asm/types.h>
@@ -534,6 +535,8 @@ static void __init trizeps4_init(void)
534 535
535 BCR_writew(trizeps_conxs_bcr); 536 BCR_writew(trizeps_conxs_bcr);
536 board_backlight_power(1); 537 board_backlight_power(1);
538
539 regulator_has_full_constraints();
537} 540}
538 541
539static void __init trizeps4_map_io(void) 542static void __init trizeps4_map_io(void)
diff --git a/arch/arm/mach-pxa/vpac270.c b/arch/arm/mach-pxa/vpac270.c
index aa89488f961e..54122a983ae3 100644
--- a/arch/arm/mach-pxa/vpac270.c
+++ b/arch/arm/mach-pxa/vpac270.c
@@ -24,6 +24,7 @@
24#include <linux/dm9000.h> 24#include <linux/dm9000.h>
25#include <linux/ucb1400.h> 25#include <linux/ucb1400.h>
26#include <linux/ata_platform.h> 26#include <linux/ata_platform.h>
27#include <linux/regulator/machine.h>
27#include <linux/regulator/max1586.h> 28#include <linux/regulator/max1586.h>
28#include <linux/i2c/pxa-i2c.h> 29#include <linux/i2c/pxa-i2c.h>
29 30
@@ -711,6 +712,8 @@ static void __init vpac270_init(void)
711 vpac270_ts_init(); 712 vpac270_ts_init();
712 vpac270_rtc_init(); 713 vpac270_rtc_init();
713 vpac270_ide_init(); 714 vpac270_ide_init();
715
716 regulator_has_full_constraints();
714} 717}
715 718
716MACHINE_START(VPAC270, "Voipac PXA270") 719MACHINE_START(VPAC270, "Voipac PXA270")
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c
index ac2ae5c71ab4..6158566fa0f7 100644
--- a/arch/arm/mach-pxa/zeus.c
+++ b/arch/arm/mach-pxa/zeus.c
@@ -868,6 +868,8 @@ static void __init zeus_init(void)
868 i2c_register_board_info(0, ARRAY_AND_SIZE(zeus_i2c_devices)); 868 i2c_register_board_info(0, ARRAY_AND_SIZE(zeus_i2c_devices));
869 pxa2xx_set_spi_info(3, &pxa2xx_spi_ssp3_master_info); 869 pxa2xx_set_spi_info(3, &pxa2xx_spi_ssp3_master_info);
870 spi_register_board_info(zeus_spi_board_info, ARRAY_SIZE(zeus_spi_board_info)); 870 spi_register_board_info(zeus_spi_board_info, ARRAY_SIZE(zeus_spi_board_info));
871
872 regulator_has_full_constraints();
871} 873}
872 874
873static struct map_desc zeus_io_desc[] __initdata = { 875static struct map_desc zeus_io_desc[] __initdata = {