提交 10b97f38 编写于 作者: L Linus Torvalds

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
...@@ -1001,6 +1001,7 @@ ARM/CONEXANT DIGICOLOR MACHINE SUPPORT ...@@ -1001,6 +1001,7 @@ ARM/CONEXANT DIGICOLOR MACHINE SUPPORT
M: Baruch Siach <baruch@tkos.co.il> M: Baruch Siach <baruch@tkos.co.il>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Maintained S: Maintained
F: arch/arm/boot/dts/cx92755*
N: digicolor N: digicolor
ARM/EBSA110 MACHINE SUPPORT ARM/EBSA110 MACHINE SUPPORT
......
...@@ -74,6 +74,7 @@ ...@@ -74,6 +74,7 @@
audio_codec: tlv320aic3106@1b { audio_codec: tlv320aic3106@1b {
compatible = "ti,tlv320aic3106"; compatible = "ti,tlv320aic3106";
reg = <0x1b>; reg = <0x1b>;
ai3x-micbias-vg = <0x2>;
}; };
accel: lis331dlh@1d { accel: lis331dlh@1d {
...@@ -153,7 +154,7 @@ ...@@ -153,7 +154,7 @@
ti,audio-routing = ti,audio-routing =
"Headphone Jack", "HPLOUT", "Headphone Jack", "HPLOUT",
"Headphone Jack", "HPROUT", "Headphone Jack", "HPROUT",
"LINE1L", "Line In"; "MIC3L", "Mic3L Switch";
}; };
&mcasp0 { &mcasp0 {
...@@ -438,41 +439,50 @@ ...@@ -438,41 +439,50 @@
regulators { regulators {
dcdc1_reg: regulator@0 { dcdc1_reg: regulator@0 {
/* VDD_1V8 system supply */ /* VDD_1V8 system supply */
regulator-always-on;
}; };
dcdc2_reg: regulator@1 { dcdc2_reg: regulator@1 {
/* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */ /* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */
regulator-name = "vdd_core"; regulator-name = "vdd_core";
regulator-min-microvolt = <925000>; regulator-min-microvolt = <925000>;
regulator-max-microvolt = <1325000>; regulator-max-microvolt = <1150000>;
regulator-boot-on; regulator-boot-on;
regulator-always-on;
}; };
dcdc3_reg: regulator@2 { dcdc3_reg: regulator@2 {
/* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */ /* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */
regulator-name = "vdd_mpu"; regulator-name = "vdd_mpu";
regulator-min-microvolt = <925000>; regulator-min-microvolt = <925000>;
regulator-max-microvolt = <1150000>; regulator-max-microvolt = <1325000>;
regulator-boot-on; regulator-boot-on;
regulator-always-on;
}; };
ldo1_reg: regulator@3 { ldo1_reg: regulator@3 {
/* VRTC 1.8V always-on supply */ /* VRTC 1.8V always-on supply */
regulator-name = "vrtc,vdds";
regulator-always-on; regulator-always-on;
}; };
ldo2_reg: regulator@4 { ldo2_reg: regulator@4 {
/* 3.3V rail */ /* 3.3V rail */
regulator-name = "vdd_3v3aux";
regulator-always-on;
}; };
ldo3_reg: regulator@5 { ldo3_reg: regulator@5 {
/* VDD_3V3A 3.3V rail */ /* VDD_3V3A 3.3V rail */
regulator-name = "vdd_3v3a";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
ldo4_reg: regulator@6 { ldo4_reg: regulator@6 {
/* VDD_3V3B 3.3V rail */ /* VDD_3V3B 3.3V rail */
regulator-name = "vdd_3v3b";
regulator-always-on;
}; };
}; };
}; };
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
MATRIX_KEY(0x00, 0x02, KEY_F1) MATRIX_KEY(0x00, 0x02, KEY_F1)
MATRIX_KEY(0x00, 0x03, KEY_B) MATRIX_KEY(0x00, 0x03, KEY_B)
MATRIX_KEY(0x00, 0x04, KEY_F10) MATRIX_KEY(0x00, 0x04, KEY_F10)
MATRIX_KEY(0x00, 0x05, KEY_RO)
MATRIX_KEY(0x00, 0x06, KEY_N) MATRIX_KEY(0x00, 0x06, KEY_N)
MATRIX_KEY(0x00, 0x08, KEY_EQUAL) MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
...@@ -34,6 +35,7 @@ ...@@ -34,6 +35,7 @@
MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
MATRIX_KEY(0x01, 0x09, KEY_F9) MATRIX_KEY(0x01, 0x09, KEY_F9)
MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
MATRIX_KEY(0x01, 0x0c, KEY_HENKAN)
MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL) MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
MATRIX_KEY(0x02, 0x01, KEY_TAB) MATRIX_KEY(0x02, 0x01, KEY_TAB)
...@@ -45,6 +47,7 @@ ...@@ -45,6 +47,7 @@
MATRIX_KEY(0x02, 0x07, KEY_102ND) MATRIX_KEY(0x02, 0x07, KEY_102ND)
MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
MATRIX_KEY(0x02, 0x09, KEY_F8) MATRIX_KEY(0x02, 0x09, KEY_F8)
MATRIX_KEY(0x02, 0x0a, KEY_YEN)
MATRIX_KEY(0x03, 0x01, KEY_GRAVE) MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
MATRIX_KEY(0x03, 0x02, KEY_F2) MATRIX_KEY(0x03, 0x02, KEY_F2)
...@@ -53,6 +56,7 @@ ...@@ -53,6 +56,7 @@
MATRIX_KEY(0x03, 0x06, KEY_6) MATRIX_KEY(0x03, 0x06, KEY_6)
MATRIX_KEY(0x03, 0x08, KEY_MINUS) MATRIX_KEY(0x03, 0x08, KEY_MINUS)
MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN)
MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL) MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
MATRIX_KEY(0x04, 0x01, KEY_A) MATRIX_KEY(0x04, 0x01, KEY_A)
......
...@@ -468,6 +468,7 @@ ...@@ -468,6 +468,7 @@
interrupts = <36 37 38 39 40 41 42 43 44>; interrupts = <36 37 38 39 40 41 42 43 44>;
status = "disabled"; status = "disabled";
clocks = <&clks 26>; clocks = <&clks 26>;
#io-channel-cells = <1>;
}; };
spdif@80054000 { spdif@80054000 {
......
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
}; };
gpt1: timer@10003000 { gpt1: timer@10003000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x10003000 0x1000>; reg = <0x10003000 0x1000>;
interrupts = <26>; interrupts = <26>;
clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
...@@ -117,7 +117,7 @@ ...@@ -117,7 +117,7 @@
}; };
gpt2: timer@10004000 { gpt2: timer@10004000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x10004000 0x1000>; reg = <0x10004000 0x1000>;
interrupts = <25>; interrupts = <25>;
clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
}; };
gpt3: timer@10005000 { gpt3: timer@10005000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x10005000 0x1000>; reg = <0x10005000 0x1000>;
interrupts = <24>; interrupts = <24>;
clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
...@@ -376,7 +376,7 @@ ...@@ -376,7 +376,7 @@
}; };
gpt4: timer@10019000 { gpt4: timer@10019000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x10019000 0x1000>; reg = <0x10019000 0x1000>;
interrupts = <4>; interrupts = <4>;
clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
...@@ -385,7 +385,7 @@ ...@@ -385,7 +385,7 @@
}; };
gpt5: timer@1001a000 { gpt5: timer@1001a000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x1001a000 0x1000>; reg = <0x1001a000 0x1000>;
interrupts = <3>; interrupts = <3>;
clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
...@@ -436,7 +436,7 @@ ...@@ -436,7 +436,7 @@
}; };
gpt6: timer@1001f000 { gpt6: timer@1001f000 {
compatible = "fsl,imx27-gpt", "fsl,imx1-gpt"; compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
reg = <0x1001f000 0x1000>; reg = <0x1001f000 0x1000>;
interrupts = <2>; interrupts = <2>;
clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>, clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
......
...@@ -295,9 +295,10 @@ ...@@ -295,9 +295,10 @@
&tve { &tve {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_vga_sync>; pinctrl-0 = <&pinctrl_vga_sync>;
ddc-i2c-bus = <&i2c2>;
fsl,tve-mode = "vga"; fsl,tve-mode = "vga";
fsl,hsync-pin = <4>; fsl,hsync-pin = <7>; /* IPU DI1 PIN7 via EIM_OE */
fsl,vsync-pin = <6>; fsl,vsync-pin = <8>; /* IPU DI1 PIN8 via EIM_RW */
status = "okay"; status = "okay";
}; };
......
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
gpio,syscon-dev = <&devctrl 0x240>; gpio,syscon-dev = <&devctrl 0x240>;
}; };
pcie@21020000 { pcie1: pcie@21020000 {
compatible = "ti,keystone-pcie","snps,dw-pcie"; compatible = "ti,keystone-pcie","snps,dw-pcie";
clocks = <&clkpcie1>; clocks = <&clkpcie1>;
clock-names = "pcie"; clock-names = "pcie";
...@@ -96,6 +96,7 @@ ...@@ -96,6 +96,7 @@
ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000 ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000
0x82000000 0 0x60000000 0x60000000 0 0x10000000>; 0x82000000 0 0x60000000 0x60000000 0 0x10000000>;
status = "disabled";
device_type = "pci"; device_type = "pci";
num-lanes = <2>; num-lanes = <2>;
......
...@@ -286,7 +286,7 @@ ...@@ -286,7 +286,7 @@
ti,syscon-dev = <&devctrl 0x2a0>; ti,syscon-dev = <&devctrl 0x2a0>;
}; };
pcie@21800000 { pcie0: pcie@21800000 {
compatible = "ti,keystone-pcie", "snps,dw-pcie"; compatible = "ti,keystone-pcie", "snps,dw-pcie";
clocks = <&clkpcie>; clocks = <&clkpcie>;
clock-names = "pcie"; clock-names = "pcie";
...@@ -296,6 +296,7 @@ ...@@ -296,6 +296,7 @@
ranges = <0x81000000 0 0 0x23250000 0 0x4000 ranges = <0x81000000 0 0 0x23250000 0 0x4000
0x82000000 0 0x50000000 0x50000000 0 0x10000000>; 0x82000000 0 0x50000000 0x50000000 0 0x10000000>;
status = "disabled";
device_type = "pci"; device_type = "pci";
num-lanes = <2>; num-lanes = <2>;
......
...@@ -120,7 +120,7 @@ ...@@ -120,7 +120,7 @@
lcd0: display@0 { lcd0: display@0 {
compatible = "lgphilips,lb035q02"; compatible = "lgphilips,lb035q02";
label = "lcd"; label = "lcd35";
reg = <1>; /* CS1 */ reg = <1>; /* CS1 */
spi-max-frequency = <10000000>; spi-max-frequency = <10000000>;
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
lcd0: display@0 { lcd0: display@0 {
compatible = "samsung,lte430wq-f0c", "panel-dpi"; compatible = "samsung,lte430wq-f0c", "panel-dpi";
label = "lcd"; label = "lcd43";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&lte430_pins>; pinctrl-0 = <&lte430_pins>;
......
...@@ -551,6 +551,7 @@ ...@@ -551,6 +551,7 @@
reg = <0x4a066000 0x100>; reg = <0x4a066000 0x100>;
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "mmu_dsp"; ti,hwmods = "mmu_dsp";
#iommu-cells = <0>;
}; };
mmu_ipu: mmu@55082000 { mmu_ipu: mmu@55082000 {
...@@ -558,6 +559,7 @@ ...@@ -558,6 +559,7 @@
reg = <0x55082000 0x100>; reg = <0x55082000 0x100>;
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "mmu_ipu"; ti,hwmods = "mmu_ipu";
#iommu-cells = <0>;
ti,iommu-bus-err-back; ti,iommu-bus-err-back;
}; };
......
...@@ -612,6 +612,7 @@ ...@@ -612,6 +612,7 @@
reg = <0x4a066000 0x100>; reg = <0x4a066000 0x100>;
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "mmu_dsp"; ti,hwmods = "mmu_dsp";
#iommu-cells = <0>;
}; };
mmu_ipu: mmu@55082000 { mmu_ipu: mmu@55082000 {
...@@ -619,6 +620,7 @@ ...@@ -619,6 +620,7 @@
reg = <0x55082000 0x100>; reg = <0x55082000 0x100>;
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "mmu_ipu"; ti,hwmods = "mmu_ipu";
#iommu-cells = <0>;
ti,iommu-bus-err-back; ti,iommu-bus-err-back;
}; };
......
...@@ -60,27 +60,27 @@ ...@@ -60,27 +60,27 @@
rxc-skew-ps = <2000>; rxc-skew-ps = <2000>;
}; };
&mmc0 {
vmmc-supply = <&regulator_3_3v>;
vqmmc-supply = <&regulator_3_3v>;
};
&usb1 {
status = "okay";
};
&gpio2 { &gpio2 {
status = "okay"; status = "okay";
}; };
&i2c1{ &i2c1 {
status = "okay"; status = "okay";
accel1: accel1@53{ accel1: accelerometer@53 {
compatible = "adxl34x"; compatible = "adi,adxl345";
reg = <0x53>; reg = <0x53>;
interrupt-parent = < &portc >; interrupt-parent = <&portc>;
interrupts = <3 2>; interrupts = <3 2>;
}; };
}; };
&mmc0 {
vmmc-supply = <&regulator_3_3v>;
vqmmc-supply = <&regulator_3_3v>;
};
&usb1 {
status = "okay";
};
...@@ -17,6 +17,13 @@ ...@@ -17,6 +17,13 @@
model = "ST-Ericsson U8540 platform with Device Tree"; model = "ST-Ericsson U8540 platform with Device Tree";
compatible = "st-ericsson,ccu8540", "st-ericsson,u8540"; compatible = "st-ericsson,ccu8540", "st-ericsson,u8540";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
memory@0 { memory@0 {
device_type = "memory"; device_type = "memory";
reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>; reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>;
......
...@@ -16,6 +16,13 @@ ...@@ -16,6 +16,13 @@
model = "ST-Ericsson CCU9540 platform with Device Tree"; model = "ST-Ericsson CCU9540 platform with Device Tree";
compatible = "st-ericsson,ccu9540", "st-ericsson,u9540"; compatible = "st-ericsson,ccu9540", "st-ericsson,u9540";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
memory { memory {
reg = <0x00000000 0x20000000>; reg = <0x00000000 0x20000000>;
}; };
......
...@@ -971,7 +971,7 @@ ...@@ -971,7 +971,7 @@
power-domains = <&pm_domains DOMAIN_VAPE>; power-domains = <&pm_domains DOMAIN_VAPE>;
}; };
uart@80120000 { ux500_serial0: uart@80120000 {
compatible = "arm,pl011", "arm,primecell"; compatible = "arm,pl011", "arm,primecell";
reg = <0x80120000 0x1000>; reg = <0x80120000 0x1000>;
interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
...@@ -986,7 +986,7 @@ ...@@ -986,7 +986,7 @@
status = "disabled"; status = "disabled";
}; };
uart@80121000 { ux500_serial1: uart@80121000 {
compatible = "arm,pl011", "arm,primecell"; compatible = "arm,pl011", "arm,primecell";
reg = <0x80121000 0x1000>; reg = <0x80121000 0x1000>;
interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>; interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
...@@ -1001,7 +1001,7 @@ ...@@ -1001,7 +1001,7 @@
status = "disabled"; status = "disabled";
}; };
uart@80007000 { ux500_serial2: uart@80007000 {
compatible = "arm,pl011", "arm,primecell"; compatible = "arm,pl011", "arm,primecell";
reg = <0x80007000 0x1000>; reg = <0x80007000 0x1000>;
interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>; interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
......
...@@ -32,11 +32,11 @@ ...@@ -32,11 +32,11 @@
status = "okay"; status = "okay";
}; };
/* This UART is unused and thus left disabled */
uart@80121000 { uart@80121000 {
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart1_default_mode>; pinctrl-0 = <&uart1_default_mode>;
pinctrl-1 = <&uart1_sleep_mode>; pinctrl-1 = <&uart1_sleep_mode>;
status = "okay";
}; };
uart@80007000 { uart@80007000 {
......
...@@ -17,6 +17,13 @@ ...@@ -17,6 +17,13 @@
model = "ST-Ericsson HREF (pre-v60) and ST UIB"; model = "ST-Ericsson HREF (pre-v60) and ST UIB";
compatible = "st-ericsson,mop500", "st-ericsson,u8500"; compatible = "st-ericsson,mop500", "st-ericsson,u8500";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
soc { soc {
/* Reset line for the BU21013 touchscreen */ /* Reset line for the BU21013 touchscreen */
i2c@80110000 { i2c@80110000 {
......
...@@ -16,4 +16,11 @@ ...@@ -16,4 +16,11 @@
/ { / {
model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB"; model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB";
compatible = "st-ericsson,mop500", "st-ericsson,u8500"; compatible = "st-ericsson,mop500", "st-ericsson,u8500";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
}; };
...@@ -23,6 +23,11 @@ ...@@ -23,6 +23,11 @@
}; };
soc { soc {
/* Enable UART1 on this board */
uart@80121000 {
status = "okay";
};
i2c@80004000 { i2c@80004000 {
tps61052@33 { tps61052@33 {
compatible = "tps61052"; compatible = "tps61052";
......
...@@ -19,6 +19,13 @@ ...@@ -19,6 +19,13 @@
model = "ST-Ericsson HREF (v60+) and ST UIB"; model = "ST-Ericsson HREF (v60+) and ST UIB";
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500"; compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
soc { soc {
/* Reset line for the BU21013 touchscreen */ /* Reset line for the BU21013 touchscreen */
i2c@80110000 { i2c@80110000 {
......
...@@ -18,4 +18,11 @@ ...@@ -18,4 +18,11 @@
/ { / {
model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB"; model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB";
compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500"; compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
}; };
...@@ -43,15 +43,26 @@ ...@@ -43,15 +43,26 @@
<&vaudio_hf_hrefv60_mode>, <&vaudio_hf_hrefv60_mode>,
<&gbf_hrefv60_mode>, <&gbf_hrefv60_mode>,
<&hdtv_hrefv60_mode>, <&hdtv_hrefv60_mode>,
<&touch_hrefv60_mode>; <&touch_hrefv60_mode>,
<&gpios_hrefv60_mode>;
sdi0 { sdi0 {
/* SD card detect GPIO pin, extend default state */
sdi0_default_mode: sdi0_default { sdi0_default_mode: sdi0_default {
/* SD card detect GPIO pin, extend default state */
default_hrefv60_cfg1 { default_hrefv60_cfg1 {
pins = "GPIO95_E8"; pins = "GPIO95_E8";
ste,config = <&gpio_in_pu>; ste,config = <&gpio_in_pu>;
}; };
/* VMMCI level-shifter enable */
default_hrefv60_cfg2 {
pins = "GPIO169_D22";
ste,config = <&gpio_out_lo>;
};
/* VMMCI level-shifter voltage select */
default_hrefv60_cfg3 {
pins = "GPIO5_AG6";
ste,config = <&gpio_out_hi>;
};
}; };
}; };
ipgpio { ipgpio {
...@@ -213,6 +224,16 @@ ...@@ -213,6 +224,16 @@
}; };
}; };
}; };
gpios {
/* Dangling GPIO pins */
gpios_hrefv60_mode: gpios_hrefv60 {
default_cfg1 {
/* Normally UART1 RXD, now dangling */
pins = "GPIO4_AH6";
ste,config = <&in_pu>;
};
};
};
}; };
}; };
}; };
...@@ -18,6 +18,13 @@ ...@@ -18,6 +18,13 @@
model = "Calao Systems Snowball platform with device tree"; model = "Calao Systems Snowball platform with device tree";
compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500"; compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
/* This stablilizes the serial port enumeration */
aliases {
serial0 = &ux500_serial0;
serial1 = &ux500_serial1;
serial2 = &ux500_serial2;
};
memory { memory {
reg = <0x00000000 0x20000000>; reg = <0x00000000 0x20000000>;
}; };
...@@ -223,11 +230,11 @@ ...@@ -223,11 +230,11 @@
status = "okay"; status = "okay";
}; };
/* This UART is unused and thus left disabled */
uart@80121000 { uart@80121000 {
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&uart1_default_mode>; pinctrl-0 = <&uart1_default_mode>;
pinctrl-1 = <&uart1_sleep_mode>; pinctrl-1 = <&uart1_sleep_mode>;
status = "okay";
}; };
uart@80007000 { uart@80007000 {
...@@ -452,7 +459,21 @@ ...@@ -452,7 +459,21 @@
pins = "GPIO21_AB3"; /* DAT31DIR */ pins = "GPIO21_AB3"; /* DAT31DIR */
ste,config = <&out_hi>; ste,config = <&out_hi>;
}; };
/* SD card detect GPIO pin, extend default state */
snowball_cfg2 {
pins = "GPIO218_AH11";
ste,config = <&gpio_in_pu>;
};
/* VMMCI level-shifter enable */
snowball_cfg3 {
pins = "GPIO217_AH12";
ste,config = <&gpio_out_lo>;
};
/* VMMCI level-shifter voltage select */
snowball_cfg4 {
pins = "GPIO228_AJ6";
ste,config = <&gpio_out_hi>;
};
}; };
}; };
ssp0 { ssp0 {
......
...@@ -291,8 +291,6 @@ void __init imx_gpc_check_dt(void) ...@@ -291,8 +291,6 @@ void __init imx_gpc_check_dt(void)
} }
} }
#ifdef CONFIG_PM_GENERIC_DOMAINS
static void _imx6q_pm_pu_power_off(struct generic_pm_domain *genpd) static void _imx6q_pm_pu_power_off(struct generic_pm_domain *genpd)
{ {
int iso, iso2sw; int iso, iso2sw;
...@@ -399,7 +397,6 @@ static struct genpd_onecell_data imx_gpc_onecell_data = { ...@@ -399,7 +397,6 @@ static struct genpd_onecell_data imx_gpc_onecell_data = {
static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg) static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
{ {
struct clk *clk; struct clk *clk;
bool is_off;
int i; int i;
imx6q_pu_domain.reg = pu_reg; imx6q_pu_domain.reg = pu_reg;
...@@ -416,18 +413,13 @@ static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg) ...@@ -416,18 +413,13 @@ static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
} }
imx6q_pu_domain.num_clks = i; imx6q_pu_domain.num_clks = i;
is_off = IS_ENABLED(CONFIG_PM); /* Enable power always in case bootloader disabled it. */
if (is_off) { imx6q_pm_pu_power_on(&imx6q_pu_domain.base);
_imx6q_pm_pu_power_off(&imx6q_pu_domain.base);
} else { if (!IS_ENABLED(CONFIG_PM_GENERIC_DOMAINS))
/* return 0;
* Enable power if compiled without CONFIG_PM in case the
* bootloader disabled it.
*/
imx6q_pm_pu_power_on(&imx6q_pu_domain.base);
}
pm_genpd_init(&imx6q_pu_domain.base, NULL, is_off); pm_genpd_init(&imx6q_pu_domain.base, NULL, false);
return of_genpd_add_provider_onecell(dev->of_node, return of_genpd_add_provider_onecell(dev->of_node,
&imx_gpc_onecell_data); &imx_gpc_onecell_data);
...@@ -437,13 +429,6 @@ static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg) ...@@ -437,13 +429,6 @@ static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
return -EINVAL; return -EINVAL;
} }
#else
static inline int imx_gpc_genpd_init(struct device *dev, struct regulator *reg)
{
return 0;
}
#endif /* CONFIG_PM_GENERIC_DOMAINS */
static int imx_gpc_probe(struct platform_device *pdev) static int imx_gpc_probe(struct platform_device *pdev)
{ {
struct regulator *pu_reg; struct regulator *pu_reg;
......
...@@ -60,6 +60,7 @@ config SOC_AM43XX ...@@ -60,6 +60,7 @@ config SOC_AM43XX
select ARM_GIC select ARM_GIC
select MACH_OMAP_GENERIC select MACH_OMAP_GENERIC
select MIGHT_HAVE_CACHE_L2X0 select MIGHT_HAVE_CACHE_L2X0
select HAVE_ARM_SCU
config SOC_DRA7XX config SOC_DRA7XX
bool "TI DRA7XX" bool "TI DRA7XX"
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <linux/ata_platform.h> #include <linux/ata_platform.h>
#include <linux/serial_8250.h> #include <linux/serial_8250.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/regulator/machine.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
...@@ -144,6 +145,8 @@ static void __init capc7117_init(void) ...@@ -144,6 +145,8 @@ static void __init capc7117_init(void)
capc7117_uarts_init(); capc7117_uarts_init();
capc7117_ide_init(); capc7117_ide_init();
regulator_has_full_constraints();
} }
MACHINE_START(CAPC7117, MACHINE_START(CAPC7117,
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <linux/syscore_ops.h> #include <linux/syscore_ops.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/gpio.h> #include <linux/gpio.h>
#include <linux/regulator/machine.h>
#include <linux/dm9000.h> #include <linux/dm9000.h>
#include <linux/leds.h> #include <linux/leds.h>
...@@ -466,6 +467,8 @@ static void __init cmx2xx_init(void) ...@@ -466,6 +467,8 @@ static void __init cmx2xx_init(void)
cmx2xx_init_ac97(); cmx2xx_init_ac97();
cmx2xx_init_touchscreen(); cmx2xx_init_touchscreen();
cmx2xx_init_leds(); cmx2xx_init_leds();
regulator_has_full_constraints();
} }
static void __init cmx2xx_init_irq(void) static void __init cmx2xx_init_irq(void)
......
...@@ -835,6 +835,8 @@ static void __init cm_x300_init(void) ...@@ -835,6 +835,8 @@ static void __init cm_x300_init(void)
cm_x300_init_ac97(); cm_x300_init_ac97();
cm_x300_init_wi2wi(); cm_x300_init_wi2wi();
cm_x300_init_bl(); cm_x300_init_bl();
regulator_has_full_constraints();
} }
static void __init cm_x300_fixup(struct tag *tags, char **cmdline) static void __init cm_x300_fixup(struct tag *tags, char **cmdline)
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/mtd/physmap.h> #include <linux/mtd/physmap.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/regulator/machine.h>
#include <linux/ucb1400.h> #include <linux/ucb1400.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
...@@ -294,6 +295,8 @@ static void __init colibri_pxa270_init(void) ...@@ -294,6 +295,8 @@ static void __init colibri_pxa270_init(void)
printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n", printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n",
colibri_pxa270_baseboard); colibri_pxa270_baseboard);
} }
regulator_has_full_constraints();
} }
/* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either /* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either
......
...@@ -1306,6 +1306,8 @@ static void __init em_x270_init(void) ...@@ -1306,6 +1306,8 @@ static void __init em_x270_init(void)
em_x270_init_i2c(); em_x270_init_i2c();
em_x270_init_camera(); em_x270_init_camera();
em_x270_userspace_consumers_init(); em_x270_userspace_consumers_init();
regulator_has_full_constraints();
} }
MACHINE_START(EM_X270, "Compulab EM-X270") MACHINE_START(EM_X270, "Compulab EM-X270")
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <linux/spi/pxa2xx_spi.h> #include <linux/spi/pxa2xx_spi.h>
#include <linux/can/platform/mcp251x.h> #include <linux/can/platform/mcp251x.h>
#include <linux/regulator/machine.h>
#include "generic.h" #include "generic.h"
...@@ -185,6 +186,8 @@ static void __init icontrol_init(void) ...@@ -185,6 +186,8 @@ static void __init icontrol_init(void)
mxm_8x10_mmc_init(); mxm_8x10_mmc_init();
icontrol_can_init(); icontrol_can_init();
regulator_has_full_constraints();
} }
MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM") MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM")
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include <linux/dm9000.h> #include <linux/dm9000.h>
#include <linux/mtd/physmap.h> #include <linux/mtd/physmap.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/regulator/machine.h>
#include <linux/i2c/pxa-i2c.h> #include <linux/i2c/pxa-i2c.h>
#include <asm/types.h> #include <asm/types.h>
...@@ -534,6 +535,8 @@ static void __init trizeps4_init(void) ...@@ -534,6 +535,8 @@ static void __init trizeps4_init(void)
BCR_writew(trizeps_conxs_bcr); BCR_writew(trizeps_conxs_bcr);
board_backlight_power(1); board_backlight_power(1);
regulator_has_full_constraints();
} }
static void __init trizeps4_map_io(void) static void __init trizeps4_map_io(void)
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <linux/dm9000.h> #include <linux/dm9000.h>
#include <linux/ucb1400.h> #include <linux/ucb1400.h>
#include <linux/ata_platform.h> #include <linux/ata_platform.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/max1586.h> #include <linux/regulator/max1586.h>
#include <linux/i2c/pxa-i2c.h> #include <linux/i2c/pxa-i2c.h>
...@@ -711,6 +712,8 @@ static void __init vpac270_init(void) ...@@ -711,6 +712,8 @@ static void __init vpac270_init(void)
vpac270_ts_init(); vpac270_ts_init();
vpac270_rtc_init(); vpac270_rtc_init();
vpac270_ide_init(); vpac270_ide_init();
regulator_has_full_constraints();
} }
MACHINE_START(VPAC270, "Voipac PXA270") MACHINE_START(VPAC270, "Voipac PXA270")
......
...@@ -868,6 +868,8 @@ static void __init zeus_init(void) ...@@ -868,6 +868,8 @@ static void __init zeus_init(void)
i2c_register_board_info(0, ARRAY_AND_SIZE(zeus_i2c_devices)); i2c_register_board_info(0, ARRAY_AND_SIZE(zeus_i2c_devices));
pxa2xx_set_spi_info(3, &pxa2xx_spi_ssp3_master_info); pxa2xx_set_spi_info(3, &pxa2xx_spi_ssp3_master_info);
spi_register_board_info(zeus_spi_board_info, ARRAY_SIZE(zeus_spi_board_info)); spi_register_board_info(zeus_spi_board_info, ARRAY_SIZE(zeus_spi_board_info));
regulator_has_full_constraints();
} }
static struct map_desc zeus_io_desc[] __initdata = { static struct map_desc zeus_io_desc[] __initdata = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册