diff options
Diffstat (limited to 'arch/arm')
83 files changed, 325 insertions, 424 deletions
diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts index 6b71ad95a5cf..305975d3f531 100644 --- a/arch/arm/boot/dts/am335x-boneblack.dts +++ b/arch/arm/boot/dts/am335x-boneblack.dts | |||
@@ -26,7 +26,6 @@ | |||
26 | pinctrl-0 = <&emmc_pins>; | 26 | pinctrl-0 = <&emmc_pins>; |
27 | bus-width = <8>; | 27 | bus-width = <8>; |
28 | status = "okay"; | 28 | status = "okay"; |
29 | ti,vcc-aux-disable-is-sleep; | ||
30 | }; | 29 | }; |
31 | 30 | ||
32 | &am33xx_pinmux { | 31 | &am33xx_pinmux { |
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index cb6811e5ae5a..7ad75b4e0663 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi | |||
@@ -144,7 +144,7 @@ | |||
144 | compatible = "ti,edma3"; | 144 | compatible = "ti,edma3"; |
145 | ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2"; | 145 | ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2"; |
146 | reg = <0x49000000 0x10000>, | 146 | reg = <0x49000000 0x10000>, |
147 | <0x44e10f90 0x10>; | 147 | <0x44e10f90 0x40>; |
148 | interrupts = <12 13 14>; | 148 | interrupts = <12 13 14>; |
149 | #dma-cells = <1>; | 149 | #dma-cells = <1>; |
150 | dma-channels = <64>; | 150 | dma-channels = <64>; |
diff --git a/arch/arm/boot/dts/am3517.dtsi b/arch/arm/boot/dts/am3517.dtsi index 788391f91684..5a452fdd7c5d 100644 --- a/arch/arm/boot/dts/am3517.dtsi +++ b/arch/arm/boot/dts/am3517.dtsi | |||
@@ -62,5 +62,21 @@ | |||
62 | }; | 62 | }; |
63 | }; | 63 | }; |
64 | 64 | ||
65 | &iva { | ||
66 | status = "disabled"; | ||
67 | }; | ||
68 | |||
69 | &mailbox { | ||
70 | status = "disabled"; | ||
71 | }; | ||
72 | |||
73 | &mmu_isp { | ||
74 | status = "disabled"; | ||
75 | }; | ||
76 | |||
77 | &smartreflex_mpu_iva { | ||
78 | status = "disabled"; | ||
79 | }; | ||
80 | |||
65 | /include/ "am35xx-clocks.dtsi" | 81 | /include/ "am35xx-clocks.dtsi" |
66 | /include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi" | 82 | /include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi" |
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi index d1f8707ff1df..d547009148da 100644 --- a/arch/arm/boot/dts/am4372.dtsi +++ b/arch/arm/boot/dts/am4372.dtsi | |||
@@ -67,11 +67,15 @@ | |||
67 | }; | 67 | }; |
68 | 68 | ||
69 | ocp { | 69 | ocp { |
70 | compatible = "simple-bus"; | 70 | compatible = "ti,am4372-l3-noc", "simple-bus"; |
71 | #address-cells = <1>; | 71 | #address-cells = <1>; |
72 | #size-cells = <1>; | 72 | #size-cells = <1>; |
73 | ranges; | 73 | ranges; |
74 | ti,hwmods = "l3_main"; | 74 | ti,hwmods = "l3_main"; |
75 | reg = <0x44000000 0x400000 | ||
76 | 0x44800000 0x400000>; | ||
77 | interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, | ||
78 | <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; | ||
75 | 79 | ||
76 | prcm: prcm@44df0000 { | 80 | prcm: prcm@44df0000 { |
77 | compatible = "ti,am4-prcm"; | 81 | compatible = "ti,am4-prcm"; |
diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts index df8798e8bd25..a055f7f0f14a 100644 --- a/arch/arm/boot/dts/am437x-gp-evm.dts +++ b/arch/arm/boot/dts/am437x-gp-evm.dts | |||
@@ -117,6 +117,11 @@ | |||
117 | status = "okay"; | 117 | status = "okay"; |
118 | }; | 118 | }; |
119 | 119 | ||
120 | &gpio5 { | ||
121 | status = "okay"; | ||
122 | ti,no-reset-on-init; | ||
123 | }; | ||
124 | |||
120 | &mmc1 { | 125 | &mmc1 { |
121 | status = "okay"; | 126 | status = "okay"; |
122 | vmmc-supply = <&vmmcsd_fixed>; | 127 | vmmc-supply = <&vmmcsd_fixed>; |
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts index 167dbc8494de..2836328b90c8 100644 --- a/arch/arm/boot/dts/am43x-epos-evm.dts +++ b/arch/arm/boot/dts/am43x-epos-evm.dts | |||
@@ -341,7 +341,7 @@ | |||
341 | }; | 341 | }; |
342 | partition@9 { | 342 | partition@9 { |
343 | label = "NAND.file-system"; | 343 | label = "NAND.file-system"; |
344 | reg = <0x00800000 0x1F600000>; | 344 | reg = <0x00a00000 0x1f600000>; |
345 | }; | 345 | }; |
346 | }; | 346 | }; |
347 | }; | 347 | }; |
diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts index 82f238a9063f..3383c4b66803 100644 --- a/arch/arm/boot/dts/armada-370-db.dts +++ b/arch/arm/boot/dts/armada-370-db.dts | |||
@@ -67,6 +67,7 @@ | |||
67 | i2c@11000 { | 67 | i2c@11000 { |
68 | pinctrl-0 = <&i2c0_pins>; | 68 | pinctrl-0 = <&i2c0_pins>; |
69 | pinctrl-names = "default"; | 69 | pinctrl-names = "default"; |
70 | clock-frequency = <100000>; | ||
70 | status = "okay"; | 71 | status = "okay"; |
71 | audio_codec: audio-codec@4a { | 72 | audio_codec: audio-codec@4a { |
72 | compatible = "cirrus,cs42l51"; | 73 | compatible = "cirrus,cs42l51"; |
diff --git a/arch/arm/boot/dts/armada-375-db.dts b/arch/arm/boot/dts/armada-375-db.dts index 9378d3136b41..0451124e8ebf 100644 --- a/arch/arm/boot/dts/armada-375-db.dts +++ b/arch/arm/boot/dts/armada-375-db.dts | |||
@@ -79,6 +79,11 @@ | |||
79 | }; | 79 | }; |
80 | }; | 80 | }; |
81 | 81 | ||
82 | sata@a0000 { | ||
83 | status = "okay"; | ||
84 | nr-ports = <2>; | ||
85 | }; | ||
86 | |||
82 | nand: nand@d0000 { | 87 | nand: nand@d0000 { |
83 | pinctrl-0 = <&nand_pins>; | 88 | pinctrl-0 = <&nand_pins>; |
84 | pinctrl-names = "default"; | 89 | pinctrl-names = "default"; |
diff --git a/arch/arm/boot/dts/armada-380.dtsi b/arch/arm/boot/dts/armada-380.dtsi index 068031f0f263..6d0f03c98ee9 100644 --- a/arch/arm/boot/dts/armada-380.dtsi +++ b/arch/arm/boot/dts/armada-380.dtsi | |||
@@ -99,7 +99,7 @@ | |||
99 | pcie@3,0 { | 99 | pcie@3,0 { |
100 | device_type = "pci"; | 100 | device_type = "pci"; |
101 | assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; | 101 | assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; |
102 | reg = <0x1000 0 0 0 0>; | 102 | reg = <0x1800 0 0 0 0>; |
103 | #address-cells = <3>; | 103 | #address-cells = <3>; |
104 | #size-cells = <2>; | 104 | #size-cells = <2>; |
105 | #interrupt-cells = <1>; | 105 | #interrupt-cells = <1>; |
diff --git a/arch/arm/boot/dts/armada-385.dtsi b/arch/arm/boot/dts/armada-385.dtsi index e2919f02e1d4..da801964a257 100644 --- a/arch/arm/boot/dts/armada-385.dtsi +++ b/arch/arm/boot/dts/armada-385.dtsi | |||
@@ -110,7 +110,7 @@ | |||
110 | pcie@3,0 { | 110 | pcie@3,0 { |
111 | device_type = "pci"; | 111 | device_type = "pci"; |
112 | assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; | 112 | assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; |
113 | reg = <0x1000 0 0 0 0>; | 113 | reg = <0x1800 0 0 0 0>; |
114 | #address-cells = <3>; | 114 | #address-cells = <3>; |
115 | #size-cells = <2>; | 115 | #size-cells = <2>; |
116 | #interrupt-cells = <1>; | 116 | #interrupt-cells = <1>; |
@@ -131,7 +131,7 @@ | |||
131 | pcie@4,0 { | 131 | pcie@4,0 { |
132 | device_type = "pci"; | 132 | device_type = "pci"; |
133 | assigned-addresses = <0x82000800 0 0x48000 0 0x2000>; | 133 | assigned-addresses = <0x82000800 0 0x48000 0 0x2000>; |
134 | reg = <0x1000 0 0 0 0>; | 134 | reg = <0x2000 0 0 0 0>; |
135 | #address-cells = <3>; | 135 | #address-cells = <3>; |
136 | #size-cells = <2>; | 136 | #size-cells = <2>; |
137 | #interrupt-cells = <1>; | 137 | #interrupt-cells = <1>; |
diff --git a/arch/arm/boot/dts/armada-xp-db.dts b/arch/arm/boot/dts/armada-xp-db.dts index 448373c4b0e5..90f0bf6f9271 100644 --- a/arch/arm/boot/dts/armada-xp-db.dts +++ b/arch/arm/boot/dts/armada-xp-db.dts | |||
@@ -49,7 +49,7 @@ | |||
49 | /* Device Bus parameters are required */ | 49 | /* Device Bus parameters are required */ |
50 | 50 | ||
51 | /* Read parameters */ | 51 | /* Read parameters */ |
52 | devbus,bus-width = <8>; | 52 | devbus,bus-width = <16>; |
53 | devbus,turn-off-ps = <60000>; | 53 | devbus,turn-off-ps = <60000>; |
54 | devbus,badr-skew-ps = <0>; | 54 | devbus,badr-skew-ps = <0>; |
55 | devbus,acc-first-ps = <124000>; | 55 | devbus,acc-first-ps = <124000>; |
diff --git a/arch/arm/boot/dts/armada-xp-gp.dts b/arch/arm/boot/dts/armada-xp-gp.dts index 61bda687f782..0c756421ae6a 100644 --- a/arch/arm/boot/dts/armada-xp-gp.dts +++ b/arch/arm/boot/dts/armada-xp-gp.dts | |||
@@ -59,7 +59,7 @@ | |||
59 | /* Device Bus parameters are required */ | 59 | /* Device Bus parameters are required */ |
60 | 60 | ||
61 | /* Read parameters */ | 61 | /* Read parameters */ |
62 | devbus,bus-width = <8>; | 62 | devbus,bus-width = <16>; |
63 | devbus,turn-off-ps = <60000>; | 63 | devbus,turn-off-ps = <60000>; |
64 | devbus,badr-skew-ps = <0>; | 64 | devbus,badr-skew-ps = <0>; |
65 | devbus,acc-first-ps = <124000>; | 65 | devbus,acc-first-ps = <124000>; |
@@ -146,22 +146,22 @@ | |||
146 | ethernet@70000 { | 146 | ethernet@70000 { |
147 | status = "okay"; | 147 | status = "okay"; |
148 | phy = <&phy0>; | 148 | phy = <&phy0>; |
149 | phy-mode = "rgmii-id"; | 149 | phy-mode = "qsgmii"; |
150 | }; | 150 | }; |
151 | ethernet@74000 { | 151 | ethernet@74000 { |
152 | status = "okay"; | 152 | status = "okay"; |
153 | phy = <&phy1>; | 153 | phy = <&phy1>; |
154 | phy-mode = "rgmii-id"; | 154 | phy-mode = "qsgmii"; |
155 | }; | 155 | }; |
156 | ethernet@30000 { | 156 | ethernet@30000 { |
157 | status = "okay"; | 157 | status = "okay"; |
158 | phy = <&phy2>; | 158 | phy = <&phy2>; |
159 | phy-mode = "rgmii-id"; | 159 | phy-mode = "qsgmii"; |
160 | }; | 160 | }; |
161 | ethernet@34000 { | 161 | ethernet@34000 { |
162 | status = "okay"; | 162 | status = "okay"; |
163 | phy = <&phy3>; | 163 | phy = <&phy3>; |
164 | phy-mode = "rgmii-id"; | 164 | phy-mode = "qsgmii"; |
165 | }; | 165 | }; |
166 | 166 | ||
167 | /* Front-side USB slot */ | 167 | /* Front-side USB slot */ |
diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts index 985948ce67b3..5d42feb31049 100644 --- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts +++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts | |||
@@ -39,7 +39,7 @@ | |||
39 | /* Device Bus parameters are required */ | 39 | /* Device Bus parameters are required */ |
40 | 40 | ||
41 | /* Read parameters */ | 41 | /* Read parameters */ |
42 | devbus,bus-width = <8>; | 42 | devbus,bus-width = <16>; |
43 | devbus,turn-off-ps = <60000>; | 43 | devbus,turn-off-ps = <60000>; |
44 | devbus,badr-skew-ps = <0>; | 44 | devbus,badr-skew-ps = <0>; |
45 | devbus,acc-first-ps = <124000>; | 45 | devbus,acc-first-ps = <124000>; |
diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts index ce1375595e5f..4537259ce529 100644 --- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts +++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts | |||
@@ -34,7 +34,7 @@ | |||
34 | }; | 34 | }; |
35 | 35 | ||
36 | spi0: spi@f0004000 { | 36 | spi0: spi@f0004000 { |
37 | cs-gpios = <&pioD 13 0>; | 37 | cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>; |
38 | status = "okay"; | 38 | status = "okay"; |
39 | }; | 39 | }; |
40 | 40 | ||
@@ -79,7 +79,7 @@ | |||
79 | }; | 79 | }; |
80 | 80 | ||
81 | spi1: spi@f8008000 { | 81 | spi1: spi@f8008000 { |
82 | cs-gpios = <&pioC 25 0>, <0>, <0>, <&pioD 16 0>; | 82 | cs-gpios = <&pioC 25 0>; |
83 | status = "okay"; | 83 | status = "okay"; |
84 | }; | 84 | }; |
85 | 85 | ||
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi index 366fc2cbcd64..c0e0eae16a27 100644 --- a/arch/arm/boot/dts/at91sam9260.dtsi +++ b/arch/arm/boot/dts/at91sam9260.dtsi | |||
@@ -641,7 +641,7 @@ | |||
641 | trigger@3 { | 641 | trigger@3 { |
642 | reg = <3>; | 642 | reg = <3>; |
643 | trigger-name = "external"; | 643 | trigger-name = "external"; |
644 | trigger-value = <0x13>; | 644 | trigger-value = <0xd>; |
645 | trigger-external; | 645 | trigger-external; |
646 | }; | 646 | }; |
647 | }; | 647 | }; |
diff --git a/arch/arm/boot/dts/at91sam9261.dtsi b/arch/arm/boot/dts/at91sam9261.dtsi index e21dda0e8986..3be973e9889a 100644 --- a/arch/arm/boot/dts/at91sam9261.dtsi +++ b/arch/arm/boot/dts/at91sam9261.dtsi | |||
@@ -10,7 +10,7 @@ | |||
10 | #include <dt-bindings/pinctrl/at91.h> | 10 | #include <dt-bindings/pinctrl/at91.h> |
11 | #include <dt-bindings/interrupt-controller/irq.h> | 11 | #include <dt-bindings/interrupt-controller/irq.h> |
12 | #include <dt-bindings/gpio/gpio.h> | 12 | #include <dt-bindings/gpio/gpio.h> |
13 | #include <dt-bindings/clk/at91.h> | 13 | #include <dt-bindings/clock/at91.h> |
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "Atmel AT91SAM9261 family SoC"; | 16 | model = "Atmel AT91SAM9261 family SoC"; |
diff --git a/arch/arm/boot/dts/at91sam9rl.dtsi b/arch/arm/boot/dts/at91sam9rl.dtsi index 63e1784d272c..92a52faebef7 100644 --- a/arch/arm/boot/dts/at91sam9rl.dtsi +++ b/arch/arm/boot/dts/at91sam9rl.dtsi | |||
@@ -8,7 +8,7 @@ | |||
8 | 8 | ||
9 | #include "skeleton.dtsi" | 9 | #include "skeleton.dtsi" |
10 | #include <dt-bindings/pinctrl/at91.h> | 10 | #include <dt-bindings/pinctrl/at91.h> |
11 | #include <dt-bindings/clk/at91.h> | 11 | #include <dt-bindings/clock/at91.h> |
12 | #include <dt-bindings/interrupt-controller/irq.h> | 12 | #include <dt-bindings/interrupt-controller/irq.h> |
13 | #include <dt-bindings/gpio/gpio.h> | 13 | #include <dt-bindings/gpio/gpio.h> |
14 | 14 | ||
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi index 149b55099935..ab01f2d0e590 100644 --- a/arch/arm/boot/dts/dra7.dtsi +++ b/arch/arm/boot/dts/dra7.dtsi | |||
@@ -99,13 +99,13 @@ | |||
99 | * hierarchy. | 99 | * hierarchy. |
100 | */ | 100 | */ |
101 | ocp { | 101 | ocp { |
102 | compatible = "ti,omap4-l3-noc", "simple-bus"; | 102 | compatible = "ti,dra7-l3-noc", "simple-bus"; |
103 | #address-cells = <1>; | 103 | #address-cells = <1>; |
104 | #size-cells = <1>; | 104 | #size-cells = <1>; |
105 | ranges; | 105 | ranges; |
106 | ti,hwmods = "l3_main_1", "l3_main_2"; | 106 | ti,hwmods = "l3_main_1", "l3_main_2"; |
107 | reg = <0x44000000 0x2000>, | 107 | reg = <0x44000000 0x1000000>, |
108 | <0x44800000 0x3000>; | 108 | <0x45000000 0x1000>; |
109 | interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, | 109 | interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, |
110 | <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; | 110 | <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; |
111 | 111 | ||
diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts index 9583563dd0ef..8a558b7ac999 100644 --- a/arch/arm/boot/dts/exynos4412-trats2.dts +++ b/arch/arm/boot/dts/exynos4412-trats2.dts | |||
@@ -503,7 +503,7 @@ | |||
503 | status = "okay"; | 503 | status = "okay"; |
504 | 504 | ||
505 | ak8975@0c { | 505 | ak8975@0c { |
506 | compatible = "ak,ak8975"; | 506 | compatible = "asahi-kasei,ak8975"; |
507 | reg = <0x0c>; | 507 | reg = <0x0c>; |
508 | gpios = <&gpj0 7 0>; | 508 | gpios = <&gpj0 7 0>; |
509 | }; | 509 | }; |
diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts index 090f9830b129..cde19c818667 100644 --- a/arch/arm/boot/dts/exynos5250-arndale.dts +++ b/arch/arm/boot/dts/exynos5250-arndale.dts | |||
@@ -107,6 +107,7 @@ | |||
107 | regulator-name = "VDD_IOPERI_1.8V"; | 107 | regulator-name = "VDD_IOPERI_1.8V"; |
108 | regulator-min-microvolt = <1800000>; | 108 | regulator-min-microvolt = <1800000>; |
109 | regulator-max-microvolt = <1800000>; | 109 | regulator-max-microvolt = <1800000>; |
110 | regulator-always-on; | ||
110 | op_mode = <1>; | 111 | op_mode = <1>; |
111 | }; | 112 | }; |
112 | 113 | ||
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi index 418f2506aaf0..b69fbcb7dcb8 100644 --- a/arch/arm/boot/dts/exynos5420.dtsi +++ b/arch/arm/boot/dts/exynos5420.dtsi | |||
@@ -382,7 +382,7 @@ | |||
382 | spi_0: spi@12d20000 { | 382 | spi_0: spi@12d20000 { |
383 | compatible = "samsung,exynos4210-spi"; | 383 | compatible = "samsung,exynos4210-spi"; |
384 | reg = <0x12d20000 0x100>; | 384 | reg = <0x12d20000 0x100>; |
385 | interrupts = <0 66 0>; | 385 | interrupts = <0 68 0>; |
386 | dmas = <&pdma0 5 | 386 | dmas = <&pdma0 5 |
387 | &pdma0 4>; | 387 | &pdma0 4>; |
388 | dma-names = "tx", "rx"; | 388 | dma-names = "tx", "rx"; |
@@ -398,7 +398,7 @@ | |||
398 | spi_1: spi@12d30000 { | 398 | spi_1: spi@12d30000 { |
399 | compatible = "samsung,exynos4210-spi"; | 399 | compatible = "samsung,exynos4210-spi"; |
400 | reg = <0x12d30000 0x100>; | 400 | reg = <0x12d30000 0x100>; |
401 | interrupts = <0 67 0>; | 401 | interrupts = <0 69 0>; |
402 | dmas = <&pdma1 5 | 402 | dmas = <&pdma1 5 |
403 | &pdma1 4>; | 403 | &pdma1 4>; |
404 | dma-names = "tx", "rx"; | 404 | dma-names = "tx", "rx"; |
@@ -414,7 +414,7 @@ | |||
414 | spi_2: spi@12d40000 { | 414 | spi_2: spi@12d40000 { |
415 | compatible = "samsung,exynos4210-spi"; | 415 | compatible = "samsung,exynos4210-spi"; |
416 | reg = <0x12d40000 0x100>; | 416 | reg = <0x12d40000 0x100>; |
417 | interrupts = <0 68 0>; | 417 | interrupts = <0 70 0>; |
418 | dmas = <&pdma0 7 | 418 | dmas = <&pdma0 7 |
419 | &pdma0 6>; | 419 | &pdma0 6>; |
420 | dma-names = "tx", "rx"; | 420 | dma-names = "tx", "rx"; |
diff --git a/arch/arm/boot/dts/imx53-mba53.dts b/arch/arm/boot/dts/imx53-mba53.dts index 7c8c12969892..a3431d784870 100644 --- a/arch/arm/boot/dts/imx53-mba53.dts +++ b/arch/arm/boot/dts/imx53-mba53.dts | |||
@@ -244,7 +244,7 @@ | |||
244 | &tve { | 244 | &tve { |
245 | pinctrl-names = "default"; | 245 | pinctrl-names = "default"; |
246 | pinctrl-0 = <&pinctrl_vga_sync_1>; | 246 | pinctrl-0 = <&pinctrl_vga_sync_1>; |
247 | i2c-ddc-bus = <&i2c3>; | 247 | ddc-i2c-bus = <&i2c3>; |
248 | fsl,tve-mode = "vga"; | 248 | fsl,tve-mode = "vga"; |
249 | fsl,hsync-pin = <4>; | 249 | fsl,hsync-pin = <4>; |
250 | fsl,vsync-pin = <6>; | 250 | fsl,vsync-pin = <6>; |
diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi index 9c2bff2252d0..6a1bf4ff83d5 100644 --- a/arch/arm/boot/dts/imx53.dtsi +++ b/arch/arm/boot/dts/imx53.dtsi | |||
@@ -115,7 +115,7 @@ | |||
115 | #address-cells = <1>; | 115 | #address-cells = <1>; |
116 | #size-cells = <0>; | 116 | #size-cells = <0>; |
117 | compatible = "fsl,imx53-ipu"; | 117 | compatible = "fsl,imx53-ipu"; |
118 | reg = <0x18000000 0x080000000>; | 118 | reg = <0x18000000 0x08000000>; |
119 | interrupts = <11 10>; | 119 | interrupts = <11 10>; |
120 | clocks = <&clks IMX5_CLK_IPU_GATE>, | 120 | clocks = <&clks IMX5_CLK_IPU_GATE>, |
121 | <&clks IMX5_CLK_IPU_DI0_GATE>, | 121 | <&clks IMX5_CLK_IPU_DI0_GATE>, |
diff --git a/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts b/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts index 32c6fb4a1162..b939f4f52d16 100644 --- a/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts +++ b/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts | |||
@@ -30,6 +30,16 @@ | |||
30 | bootargs = "console=ttyS0,115200n8 earlyprintk"; | 30 | bootargs = "console=ttyS0,115200n8 earlyprintk"; |
31 | }; | 31 | }; |
32 | 32 | ||
33 | mbus { | ||
34 | pcie-controller { | ||
35 | status = "okay"; | ||
36 | |||
37 | pcie@1,0 { | ||
38 | status = "okay"; | ||
39 | }; | ||
40 | }; | ||
41 | }; | ||
42 | |||
33 | ocp@f1000000 { | 43 | ocp@f1000000 { |
34 | pinctrl@10000 { | 44 | pinctrl@10000 { |
35 | pmx_usb_led: pmx-usb-led { | 45 | pmx_usb_led: pmx-usb-led { |
@@ -73,14 +83,6 @@ | |||
73 | ehci@50000 { | 83 | ehci@50000 { |
74 | status = "okay"; | 84 | status = "okay"; |
75 | }; | 85 | }; |
76 | |||
77 | pcie-controller { | ||
78 | status = "okay"; | ||
79 | |||
80 | pcie@1,0 { | ||
81 | status = "okay"; | ||
82 | }; | ||
83 | }; | ||
84 | }; | 86 | }; |
85 | 87 | ||
86 | gpio-leds { | 88 | gpio-leds { |
diff --git a/arch/arm/boot/dts/kirkwood-nsa310-common.dtsi b/arch/arm/boot/dts/kirkwood-nsa310-common.dtsi index aa78c2d11fe7..e2cc85cc3b87 100644 --- a/arch/arm/boot/dts/kirkwood-nsa310-common.dtsi +++ b/arch/arm/boot/dts/kirkwood-nsa310-common.dtsi | |||
@@ -4,6 +4,16 @@ | |||
4 | / { | 4 | / { |
5 | model = "ZyXEL NSA310"; | 5 | model = "ZyXEL NSA310"; |
6 | 6 | ||
7 | mbus { | ||
8 | pcie-controller { | ||
9 | status = "okay"; | ||
10 | |||
11 | pcie@1,0 { | ||
12 | status = "okay"; | ||
13 | }; | ||
14 | }; | ||
15 | }; | ||
16 | |||
7 | ocp@f1000000 { | 17 | ocp@f1000000 { |
8 | pinctrl: pinctrl@10000 { | 18 | pinctrl: pinctrl@10000 { |
9 | 19 | ||
@@ -26,14 +36,6 @@ | |||
26 | status = "okay"; | 36 | status = "okay"; |
27 | nr-ports = <2>; | 37 | nr-ports = <2>; |
28 | }; | 38 | }; |
29 | |||
30 | pcie-controller { | ||
31 | status = "okay"; | ||
32 | |||
33 | pcie@1,0 { | ||
34 | status = "okay"; | ||
35 | }; | ||
36 | }; | ||
37 | }; | 39 | }; |
38 | 40 | ||
39 | gpio_poweroff { | 41 | gpio_poweroff { |
diff --git a/arch/arm/boot/dts/kirkwood-t5325.dts b/arch/arm/boot/dts/kirkwood-t5325.dts index 7d1c7677a18f..0bd70d928c69 100644 --- a/arch/arm/boot/dts/kirkwood-t5325.dts +++ b/arch/arm/boot/dts/kirkwood-t5325.dts | |||
@@ -127,11 +127,6 @@ | |||
127 | 127 | ||
128 | i2c@11000 { | 128 | i2c@11000 { |
129 | status = "okay"; | 129 | status = "okay"; |
130 | |||
131 | alc5621: alc5621@1a { | ||
132 | compatible = "realtek,alc5621"; | ||
133 | reg = <0x1a>; | ||
134 | }; | ||
135 | }; | 130 | }; |
136 | 131 | ||
137 | serial@12000 { | 132 | serial@12000 { |
diff --git a/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi b/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi index f577b7df9a29..521c587acaee 100644 --- a/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi +++ b/arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi | |||
@@ -24,11 +24,10 @@ | |||
24 | compatible = "smsc,lan9221", "smsc,lan9115"; | 24 | compatible = "smsc,lan9221", "smsc,lan9115"; |
25 | bank-width = <2>; | 25 | bank-width = <2>; |
26 | gpmc,mux-add-data; | 26 | gpmc,mux-add-data; |
27 | gpmc,cs-on-ns = <0>; | 27 | gpmc,cs-on-ns = <1>; |
28 | gpmc,cs-rd-off-ns = <186>; | 28 | gpmc,cs-rd-off-ns = <180>; |
29 | gpmc,cs-wr-off-ns = <186>; | 29 | gpmc,cs-wr-off-ns = <180>; |
30 | gpmc,adv-on-ns = <12>; | 30 | gpmc,adv-rd-off-ns = <18>; |
31 | gpmc,adv-rd-off-ns = <48>; | ||
32 | gpmc,adv-wr-off-ns = <48>; | 31 | gpmc,adv-wr-off-ns = <48>; |
33 | gpmc,oe-on-ns = <54>; | 32 | gpmc,oe-on-ns = <54>; |
34 | gpmc,oe-off-ns = <168>; | 33 | gpmc,oe-off-ns = <168>; |
@@ -36,12 +35,10 @@ | |||
36 | gpmc,we-off-ns = <168>; | 35 | gpmc,we-off-ns = <168>; |
37 | gpmc,rd-cycle-ns = <186>; | 36 | gpmc,rd-cycle-ns = <186>; |
38 | gpmc,wr-cycle-ns = <186>; | 37 | gpmc,wr-cycle-ns = <186>; |
39 | gpmc,access-ns = <114>; | 38 | gpmc,access-ns = <144>; |
40 | gpmc,page-burst-access-ns = <6>; | 39 | gpmc,page-burst-access-ns = <24>; |
41 | gpmc,bus-turnaround-ns = <12>; | 40 | gpmc,bus-turnaround-ns = <90>; |
42 | gpmc,cycle2cycle-delay-ns = <18>; | 41 | gpmc,cycle2cycle-delay-ns = <90>; |
43 | gpmc,wr-data-mux-bus-ns = <90>; | ||
44 | gpmc,wr-access-ns = <186>; | ||
45 | gpmc,cycle2cycle-samecsen; | 42 | gpmc,cycle2cycle-samecsen; |
46 | gpmc,cycle2cycle-diffcsen; | 43 | gpmc,cycle2cycle-diffcsen; |
47 | vddvario-supply = <&vddvario>; | 44 | vddvario-supply = <&vddvario>; |
diff --git a/arch/arm/boot/dts/omap2.dtsi b/arch/arm/boot/dts/omap2.dtsi index 22f35ea142c1..8f8c07da4ac1 100644 --- a/arch/arm/boot/dts/omap2.dtsi +++ b/arch/arm/boot/dts/omap2.dtsi | |||
@@ -71,13 +71,6 @@ | |||
71 | interrupts = <58>; | 71 | interrupts = <58>; |
72 | }; | 72 | }; |
73 | 73 | ||
74 | mailbox: mailbox@48094000 { | ||
75 | compatible = "ti,omap2-mailbox"; | ||
76 | ti,hwmods = "mailbox"; | ||
77 | reg = <0x48094000 0x200>; | ||
78 | interrupts = <26>; | ||
79 | }; | ||
80 | |||
81 | intc: interrupt-controller@1 { | 74 | intc: interrupt-controller@1 { |
82 | compatible = "ti,omap2-intc"; | 75 | compatible = "ti,omap2-intc"; |
83 | interrupt-controller; | 76 | interrupt-controller; |
diff --git a/arch/arm/boot/dts/omap2420.dtsi b/arch/arm/boot/dts/omap2420.dtsi index 85b1fb014c43..2d9979835f24 100644 --- a/arch/arm/boot/dts/omap2420.dtsi +++ b/arch/arm/boot/dts/omap2420.dtsi | |||
@@ -125,6 +125,14 @@ | |||
125 | dma-names = "tx", "rx"; | 125 | dma-names = "tx", "rx"; |
126 | }; | 126 | }; |
127 | 127 | ||
128 | mailbox: mailbox@48094000 { | ||
129 | compatible = "ti,omap2-mailbox"; | ||
130 | reg = <0x48094000 0x200>; | ||
131 | interrupts = <26>, <34>; | ||
132 | interrupt-names = "dsp", "iva"; | ||
133 | ti,hwmods = "mailbox"; | ||
134 | }; | ||
135 | |||
128 | timer1: timer@48028000 { | 136 | timer1: timer@48028000 { |
129 | compatible = "ti,omap2420-timer"; | 137 | compatible = "ti,omap2420-timer"; |
130 | reg = <0x48028000 0x400>; | 138 | reg = <0x48028000 0x400>; |
diff --git a/arch/arm/boot/dts/omap2430.dtsi b/arch/arm/boot/dts/omap2430.dtsi index d09697dab55e..42d2c61c9e2d 100644 --- a/arch/arm/boot/dts/omap2430.dtsi +++ b/arch/arm/boot/dts/omap2430.dtsi | |||
@@ -216,6 +216,13 @@ | |||
216 | dma-names = "tx", "rx"; | 216 | dma-names = "tx", "rx"; |
217 | }; | 217 | }; |
218 | 218 | ||
219 | mailbox: mailbox@48094000 { | ||
220 | compatible = "ti,omap2-mailbox"; | ||
221 | reg = <0x48094000 0x200>; | ||
222 | interrupts = <26>; | ||
223 | ti,hwmods = "mailbox"; | ||
224 | }; | ||
225 | |||
219 | timer1: timer@49018000 { | 226 | timer1: timer@49018000 { |
220 | compatible = "ti,omap2420-timer"; | 227 | compatible = "ti,omap2420-timer"; |
221 | reg = <0x49018000 0x400>; | 228 | reg = <0x49018000 0x400>; |
diff --git a/arch/arm/boot/dts/omap3-cm-t3x30.dtsi b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi index d00055809e31..25ba08331d88 100644 --- a/arch/arm/boot/dts/omap3-cm-t3x30.dtsi +++ b/arch/arm/boot/dts/omap3-cm-t3x30.dtsi | |||
@@ -10,18 +10,6 @@ | |||
10 | cpu0-supply = <&vcc>; | 10 | cpu0-supply = <&vcc>; |
11 | }; | 11 | }; |
12 | }; | 12 | }; |
13 | |||
14 | vddvario: regulator-vddvario { | ||
15 | compatible = "regulator-fixed"; | ||
16 | regulator-name = "vddvario"; | ||
17 | regulator-always-on; | ||
18 | }; | ||
19 | |||
20 | vdd33a: regulator-vdd33a { | ||
21 | compatible = "regulator-fixed"; | ||
22 | regulator-name = "vdd33a"; | ||
23 | regulator-always-on; | ||
24 | }; | ||
25 | }; | 13 | }; |
26 | 14 | ||
27 | &omap3_pmx_core { | 15 | &omap3_pmx_core { |
@@ -35,58 +23,34 @@ | |||
35 | 23 | ||
36 | hsusb0_pins: pinmux_hsusb0_pins { | 24 | hsusb0_pins: pinmux_hsusb0_pins { |
37 | pinctrl-single,pins = < | 25 | pinctrl-single,pins = < |
38 | OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* hsusb0_clk.hsusb0_clk */ | 26 | OMAP3_CORE1_IOPAD(0x21a2, PIN_OUTPUT | MUX_MODE0) /* hsusb0_clk.hsusb0_clk */ |
39 | OMAP3_CORE1_IOPAD(0x21a2, PIN_OUTPUT | MUX_MODE0) /* hsusb0_stp.hsusb0_stp */ | 27 | OMAP3_CORE1_IOPAD(0x21a4, PIN_OUTPUT | MUX_MODE0) /* hsusb0_stp.hsusb0_stp */ |
40 | OMAP3_CORE1_IOPAD(0x21a4, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_dir.hsusb0_dir */ | 28 | OMAP3_CORE1_IOPAD(0x21a6, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_dir.hsusb0_dir */ |
41 | OMAP3_CORE1_IOPAD(0x21a6, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_nxt.hsusb0_nxt */ | 29 | OMAP3_CORE1_IOPAD(0x21a8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_nxt.hsusb0_nxt */ |
42 | OMAP3_CORE1_IOPAD(0x21a8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data0.hsusb2_data0 */ | 30 | OMAP3_CORE1_IOPAD(0x21aa, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data0.hsusb2_data0 */ |
43 | OMAP3_CORE1_IOPAD(0x21aa, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data1.hsusb0_data1 */ | 31 | OMAP3_CORE1_IOPAD(0x21ac, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data1.hsusb0_data1 */ |
44 | OMAP3_CORE1_IOPAD(0x21ac, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data2.hsusb0_data2 */ | 32 | OMAP3_CORE1_IOPAD(0x21ae, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data2.hsusb0_data2 */ |
45 | OMAP3_CORE1_IOPAD(0x21ae, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data3 */ | 33 | OMAP3_CORE1_IOPAD(0x21b0, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data3 */ |
46 | OMAP3_CORE1_IOPAD(0x21b0, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data4 */ | 34 | OMAP3_CORE1_IOPAD(0x21b2, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data4 */ |
47 | OMAP3_CORE1_IOPAD(0x21b2, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data5 */ | 35 | OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data5 */ |
48 | OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data6 */ | 36 | OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data6 */ |
49 | OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */ | 37 | OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT_PULLDOWN | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */ |
50 | >; | 38 | >; |
51 | }; | 39 | }; |
52 | }; | 40 | }; |
53 | 41 | ||
42 | #include "omap-gpmc-smsc911x.dtsi" | ||
43 | |||
54 | &gpmc { | 44 | &gpmc { |
55 | ranges = <5 0 0x2c000000 0x01000000>; | 45 | ranges = <5 0 0x2c000000 0x01000000>; |
56 | 46 | ||
57 | smsc1: ethernet@5,0 { | 47 | smsc1: ethernet@gpmc { |
58 | compatible = "smsc,lan9221", "smsc,lan9115"; | 48 | compatible = "smsc,lan9221", "smsc,lan9115"; |
59 | pinctrl-names = "default"; | 49 | pinctrl-names = "default"; |
60 | pinctrl-0 = <&smsc1_pins>; | 50 | pinctrl-0 = <&smsc1_pins>; |
61 | interrupt-parent = <&gpio6>; | 51 | interrupt-parent = <&gpio6>; |
62 | interrupts = <3 IRQ_TYPE_LEVEL_LOW>; | 52 | interrupts = <3 IRQ_TYPE_LEVEL_LOW>; |
63 | reg = <5 0 0xff>; | 53 | reg = <5 0 0xff>; |
64 | bank-width = <2>; | ||
65 | gpmc,mux-add-data; | ||
66 | gpmc,cs-on-ns = <0>; | ||
67 | gpmc,cs-rd-off-ns = <186>; | ||
68 | gpmc,cs-wr-off-ns = <186>; | ||
69 | gpmc,adv-on-ns = <12>; | ||
70 | gpmc,adv-rd-off-ns = <48>; | ||
71 | gpmc,adv-wr-off-ns = <48>; | ||
72 | gpmc,oe-on-ns = <54>; | ||
73 | gpmc,oe-off-ns = <168>; | ||
74 | gpmc,we-on-ns = <54>; | ||
75 | gpmc,we-off-ns = <168>; | ||
76 | gpmc,rd-cycle-ns = <186>; | ||
77 | gpmc,wr-cycle-ns = <186>; | ||
78 | gpmc,access-ns = <114>; | ||
79 | gpmc,page-burst-access-ns = <6>; | ||
80 | gpmc,bus-turnaround-ns = <12>; | ||
81 | gpmc,cycle2cycle-delay-ns = <18>; | ||
82 | gpmc,wr-data-mux-bus-ns = <90>; | ||
83 | gpmc,wr-access-ns = <186>; | ||
84 | gpmc,cycle2cycle-samecsen; | ||
85 | gpmc,cycle2cycle-diffcsen; | ||
86 | vddvario-supply = <&vddvario>; | ||
87 | vdd33a-supply = <&vdd33a>; | ||
88 | reg-io-width = <4>; | ||
89 | smsc,save-mac-address; | ||
90 | }; | 54 | }; |
91 | }; | 55 | }; |
92 | 56 | ||
diff --git a/arch/arm/boot/dts/omap3-igep.dtsi b/arch/arm/boot/dts/omap3-igep.dtsi index b97736d98a64..e2d163bf0619 100644 --- a/arch/arm/boot/dts/omap3-igep.dtsi +++ b/arch/arm/boot/dts/omap3-igep.dtsi | |||
@@ -107,7 +107,7 @@ | |||
107 | >; | 107 | >; |
108 | }; | 108 | }; |
109 | 109 | ||
110 | smsc911x_pins: pinmux_smsc911x_pins { | 110 | smsc9221_pins: pinmux_smsc9221_pins { |
111 | pinctrl-single,pins = < | 111 | pinctrl-single,pins = < |
112 | 0x1a2 (PIN_INPUT | MUX_MODE4) /* mcspi1_cs2.gpio_176 */ | 112 | 0x1a2 (PIN_INPUT | MUX_MODE4) /* mcspi1_cs2.gpio_176 */ |
113 | >; | 113 | >; |
diff --git a/arch/arm/boot/dts/omap3-igep0020.dts b/arch/arm/boot/dts/omap3-igep0020.dts index 7abd64f6ae21..b22caaaf774b 100644 --- a/arch/arm/boot/dts/omap3-igep0020.dts +++ b/arch/arm/boot/dts/omap3-igep0020.dts | |||
@@ -10,7 +10,7 @@ | |||
10 | */ | 10 | */ |
11 | 11 | ||
12 | #include "omap3-igep.dtsi" | 12 | #include "omap3-igep.dtsi" |
13 | #include "omap-gpmc-smsc911x.dtsi" | 13 | #include "omap-gpmc-smsc9221.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "IGEPv2 (TI OMAP AM/DM37x)"; | 16 | model = "IGEPv2 (TI OMAP AM/DM37x)"; |
@@ -248,7 +248,7 @@ | |||
248 | 248 | ||
249 | ethernet@gpmc { | 249 | ethernet@gpmc { |
250 | pinctrl-names = "default"; | 250 | pinctrl-names = "default"; |
251 | pinctrl-0 = <&smsc911x_pins>; | 251 | pinctrl-0 = <&smsc9221_pins>; |
252 | reg = <5 0 0xff>; | 252 | reg = <5 0 0xff>; |
253 | interrupt-parent = <&gpio6>; | 253 | interrupt-parent = <&gpio6>; |
254 | interrupts = <16 IRQ_TYPE_LEVEL_LOW>; | 254 | interrupts = <16 IRQ_TYPE_LEVEL_LOW>; |
diff --git a/arch/arm/boot/dts/omap3-sb-t35.dtsi b/arch/arm/boot/dts/omap3-sb-t35.dtsi index 7909c51b05a5..d59e3de1441e 100644 --- a/arch/arm/boot/dts/omap3-sb-t35.dtsi +++ b/arch/arm/boot/dts/omap3-sb-t35.dtsi | |||
@@ -2,20 +2,6 @@ | |||
2 | * Common support for CompuLab SB-T35 used on SBC-T3530, SBC-T3517 and SBC-T3730 | 2 | * Common support for CompuLab SB-T35 used on SBC-T3530, SBC-T3517 and SBC-T3730 |
3 | */ | 3 | */ |
4 | 4 | ||
5 | / { | ||
6 | vddvario_sb_t35: regulator-vddvario-sb-t35 { | ||
7 | compatible = "regulator-fixed"; | ||
8 | regulator-name = "vddvario"; | ||
9 | regulator-always-on; | ||
10 | }; | ||
11 | |||
12 | vdd33a_sb_t35: regulator-vdd33a-sb-t35 { | ||
13 | compatible = "regulator-fixed"; | ||
14 | regulator-name = "vdd33a"; | ||
15 | regulator-always-on; | ||
16 | }; | ||
17 | }; | ||
18 | |||
19 | &omap3_pmx_core { | 5 | &omap3_pmx_core { |
20 | smsc2_pins: pinmux_smsc2_pins { | 6 | smsc2_pins: pinmux_smsc2_pins { |
21 | pinctrl-single,pins = < | 7 | pinctrl-single,pins = < |
@@ -37,11 +23,10 @@ | |||
37 | reg = <4 0 0xff>; | 23 | reg = <4 0 0xff>; |
38 | bank-width = <2>; | 24 | bank-width = <2>; |
39 | gpmc,mux-add-data; | 25 | gpmc,mux-add-data; |
40 | gpmc,cs-on-ns = <0>; | 26 | gpmc,cs-on-ns = <1>; |
41 | gpmc,cs-rd-off-ns = <186>; | 27 | gpmc,cs-rd-off-ns = <180>; |
42 | gpmc,cs-wr-off-ns = <186>; | 28 | gpmc,cs-wr-off-ns = <180>; |
43 | gpmc,adv-on-ns = <12>; | 29 | gpmc,adv-rd-off-ns = <18>; |
44 | gpmc,adv-rd-off-ns = <48>; | ||
45 | gpmc,adv-wr-off-ns = <48>; | 30 | gpmc,adv-wr-off-ns = <48>; |
46 | gpmc,oe-on-ns = <54>; | 31 | gpmc,oe-on-ns = <54>; |
47 | gpmc,oe-off-ns = <168>; | 32 | gpmc,oe-off-ns = <168>; |
@@ -49,16 +34,14 @@ | |||
49 | gpmc,we-off-ns = <168>; | 34 | gpmc,we-off-ns = <168>; |
50 | gpmc,rd-cycle-ns = <186>; | 35 | gpmc,rd-cycle-ns = <186>; |
51 | gpmc,wr-cycle-ns = <186>; | 36 | gpmc,wr-cycle-ns = <186>; |
52 | gpmc,access-ns = <114>; | 37 | gpmc,access-ns = <144>; |
53 | gpmc,page-burst-access-ns = <6>; | 38 | gpmc,page-burst-access-ns = <24>; |
54 | gpmc,bus-turnaround-ns = <12>; | 39 | gpmc,bus-turnaround-ns = <90>; |
55 | gpmc,cycle2cycle-delay-ns = <18>; | 40 | gpmc,cycle2cycle-delay-ns = <90>; |
56 | gpmc,wr-data-mux-bus-ns = <90>; | ||
57 | gpmc,wr-access-ns = <186>; | ||
58 | gpmc,cycle2cycle-samecsen; | 41 | gpmc,cycle2cycle-samecsen; |
59 | gpmc,cycle2cycle-diffcsen; | 42 | gpmc,cycle2cycle-diffcsen; |
60 | vddvario-supply = <&vddvario_sb_t35>; | 43 | vddvario-supply = <&vddvario>; |
61 | vdd33a-supply = <&vdd33a_sb_t35>; | 44 | vdd33a-supply = <&vdd33a>; |
62 | reg-io-width = <4>; | 45 | reg-io-width = <4>; |
63 | smsc,save-mac-address; | 46 | smsc,save-mac-address; |
64 | }; | 47 | }; |
diff --git a/arch/arm/boot/dts/omap3-sbc-t3517.dts b/arch/arm/boot/dts/omap3-sbc-t3517.dts index 024c9c6c682d..42189b65d393 100644 --- a/arch/arm/boot/dts/omap3-sbc-t3517.dts +++ b/arch/arm/boot/dts/omap3-sbc-t3517.dts | |||
@@ -8,6 +8,19 @@ | |||
8 | / { | 8 | / { |
9 | model = "CompuLab SBC-T3517 with CM-T3517"; | 9 | model = "CompuLab SBC-T3517 with CM-T3517"; |
10 | compatible = "compulab,omap3-sbc-t3517", "compulab,omap3-cm-t3517", "ti,am3517", "ti,omap3"; | 10 | compatible = "compulab,omap3-sbc-t3517", "compulab,omap3-cm-t3517", "ti,am3517", "ti,omap3"; |
11 | |||
12 | /* Only one GPMC smsc9220 on SBC-T3517, CM-T3517 uses am35x Ethernet */ | ||
13 | vddvario: regulator-vddvario-sb-t35 { | ||
14 | compatible = "regulator-fixed"; | ||
15 | regulator-name = "vddvario"; | ||
16 | regulator-always-on; | ||
17 | }; | ||
18 | |||
19 | vdd33a: regulator-vdd33a-sb-t35 { | ||
20 | compatible = "regulator-fixed"; | ||
21 | regulator-name = "vdd33a"; | ||
22 | regulator-always-on; | ||
23 | }; | ||
11 | }; | 24 | }; |
12 | 25 | ||
13 | &omap3_pmx_core { | 26 | &omap3_pmx_core { |
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi index acb9019dc437..4231191ade06 100644 --- a/arch/arm/boot/dts/omap3.dtsi +++ b/arch/arm/boot/dts/omap3.dtsi | |||
@@ -61,7 +61,7 @@ | |||
61 | ti,hwmods = "mpu"; | 61 | ti,hwmods = "mpu"; |
62 | }; | 62 | }; |
63 | 63 | ||
64 | iva { | 64 | iva: iva { |
65 | compatible = "ti,iva2.2"; | 65 | compatible = "ti,iva2.2"; |
66 | ti,hwmods = "iva"; | 66 | ti,hwmods = "iva"; |
67 | 67 | ||
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi index f8c9855ce587..36b4312a5e0d 100644 --- a/arch/arm/boot/dts/omap5.dtsi +++ b/arch/arm/boot/dts/omap5.dtsi | |||
@@ -630,6 +630,13 @@ | |||
630 | status = "disabled"; | 630 | status = "disabled"; |
631 | }; | 631 | }; |
632 | 632 | ||
633 | mailbox: mailbox@4a0f4000 { | ||
634 | compatible = "ti,omap4-mailbox"; | ||
635 | reg = <0x4a0f4000 0x200>; | ||
636 | interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; | ||
637 | ti,hwmods = "mailbox"; | ||
638 | }; | ||
639 | |||
633 | timer1: timer@4ae18000 { | 640 | timer1: timer@4ae18000 { |
634 | compatible = "ti,omap5430-timer"; | 641 | compatible = "ti,omap5430-timer"; |
635 | reg = <0x4ae18000 0x80>; | 642 | reg = <0x4ae18000 0x80>; |
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi index eabcfdbb403a..a106b0872910 100644 --- a/arch/arm/boot/dts/sama5d3.dtsi +++ b/arch/arm/boot/dts/sama5d3.dtsi | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <dt-bindings/pinctrl/at91.h> | 13 | #include <dt-bindings/pinctrl/at91.h> |
14 | #include <dt-bindings/interrupt-controller/irq.h> | 14 | #include <dt-bindings/interrupt-controller/irq.h> |
15 | #include <dt-bindings/gpio/gpio.h> | 15 | #include <dt-bindings/gpio/gpio.h> |
16 | #include <dt-bindings/clk/at91.h> | 16 | #include <dt-bindings/clock/at91.h> |
17 | 17 | ||
18 | / { | 18 | / { |
19 | model = "Atmel SAMA5D3 family SoC"; | 19 | model = "Atmel SAMA5D3 family SoC"; |
diff --git a/arch/arm/boot/dts/sama5d3_mci2.dtsi b/arch/arm/boot/dts/sama5d3_mci2.dtsi index b029fe7ef17a..1b02208ea6ff 100644 --- a/arch/arm/boot/dts/sama5d3_mci2.dtsi +++ b/arch/arm/boot/dts/sama5d3_mci2.dtsi | |||
@@ -9,7 +9,7 @@ | |||
9 | 9 | ||
10 | #include <dt-bindings/pinctrl/at91.h> | 10 | #include <dt-bindings/pinctrl/at91.h> |
11 | #include <dt-bindings/interrupt-controller/irq.h> | 11 | #include <dt-bindings/interrupt-controller/irq.h> |
12 | #include <dt-bindings/clk/at91.h> | 12 | #include <dt-bindings/clock/at91.h> |
13 | 13 | ||
14 | / { | 14 | / { |
15 | ahb { | 15 | ahb { |
diff --git a/arch/arm/boot/dts/sama5d3_tcb1.dtsi b/arch/arm/boot/dts/sama5d3_tcb1.dtsi index 382b04431f66..02848453ca0c 100644 --- a/arch/arm/boot/dts/sama5d3_tcb1.dtsi +++ b/arch/arm/boot/dts/sama5d3_tcb1.dtsi | |||
@@ -9,7 +9,7 @@ | |||
9 | 9 | ||
10 | #include <dt-bindings/pinctrl/at91.h> | 10 | #include <dt-bindings/pinctrl/at91.h> |
11 | #include <dt-bindings/interrupt-controller/irq.h> | 11 | #include <dt-bindings/interrupt-controller/irq.h> |
12 | #include <dt-bindings/clk/at91.h> | 12 | #include <dt-bindings/clock/at91.h> |
13 | 13 | ||
14 | / { | 14 | / { |
15 | aliases { | 15 | aliases { |
diff --git a/arch/arm/boot/dts/sama5d3_uart.dtsi b/arch/arm/boot/dts/sama5d3_uart.dtsi index a9fa75e41652..7a8d4c6115f7 100644 --- a/arch/arm/boot/dts/sama5d3_uart.dtsi +++ b/arch/arm/boot/dts/sama5d3_uart.dtsi | |||
@@ -9,7 +9,7 @@ | |||
9 | 9 | ||
10 | #include <dt-bindings/pinctrl/at91.h> | 10 | #include <dt-bindings/pinctrl/at91.h> |
11 | #include <dt-bindings/interrupt-controller/irq.h> | 11 | #include <dt-bindings/interrupt-controller/irq.h> |
12 | #include <dt-bindings/clk/at91.h> | 12 | #include <dt-bindings/clock/at91.h> |
13 | 13 | ||
14 | / { | 14 | / { |
15 | aliases { | 15 | aliases { |
diff --git a/arch/arm/boot/dts/ste-ccu8540.dts b/arch/arm/boot/dts/ste-ccu8540.dts index 7f3baf51a3a9..32dd55e5f4e6 100644 --- a/arch/arm/boot/dts/ste-ccu8540.dts +++ b/arch/arm/boot/dts/ste-ccu8540.dts | |||
@@ -18,6 +18,7 @@ | |||
18 | compatible = "st-ericsson,ccu8540", "st-ericsson,u8540"; | 18 | compatible = "st-ericsson,ccu8540", "st-ericsson,u8540"; |
19 | 19 | ||
20 | memory@0 { | 20 | memory@0 { |
21 | device_type = "memory"; | ||
21 | reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>; | 22 | reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>; |
22 | }; | 23 | }; |
23 | 24 | ||
diff --git a/arch/arm/boot/dts/ste-ccu9540.dts b/arch/arm/boot/dts/ste-ccu9540.dts index 229508750890..651c56d400a4 100644 --- a/arch/arm/boot/dts/ste-ccu9540.dts +++ b/arch/arm/boot/dts/ste-ccu9540.dts | |||
@@ -38,8 +38,8 @@ | |||
38 | arm,primecell-periphid = <0x10480180>; | 38 | arm,primecell-periphid = <0x10480180>; |
39 | max-frequency = <100000000>; | 39 | max-frequency = <100000000>; |
40 | bus-width = <4>; | 40 | bus-width = <4>; |
41 | mmc-cap-sd-highspeed; | 41 | cap-sd-highspeed; |
42 | mmc-cap-mmc-highspeed; | 42 | cap-mmc-highspeed; |
43 | vmmc-supply = <&ab8500_ldo_aux3_reg>; | 43 | vmmc-supply = <&ab8500_ldo_aux3_reg>; |
44 | 44 | ||
45 | cd-gpios = <&gpio7 6 0x4>; // 230 | 45 | cd-gpios = <&gpio7 6 0x4>; // 230 |
@@ -63,7 +63,7 @@ | |||
63 | arm,primecell-periphid = <0x10480180>; | 63 | arm,primecell-periphid = <0x10480180>; |
64 | max-frequency = <100000000>; | 64 | max-frequency = <100000000>; |
65 | bus-width = <8>; | 65 | bus-width = <8>; |
66 | mmc-cap-mmc-highspeed; | 66 | cap-mmc-highspeed; |
67 | vmmc-supply = <&ab8500_ldo_aux2_reg>; | 67 | vmmc-supply = <&ab8500_ldo_aux2_reg>; |
68 | 68 | ||
69 | status = "okay"; | 69 | status = "okay"; |
diff --git a/arch/arm/boot/dts/ste-href.dtsi b/arch/arm/boot/dts/ste-href.dtsi index 6cb9b68e2188..bf8f0eddc2c0 100644 --- a/arch/arm/boot/dts/ste-href.dtsi +++ b/arch/arm/boot/dts/ste-href.dtsi | |||
@@ -116,8 +116,15 @@ | |||
116 | arm,primecell-periphid = <0x10480180>; | 116 | arm,primecell-periphid = <0x10480180>; |
117 | max-frequency = <100000000>; | 117 | max-frequency = <100000000>; |
118 | bus-width = <4>; | 118 | bus-width = <4>; |
119 | mmc-cap-sd-highspeed; | 119 | cap-sd-highspeed; |
120 | mmc-cap-mmc-highspeed; | 120 | cap-mmc-highspeed; |
121 | sd-uhs-sdr12; | ||
122 | sd-uhs-sdr25; | ||
123 | full-pwr-cycle; | ||
124 | st,sig-dir-dat0; | ||
125 | st,sig-dir-dat2; | ||
126 | st,sig-dir-cmd; | ||
127 | st,sig-pin-fbclk; | ||
121 | vmmc-supply = <&ab8500_ldo_aux3_reg>; | 128 | vmmc-supply = <&ab8500_ldo_aux3_reg>; |
122 | vqmmc-supply = <&vmmci>; | 129 | vqmmc-supply = <&vmmci>; |
123 | pinctrl-names = "default", "sleep"; | 130 | pinctrl-names = "default", "sleep"; |
@@ -132,6 +139,7 @@ | |||
132 | arm,primecell-periphid = <0x10480180>; | 139 | arm,primecell-periphid = <0x10480180>; |
133 | max-frequency = <100000000>; | 140 | max-frequency = <100000000>; |
134 | bus-width = <4>; | 141 | bus-width = <4>; |
142 | non-removable; | ||
135 | pinctrl-names = "default", "sleep"; | 143 | pinctrl-names = "default", "sleep"; |
136 | pinctrl-0 = <&sdi1_default_mode>; | 144 | pinctrl-0 = <&sdi1_default_mode>; |
137 | pinctrl-1 = <&sdi1_sleep_mode>; | 145 | pinctrl-1 = <&sdi1_sleep_mode>; |
@@ -144,7 +152,9 @@ | |||
144 | arm,primecell-periphid = <0x10480180>; | 152 | arm,primecell-periphid = <0x10480180>; |
145 | max-frequency = <100000000>; | 153 | max-frequency = <100000000>; |
146 | bus-width = <8>; | 154 | bus-width = <8>; |
147 | mmc-cap-mmc-highspeed; | 155 | cap-mmc-highspeed; |
156 | non-removable; | ||
157 | vmmc-supply = <&db8500_vsmps2_reg>; | ||
148 | pinctrl-names = "default", "sleep"; | 158 | pinctrl-names = "default", "sleep"; |
149 | pinctrl-0 = <&sdi2_default_mode>; | 159 | pinctrl-0 = <&sdi2_default_mode>; |
150 | pinctrl-1 = <&sdi2_sleep_mode>; | 160 | pinctrl-1 = <&sdi2_sleep_mode>; |
@@ -157,7 +167,8 @@ | |||
157 | arm,primecell-periphid = <0x10480180>; | 167 | arm,primecell-periphid = <0x10480180>; |
158 | max-frequency = <100000000>; | 168 | max-frequency = <100000000>; |
159 | bus-width = <8>; | 169 | bus-width = <8>; |
160 | mmc-cap-mmc-highspeed; | 170 | cap-mmc-highspeed; |
171 | non-removable; | ||
161 | vmmc-supply = <&ab8500_ldo_aux2_reg>; | 172 | vmmc-supply = <&ab8500_ldo_aux2_reg>; |
162 | pinctrl-names = "default", "sleep"; | 173 | pinctrl-names = "default", "sleep"; |
163 | pinctrl-0 = <&sdi4_default_mode>; | 174 | pinctrl-0 = <&sdi4_default_mode>; |
diff --git a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi index 5acc0449676a..d316c955bd5f 100644 --- a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi +++ b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi | |||
@@ -840,8 +840,8 @@ | |||
840 | interrupts = <22>; | 840 | interrupts = <22>; |
841 | max-frequency = <48000000>; | 841 | max-frequency = <48000000>; |
842 | bus-width = <4>; | 842 | bus-width = <4>; |
843 | mmc-cap-mmc-highspeed; | 843 | cap-mmc-highspeed; |
844 | mmc-cap-sd-highspeed; | 844 | cap-sd-highspeed; |
845 | cd-gpios = <&gpio3 15 0x1>; | 845 | cd-gpios = <&gpio3 15 0x1>; |
846 | cd-inverted; | 846 | cd-inverted; |
847 | pinctrl-names = "default"; | 847 | pinctrl-names = "default"; |
diff --git a/arch/arm/boot/dts/ste-snowball.dts b/arch/arm/boot/dts/ste-snowball.dts index a2f632d0be2a..474ef83229cd 100644 --- a/arch/arm/boot/dts/ste-snowball.dts +++ b/arch/arm/boot/dts/ste-snowball.dts | |||
@@ -156,7 +156,7 @@ | |||
156 | arm,primecell-periphid = <0x10480180>; | 156 | arm,primecell-periphid = <0x10480180>; |
157 | max-frequency = <100000000>; | 157 | max-frequency = <100000000>; |
158 | bus-width = <4>; | 158 | bus-width = <4>; |
159 | mmc-cap-mmc-highspeed; | 159 | cap-mmc-highspeed; |
160 | vmmc-supply = <&ab8500_ldo_aux3_reg>; | 160 | vmmc-supply = <&ab8500_ldo_aux3_reg>; |
161 | vqmmc-supply = <&vmmci>; | 161 | vqmmc-supply = <&vmmci>; |
162 | pinctrl-names = "default", "sleep"; | 162 | pinctrl-names = "default", "sleep"; |
@@ -195,7 +195,7 @@ | |||
195 | arm,primecell-periphid = <0x10480180>; | 195 | arm,primecell-periphid = <0x10480180>; |
196 | max-frequency = <100000000>; | 196 | max-frequency = <100000000>; |
197 | bus-width = <8>; | 197 | bus-width = <8>; |
198 | mmc-cap-mmc-highspeed; | 198 | cap-mmc-highspeed; |
199 | vmmc-supply = <&ab8500_ldo_aux2_reg>; | 199 | vmmc-supply = <&ab8500_ldo_aux2_reg>; |
200 | pinctrl-names = "default", "sleep"; | 200 | pinctrl-names = "default", "sleep"; |
201 | pinctrl-0 = <&sdi4_default_mode>; | 201 | pinctrl-0 = <&sdi4_default_mode>; |
diff --git a/arch/arm/boot/dts/ste-u300.dts b/arch/arm/boot/dts/ste-u300.dts index 6fe688e9e4da..82a661677e97 100644 --- a/arch/arm/boot/dts/ste-u300.dts +++ b/arch/arm/boot/dts/ste-u300.dts | |||
@@ -442,8 +442,8 @@ | |||
442 | clock-names = "apb_pclk", "mclk"; | 442 | clock-names = "apb_pclk", "mclk"; |
443 | max-frequency = <24000000>; | 443 | max-frequency = <24000000>; |
444 | bus-width = <4>; // SD-card slot | 444 | bus-width = <4>; // SD-card slot |
445 | mmc-cap-mmc-highspeed; | 445 | cap-mmc-highspeed; |
446 | mmc-cap-sd-highspeed; | 446 | cap-sd-highspeed; |
447 | cd-gpios = <&gpio 12 0x4>; | 447 | cd-gpios = <&gpio 12 0x4>; |
448 | cd-inverted; | 448 | cd-inverted; |
449 | vmmc-supply = <&ab3100_ldo_g_reg>; | 449 | vmmc-supply = <&ab3100_ldo_g_reg>; |
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi index 32efc105df83..aba1c8a3f388 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi | |||
@@ -87,7 +87,7 @@ | |||
87 | 87 | ||
88 | pll4: clk@01c20018 { | 88 | pll4: clk@01c20018 { |
89 | #clock-cells = <0>; | 89 | #clock-cells = <0>; |
90 | compatible = "allwinner,sun4i-a10-pll1-clk"; | 90 | compatible = "allwinner,sun7i-a20-pll4-clk"; |
91 | reg = <0x01c20018 0x4>; | 91 | reg = <0x01c20018 0x4>; |
92 | clocks = <&osc24M>; | 92 | clocks = <&osc24M>; |
93 | clock-output-names = "pll4"; | 93 | clock-output-names = "pll4"; |
@@ -109,6 +109,14 @@ | |||
109 | clock-output-names = "pll6_sata", "pll6_other", "pll6"; | 109 | clock-output-names = "pll6_sata", "pll6_other", "pll6"; |
110 | }; | 110 | }; |
111 | 111 | ||
112 | pll8: clk@01c20040 { | ||
113 | #clock-cells = <0>; | ||
114 | compatible = "allwinner,sun7i-a20-pll4-clk"; | ||
115 | reg = <0x01c20040 0x4>; | ||
116 | clocks = <&osc24M>; | ||
117 | clock-output-names = "pll8"; | ||
118 | }; | ||
119 | |||
112 | cpu: cpu@01c20054 { | 120 | cpu: cpu@01c20054 { |
113 | #clock-cells = <0>; | 121 | #clock-cells = <0>; |
114 | compatible = "allwinner,sun4i-a10-cpu-clk"; | 122 | compatible = "allwinner,sun4i-a10-cpu-clk"; |
@@ -805,9 +813,9 @@ | |||
805 | status = "disabled"; | 813 | status = "disabled"; |
806 | }; | 814 | }; |
807 | 815 | ||
808 | i2c4: i2c@01c2bc00 { | 816 | i2c4: i2c@01c2c000 { |
809 | compatible = "allwinner,sun4i-i2c"; | 817 | compatible = "allwinner,sun4i-i2c"; |
810 | reg = <0x01c2bc00 0x400>; | 818 | reg = <0x01c2c000 0x400>; |
811 | interrupts = <0 89 4>; | 819 | interrupts = <0 89 4>; |
812 | clocks = <&apb1_gates 15>; | 820 | clocks = <&apb1_gates 15>; |
813 | clock-frequency = <100000>; | 821 | clock-frequency = <100000>; |
diff --git a/arch/arm/common/bL_switcher.c b/arch/arm/common/bL_switcher.c index f01c0ee0c87e..490f3dced749 100644 --- a/arch/arm/common/bL_switcher.c +++ b/arch/arm/common/bL_switcher.c | |||
@@ -433,8 +433,12 @@ static void bL_switcher_restore_cpus(void) | |||
433 | { | 433 | { |
434 | int i; | 434 | int i; |
435 | 435 | ||
436 | for_each_cpu(i, &bL_switcher_removed_logical_cpus) | 436 | for_each_cpu(i, &bL_switcher_removed_logical_cpus) { |
437 | cpu_up(i); | 437 | struct device *cpu_dev = get_cpu_device(i); |
438 | int ret = device_online(cpu_dev); | ||
439 | if (ret) | ||
440 | dev_err(cpu_dev, "switcher: unable to restore CPU\n"); | ||
441 | } | ||
438 | } | 442 | } |
439 | 443 | ||
440 | static int bL_switcher_halve_cpus(void) | 444 | static int bL_switcher_halve_cpus(void) |
@@ -521,7 +525,7 @@ static int bL_switcher_halve_cpus(void) | |||
521 | continue; | 525 | continue; |
522 | } | 526 | } |
523 | 527 | ||
524 | ret = cpu_down(i); | 528 | ret = device_offline(get_cpu_device(i)); |
525 | if (ret) { | 529 | if (ret) { |
526 | bL_switcher_restore_cpus(); | 530 | bL_switcher_restore_cpus(); |
527 | return ret; | 531 | return ret; |
diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c index 41bca32409fc..5339009b3c0c 100644 --- a/arch/arm/common/edma.c +++ b/arch/arm/common/edma.c | |||
@@ -1423,55 +1423,38 @@ EXPORT_SYMBOL(edma_clear_event); | |||
1423 | 1423 | ||
1424 | #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_DMADEVICES) | 1424 | #if IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_DMADEVICES) |
1425 | 1425 | ||
1426 | static int edma_of_read_u32_to_s16_array(const struct device_node *np, | 1426 | static int edma_xbar_event_map(struct device *dev, struct device_node *node, |
1427 | const char *propname, s16 *out_values, | 1427 | struct edma_soc_info *pdata, size_t sz) |
1428 | size_t sz) | ||
1429 | { | 1428 | { |
1430 | int ret; | 1429 | const char pname[] = "ti,edma-xbar-event-map"; |
1431 | |||
1432 | ret = of_property_read_u16_array(np, propname, out_values, sz); | ||
1433 | if (ret) | ||
1434 | return ret; | ||
1435 | |||
1436 | /* Terminate it */ | ||
1437 | *out_values++ = -1; | ||
1438 | *out_values++ = -1; | ||
1439 | |||
1440 | return 0; | ||
1441 | } | ||
1442 | |||
1443 | static int edma_xbar_event_map(struct device *dev, | ||
1444 | struct device_node *node, | ||
1445 | struct edma_soc_info *pdata, int len) | ||
1446 | { | ||
1447 | int ret, i; | ||
1448 | struct resource res; | 1430 | struct resource res; |
1449 | void __iomem *xbar; | 1431 | void __iomem *xbar; |
1450 | const s16 (*xbar_chans)[2]; | 1432 | s16 (*xbar_chans)[2]; |
1433 | size_t nelm = sz / sizeof(s16); | ||
1451 | u32 shift, offset, mux; | 1434 | u32 shift, offset, mux; |
1435 | int ret, i; | ||
1452 | 1436 | ||
1453 | xbar_chans = devm_kzalloc(dev, | 1437 | xbar_chans = devm_kzalloc(dev, (nelm + 2) * sizeof(s16), GFP_KERNEL); |
1454 | len/sizeof(s16) + 2*sizeof(s16), | ||
1455 | GFP_KERNEL); | ||
1456 | if (!xbar_chans) | 1438 | if (!xbar_chans) |
1457 | return -ENOMEM; | 1439 | return -ENOMEM; |
1458 | 1440 | ||
1459 | ret = of_address_to_resource(node, 1, &res); | 1441 | ret = of_address_to_resource(node, 1, &res); |
1460 | if (ret) | 1442 | if (ret) |
1461 | return -EIO; | 1443 | return -ENOMEM; |
1462 | 1444 | ||
1463 | xbar = devm_ioremap(dev, res.start, resource_size(&res)); | 1445 | xbar = devm_ioremap(dev, res.start, resource_size(&res)); |
1464 | if (!xbar) | 1446 | if (!xbar) |
1465 | return -ENOMEM; | 1447 | return -ENOMEM; |
1466 | 1448 | ||
1467 | ret = edma_of_read_u32_to_s16_array(node, | 1449 | ret = of_property_read_u16_array(node, pname, (u16 *)xbar_chans, nelm); |
1468 | "ti,edma-xbar-event-map", | ||
1469 | (s16 *)xbar_chans, | ||
1470 | len/sizeof(u32)); | ||
1471 | if (ret) | 1450 | if (ret) |
1472 | return -EIO; | 1451 | return -EIO; |
1473 | 1452 | ||
1474 | for (i = 0; xbar_chans[i][0] != -1; i++) { | 1453 | /* Invalidate last entry for the other user of this mess */ |
1454 | nelm >>= 1; | ||
1455 | xbar_chans[nelm][0] = xbar_chans[nelm][1] = -1; | ||
1456 | |||
1457 | for (i = 0; i < nelm; i++) { | ||
1475 | shift = (xbar_chans[i][1] & 0x03) << 3; | 1458 | shift = (xbar_chans[i][1] & 0x03) << 3; |
1476 | offset = xbar_chans[i][1] & 0xfffffffc; | 1459 | offset = xbar_chans[i][1] & 0xfffffffc; |
1477 | mux = readl(xbar + offset); | 1460 | mux = readl(xbar + offset); |
@@ -1480,8 +1463,7 @@ static int edma_xbar_event_map(struct device *dev, | |||
1480 | writel(mux, (xbar + offset)); | 1463 | writel(mux, (xbar + offset)); |
1481 | } | 1464 | } |
1482 | 1465 | ||
1483 | pdata->xbar_chans = xbar_chans; | 1466 | pdata->xbar_chans = (const s16 (*)[2]) xbar_chans; |
1484 | |||
1485 | return 0; | 1467 | return 0; |
1486 | } | 1468 | } |
1487 | 1469 | ||
diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig index b5df4a511b0a..81ba78eaf54a 100644 --- a/arch/arm/configs/sunxi_defconfig +++ b/arch/arm/configs/sunxi_defconfig | |||
@@ -37,7 +37,7 @@ CONFIG_SUN4I_EMAC=y | |||
37 | # CONFIG_NET_VENDOR_NATSEMI is not set | 37 | # CONFIG_NET_VENDOR_NATSEMI is not set |
38 | # CONFIG_NET_VENDOR_SEEQ is not set | 38 | # CONFIG_NET_VENDOR_SEEQ is not set |
39 | # CONFIG_NET_VENDOR_SMSC is not set | 39 | # CONFIG_NET_VENDOR_SMSC is not set |
40 | # CONFIG_NET_VENDOR_STMICRO is not set | 40 | CONFIG_STMMAC_ETH=y |
41 | # CONFIG_NET_VENDOR_WIZNET is not set | 41 | # CONFIG_NET_VENDOR_WIZNET is not set |
42 | # CONFIG_WLAN is not set | 42 | # CONFIG_WLAN is not set |
43 | CONFIG_SERIAL_8250=y | 43 | CONFIG_SERIAL_8250=y |
diff --git a/arch/arm/include/asm/pci.h b/arch/arm/include/asm/pci.h index 680a83e94467..7e95d8535e24 100644 --- a/arch/arm/include/asm/pci.h +++ b/arch/arm/include/asm/pci.h | |||
@@ -31,11 +31,6 @@ static inline int pci_proc_domain(struct pci_bus *bus) | |||
31 | } | 31 | } |
32 | #endif /* CONFIG_PCI_DOMAINS */ | 32 | #endif /* CONFIG_PCI_DOMAINS */ |
33 | 33 | ||
34 | static inline void pcibios_penalize_isa_irq(int irq, int active) | ||
35 | { | ||
36 | /* We don't do dynamic PCI IRQ allocation */ | ||
37 | } | ||
38 | |||
39 | /* | 34 | /* |
40 | * The PCI address space does equal the physical memory address space. | 35 | * The PCI address space does equal the physical memory address space. |
41 | * The networking and block device layers use this boolean for bounce | 36 | * The networking and block device layers use this boolean for bounce |
diff --git a/arch/arm/include/asm/trusted_foundations.h b/arch/arm/include/asm/trusted_foundations.h index b5f7705abcb0..624e1d436c6c 100644 --- a/arch/arm/include/asm/trusted_foundations.h +++ b/arch/arm/include/asm/trusted_foundations.h | |||
@@ -54,7 +54,9 @@ static inline void register_trusted_foundations( | |||
54 | */ | 54 | */ |
55 | pr_err("No support for Trusted Foundations, continuing in degraded mode.\n"); | 55 | pr_err("No support for Trusted Foundations, continuing in degraded mode.\n"); |
56 | pr_err("Secondary processors as well as CPU PM will be disabled.\n"); | 56 | pr_err("Secondary processors as well as CPU PM will be disabled.\n"); |
57 | #if IS_ENABLED(CONFIG_SMP) | ||
57 | setup_max_cpus = 0; | 58 | setup_max_cpus = 0; |
59 | #endif | ||
58 | cpu_idle_poll_ctrl(true); | 60 | cpu_idle_poll_ctrl(true); |
59 | } | 61 | } |
60 | 62 | ||
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h index 12c3a5decc60..75d95799b6e6 100644 --- a/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h | |||
@@ -171,8 +171,9 @@ extern int __put_user_8(void *, unsigned long long); | |||
171 | #define __put_user_check(x,p) \ | 171 | #define __put_user_check(x,p) \ |
172 | ({ \ | 172 | ({ \ |
173 | unsigned long __limit = current_thread_info()->addr_limit - 1; \ | 173 | unsigned long __limit = current_thread_info()->addr_limit - 1; \ |
174 | const typeof(*(p)) __user *__tmp_p = (p); \ | ||
174 | register const typeof(*(p)) __r2 asm("r2") = (x); \ | 175 | register const typeof(*(p)) __r2 asm("r2") = (x); \ |
175 | register const typeof(*(p)) __user *__p asm("r0") = (p);\ | 176 | register const typeof(*(p)) __user *__p asm("r0") = __tmp_p; \ |
176 | register unsigned long __l asm("r1") = __limit; \ | 177 | register unsigned long __l asm("r1") = __limit; \ |
177 | register int __e asm("r0"); \ | 178 | register int __e asm("r0"); \ |
178 | switch (sizeof(*(__p))) { \ | 179 | switch (sizeof(*(__p))) { \ |
diff --git a/arch/arm/include/asm/xen/hypercall.h b/arch/arm/include/asm/xen/hypercall.h index 7704e28c3483..712b50e0a6dc 100644 --- a/arch/arm/include/asm/xen/hypercall.h +++ b/arch/arm/include/asm/xen/hypercall.h | |||
@@ -34,6 +34,7 @@ | |||
34 | #define _ASM_ARM_XEN_HYPERCALL_H | 34 | #define _ASM_ARM_XEN_HYPERCALL_H |
35 | 35 | ||
36 | #include <xen/interface/xen.h> | 36 | #include <xen/interface/xen.h> |
37 | #include <xen/interface/sched.h> | ||
37 | 38 | ||
38 | long privcmd_call(unsigned call, unsigned long a1, | 39 | long privcmd_call(unsigned call, unsigned long a1, |
39 | unsigned long a2, unsigned long a3, | 40 | unsigned long a2, unsigned long a3, |
@@ -48,6 +49,16 @@ int HYPERVISOR_memory_op(unsigned int cmd, void *arg); | |||
48 | int HYPERVISOR_physdev_op(int cmd, void *arg); | 49 | int HYPERVISOR_physdev_op(int cmd, void *arg); |
49 | int HYPERVISOR_vcpu_op(int cmd, int vcpuid, void *extra_args); | 50 | int HYPERVISOR_vcpu_op(int cmd, int vcpuid, void *extra_args); |
50 | int HYPERVISOR_tmem_op(void *arg); | 51 | int HYPERVISOR_tmem_op(void *arg); |
52 | int HYPERVISOR_multicall(struct multicall_entry *calls, uint32_t nr); | ||
53 | |||
54 | static inline int | ||
55 | HYPERVISOR_suspend(unsigned long start_info_mfn) | ||
56 | { | ||
57 | struct sched_shutdown r = { .reason = SHUTDOWN_suspend }; | ||
58 | |||
59 | /* start_info_mfn is unused on ARM */ | ||
60 | return HYPERVISOR_sched_op(SCHEDOP_shutdown, &r); | ||
61 | } | ||
51 | 62 | ||
52 | static inline void | 63 | static inline void |
53 | MULTI_update_va_mapping(struct multicall_entry *mcl, unsigned long va, | 64 | MULTI_update_va_mapping(struct multicall_entry *mcl, unsigned long va, |
@@ -63,9 +74,4 @@ MULTI_mmu_update(struct multicall_entry *mcl, struct mmu_update *req, | |||
63 | BUG(); | 74 | BUG(); |
64 | } | 75 | } |
65 | 76 | ||
66 | static inline int | ||
67 | HYPERVISOR_multicall(void *call_list, int nr_calls) | ||
68 | { | ||
69 | BUG(); | ||
70 | } | ||
71 | #endif /* _ASM_ARM_XEN_HYPERCALL_H */ | 77 | #endif /* _ASM_ARM_XEN_HYPERCALL_H */ |
diff --git a/arch/arm/include/asm/xen/interface.h b/arch/arm/include/asm/xen/interface.h index 1151188bcd83..50066006e6bd 100644 --- a/arch/arm/include/asm/xen/interface.h +++ b/arch/arm/include/asm/xen/interface.h | |||
@@ -40,6 +40,8 @@ typedef uint64_t xen_pfn_t; | |||
40 | #define PRI_xen_pfn "llx" | 40 | #define PRI_xen_pfn "llx" |
41 | typedef uint64_t xen_ulong_t; | 41 | typedef uint64_t xen_ulong_t; |
42 | #define PRI_xen_ulong "llx" | 42 | #define PRI_xen_ulong "llx" |
43 | typedef int64_t xen_long_t; | ||
44 | #define PRI_xen_long "llx" | ||
43 | /* Guest handles for primitive C types. */ | 45 | /* Guest handles for primitive C types. */ |
44 | __DEFINE_GUEST_HANDLE(uchar, unsigned char); | 46 | __DEFINE_GUEST_HANDLE(uchar, unsigned char); |
45 | __DEFINE_GUEST_HANDLE(uint, unsigned int); | 47 | __DEFINE_GUEST_HANDLE(uint, unsigned int); |
diff --git a/arch/arm/include/asm/xen/page.h b/arch/arm/include/asm/xen/page.h index cf4f3e867395..ded062f9b358 100644 --- a/arch/arm/include/asm/xen/page.h +++ b/arch/arm/include/asm/xen/page.h | |||
@@ -77,7 +77,6 @@ static inline xpaddr_t machine_to_phys(xmaddr_t machine) | |||
77 | } | 77 | } |
78 | /* VIRT <-> MACHINE conversion */ | 78 | /* VIRT <-> MACHINE conversion */ |
79 | #define virt_to_machine(v) (phys_to_machine(XPADDR(__pa(v)))) | 79 | #define virt_to_machine(v) (phys_to_machine(XPADDR(__pa(v)))) |
80 | #define virt_to_pfn(v) (PFN_DOWN(__pa(v))) | ||
81 | #define virt_to_mfn(v) (pfn_to_mfn(virt_to_pfn(v))) | 80 | #define virt_to_mfn(v) (pfn_to_mfn(virt_to_pfn(v))) |
82 | #define mfn_to_virt(m) (__va(mfn_to_pfn(m) << PAGE_SHIFT)) | 81 | #define mfn_to_virt(m) (__va(mfn_to_pfn(m) << PAGE_SHIFT)) |
83 | 82 | ||
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c index 16d43cd45619..17a26c17f7f5 100644 --- a/arch/arm/kernel/bios32.c +++ b/arch/arm/kernel/bios32.c | |||
@@ -545,6 +545,18 @@ void pci_common_init_dev(struct device *parent, struct hw_pci *hw) | |||
545 | */ | 545 | */ |
546 | pci_bus_add_devices(bus); | 546 | pci_bus_add_devices(bus); |
547 | } | 547 | } |
548 | |||
549 | list_for_each_entry(sys, &head, node) { | ||
550 | struct pci_bus *bus = sys->bus; | ||
551 | |||
552 | /* Configure PCI Express settings */ | ||
553 | if (bus && !pci_has_flag(PCI_PROBE_ONLY)) { | ||
554 | struct pci_bus *child; | ||
555 | |||
556 | list_for_each_entry(child, &bus->children, node) | ||
557 | pcie_bus_configure_settings(child); | ||
558 | } | ||
559 | } | ||
548 | } | 560 | } |
549 | 561 | ||
550 | #ifndef CONFIG_PCI_HOST_ITE8152 | 562 | #ifndef CONFIG_PCI_HOST_ITE8152 |
diff --git a/arch/arm/kernel/entry-header.S b/arch/arm/kernel/entry-header.S index 1420725142ca..efb208de75ec 100644 --- a/arch/arm/kernel/entry-header.S +++ b/arch/arm/kernel/entry-header.S | |||
@@ -132,6 +132,10 @@ | |||
132 | orrne r5, V7M_xPSR_FRAMEPTRALIGN | 132 | orrne r5, V7M_xPSR_FRAMEPTRALIGN |
133 | biceq r5, V7M_xPSR_FRAMEPTRALIGN | 133 | biceq r5, V7M_xPSR_FRAMEPTRALIGN |
134 | 134 | ||
135 | @ ensure bit 0 is cleared in the PC, otherwise behaviour is | ||
136 | @ unpredictable | ||
137 | bic r4, #1 | ||
138 | |||
135 | @ write basic exception frame | 139 | @ write basic exception frame |
136 | stmdb r2!, {r1, r3-r5} | 140 | stmdb r2!, {r1, r3-r5} |
137 | ldmia sp, {r1, r3-r5} | 141 | ldmia sp, {r1, r3-r5} |
diff --git a/arch/arm/kernel/unwind.c b/arch/arm/kernel/unwind.c index 3c217694ebec..cb791ac6a003 100644 --- a/arch/arm/kernel/unwind.c +++ b/arch/arm/kernel/unwind.c | |||
@@ -285,7 +285,7 @@ static int unwind_exec_pop_r4_to_rN(struct unwind_ctrl_block *ctrl, | |||
285 | if (unwind_pop_register(ctrl, &vsp, reg)) | 285 | if (unwind_pop_register(ctrl, &vsp, reg)) |
286 | return -URC_FAILURE; | 286 | return -URC_FAILURE; |
287 | 287 | ||
288 | if (insn & 0x80) | 288 | if (insn & 0x8) |
289 | if (unwind_pop_register(ctrl, &vsp, 14)) | 289 | if (unwind_pop_register(ctrl, &vsp, 14)) |
290 | return -URC_FAILURE; | 290 | return -URC_FAILURE; |
291 | 291 | ||
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c index a0282928e9c1..7cd6f19945ed 100644 --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c | |||
@@ -1308,19 +1308,19 @@ static struct platform_device at91_adc_device = { | |||
1308 | static struct at91_adc_trigger at91_adc_triggers[] = { | 1308 | static struct at91_adc_trigger at91_adc_triggers[] = { |
1309 | [0] = { | 1309 | [0] = { |
1310 | .name = "timer-counter-0", | 1310 | .name = "timer-counter-0", |
1311 | .value = AT91_ADC_TRGSEL_TC0 | AT91_ADC_TRGEN, | 1311 | .value = 0x1, |
1312 | }, | 1312 | }, |
1313 | [1] = { | 1313 | [1] = { |
1314 | .name = "timer-counter-1", | 1314 | .name = "timer-counter-1", |
1315 | .value = AT91_ADC_TRGSEL_TC1 | AT91_ADC_TRGEN, | 1315 | .value = 0x3, |
1316 | }, | 1316 | }, |
1317 | [2] = { | 1317 | [2] = { |
1318 | .name = "timer-counter-2", | 1318 | .name = "timer-counter-2", |
1319 | .value = AT91_ADC_TRGSEL_TC2 | AT91_ADC_TRGEN, | 1319 | .value = 0x5, |
1320 | }, | 1320 | }, |
1321 | [3] = { | 1321 | [3] = { |
1322 | .name = "external", | 1322 | .name = "external", |
1323 | .value = AT91_ADC_TRGSEL_EXTERNAL | AT91_ADC_TRGEN, | 1323 | .value = 0xd, |
1324 | .is_external = true, | 1324 | .is_external = true, |
1325 | }, | 1325 | }, |
1326 | }; | 1326 | }; |
diff --git a/arch/arm/mach-imx/devices/platform-ipu-core.c b/arch/arm/mach-imx/devices/platform-ipu-core.c index fc4dd7cedc11..6bd7c3f37ac0 100644 --- a/arch/arm/mach-imx/devices/platform-ipu-core.c +++ b/arch/arm/mach-imx/devices/platform-ipu-core.c | |||
@@ -77,7 +77,7 @@ struct platform_device *__init imx_alloc_mx3_camera( | |||
77 | 77 | ||
78 | pdev = platform_device_alloc("mx3-camera", 0); | 78 | pdev = platform_device_alloc("mx3-camera", 0); |
79 | if (!pdev) | 79 | if (!pdev) |
80 | goto err; | 80 | return ERR_PTR(-ENOMEM); |
81 | 81 | ||
82 | pdev->dev.dma_mask = kmalloc(sizeof(*pdev->dev.dma_mask), GFP_KERNEL); | 82 | pdev->dev.dma_mask = kmalloc(sizeof(*pdev->dev.dma_mask), GFP_KERNEL); |
83 | if (!pdev->dev.dma_mask) | 83 | if (!pdev->dev.dma_mask) |
diff --git a/arch/arm/mach-lpc32xx/phy3250.c b/arch/arm/mach-lpc32xx/phy3250.c index 34932e0e31fa..7858d5b6f6ce 100644 --- a/arch/arm/mach-lpc32xx/phy3250.c +++ b/arch/arm/mach-lpc32xx/phy3250.c | |||
@@ -202,9 +202,6 @@ static struct mmci_platform_data lpc32xx_mmci_data = { | |||
202 | .ocr_mask = MMC_VDD_30_31 | MMC_VDD_31_32 | | 202 | .ocr_mask = MMC_VDD_30_31 | MMC_VDD_31_32 | |
203 | MMC_VDD_32_33 | MMC_VDD_33_34, | 203 | MMC_VDD_32_33 | MMC_VDD_33_34, |
204 | .ios_handler = mmc_handle_ios, | 204 | .ios_handler = mmc_handle_ios, |
205 | .dma_filter = NULL, | ||
206 | /* No DMA for now since AMBA PL080 dmaengine driver only does scatter | ||
207 | * gather, and the MMCI driver doesn't do it this way */ | ||
208 | }; | 205 | }; |
209 | 206 | ||
210 | static struct lpc32xx_slc_platform_data lpc32xx_slc_data = { | 207 | static struct lpc32xx_slc_platform_data lpc32xx_slc_data = { |
diff --git a/arch/arm/mach-msm/board-trout-gpio.c b/arch/arm/mach-msm/board-trout-gpio.c index 87e1d01edecc..2c25050209ce 100644 --- a/arch/arm/mach-msm/board-trout-gpio.c +++ b/arch/arm/mach-msm/board-trout-gpio.c | |||
@@ -89,7 +89,7 @@ static int trout_gpio_to_irq(struct gpio_chip *chip, unsigned offset) | |||
89 | .base = base_gpio, \ | 89 | .base = base_gpio, \ |
90 | .ngpio = 8, \ | 90 | .ngpio = 8, \ |
91 | }, \ | 91 | }, \ |
92 | .reg = (void *) reg_num + TROUT_CPLD_BASE, \ | 92 | .reg = reg_num + TROUT_CPLD_BASE, \ |
93 | .shadow = shadow_val, \ | 93 | .shadow = shadow_val, \ |
94 | } | 94 | } |
95 | 95 | ||
diff --git a/arch/arm/mach-msm/board-trout.c b/arch/arm/mach-msm/board-trout.c index 015d544aa017..5edfbd904d06 100644 --- a/arch/arm/mach-msm/board-trout.c +++ b/arch/arm/mach-msm/board-trout.c | |||
@@ -78,7 +78,7 @@ static void __init trout_init(void) | |||
78 | 78 | ||
79 | static struct map_desc trout_io_desc[] __initdata = { | 79 | static struct map_desc trout_io_desc[] __initdata = { |
80 | { | 80 | { |
81 | .virtual = TROUT_CPLD_BASE, | 81 | .virtual = (unsigned long)TROUT_CPLD_BASE, |
82 | .pfn = __phys_to_pfn(TROUT_CPLD_START), | 82 | .pfn = __phys_to_pfn(TROUT_CPLD_START), |
83 | .length = TROUT_CPLD_SIZE, | 83 | .length = TROUT_CPLD_SIZE, |
84 | .type = MT_DEVICE_NONSHARED | 84 | .type = MT_DEVICE_NONSHARED |
diff --git a/arch/arm/mach-msm/board-trout.h b/arch/arm/mach-msm/board-trout.h index b2379ede43bc..adb757abbb92 100644 --- a/arch/arm/mach-msm/board-trout.h +++ b/arch/arm/mach-msm/board-trout.h | |||
@@ -58,7 +58,7 @@ | |||
58 | #define TROUT_4_TP_LS_EN 19 | 58 | #define TROUT_4_TP_LS_EN 19 |
59 | #define TROUT_5_TP_LS_EN 1 | 59 | #define TROUT_5_TP_LS_EN 1 |
60 | 60 | ||
61 | #define TROUT_CPLD_BASE 0xE8100000 | 61 | #define TROUT_CPLD_BASE IOMEM(0xE8100000) |
62 | #define TROUT_CPLD_START 0x98000000 | 62 | #define TROUT_CPLD_START 0x98000000 |
63 | #define TROUT_CPLD_SIZE SZ_4K | 63 | #define TROUT_CPLD_SIZE SZ_4K |
64 | 64 | ||
diff --git a/arch/arm/mach-mvebu/mvebu-soc-id.c b/arch/arm/mach-mvebu/mvebu-soc-id.c index f3d4cf53f746..09520e19b78e 100644 --- a/arch/arm/mach-mvebu/mvebu-soc-id.c +++ b/arch/arm/mach-mvebu/mvebu-soc-id.c | |||
@@ -108,7 +108,18 @@ static int __init mvebu_soc_id_init(void) | |||
108 | iounmap(pci_base); | 108 | iounmap(pci_base); |
109 | 109 | ||
110 | res_ioremap: | 110 | res_ioremap: |
111 | clk_disable_unprepare(clk); | 111 | /* |
112 | * If the PCIe unit is actually enabled and we have PCI | ||
113 | * support in the kernel, we intentionally do not release the | ||
114 | * reference to the clock. We want to keep it running since | ||
115 | * the bootloader does some PCIe link configuration that the | ||
116 | * kernel is for now unable to do, and gating the clock would | ||
117 | * make us loose this precious configuration. | ||
118 | */ | ||
119 | if (!of_device_is_available(child) || !IS_ENABLED(CONFIG_PCI_MVEBU)) { | ||
120 | clk_disable_unprepare(clk); | ||
121 | clk_put(clk); | ||
122 | } | ||
112 | 123 | ||
113 | clk_err: | 124 | clk_err: |
114 | of_node_put(child); | 125 | of_node_put(child); |
diff --git a/arch/arm/mach-omap2/board-flash.c b/arch/arm/mach-omap2/board-flash.c index 84cc1482e584..e87f2a83d6bf 100644 --- a/arch/arm/mach-omap2/board-flash.c +++ b/arch/arm/mach-omap2/board-flash.c | |||
@@ -142,7 +142,7 @@ __init board_nand_init(struct mtd_partition *nand_parts, u8 nr_parts, u8 cs, | |||
142 | board_nand_data.nr_parts = nr_parts; | 142 | board_nand_data.nr_parts = nr_parts; |
143 | board_nand_data.devsize = nand_type; | 143 | board_nand_data.devsize = nand_type; |
144 | 144 | ||
145 | board_nand_data.ecc_opt = OMAP_ECC_BCH8_CODE_HW; | 145 | board_nand_data.ecc_opt = OMAP_ECC_HAM1_CODE_HW; |
146 | gpmc_nand_init(&board_nand_data, gpmc_t); | 146 | gpmc_nand_init(&board_nand_data, gpmc_t); |
147 | } | 147 | } |
148 | #endif /* CONFIG_MTD_NAND_OMAP2 || CONFIG_MTD_NAND_OMAP2_MODULE */ | 148 | #endif /* CONFIG_MTD_NAND_OMAP2 || CONFIG_MTD_NAND_OMAP2_MODULE */ |
diff --git a/arch/arm/mach-omap2/cclock3xxx_data.c b/arch/arm/mach-omap2/cclock3xxx_data.c index 8f5121b89688..eb8c75ec3b1a 100644 --- a/arch/arm/mach-omap2/cclock3xxx_data.c +++ b/arch/arm/mach-omap2/cclock3xxx_data.c | |||
@@ -456,7 +456,8 @@ static struct clk_hw_omap dpll4_m5x2_ck_hw = { | |||
456 | .clkdm_name = "dpll4_clkdm", | 456 | .clkdm_name = "dpll4_clkdm", |
457 | }; | 457 | }; |
458 | 458 | ||
459 | DEFINE_STRUCT_CLK(dpll4_m5x2_ck, dpll4_m5x2_ck_parent_names, dpll4_m5x2_ck_ops); | 459 | DEFINE_STRUCT_CLK_FLAGS(dpll4_m5x2_ck, dpll4_m5x2_ck_parent_names, |
460 | dpll4_m5x2_ck_ops, CLK_SET_RATE_PARENT); | ||
460 | 461 | ||
461 | static struct clk dpll4_m5x2_ck_3630 = { | 462 | static struct clk dpll4_m5x2_ck_3630 = { |
462 | .name = "dpll4_m5x2_ck", | 463 | .name = "dpll4_m5x2_ck", |
diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c index 01fc710c8181..2498ab025fa2 100644 --- a/arch/arm/mach-omap2/cpuidle44xx.c +++ b/arch/arm/mach-omap2/cpuidle44xx.c | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <linux/cpuidle.h> | 14 | #include <linux/cpuidle.h> |
15 | #include <linux/cpu_pm.h> | 15 | #include <linux/cpu_pm.h> |
16 | #include <linux/export.h> | 16 | #include <linux/export.h> |
17 | #include <linux/clockchips.h> | ||
17 | 18 | ||
18 | #include <asm/cpuidle.h> | 19 | #include <asm/cpuidle.h> |
19 | #include <asm/proc-fns.h> | 20 | #include <asm/proc-fns.h> |
@@ -83,6 +84,7 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, | |||
83 | { | 84 | { |
84 | struct idle_statedata *cx = state_ptr + index; | 85 | struct idle_statedata *cx = state_ptr + index; |
85 | u32 mpuss_can_lose_context = 0; | 86 | u32 mpuss_can_lose_context = 0; |
87 | int cpu_id = smp_processor_id(); | ||
86 | 88 | ||
87 | /* | 89 | /* |
88 | * CPU0 has to wait and stay ON until CPU1 is OFF state. | 90 | * CPU0 has to wait and stay ON until CPU1 is OFF state. |
@@ -110,6 +112,8 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, | |||
110 | mpuss_can_lose_context = (cx->mpu_state == PWRDM_POWER_RET) && | 112 | mpuss_can_lose_context = (cx->mpu_state == PWRDM_POWER_RET) && |
111 | (cx->mpu_logic_state == PWRDM_POWER_OFF); | 113 | (cx->mpu_logic_state == PWRDM_POWER_OFF); |
112 | 114 | ||
115 | clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER, &cpu_id); | ||
116 | |||
113 | /* | 117 | /* |
114 | * Call idle CPU PM enter notifier chain so that | 118 | * Call idle CPU PM enter notifier chain so that |
115 | * VFP and per CPU interrupt context is saved. | 119 | * VFP and per CPU interrupt context is saved. |
@@ -165,6 +169,8 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, | |||
165 | if (dev->cpu == 0 && mpuss_can_lose_context) | 169 | if (dev->cpu == 0 && mpuss_can_lose_context) |
166 | cpu_cluster_pm_exit(); | 170 | cpu_cluster_pm_exit(); |
167 | 171 | ||
172 | clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_EXIT, &cpu_id); | ||
173 | |||
168 | fail: | 174 | fail: |
169 | cpuidle_coupled_parallel_barrier(dev, &abort_barrier); | 175 | cpuidle_coupled_parallel_barrier(dev, &abort_barrier); |
170 | cpu_done[dev->cpu] = false; | 176 | cpu_done[dev->cpu] = false; |
@@ -172,6 +178,16 @@ fail: | |||
172 | return index; | 178 | return index; |
173 | } | 179 | } |
174 | 180 | ||
181 | /* | ||
182 | * For each cpu, setup the broadcast timer because local timers | ||
183 | * stops for the states above C1. | ||
184 | */ | ||
185 | static void omap_setup_broadcast_timer(void *arg) | ||
186 | { | ||
187 | int cpu = smp_processor_id(); | ||
188 | clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ON, &cpu); | ||
189 | } | ||
190 | |||
175 | static struct cpuidle_driver omap4_idle_driver = { | 191 | static struct cpuidle_driver omap4_idle_driver = { |
176 | .name = "omap4_idle", | 192 | .name = "omap4_idle", |
177 | .owner = THIS_MODULE, | 193 | .owner = THIS_MODULE, |
@@ -189,8 +205,7 @@ static struct cpuidle_driver omap4_idle_driver = { | |||
189 | /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */ | 205 | /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */ |
190 | .exit_latency = 328 + 440, | 206 | .exit_latency = 328 + 440, |
191 | .target_residency = 960, | 207 | .target_residency = 960, |
192 | .flags = CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_COUPLED | | 208 | .flags = CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_COUPLED, |
193 | CPUIDLE_FLAG_TIMER_STOP, | ||
194 | .enter = omap_enter_idle_coupled, | 209 | .enter = omap_enter_idle_coupled, |
195 | .name = "C2", | 210 | .name = "C2", |
196 | .desc = "CPUx OFF, MPUSS CSWR", | 211 | .desc = "CPUx OFF, MPUSS CSWR", |
@@ -199,8 +214,7 @@ static struct cpuidle_driver omap4_idle_driver = { | |||
199 | /* C3 - CPU0 OFF + CPU1 OFF + MPU OSWR */ | 214 | /* C3 - CPU0 OFF + CPU1 OFF + MPU OSWR */ |
200 | .exit_latency = 460 + 518, | 215 | .exit_latency = 460 + 518, |
201 | .target_residency = 1100, | 216 | .target_residency = 1100, |
202 | .flags = CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_COUPLED | | 217 | .flags = CPUIDLE_FLAG_TIME_VALID | CPUIDLE_FLAG_COUPLED, |
203 | CPUIDLE_FLAG_TIMER_STOP, | ||
204 | .enter = omap_enter_idle_coupled, | 218 | .enter = omap_enter_idle_coupled, |
205 | .name = "C3", | 219 | .name = "C3", |
206 | .desc = "CPUx OFF, MPUSS OSWR", | 220 | .desc = "CPUx OFF, MPUSS OSWR", |
@@ -231,5 +245,8 @@ int __init omap4_idle_init(void) | |||
231 | if (!cpu_clkdm[0] || !cpu_clkdm[1]) | 245 | if (!cpu_clkdm[0] || !cpu_clkdm[1]) |
232 | return -ENODEV; | 246 | return -ENODEV; |
233 | 247 | ||
248 | /* Configure the broadcast timer on each cpu */ | ||
249 | on_each_cpu(omap_setup_broadcast_timer, NULL, 1); | ||
250 | |||
234 | return cpuidle_register(&omap4_idle_driver, cpu_online_mask); | 251 | return cpuidle_register(&omap4_idle_driver, cpu_online_mask); |
235 | } | 252 | } |
diff --git a/arch/arm/mach-omap2/omap-headsmp.S b/arch/arm/mach-omap2/omap-headsmp.S index 75e92952c18e..4993d4bfe9b2 100644 --- a/arch/arm/mach-omap2/omap-headsmp.S +++ b/arch/arm/mach-omap2/omap-headsmp.S | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Secondary CPU startup routine source file. | 2 | * Secondary CPU startup routine source file. |
3 | * | 3 | * |
4 | * Copyright (C) 2009 Texas Instruments, Inc. | 4 | * Copyright (C) 2009-2014 Texas Instruments, Inc. |
5 | * | 5 | * |
6 | * Author: | 6 | * Author: |
7 | * Santosh Shilimkar <santosh.shilimkar@ti.com> | 7 | * Santosh Shilimkar <santosh.shilimkar@ti.com> |
@@ -28,7 +28,7 @@ | |||
28 | * code. This routine also provides a holding flag into which | 28 | * code. This routine also provides a holding flag into which |
29 | * secondary core is held until we're ready for it to initialise. | 29 | * secondary core is held until we're ready for it to initialise. |
30 | * The primary core will update this flag using a hardware | 30 | * The primary core will update this flag using a hardware |
31 | + * register AuxCoreBoot0. | 31 | * register AuxCoreBoot0. |
32 | */ | 32 | */ |
33 | ENTRY(omap5_secondary_startup) | 33 | ENTRY(omap5_secondary_startup) |
34 | wait: ldr r2, =AUX_CORE_BOOT0_PA @ read from AuxCoreBoot0 | 34 | wait: ldr r2, =AUX_CORE_BOOT0_PA @ read from AuxCoreBoot0 |
@@ -39,7 +39,7 @@ wait: ldr r2, =AUX_CORE_BOOT0_PA @ read from AuxCoreBoot0 | |||
39 | cmp r0, r4 | 39 | cmp r0, r4 |
40 | bne wait | 40 | bne wait |
41 | b secondary_startup | 41 | b secondary_startup |
42 | END(omap5_secondary_startup) | 42 | ENDPROC(omap5_secondary_startup) |
43 | /* | 43 | /* |
44 | * OMAP4 specific entry point for secondary CPU to jump from ROM | 44 | * OMAP4 specific entry point for secondary CPU to jump from ROM |
45 | * code. This routine also provides a holding flag into which | 45 | * code. This routine also provides a holding flag into which |
diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c index 892317294fdc..e829664e6a6c 100644 --- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c | |||
@@ -895,7 +895,7 @@ static struct omap_hwmod omap54xx_mcpdm_hwmod = { | |||
895 | * current exception. | 895 | * current exception. |
896 | */ | 896 | */ |
897 | 897 | ||
898 | .flags = HWMOD_EXT_OPT_MAIN_CLK, | 898 | .flags = HWMOD_EXT_OPT_MAIN_CLK | HWMOD_SWSUP_SIDLE, |
899 | .main_clk = "pad_clks_ck", | 899 | .main_clk = "pad_clks_ck", |
900 | .prcm = { | 900 | .prcm = { |
901 | .omap4 = { | 901 | .omap4 = { |
diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index a8ec16787170..43d03fbf4c0b 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c | |||
@@ -361,7 +361,7 @@ static void __init omap2_gp_clockevent_init(int gptimer_id, | |||
361 | 361 | ||
362 | /* Clocksource code */ | 362 | /* Clocksource code */ |
363 | static struct omap_dm_timer clksrc; | 363 | static struct omap_dm_timer clksrc; |
364 | static bool use_gptimer_clksrc; | 364 | static bool use_gptimer_clksrc __initdata; |
365 | 365 | ||
366 | /* | 366 | /* |
367 | * clocksource | 367 | * clocksource |
diff --git a/arch/arm/mach-orion5x/common.h b/arch/arm/mach-orion5x/common.h index f565f9944af2..7548db2bfb8a 100644 --- a/arch/arm/mach-orion5x/common.h +++ b/arch/arm/mach-orion5x/common.h | |||
@@ -21,7 +21,7 @@ struct mv_sata_platform_data; | |||
21 | #define ORION_MBUS_DEVBUS_BOOT_ATTR 0x0f | 21 | #define ORION_MBUS_DEVBUS_BOOT_ATTR 0x0f |
22 | #define ORION_MBUS_DEVBUS_TARGET(cs) 0x01 | 22 | #define ORION_MBUS_DEVBUS_TARGET(cs) 0x01 |
23 | #define ORION_MBUS_DEVBUS_ATTR(cs) (~(1 << cs)) | 23 | #define ORION_MBUS_DEVBUS_ATTR(cs) (~(1 << cs)) |
24 | #define ORION_MBUS_SRAM_TARGET 0x00 | 24 | #define ORION_MBUS_SRAM_TARGET 0x09 |
25 | #define ORION_MBUS_SRAM_ATTR 0x00 | 25 | #define ORION_MBUS_SRAM_ATTR 0x00 |
26 | 26 | ||
27 | /* | 27 | /* |
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c index 486063db2a2f..da4163ff31a2 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c | |||
@@ -1017,7 +1017,7 @@ static struct asoc_simple_card_info fsi2_hdmi_info = { | |||
1017 | .platform = "sh_fsi2", | 1017 | .platform = "sh_fsi2", |
1018 | .cpu_dai = { | 1018 | .cpu_dai = { |
1019 | .name = "fsib-dai", | 1019 | .name = "fsib-dai", |
1020 | .fmt = SND_SOC_DAIFMT_CBM_CFM, | 1020 | .fmt = SND_SOC_DAIFMT_CBS_CFS, |
1021 | }, | 1021 | }, |
1022 | .codec_dai = { | 1022 | .codec_dai = { |
1023 | .name = "sh_mobile_hdmi-hifi", | 1023 | .name = "sh_mobile_hdmi-hifi", |
diff --git a/arch/arm/mach-ux500/Makefile b/arch/arm/mach-ux500/Makefile index de544aabf292..9741de956b3e 100644 --- a/arch/arm/mach-ux500/Makefile +++ b/arch/arm/mach-ux500/Makefile | |||
@@ -5,8 +5,7 @@ | |||
5 | obj-y := cpu.o id.o timer.o pm.o | 5 | obj-y := cpu.o id.o timer.o pm.o |
6 | obj-$(CONFIG_CACHE_L2X0) += cache-l2x0.o | 6 | obj-$(CONFIG_CACHE_L2X0) += cache-l2x0.o |
7 | obj-$(CONFIG_UX500_SOC_DB8500) += cpu-db8500.o | 7 | obj-$(CONFIG_UX500_SOC_DB8500) += cpu-db8500.o |
8 | obj-$(CONFIG_MACH_MOP500) += board-mop500-sdi.o \ | 8 | obj-$(CONFIG_MACH_MOP500) += board-mop500-regulators.o \ |
9 | board-mop500-regulators.o \ | ||
10 | board-mop500-audio.o | 9 | board-mop500-audio.o |
11 | obj-$(CONFIG_SMP) += platsmp.o headsmp.o | 10 | obj-$(CONFIG_SMP) += platsmp.o headsmp.o |
12 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o | 11 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o |
diff --git a/arch/arm/mach-ux500/board-mop500-sdi.c b/arch/arm/mach-ux500/board-mop500-sdi.c deleted file mode 100644 index fcbf3a13a539..000000000000 --- a/arch/arm/mach-ux500/board-mop500-sdi.c +++ /dev/null | |||
@@ -1,166 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) ST-Ericsson SA 2010 | ||
3 | * | ||
4 | * Author: Hanumath Prasad <hanumath.prasad@stericsson.com> | ||
5 | * License terms: GNU General Public License (GPL) version 2 | ||
6 | */ | ||
7 | |||
8 | #include <linux/kernel.h> | ||
9 | #include <linux/gpio.h> | ||
10 | #include <linux/amba/bus.h> | ||
11 | #include <linux/amba/mmci.h> | ||
12 | #include <linux/mmc/host.h> | ||
13 | #include <linux/platform_device.h> | ||
14 | #include <linux/platform_data/dma-ste-dma40.h> | ||
15 | |||
16 | #include <asm/mach-types.h> | ||
17 | |||
18 | #include "db8500-regs.h" | ||
19 | #include "board-mop500.h" | ||
20 | #include "ste-dma40-db8500.h" | ||
21 | |||
22 | /* | ||
23 | * v2 has a new version of this block that need to be forced, the number found | ||
24 | * in hardware is incorrect | ||
25 | */ | ||
26 | #define U8500_SDI_V2_PERIPHID 0x10480180 | ||
27 | |||
28 | /* | ||
29 | * SDI 0 (MicroSD slot) | ||
30 | */ | ||
31 | |||
32 | #ifdef CONFIG_STE_DMA40 | ||
33 | struct stedma40_chan_cfg mop500_sdi0_dma_cfg_rx = { | ||
34 | .mode = STEDMA40_MODE_LOGICAL, | ||
35 | .dir = DMA_DEV_TO_MEM, | ||
36 | .dev_type = DB8500_DMA_DEV29_SD_MM0, | ||
37 | }; | ||
38 | |||
39 | static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = { | ||
40 | .mode = STEDMA40_MODE_LOGICAL, | ||
41 | .dir = DMA_MEM_TO_DEV, | ||
42 | .dev_type = DB8500_DMA_DEV29_SD_MM0, | ||
43 | }; | ||
44 | #endif | ||
45 | |||
46 | struct mmci_platform_data mop500_sdi0_data = { | ||
47 | .f_max = 100000000, | ||
48 | .capabilities = MMC_CAP_4_BIT_DATA | | ||
49 | MMC_CAP_SD_HIGHSPEED | | ||
50 | MMC_CAP_MMC_HIGHSPEED | | ||
51 | MMC_CAP_ERASE | | ||
52 | MMC_CAP_UHS_SDR12 | | ||
53 | MMC_CAP_UHS_SDR25, | ||
54 | .gpio_wp = -1, | ||
55 | .sigdir = MCI_ST_FBCLKEN | | ||
56 | MCI_ST_CMDDIREN | | ||
57 | MCI_ST_DATA0DIREN | | ||
58 | MCI_ST_DATA2DIREN, | ||
59 | #ifdef CONFIG_STE_DMA40 | ||
60 | .dma_filter = stedma40_filter, | ||
61 | .dma_rx_param = &mop500_sdi0_dma_cfg_rx, | ||
62 | .dma_tx_param = &mop500_sdi0_dma_cfg_tx, | ||
63 | #endif | ||
64 | }; | ||
65 | |||
66 | /* | ||
67 | * SDI1 (SDIO WLAN) | ||
68 | */ | ||
69 | #ifdef CONFIG_STE_DMA40 | ||
70 | static struct stedma40_chan_cfg sdi1_dma_cfg_rx = { | ||
71 | .mode = STEDMA40_MODE_LOGICAL, | ||
72 | .dir = DMA_DEV_TO_MEM, | ||
73 | .dev_type = DB8500_DMA_DEV32_SD_MM1, | ||
74 | }; | ||
75 | |||
76 | static struct stedma40_chan_cfg sdi1_dma_cfg_tx = { | ||
77 | .mode = STEDMA40_MODE_LOGICAL, | ||
78 | .dir = DMA_MEM_TO_DEV, | ||
79 | .dev_type = DB8500_DMA_DEV32_SD_MM1, | ||
80 | }; | ||
81 | #endif | ||
82 | |||
83 | struct mmci_platform_data mop500_sdi1_data = { | ||
84 | .ocr_mask = MMC_VDD_29_30, | ||
85 | .f_max = 100000000, | ||
86 | .capabilities = MMC_CAP_4_BIT_DATA | | ||
87 | MMC_CAP_NONREMOVABLE, | ||
88 | .gpio_cd = -1, | ||
89 | .gpio_wp = -1, | ||
90 | #ifdef CONFIG_STE_DMA40 | ||
91 | .dma_filter = stedma40_filter, | ||
92 | .dma_rx_param = &sdi1_dma_cfg_rx, | ||
93 | .dma_tx_param = &sdi1_dma_cfg_tx, | ||
94 | #endif | ||
95 | }; | ||
96 | |||
97 | /* | ||
98 | * SDI 2 (POP eMMC, not on DB8500ed) | ||
99 | */ | ||
100 | |||
101 | #ifdef CONFIG_STE_DMA40 | ||
102 | struct stedma40_chan_cfg mop500_sdi2_dma_cfg_rx = { | ||
103 | .mode = STEDMA40_MODE_LOGICAL, | ||
104 | .dir = DMA_DEV_TO_MEM, | ||
105 | .dev_type = DB8500_DMA_DEV28_SD_MM2, | ||
106 | }; | ||
107 | |||
108 | static struct stedma40_chan_cfg mop500_sdi2_dma_cfg_tx = { | ||
109 | .mode = STEDMA40_MODE_LOGICAL, | ||
110 | .dir = DMA_MEM_TO_DEV, | ||
111 | .dev_type = DB8500_DMA_DEV28_SD_MM2, | ||
112 | }; | ||
113 | #endif | ||
114 | |||
115 | struct mmci_platform_data mop500_sdi2_data = { | ||
116 | .ocr_mask = MMC_VDD_165_195, | ||
117 | .f_max = 100000000, | ||
118 | .capabilities = MMC_CAP_4_BIT_DATA | | ||
119 | MMC_CAP_8_BIT_DATA | | ||
120 | MMC_CAP_NONREMOVABLE | | ||
121 | MMC_CAP_MMC_HIGHSPEED | | ||
122 | MMC_CAP_ERASE | | ||
123 | MMC_CAP_CMD23, | ||
124 | .gpio_cd = -1, | ||
125 | .gpio_wp = -1, | ||
126 | #ifdef CONFIG_STE_DMA40 | ||
127 | .dma_filter = stedma40_filter, | ||
128 | .dma_rx_param = &mop500_sdi2_dma_cfg_rx, | ||
129 | .dma_tx_param = &mop500_sdi2_dma_cfg_tx, | ||
130 | #endif | ||
131 | }; | ||
132 | |||
133 | /* | ||
134 | * SDI 4 (on-board eMMC) | ||
135 | */ | ||
136 | |||
137 | #ifdef CONFIG_STE_DMA40 | ||
138 | struct stedma40_chan_cfg mop500_sdi4_dma_cfg_rx = { | ||
139 | .mode = STEDMA40_MODE_LOGICAL, | ||
140 | .dir = DMA_DEV_TO_MEM, | ||
141 | .dev_type = DB8500_DMA_DEV42_SD_MM4, | ||
142 | }; | ||
143 | |||
144 | static struct stedma40_chan_cfg mop500_sdi4_dma_cfg_tx = { | ||
145 | .mode = STEDMA40_MODE_LOGICAL, | ||
146 | .dir = DMA_MEM_TO_DEV, | ||
147 | .dev_type = DB8500_DMA_DEV42_SD_MM4, | ||
148 | }; | ||
149 | #endif | ||
150 | |||
151 | struct mmci_platform_data mop500_sdi4_data = { | ||
152 | .f_max = 100000000, | ||
153 | .capabilities = MMC_CAP_4_BIT_DATA | | ||
154 | MMC_CAP_8_BIT_DATA | | ||
155 | MMC_CAP_NONREMOVABLE | | ||
156 | MMC_CAP_MMC_HIGHSPEED | | ||
157 | MMC_CAP_ERASE | | ||
158 | MMC_CAP_CMD23, | ||
159 | .gpio_cd = -1, | ||
160 | .gpio_wp = -1, | ||
161 | #ifdef CONFIG_STE_DMA40 | ||
162 | .dma_filter = stedma40_filter, | ||
163 | .dma_rx_param = &mop500_sdi4_dma_cfg_rx, | ||
164 | .dma_tx_param = &mop500_sdi4_dma_cfg_tx, | ||
165 | #endif | ||
166 | }; | ||
diff --git a/arch/arm/mach-ux500/board-mop500.h b/arch/arm/mach-ux500/board-mop500.h index 32cc0d8d8a0e..7c7b0adca582 100644 --- a/arch/arm/mach-ux500/board-mop500.h +++ b/arch/arm/mach-ux500/board-mop500.h | |||
@@ -8,12 +8,7 @@ | |||
8 | #define __BOARD_MOP500_H | 8 | #define __BOARD_MOP500_H |
9 | 9 | ||
10 | #include <linux/platform_data/asoc-ux500-msp.h> | 10 | #include <linux/platform_data/asoc-ux500-msp.h> |
11 | #include <linux/amba/mmci.h> | ||
12 | 11 | ||
13 | extern struct mmci_platform_data mop500_sdi0_data; | ||
14 | extern struct mmci_platform_data mop500_sdi1_data; | ||
15 | extern struct mmci_platform_data mop500_sdi2_data; | ||
16 | extern struct mmci_platform_data mop500_sdi4_data; | ||
17 | extern struct msp_i2s_platform_data msp0_platform_data; | 12 | extern struct msp_i2s_platform_data msp0_platform_data; |
18 | extern struct msp_i2s_platform_data msp1_platform_data; | 13 | extern struct msp_i2s_platform_data msp1_platform_data; |
19 | extern struct msp_i2s_platform_data msp2_platform_data; | 14 | extern struct msp_i2s_platform_data msp2_platform_data; |
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c index 8820f602fcd2..fa308f07fae5 100644 --- a/arch/arm/mach-ux500/cpu-db8500.c +++ b/arch/arm/mach-ux500/cpu-db8500.c | |||
@@ -146,10 +146,6 @@ static struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = { | |||
146 | /* Requires call-back bindings. */ | 146 | /* Requires call-back bindings. */ |
147 | OF_DEV_AUXDATA("arm,cortex-a9-pmu", 0, "arm-pmu", &db8500_pmu_platdata), | 147 | OF_DEV_AUXDATA("arm,cortex-a9-pmu", 0, "arm-pmu", &db8500_pmu_platdata), |
148 | /* Requires DMA bindings. */ | 148 | /* Requires DMA bindings. */ |
149 | OF_DEV_AUXDATA("arm,pl18x", 0x80126000, "sdi0", &mop500_sdi0_data), | ||
150 | OF_DEV_AUXDATA("arm,pl18x", 0x80118000, "sdi1", &mop500_sdi1_data), | ||
151 | OF_DEV_AUXDATA("arm,pl18x", 0x80005000, "sdi2", &mop500_sdi2_data), | ||
152 | OF_DEV_AUXDATA("arm,pl18x", 0x80114000, "sdi4", &mop500_sdi4_data), | ||
153 | OF_DEV_AUXDATA("stericsson,ux500-msp-i2s", 0x80123000, | 149 | OF_DEV_AUXDATA("stericsson,ux500-msp-i2s", 0x80123000, |
154 | "ux500-msp-i2s.0", &msp0_platform_data), | 150 | "ux500-msp-i2s.0", &msp0_platform_data), |
155 | OF_DEV_AUXDATA("stericsson,ux500-msp-i2s", 0x80124000, | 151 | OF_DEV_AUXDATA("stericsson,ux500-msp-i2s", 0x80124000, |
diff --git a/arch/arm/mm/proc-v7m.S b/arch/arm/mm/proc-v7m.S index 0c93588fcb91..1ca37c72f12f 100644 --- a/arch/arm/mm/proc-v7m.S +++ b/arch/arm/mm/proc-v7m.S | |||
@@ -123,6 +123,11 @@ __v7m_setup: | |||
123 | mov pc, lr | 123 | mov pc, lr |
124 | ENDPROC(__v7m_setup) | 124 | ENDPROC(__v7m_setup) |
125 | 125 | ||
126 | .align 2 | ||
127 | __v7m_setup_stack: | ||
128 | .space 4 * 8 @ 8 registers | ||
129 | __v7m_setup_stack_top: | ||
130 | |||
126 | define_processor_functions v7m, dabort=nommu_early_abort, pabort=legacy_pabort, nommu=1 | 131 | define_processor_functions v7m, dabort=nommu_early_abort, pabort=legacy_pabort, nommu=1 |
127 | 132 | ||
128 | .section ".rodata" | 133 | .section ".rodata" |
@@ -152,6 +157,3 @@ __v7m_proc_info: | |||
152 | .long nop_cache_fns @ proc_info_list.cache | 157 | .long nop_cache_fns @ proc_info_list.cache |
153 | .size __v7m_proc_info, . - __v7m_proc_info | 158 | .size __v7m_proc_info, . - __v7m_proc_info |
154 | 159 | ||
155 | __v7m_setup_stack: | ||
156 | .space 4 * 8 @ 8 registers | ||
157 | __v7m_setup_stack_top: | ||
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c index 5f5b975887fc..b5608b1f9fbd 100644 --- a/arch/arm/plat-omap/dma.c +++ b/arch/arm/plat-omap/dma.c | |||
@@ -70,6 +70,7 @@ static u32 errata; | |||
70 | 70 | ||
71 | static struct omap_dma_global_context_registers { | 71 | static struct omap_dma_global_context_registers { |
72 | u32 dma_irqenable_l0; | 72 | u32 dma_irqenable_l0; |
73 | u32 dma_irqenable_l1; | ||
73 | u32 dma_ocp_sysconfig; | 74 | u32 dma_ocp_sysconfig; |
74 | u32 dma_gcr; | 75 | u32 dma_gcr; |
75 | } omap_dma_global_context; | 76 | } omap_dma_global_context; |
@@ -1973,10 +1974,17 @@ static struct irqaction omap24xx_dma_irq; | |||
1973 | 1974 | ||
1974 | /*----------------------------------------------------------------------------*/ | 1975 | /*----------------------------------------------------------------------------*/ |
1975 | 1976 | ||
1977 | /* | ||
1978 | * Note that we are currently using only IRQENABLE_L0 and L1. | ||
1979 | * As the DSP may be using IRQENABLE_L2 and L3, let's not | ||
1980 | * touch those for now. | ||
1981 | */ | ||
1976 | void omap_dma_global_context_save(void) | 1982 | void omap_dma_global_context_save(void) |
1977 | { | 1983 | { |
1978 | omap_dma_global_context.dma_irqenable_l0 = | 1984 | omap_dma_global_context.dma_irqenable_l0 = |
1979 | p->dma_read(IRQENABLE_L0, 0); | 1985 | p->dma_read(IRQENABLE_L0, 0); |
1986 | omap_dma_global_context.dma_irqenable_l1 = | ||
1987 | p->dma_read(IRQENABLE_L1, 0); | ||
1980 | omap_dma_global_context.dma_ocp_sysconfig = | 1988 | omap_dma_global_context.dma_ocp_sysconfig = |
1981 | p->dma_read(OCP_SYSCONFIG, 0); | 1989 | p->dma_read(OCP_SYSCONFIG, 0); |
1982 | omap_dma_global_context.dma_gcr = p->dma_read(GCR, 0); | 1990 | omap_dma_global_context.dma_gcr = p->dma_read(GCR, 0); |
@@ -1991,6 +1999,8 @@ void omap_dma_global_context_restore(void) | |||
1991 | OCP_SYSCONFIG, 0); | 1999 | OCP_SYSCONFIG, 0); |
1992 | p->dma_write(omap_dma_global_context.dma_irqenable_l0, | 2000 | p->dma_write(omap_dma_global_context.dma_irqenable_l0, |
1993 | IRQENABLE_L0, 0); | 2001 | IRQENABLE_L0, 0); |
2002 | p->dma_write(omap_dma_global_context.dma_irqenable_l1, | ||
2003 | IRQENABLE_L1, 0); | ||
1994 | 2004 | ||
1995 | if (IS_DMA_ERRATA(DMA_ROMCODE_BUG)) | 2005 | if (IS_DMA_ERRATA(DMA_ROMCODE_BUG)) |
1996 | p->dma_write(0x3 , IRQSTATUS_L0, 0); | 2006 | p->dma_write(0x3 , IRQSTATUS_L0, 0); |
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c index b96723e258a0..1e632430570b 100644 --- a/arch/arm/xen/enlighten.c +++ b/arch/arm/xen/enlighten.c | |||
@@ -339,6 +339,14 @@ static int __init xen_pm_init(void) | |||
339 | } | 339 | } |
340 | late_initcall(xen_pm_init); | 340 | late_initcall(xen_pm_init); |
341 | 341 | ||
342 | |||
343 | /* empty stubs */ | ||
344 | void xen_arch_pre_suspend(void) { } | ||
345 | void xen_arch_post_suspend(int suspend_cancelled) { } | ||
346 | void xen_timer_resume(void) { } | ||
347 | void xen_arch_resume(void) { } | ||
348 | |||
349 | |||
342 | /* In the hypervisor.S file. */ | 350 | /* In the hypervisor.S file. */ |
343 | EXPORT_SYMBOL_GPL(HYPERVISOR_event_channel_op); | 351 | EXPORT_SYMBOL_GPL(HYPERVISOR_event_channel_op); |
344 | EXPORT_SYMBOL_GPL(HYPERVISOR_grant_table_op); | 352 | EXPORT_SYMBOL_GPL(HYPERVISOR_grant_table_op); |
@@ -350,4 +358,5 @@ EXPORT_SYMBOL_GPL(HYPERVISOR_memory_op); | |||
350 | EXPORT_SYMBOL_GPL(HYPERVISOR_physdev_op); | 358 | EXPORT_SYMBOL_GPL(HYPERVISOR_physdev_op); |
351 | EXPORT_SYMBOL_GPL(HYPERVISOR_vcpu_op); | 359 | EXPORT_SYMBOL_GPL(HYPERVISOR_vcpu_op); |
352 | EXPORT_SYMBOL_GPL(HYPERVISOR_tmem_op); | 360 | EXPORT_SYMBOL_GPL(HYPERVISOR_tmem_op); |
361 | EXPORT_SYMBOL_GPL(HYPERVISOR_multicall); | ||
353 | EXPORT_SYMBOL_GPL(privcmd_call); | 362 | EXPORT_SYMBOL_GPL(privcmd_call); |
diff --git a/arch/arm/xen/hypercall.S b/arch/arm/xen/hypercall.S index d1cf7b7c2200..44e3a5f10c4c 100644 --- a/arch/arm/xen/hypercall.S +++ b/arch/arm/xen/hypercall.S | |||
@@ -89,6 +89,7 @@ HYPERCALL2(memory_op); | |||
89 | HYPERCALL2(physdev_op); | 89 | HYPERCALL2(physdev_op); |
90 | HYPERCALL3(vcpu_op); | 90 | HYPERCALL3(vcpu_op); |
91 | HYPERCALL1(tmem_op); | 91 | HYPERCALL1(tmem_op); |
92 | HYPERCALL2(multicall); | ||
92 | 93 | ||
93 | ENTRY(privcmd_call) | 94 | ENTRY(privcmd_call) |
94 | stmdb sp!, {r4} | 95 | stmdb sp!, {r4} |