diff options
Diffstat (limited to 'arch')
27 files changed, 381 insertions, 43 deletions
diff --git a/arch/arm/boot/dts/bcm28155-ap.dts b/arch/arm/boot/dts/bcm28155-ap.dts index c7fa9fbb999c..5ff2382a49e4 100644 --- a/arch/arm/boot/dts/bcm28155-ap.dts +++ b/arch/arm/boot/dts/bcm28155-ap.dts | |||
@@ -13,6 +13,8 @@ | |||
13 | 13 | ||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | 15 | ||
16 | #include <dt-bindings/gpio/gpio.h> | ||
17 | |||
16 | #include "bcm11351.dtsi" | 18 | #include "bcm11351.dtsi" |
17 | 19 | ||
18 | / { | 20 | / { |
@@ -60,7 +62,7 @@ | |||
60 | 62 | ||
61 | sdio4: sdio@3f1b0000 { | 63 | sdio4: sdio@3f1b0000 { |
62 | max-frequency = <48000000>; | 64 | max-frequency = <48000000>; |
63 | cd-gpios = <&gpio 14 0>; | 65 | cd-gpios = <&gpio 14 GPIO_ACTIVE_LOW>; |
64 | status = "okay"; | 66 | status = "okay"; |
65 | }; | 67 | }; |
66 | 68 | ||
diff --git a/arch/arm/boot/dts/qcom-msm8660-surf.dts b/arch/arm/boot/dts/qcom-msm8660-surf.dts index 1187185cf25b..68a72f5507b9 100644 --- a/arch/arm/boot/dts/qcom-msm8660-surf.dts +++ b/arch/arm/boot/dts/qcom-msm8660-surf.dts | |||
@@ -2,6 +2,8 @@ | |||
2 | 2 | ||
3 | /include/ "skeleton.dtsi" | 3 | /include/ "skeleton.dtsi" |
4 | 4 | ||
5 | #include <dt-bindings/clock/qcom,gcc-msm8660.h> | ||
6 | |||
5 | / { | 7 | / { |
6 | model = "Qualcomm MSM8660 SURF"; | 8 | model = "Qualcomm MSM8660 SURF"; |
7 | compatible = "qcom,msm8660-surf", "qcom,msm8660"; | 9 | compatible = "qcom,msm8660-surf", "qcom,msm8660"; |
@@ -37,11 +39,20 @@ | |||
37 | #interrupt-cells = <2>; | 39 | #interrupt-cells = <2>; |
38 | }; | 40 | }; |
39 | 41 | ||
42 | gcc: clock-controller@900000 { | ||
43 | compatible = "qcom,gcc-msm8660"; | ||
44 | #clock-cells = <1>; | ||
45 | #reset-cells = <1>; | ||
46 | reg = <0x900000 0x4000>; | ||
47 | }; | ||
48 | |||
40 | serial@19c40000 { | 49 | serial@19c40000 { |
41 | compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; | 50 | compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; |
42 | reg = <0x19c40000 0x1000>, | 51 | reg = <0x19c40000 0x1000>, |
43 | <0x19c00000 0x1000>; | 52 | <0x19c00000 0x1000>; |
44 | interrupts = <0 195 0x0>; | 53 | interrupts = <0 195 0x0>; |
54 | clocks = <&gcc GSBI12_UART_CLK>, <&gcc GSBI12_H_CLK>; | ||
55 | clock-names = "core", "iface"; | ||
45 | }; | 56 | }; |
46 | 57 | ||
47 | qcom,ssbi@500000 { | 58 | qcom,ssbi@500000 { |
diff --git a/arch/arm/boot/dts/qcom-msm8960-cdp.dts b/arch/arm/boot/dts/qcom-msm8960-cdp.dts index 6ccbac77931e..7c30de4fa302 100644 --- a/arch/arm/boot/dts/qcom-msm8960-cdp.dts +++ b/arch/arm/boot/dts/qcom-msm8960-cdp.dts | |||
@@ -2,6 +2,8 @@ | |||
2 | 2 | ||
3 | /include/ "skeleton.dtsi" | 3 | /include/ "skeleton.dtsi" |
4 | 4 | ||
5 | #include <dt-bindings/clock/qcom,gcc-msm8960.h> | ||
6 | |||
5 | / { | 7 | / { |
6 | model = "Qualcomm MSM8960 CDP"; | 8 | model = "Qualcomm MSM8960 CDP"; |
7 | compatible = "qcom,msm8960-cdp", "qcom,msm8960"; | 9 | compatible = "qcom,msm8960-cdp", "qcom,msm8960"; |
@@ -37,11 +39,27 @@ | |||
37 | reg = <0x800000 0x4000>; | 39 | reg = <0x800000 0x4000>; |
38 | }; | 40 | }; |
39 | 41 | ||
42 | gcc: clock-controller@900000 { | ||
43 | compatible = "qcom,gcc-msm8960"; | ||
44 | #clock-cells = <1>; | ||
45 | #reset-cells = <1>; | ||
46 | reg = <0x900000 0x4000>; | ||
47 | }; | ||
48 | |||
49 | clock-controller@4000000 { | ||
50 | compatible = "qcom,mmcc-msm8960"; | ||
51 | reg = <0x4000000 0x1000>; | ||
52 | #clock-cells = <1>; | ||
53 | #reset-cells = <1>; | ||
54 | }; | ||
55 | |||
40 | serial@16440000 { | 56 | serial@16440000 { |
41 | compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; | 57 | compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; |
42 | reg = <0x16440000 0x1000>, | 58 | reg = <0x16440000 0x1000>, |
43 | <0x16400000 0x1000>; | 59 | <0x16400000 0x1000>; |
44 | interrupts = <0 154 0x0>; | 60 | interrupts = <0 154 0x0>; |
61 | clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>; | ||
62 | clock-names = "core", "iface"; | ||
45 | }; | 63 | }; |
46 | 64 | ||
47 | qcom,ssbi@500000 { | 65 | qcom,ssbi@500000 { |
diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi index 6ac94967d2d3..9e5dadb101eb 100644 --- a/arch/arm/boot/dts/qcom-msm8974.dtsi +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi | |||
@@ -2,6 +2,8 @@ | |||
2 | 2 | ||
3 | #include "skeleton.dtsi" | 3 | #include "skeleton.dtsi" |
4 | 4 | ||
5 | #include <dt-bindings/clock/qcom,gcc-msm8974.h> | ||
6 | |||
5 | / { | 7 | / { |
6 | model = "Qualcomm MSM8974"; | 8 | model = "Qualcomm MSM8974"; |
7 | compatible = "qcom,msm8974"; | 9 | compatible = "qcom,msm8974"; |
@@ -93,5 +95,27 @@ | |||
93 | compatible = "qcom,pshold"; | 95 | compatible = "qcom,pshold"; |
94 | reg = <0xfc4ab000 0x4>; | 96 | reg = <0xfc4ab000 0x4>; |
95 | }; | 97 | }; |
98 | |||
99 | gcc: clock-controller@fc400000 { | ||
100 | compatible = "qcom,gcc-msm8974"; | ||
101 | #clock-cells = <1>; | ||
102 | #reset-cells = <1>; | ||
103 | reg = <0xfc400000 0x4000>; | ||
104 | }; | ||
105 | |||
106 | mmcc: clock-controller@fd8c0000 { | ||
107 | compatible = "qcom,mmcc-msm8974"; | ||
108 | #clock-cells = <1>; | ||
109 | #reset-cells = <1>; | ||
110 | reg = <0xfd8c0000 0x6000>; | ||
111 | }; | ||
112 | |||
113 | serial@f991e000 { | ||
114 | compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; | ||
115 | reg = <0xf991e000 0x1000>; | ||
116 | interrupts = <0 108 0x0>; | ||
117 | clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; | ||
118 | clock-names = "core", "iface"; | ||
119 | }; | ||
96 | }; | 120 | }; |
97 | }; | 121 | }; |
diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi index f48487c2a970..71b1251f79c7 100644 --- a/arch/arm/boot/dts/r8a7790.dtsi +++ b/arch/arm/boot/dts/r8a7790.dtsi | |||
@@ -197,7 +197,7 @@ | |||
197 | reg = <0 0xe6508000 0 0x40>; | 197 | reg = <0 0xe6508000 0 0x40>; |
198 | interrupt-parent = <&gic>; | 198 | interrupt-parent = <&gic>; |
199 | interrupts = <0 287 IRQ_TYPE_LEVEL_HIGH>; | 199 | interrupts = <0 287 IRQ_TYPE_LEVEL_HIGH>; |
200 | clocks = <&mstp3_clks R8A7790_CLK_I2C0>; | 200 | clocks = <&mstp9_clks R8A7790_CLK_I2C0>; |
201 | status = "disabled"; | 201 | status = "disabled"; |
202 | }; | 202 | }; |
203 | 203 | ||
@@ -208,7 +208,7 @@ | |||
208 | reg = <0 0xe6518000 0 0x40>; | 208 | reg = <0 0xe6518000 0 0x40>; |
209 | interrupt-parent = <&gic>; | 209 | interrupt-parent = <&gic>; |
210 | interrupts = <0 288 IRQ_TYPE_LEVEL_HIGH>; | 210 | interrupts = <0 288 IRQ_TYPE_LEVEL_HIGH>; |
211 | clocks = <&mstp3_clks R8A7790_CLK_I2C1>; | 211 | clocks = <&mstp9_clks R8A7790_CLK_I2C1>; |
212 | status = "disabled"; | 212 | status = "disabled"; |
213 | }; | 213 | }; |
214 | 214 | ||
@@ -219,7 +219,7 @@ | |||
219 | reg = <0 0xe6530000 0 0x40>; | 219 | reg = <0 0xe6530000 0 0x40>; |
220 | interrupt-parent = <&gic>; | 220 | interrupt-parent = <&gic>; |
221 | interrupts = <0 286 IRQ_TYPE_LEVEL_HIGH>; | 221 | interrupts = <0 286 IRQ_TYPE_LEVEL_HIGH>; |
222 | clocks = <&mstp3_clks R8A7790_CLK_I2C2>; | 222 | clocks = <&mstp9_clks R8A7790_CLK_I2C2>; |
223 | status = "disabled"; | 223 | status = "disabled"; |
224 | }; | 224 | }; |
225 | 225 | ||
@@ -230,7 +230,7 @@ | |||
230 | reg = <0 0xe6540000 0 0x40>; | 230 | reg = <0 0xe6540000 0 0x40>; |
231 | interrupt-parent = <&gic>; | 231 | interrupt-parent = <&gic>; |
232 | interrupts = <0 290 IRQ_TYPE_LEVEL_HIGH>; | 232 | interrupts = <0 290 IRQ_TYPE_LEVEL_HIGH>; |
233 | clocks = <&mstp3_clks R8A7790_CLK_I2C3>; | 233 | clocks = <&mstp9_clks R8A7790_CLK_I2C3>; |
234 | status = "disabled"; | 234 | status = "disabled"; |
235 | }; | 235 | }; |
236 | 236 | ||
diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi index 5d7681be0580..8b67b19392ec 100644 --- a/arch/arm/boot/dts/zynq-7000.dtsi +++ b/arch/arm/boot/dts/zynq-7000.dtsi | |||
@@ -102,6 +102,26 @@ | |||
102 | clock-names = "pclk", "hclk", "tx_clk"; | 102 | clock-names = "pclk", "hclk", "tx_clk"; |
103 | }; | 103 | }; |
104 | 104 | ||
105 | sdhci0: ps7-sdhci@e0100000 { | ||
106 | compatible = "arasan,sdhci-8.9a"; | ||
107 | status = "disabled"; | ||
108 | clock-names = "clk_xin", "clk_ahb"; | ||
109 | clocks = <&clkc 21>, <&clkc 32>; | ||
110 | interrupt-parent = <&intc>; | ||
111 | interrupts = <0 24 4>; | ||
112 | reg = <0xe0100000 0x1000>; | ||
113 | } ; | ||
114 | |||
115 | sdhci1: ps7-sdhci@e0101000 { | ||
116 | compatible = "arasan,sdhci-8.9a"; | ||
117 | status = "disabled"; | ||
118 | clock-names = "clk_xin", "clk_ahb"; | ||
119 | clocks = <&clkc 22>, <&clkc 33>; | ||
120 | interrupt-parent = <&intc>; | ||
121 | interrupts = <0 47 4>; | ||
122 | reg = <0xe0101000 0x1000>; | ||
123 | } ; | ||
124 | |||
105 | slcr: slcr@f8000000 { | 125 | slcr: slcr@f8000000 { |
106 | compatible = "xlnx,zynq-slcr"; | 126 | compatible = "xlnx,zynq-slcr"; |
107 | reg = <0xF8000000 0x1000>; | 127 | reg = <0xF8000000 0x1000>; |
diff --git a/arch/arm/boot/dts/zynq-zc702.dts b/arch/arm/boot/dts/zynq-zc702.dts index 34d680a46b7e..c913f77a21eb 100644 --- a/arch/arm/boot/dts/zynq-zc702.dts +++ b/arch/arm/boot/dts/zynq-zc702.dts | |||
@@ -34,6 +34,10 @@ | |||
34 | phy-mode = "rgmii"; | 34 | phy-mode = "rgmii"; |
35 | }; | 35 | }; |
36 | 36 | ||
37 | &sdhci0 { | ||
38 | status = "okay"; | ||
39 | }; | ||
40 | |||
37 | &uart1 { | 41 | &uart1 { |
38 | status = "okay"; | 42 | status = "okay"; |
39 | }; | 43 | }; |
diff --git a/arch/arm/boot/dts/zynq-zc706.dts b/arch/arm/boot/dts/zynq-zc706.dts index b2835d5fc09a..88f62c50382e 100644 --- a/arch/arm/boot/dts/zynq-zc706.dts +++ b/arch/arm/boot/dts/zynq-zc706.dts | |||
@@ -35,6 +35,10 @@ | |||
35 | phy-mode = "rgmii"; | 35 | phy-mode = "rgmii"; |
36 | }; | 36 | }; |
37 | 37 | ||
38 | &sdhci0 { | ||
39 | status = "okay"; | ||
40 | }; | ||
41 | |||
38 | &uart1 { | 42 | &uart1 { |
39 | status = "okay"; | 43 | status = "okay"; |
40 | }; | 44 | }; |
diff --git a/arch/arm/boot/dts/zynq-zed.dts b/arch/arm/boot/dts/zynq-zed.dts index 2eda06889dfc..82d7ef1a9a9c 100644 --- a/arch/arm/boot/dts/zynq-zed.dts +++ b/arch/arm/boot/dts/zynq-zed.dts | |||
@@ -35,6 +35,10 @@ | |||
35 | phy-mode = "rgmii"; | 35 | phy-mode = "rgmii"; |
36 | }; | 36 | }; |
37 | 37 | ||
38 | &sdhci0 { | ||
39 | status = "okay"; | ||
40 | }; | ||
41 | |||
38 | &uart1 { | 42 | &uart1 { |
39 | status = "okay"; | 43 | status = "okay"; |
40 | }; | 44 | }; |
diff --git a/arch/arm/configs/keystone_defconfig b/arch/arm/configs/keystone_defconfig index a0182447d133..4582e160feab 100644 --- a/arch/arm/configs/keystone_defconfig +++ b/arch/arm/configs/keystone_defconfig | |||
@@ -142,6 +142,7 @@ CONFIG_USB_DWC3_DEBUG=y | |||
142 | CONFIG_USB_DWC3_VERBOSE=y | 142 | CONFIG_USB_DWC3_VERBOSE=y |
143 | CONFIG_KEYSTONE_USB_PHY=y | 143 | CONFIG_KEYSTONE_USB_PHY=y |
144 | CONFIG_DMADEVICES=y | 144 | CONFIG_DMADEVICES=y |
145 | CONFIG_TI_EDMA=y | ||
145 | CONFIG_COMMON_CLK_DEBUG=y | 146 | CONFIG_COMMON_CLK_DEBUG=y |
146 | CONFIG_MEMORY=y | 147 | CONFIG_MEMORY=y |
147 | CONFIG_EXT4_FS=y | 148 | CONFIG_EXT4_FS=y |
diff --git a/arch/arm/configs/msm_defconfig b/arch/arm/configs/msm_defconfig index 0219c65cefd5..c5858b9eb516 100644 --- a/arch/arm/configs/msm_defconfig +++ b/arch/arm/configs/msm_defconfig | |||
@@ -114,6 +114,10 @@ CONFIG_USB_GADGET_VBUS_DRAW=500 | |||
114 | CONFIG_NEW_LEDS=y | 114 | CONFIG_NEW_LEDS=y |
115 | CONFIG_RTC_CLASS=y | 115 | CONFIG_RTC_CLASS=y |
116 | CONFIG_STAGING=y | 116 | CONFIG_STAGING=y |
117 | CONFIG_COMMON_CLK_QCOM=y | ||
118 | CONFIG_MSM_GCC_8660=y | ||
119 | CONFIG_MSM_MMCC_8960=y | ||
120 | CONFIG_MSM_MMCC_8974=y | ||
117 | CONFIG_MSM_IOMMU=y | 121 | CONFIG_MSM_IOMMU=y |
118 | CONFIG_EXT2_FS=y | 122 | CONFIG_EXT2_FS=y |
119 | CONFIG_EXT2_FS_XATTR=y | 123 | CONFIG_EXT2_FS_XATTR=y |
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig index 687e4e811b2a..845bc745706b 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig | |||
@@ -1,7 +1,12 @@ | |||
1 | CONFIG_SYSVIPC=y | ||
1 | CONFIG_IRQ_DOMAIN_DEBUG=y | 2 | CONFIG_IRQ_DOMAIN_DEBUG=y |
2 | CONFIG_NO_HZ=y | 3 | CONFIG_NO_HZ=y |
3 | CONFIG_HIGH_RES_TIMERS=y | 4 | CONFIG_HIGH_RES_TIMERS=y |
4 | CONFIG_BLK_DEV_INITRD=y | 5 | CONFIG_BLK_DEV_INITRD=y |
6 | CONFIG_EMBEDDED=y | ||
7 | CONFIG_MODULES=y | ||
8 | CONFIG_MODULE_UNLOAD=y | ||
9 | CONFIG_PARTITION_ADVANCED=y | ||
5 | CONFIG_ARCH_MVEBU=y | 10 | CONFIG_ARCH_MVEBU=y |
6 | CONFIG_MACH_ARMADA_370=y | 11 | CONFIG_MACH_ARMADA_370=y |
7 | CONFIG_MACH_ARMADA_XP=y | 12 | CONFIG_MACH_ARMADA_XP=y |
@@ -38,7 +43,7 @@ CONFIG_ARCH_TEGRA=y | |||
38 | CONFIG_ARCH_TEGRA_2x_SOC=y | 43 | CONFIG_ARCH_TEGRA_2x_SOC=y |
39 | CONFIG_ARCH_TEGRA_3x_SOC=y | 44 | CONFIG_ARCH_TEGRA_3x_SOC=y |
40 | CONFIG_ARCH_TEGRA_114_SOC=y | 45 | CONFIG_ARCH_TEGRA_114_SOC=y |
41 | CONFIG_TEGRA_PCI=y | 46 | CONFIG_ARCH_TEGRA_124_SOC=y |
42 | CONFIG_TEGRA_EMC_SCALING_ENABLE=y | 47 | CONFIG_TEGRA_EMC_SCALING_ENABLE=y |
43 | CONFIG_ARCH_U8500=y | 48 | CONFIG_ARCH_U8500=y |
44 | CONFIG_MACH_HREFV60=y | 49 | CONFIG_MACH_HREFV60=y |
@@ -49,19 +54,55 @@ CONFIG_ARCH_VEXPRESS_CA9X4=y | |||
49 | CONFIG_ARCH_VIRT=y | 54 | CONFIG_ARCH_VIRT=y |
50 | CONFIG_ARCH_WM8850=y | 55 | CONFIG_ARCH_WM8850=y |
51 | CONFIG_ARCH_ZYNQ=y | 56 | CONFIG_ARCH_ZYNQ=y |
57 | CONFIG_TRUSTED_FOUNDATIONS=y | ||
58 | CONFIG_PCI=y | ||
59 | CONFIG_PCI_MSI=y | ||
60 | CONFIG_PCI_MVEBU=y | ||
61 | CONFIG_PCI_TEGRA=y | ||
52 | CONFIG_SMP=y | 62 | CONFIG_SMP=y |
53 | CONFIG_HIGHPTE=y | 63 | CONFIG_HIGHPTE=y |
64 | CONFIG_CMA=y | ||
54 | CONFIG_ARM_APPENDED_DTB=y | 65 | CONFIG_ARM_APPENDED_DTB=y |
55 | CONFIG_ARM_ATAG_DTB_COMPAT=y | 66 | CONFIG_ARM_ATAG_DTB_COMPAT=y |
67 | CONFIG_KEXEC=y | ||
68 | CONFIG_CPU_FREQ=y | ||
69 | CONFIG_CPU_FREQ_STAT_DETAILS=y | ||
70 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y | ||
71 | CONFIG_CPU_IDLE=y | ||
56 | CONFIG_NET=y | 72 | CONFIG_NET=y |
73 | CONFIG_PACKET=y | ||
57 | CONFIG_UNIX=y | 74 | CONFIG_UNIX=y |
58 | CONFIG_INET=y | 75 | CONFIG_INET=y |
59 | CONFIG_IP_PNP=y | 76 | CONFIG_IP_PNP=y |
60 | CONFIG_IP_PNP_DHCP=y | 77 | CONFIG_IP_PNP_DHCP=y |
78 | CONFIG_IP_PNP_BOOTP=y | ||
79 | CONFIG_IP_PNP_RARP=y | ||
80 | CONFIG_IPV6_ROUTER_PREF=y | ||
81 | CONFIG_IPV6_OPTIMISTIC_DAD=y | ||
82 | CONFIG_INET6_AH=m | ||
83 | CONFIG_INET6_ESP=m | ||
84 | CONFIG_INET6_IPCOMP=m | ||
85 | CONFIG_IPV6_MIP6=m | ||
86 | CONFIG_IPV6_TUNNEL=m | ||
87 | CONFIG_IPV6_MULTIPLE_TABLES=y | ||
88 | CONFIG_CFG80211=m | ||
89 | CONFIG_MAC80211=m | ||
90 | CONFIG_RFKILL=y | ||
91 | CONFIG_RFKILL_INPUT=y | ||
92 | CONFIG_RFKILL_GPIO=y | ||
61 | CONFIG_DEVTMPFS=y | 93 | CONFIG_DEVTMPFS=y |
62 | CONFIG_DEVTMPFS_MOUNT=y | 94 | CONFIG_DEVTMPFS_MOUNT=y |
95 | CONFIG_DMA_CMA=y | ||
63 | CONFIG_OMAP_OCP2SCP=y | 96 | CONFIG_OMAP_OCP2SCP=y |
97 | CONFIG_MTD=y | ||
98 | CONFIG_MTD_M25P80=y | ||
99 | CONFIG_BLK_DEV_LOOP=y | ||
100 | CONFIG_ICS932S401=y | ||
101 | CONFIG_APDS9802ALS=y | ||
102 | CONFIG_ISL29003=y | ||
64 | CONFIG_BLK_DEV_SD=y | 103 | CONFIG_BLK_DEV_SD=y |
104 | CONFIG_BLK_DEV_SR=y | ||
105 | CONFIG_SCSI_MULTI_LUN=y | ||
65 | CONFIG_ATA=y | 106 | CONFIG_ATA=y |
66 | CONFIG_SATA_AHCI_PLATFORM=y | 107 | CONFIG_SATA_AHCI_PLATFORM=y |
67 | CONFIG_SATA_HIGHBANK=y | 108 | CONFIG_SATA_HIGHBANK=y |
@@ -69,13 +110,30 @@ CONFIG_SATA_MV=y | |||
69 | CONFIG_NETDEVICES=y | 110 | CONFIG_NETDEVICES=y |
70 | CONFIG_SUN4I_EMAC=y | 111 | CONFIG_SUN4I_EMAC=y |
71 | CONFIG_NET_CALXEDA_XGMAC=y | 112 | CONFIG_NET_CALXEDA_XGMAC=y |
113 | CONFIG_MVNETA=y | ||
72 | CONFIG_KS8851=y | 114 | CONFIG_KS8851=y |
115 | CONFIG_R8169=y | ||
73 | CONFIG_SMSC911X=y | 116 | CONFIG_SMSC911X=y |
74 | CONFIG_STMMAC_ETH=y | 117 | CONFIG_STMMAC_ETH=y |
75 | CONFIG_ICPLUS_PHY=y | ||
76 | CONFIG_MDIO_SUN4I=y | ||
77 | CONFIG_TI_CPSW=y | 118 | CONFIG_TI_CPSW=y |
119 | CONFIG_AT803X_PHY=y | ||
120 | CONFIG_MARVELL_PHY=y | ||
121 | CONFIG_ICPLUS_PHY=y | ||
122 | CONFIG_USB_PEGASUS=y | ||
123 | CONFIG_USB_USBNET=y | ||
124 | CONFIG_USB_NET_SMSC75XX=y | ||
125 | CONFIG_USB_NET_SMSC95XX=y | ||
126 | CONFIG_BRCMFMAC=m | ||
127 | CONFIG_RT2X00=m | ||
128 | CONFIG_RT2800USB=m | ||
129 | CONFIG_INPUT_EVDEV=y | ||
130 | CONFIG_KEYBOARD_GPIO=y | ||
131 | CONFIG_KEYBOARD_TEGRA=y | ||
78 | CONFIG_KEYBOARD_SPEAR=y | 132 | CONFIG_KEYBOARD_SPEAR=y |
133 | CONFIG_KEYBOARD_CROS_EC=y | ||
134 | CONFIG_MOUSE_PS2_ELANTECH=y | ||
135 | CONFIG_INPUT_MISC=y | ||
136 | CONFIG_INPUT_MPU3050=y | ||
79 | CONFIG_SERIO_AMBAKMI=y | 137 | CONFIG_SERIO_AMBAKMI=y |
80 | CONFIG_SERIAL_8250=y | 138 | CONFIG_SERIAL_8250=y |
81 | CONFIG_SERIAL_8250_CONSOLE=y | 139 | CONFIG_SERIAL_8250_CONSOLE=y |
@@ -98,30 +156,81 @@ CONFIG_SERIAL_FSL_LPUART=y | |||
98 | CONFIG_SERIAL_FSL_LPUART_CONSOLE=y | 156 | CONFIG_SERIAL_FSL_LPUART_CONSOLE=y |
99 | CONFIG_SERIAL_ST_ASC=y | 157 | CONFIG_SERIAL_ST_ASC=y |
100 | CONFIG_SERIAL_ST_ASC_CONSOLE=y | 158 | CONFIG_SERIAL_ST_ASC_CONSOLE=y |
159 | CONFIG_I2C_CHARDEV=y | ||
160 | CONFIG_I2C_MUX=y | ||
161 | CONFIG_I2C_MUX_PINCTRL=y | ||
101 | CONFIG_I2C_DESIGNWARE_PLATFORM=y | 162 | CONFIG_I2C_DESIGNWARE_PLATFORM=y |
163 | CONFIG_I2C_MV64XXX=y | ||
102 | CONFIG_I2C_SIRF=y | 164 | CONFIG_I2C_SIRF=y |
103 | CONFIG_I2C_TEGRA=y | 165 | CONFIG_I2C_TEGRA=y |
104 | CONFIG_SPI=y | 166 | CONFIG_SPI=y |
105 | CONFIG_SPI_OMAP24XX=y | 167 | CONFIG_SPI_OMAP24XX=y |
168 | CONFIG_SPI_ORION=y | ||
106 | CONFIG_SPI_PL022=y | 169 | CONFIG_SPI_PL022=y |
107 | CONFIG_SPI_SIRF=y | 170 | CONFIG_SPI_SIRF=y |
108 | CONFIG_SPI_TEGRA114=y | 171 | CONFIG_SPI_TEGRA114=y |
172 | CONFIG_SPI_TEGRA20_SFLASH=y | ||
109 | CONFIG_SPI_TEGRA20_SLINK=y | 173 | CONFIG_SPI_TEGRA20_SLINK=y |
110 | CONFIG_PINCTRL_SINGLE=y | 174 | CONFIG_PINCTRL_AS3722=y |
175 | CONFIG_PINCTRL_PALMAS=y | ||
176 | CONFIG_GPIO_SYSFS=y | ||
111 | CONFIG_GPIO_GENERIC_PLATFORM=y | 177 | CONFIG_GPIO_GENERIC_PLATFORM=y |
178 | CONFIG_GPIO_PCA953X_IRQ=y | ||
112 | CONFIG_GPIO_TWL4030=y | 179 | CONFIG_GPIO_TWL4030=y |
113 | CONFIG_REGULATOR_GPIO=y | 180 | CONFIG_GPIO_PALMAS=y |
181 | CONFIG_GPIO_TPS6586X=y | ||
182 | CONFIG_GPIO_TPS65910=y | ||
183 | CONFIG_BATTERY_SBS=y | ||
184 | CONFIG_CHARGER_TPS65090=y | ||
185 | CONFIG_POWER_RESET_AS3722=y | ||
186 | CONFIG_POWER_RESET_GPIO=y | ||
187 | CONFIG_SENSORS_LM90=y | ||
188 | CONFIG_THERMAL=y | ||
189 | CONFIG_ARMADA_THERMAL=y | ||
190 | CONFIG_MFD_AS3722=y | ||
191 | CONFIG_MFD_CROS_EC=y | ||
192 | CONFIG_MFD_CROS_EC_SPI=y | ||
193 | CONFIG_MFD_MAX8907=y | ||
194 | CONFIG_MFD_PALMAS=y | ||
195 | CONFIG_MFD_TPS65090=y | ||
196 | CONFIG_MFD_TPS6586X=y | ||
197 | CONFIG_MFD_TPS65910=y | ||
198 | CONFIG_REGULATOR_VIRTUAL_CONSUMER=y | ||
114 | CONFIG_REGULATOR_AB8500=y | 199 | CONFIG_REGULATOR_AB8500=y |
200 | CONFIG_REGULATOR_AS3722=y | ||
201 | CONFIG_REGULATOR_GPIO=y | ||
202 | CONFIG_REGULATOR_MAX8907=y | ||
203 | CONFIG_REGULATOR_PALMAS=y | ||
115 | CONFIG_REGULATOR_TPS51632=y | 204 | CONFIG_REGULATOR_TPS51632=y |
116 | CONFIG_REGULATOR_TPS62360=y | 205 | CONFIG_REGULATOR_TPS62360=y |
206 | CONFIG_REGULATOR_TPS65090=y | ||
207 | CONFIG_REGULATOR_TPS6586X=y | ||
208 | CONFIG_REGULATOR_TPS65910=y | ||
117 | CONFIG_REGULATOR_TWL4030=y | 209 | CONFIG_REGULATOR_TWL4030=y |
118 | CONFIG_REGULATOR_VEXPRESS=y | 210 | CONFIG_REGULATOR_VEXPRESS=y |
211 | CONFIG_MEDIA_SUPPORT=y | ||
212 | CONFIG_MEDIA_CAMERA_SUPPORT=y | ||
213 | CONFIG_MEDIA_USB_SUPPORT=y | ||
119 | CONFIG_DRM=y | 214 | CONFIG_DRM=y |
120 | CONFIG_TEGRA_HOST1X=y | ||
121 | CONFIG_DRM_TEGRA=y | 215 | CONFIG_DRM_TEGRA=y |
216 | CONFIG_DRM_PANEL_SIMPLE=y | ||
122 | CONFIG_FB_ARMCLCD=y | 217 | CONFIG_FB_ARMCLCD=y |
123 | CONFIG_FB_WM8505=y | 218 | CONFIG_FB_WM8505=y |
124 | CONFIG_FB_SIMPLE=y | 219 | CONFIG_FB_SIMPLE=y |
220 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||
221 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||
222 | CONFIG_BACKLIGHT_PWM=y | ||
223 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
224 | CONFIG_SOUND=y | ||
225 | CONFIG_SND=y | ||
226 | CONFIG_SND_SOC=y | ||
227 | CONFIG_SND_SOC_TEGRA=y | ||
228 | CONFIG_SND_SOC_TEGRA_RT5640=y | ||
229 | CONFIG_SND_SOC_TEGRA_WM8753=y | ||
230 | CONFIG_SND_SOC_TEGRA_WM8903=y | ||
231 | CONFIG_SND_SOC_TEGRA_TRIMSLICE=y | ||
232 | CONFIG_SND_SOC_TEGRA_ALC5632=y | ||
233 | CONFIG_SND_SOC_TEGRA_MAX98090=y | ||
125 | CONFIG_USB=y | 234 | CONFIG_USB=y |
126 | CONFIG_USB_XHCI_HCD=y | 235 | CONFIG_USB_XHCI_HCD=y |
127 | CONFIG_USB_EHCI_HCD=y | 236 | CONFIG_USB_EHCI_HCD=y |
@@ -132,8 +241,6 @@ CONFIG_USB_STORAGE=y | |||
132 | CONFIG_USB_CHIPIDEA=y | 241 | CONFIG_USB_CHIPIDEA=y |
133 | CONFIG_USB_CHIPIDEA_HOST=y | 242 | CONFIG_USB_CHIPIDEA_HOST=y |
134 | CONFIG_AB8500_USB=y | 243 | CONFIG_AB8500_USB=y |
135 | CONFIG_NOP_USB_XCEIV=y | ||
136 | CONFIG_OMAP_USB2=y | ||
137 | CONFIG_OMAP_USB3=y | 244 | CONFIG_OMAP_USB3=y |
138 | CONFIG_SAMSUNG_USB2PHY=y | 245 | CONFIG_SAMSUNG_USB2PHY=y |
139 | CONFIG_SAMSUNG_USB3PHY=y | 246 | CONFIG_SAMSUNG_USB3PHY=y |
@@ -144,24 +251,32 @@ CONFIG_MMC=y | |||
144 | CONFIG_MMC_BLOCK_MINORS=16 | 251 | CONFIG_MMC_BLOCK_MINORS=16 |
145 | CONFIG_MMC_ARMMMCI=y | 252 | CONFIG_MMC_ARMMMCI=y |
146 | CONFIG_MMC_SDHCI=y | 253 | CONFIG_MMC_SDHCI=y |
147 | CONFIG_MMC_SDHCI_PLTFM=y | ||
148 | CONFIG_MMC_SDHCI_ESDHC_IMX=y | 254 | CONFIG_MMC_SDHCI_ESDHC_IMX=y |
149 | CONFIG_MMC_SDHCI_TEGRA=y | 255 | CONFIG_MMC_SDHCI_TEGRA=y |
150 | CONFIG_MMC_SDHCI_SPEAR=y | 256 | CONFIG_MMC_SDHCI_SPEAR=y |
151 | CONFIG_MMC_SDHCI_BCM_KONA=y | 257 | CONFIG_MMC_SDHCI_BCM_KONA=y |
152 | CONFIG_MMC_OMAP=y | 258 | CONFIG_MMC_OMAP=y |
153 | CONFIG_MMC_OMAP_HS=y | 259 | CONFIG_MMC_OMAP_HS=y |
260 | CONFIG_MMC_MVSDIO=y | ||
154 | CONFIG_EDAC=y | 261 | CONFIG_EDAC=y |
155 | CONFIG_EDAC_MM_EDAC=y | 262 | CONFIG_EDAC_MM_EDAC=y |
156 | CONFIG_EDAC_HIGHBANK_MC=y | 263 | CONFIG_EDAC_HIGHBANK_MC=y |
157 | CONFIG_EDAC_HIGHBANK_L2=y | 264 | CONFIG_EDAC_HIGHBANK_L2=y |
158 | CONFIG_RTC_CLASS=y | 265 | CONFIG_RTC_CLASS=y |
266 | CONFIG_RTC_DRV_AS3722=y | ||
267 | CONFIG_RTC_DRV_MAX8907=y | ||
268 | CONFIG_RTC_DRV_PALMAS=y | ||
159 | CONFIG_RTC_DRV_TWL4030=y | 269 | CONFIG_RTC_DRV_TWL4030=y |
270 | CONFIG_RTC_DRV_TPS6586X=y | ||
271 | CONFIG_RTC_DRV_TPS65910=y | ||
272 | CONFIG_RTC_DRV_EM3027=y | ||
160 | CONFIG_RTC_DRV_PL031=y | 273 | CONFIG_RTC_DRV_PL031=y |
161 | CONFIG_RTC_DRV_VT8500=y | 274 | CONFIG_RTC_DRV_VT8500=y |
275 | CONFIG_RTC_DRV_MV=y | ||
162 | CONFIG_RTC_DRV_TEGRA=y | 276 | CONFIG_RTC_DRV_TEGRA=y |
163 | CONFIG_DMADEVICES=y | 277 | CONFIG_DMADEVICES=y |
164 | CONFIG_DW_DMAC=y | 278 | CONFIG_DW_DMAC=y |
279 | CONFIG_MV_XOR=y | ||
165 | CONFIG_TEGRA20_APB_DMA=y | 280 | CONFIG_TEGRA20_APB_DMA=y |
166 | CONFIG_STE_DMA40=y | 281 | CONFIG_STE_DMA40=y |
167 | CONFIG_SIRF_DMA=y | 282 | CONFIG_SIRF_DMA=y |
@@ -171,15 +286,34 @@ CONFIG_IMX_SDMA=y | |||
171 | CONFIG_IMX_DMA=y | 286 | CONFIG_IMX_DMA=y |
172 | CONFIG_MXS_DMA=y | 287 | CONFIG_MXS_DMA=y |
173 | CONFIG_DMA_OMAP=y | 288 | CONFIG_DMA_OMAP=y |
289 | CONFIG_STAGING=y | ||
290 | CONFIG_SENSORS_ISL29018=y | ||
291 | CONFIG_SENSORS_ISL29028=y | ||
292 | CONFIG_MFD_NVEC=y | ||
293 | CONFIG_KEYBOARD_NVEC=y | ||
294 | CONFIG_SERIO_NVEC_PS2=y | ||
295 | CONFIG_NVEC_POWER=y | ||
296 | CONFIG_TEGRA_IOMMU_GART=y | ||
297 | CONFIG_TEGRA_IOMMU_SMMU=y | ||
298 | CONFIG_MEMORY=y | ||
299 | CONFIG_IIO=y | ||
300 | CONFIG_AK8975=y | ||
174 | CONFIG_PWM=y | 301 | CONFIG_PWM=y |
302 | CONFIG_PWM_TEGRA=y | ||
175 | CONFIG_PWM_VT8500=y | 303 | CONFIG_PWM_VT8500=y |
304 | CONFIG_OMAP_USB2=y | ||
176 | CONFIG_EXT4_FS=y | 305 | CONFIG_EXT4_FS=y |
306 | CONFIG_VFAT_FS=y | ||
177 | CONFIG_TMPFS=y | 307 | CONFIG_TMPFS=y |
308 | CONFIG_SQUASHFS=y | ||
309 | CONFIG_SQUASHFS_LZO=y | ||
310 | CONFIG_SQUASHFS_XZ=y | ||
178 | CONFIG_NFS_FS=y | 311 | CONFIG_NFS_FS=y |
179 | CONFIG_NFS_V3_ACL=y | 312 | CONFIG_NFS_V3_ACL=y |
180 | CONFIG_NFS_V4=y | 313 | CONFIG_NFS_V4=y |
181 | CONFIG_ROOT_NFS=y | 314 | CONFIG_ROOT_NFS=y |
182 | CONFIG_PRINTK_TIME=y | 315 | CONFIG_PRINTK_TIME=y |
183 | CONFIG_DEBUG_FS=y | 316 | CONFIG_DEBUG_FS=y |
184 | CONFIG_DEBUG_KERNEL=y | 317 | CONFIG_MAGIC_SYSRQ=y |
185 | CONFIG_LOCKUP_DETECTOR=y | 318 | CONFIG_LOCKUP_DETECTOR=y |
319 | CONFIG_CRYPTO_DEV_TEGRA_AES=y | ||
diff --git a/arch/arm/configs/tegra_defconfig b/arch/arm/configs/tegra_defconfig index 5fdc9a09d339..00fe9e9710fd 100644 --- a/arch/arm/configs/tegra_defconfig +++ b/arch/arm/configs/tegra_defconfig | |||
@@ -29,11 +29,11 @@ CONFIG_ARCH_TEGRA_3x_SOC=y | |||
29 | CONFIG_ARCH_TEGRA_114_SOC=y | 29 | CONFIG_ARCH_TEGRA_114_SOC=y |
30 | CONFIG_ARCH_TEGRA_124_SOC=y | 30 | CONFIG_ARCH_TEGRA_124_SOC=y |
31 | CONFIG_TEGRA_EMC_SCALING_ENABLE=y | 31 | CONFIG_TEGRA_EMC_SCALING_ENABLE=y |
32 | CONFIG_TRUSTED_FOUNDATIONS=y | ||
32 | CONFIG_PCI=y | 33 | CONFIG_PCI=y |
33 | CONFIG_PCI_MSI=y | 34 | CONFIG_PCI_MSI=y |
34 | CONFIG_PCI_TEGRA=y | 35 | CONFIG_PCI_TEGRA=y |
35 | CONFIG_PCIEPORTBUS=y | 36 | CONFIG_PCIEPORTBUS=y |
36 | CONFIG_TRUSTED_FOUNDATIONS=y | ||
37 | CONFIG_SMP=y | 37 | CONFIG_SMP=y |
38 | CONFIG_PREEMPT=y | 38 | CONFIG_PREEMPT=y |
39 | CONFIG_AEABI=y | 39 | CONFIG_AEABI=y |
@@ -125,7 +125,6 @@ CONFIG_SERIAL_TEGRA=y | |||
125 | CONFIG_SERIAL_OF_PLATFORM=y | 125 | CONFIG_SERIAL_OF_PLATFORM=y |
126 | # CONFIG_HW_RANDOM is not set | 126 | # CONFIG_HW_RANDOM is not set |
127 | # CONFIG_I2C_COMPAT is not set | 127 | # CONFIG_I2C_COMPAT is not set |
128 | CONFIG_I2C_MUX=y | ||
129 | CONFIG_I2C_MUX_PINCTRL=y | 128 | CONFIG_I2C_MUX_PINCTRL=y |
130 | CONFIG_I2C_TEGRA=y | 129 | CONFIG_I2C_TEGRA=y |
131 | CONFIG_SPI=y | 130 | CONFIG_SPI=y |
@@ -169,9 +168,8 @@ CONFIG_MEDIA_CAMERA_SUPPORT=y | |||
169 | CONFIG_MEDIA_USB_SUPPORT=y | 168 | CONFIG_MEDIA_USB_SUPPORT=y |
170 | CONFIG_USB_VIDEO_CLASS=m | 169 | CONFIG_USB_VIDEO_CLASS=m |
171 | CONFIG_DRM=y | 170 | CONFIG_DRM=y |
172 | CONFIG_DRM_PANEL=y | ||
173 | CONFIG_DRM_PANEL_SIMPLE=y | ||
174 | CONFIG_DRM_TEGRA=y | 171 | CONFIG_DRM_TEGRA=y |
172 | CONFIG_DRM_PANEL_SIMPLE=y | ||
175 | CONFIG_BACKLIGHT_LCD_SUPPORT=y | 173 | CONFIG_BACKLIGHT_LCD_SUPPORT=y |
176 | # CONFIG_LCD_CLASS_DEVICE is not set | 174 | # CONFIG_LCD_CLASS_DEVICE is not set |
177 | CONFIG_BACKLIGHT_CLASS_DEVICE=y | 175 | CONFIG_BACKLIGHT_CLASS_DEVICE=y |
@@ -206,10 +204,7 @@ CONFIG_MMC_BLOCK_MINORS=16 | |||
206 | CONFIG_MMC_SDHCI=y | 204 | CONFIG_MMC_SDHCI=y |
207 | CONFIG_MMC_SDHCI_PLTFM=y | 205 | CONFIG_MMC_SDHCI_PLTFM=y |
208 | CONFIG_MMC_SDHCI_TEGRA=y | 206 | CONFIG_MMC_SDHCI_TEGRA=y |
209 | CONFIG_NEW_LEDS=y | ||
210 | CONFIG_LEDS_CLASS=y | ||
211 | CONFIG_LEDS_GPIO=y | 207 | CONFIG_LEDS_GPIO=y |
212 | CONFIG_LEDS_TRIGGERS=y | ||
213 | CONFIG_LEDS_TRIGGER_TIMER=y | 208 | CONFIG_LEDS_TRIGGER_TIMER=y |
214 | CONFIG_LEDS_TRIGGER_ONESHOT=y | 209 | CONFIG_LEDS_TRIGGER_ONESHOT=y |
215 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | 210 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y |
@@ -235,7 +230,6 @@ CONFIG_KEYBOARD_NVEC=y | |||
235 | CONFIG_SERIO_NVEC_PS2=y | 230 | CONFIG_SERIO_NVEC_PS2=y |
236 | CONFIG_NVEC_POWER=y | 231 | CONFIG_NVEC_POWER=y |
237 | CONFIG_NVEC_PAZ00=y | 232 | CONFIG_NVEC_PAZ00=y |
238 | CONFIG_COMMON_CLK_DEBUG=y | ||
239 | CONFIG_TEGRA_IOMMU_GART=y | 233 | CONFIG_TEGRA_IOMMU_GART=y |
240 | CONFIG_TEGRA_IOMMU_SMMU=y | 234 | CONFIG_TEGRA_IOMMU_SMMU=y |
241 | CONFIG_MEMORY=y | 235 | CONFIG_MEMORY=y |
@@ -265,6 +259,7 @@ CONFIG_NLS_CODEPAGE_437=y | |||
265 | CONFIG_NLS_ISO8859_1=y | 259 | CONFIG_NLS_ISO8859_1=y |
266 | CONFIG_PRINTK_TIME=y | 260 | CONFIG_PRINTK_TIME=y |
267 | CONFIG_DEBUG_INFO=y | 261 | CONFIG_DEBUG_INFO=y |
262 | CONFIG_DEBUG_FS=y | ||
268 | CONFIG_MAGIC_SYSRQ=y | 263 | CONFIG_MAGIC_SYSRQ=y |
269 | CONFIG_DEBUG_SLAB=y | 264 | CONFIG_DEBUG_SLAB=y |
270 | CONFIG_DEBUG_VM=y | 265 | CONFIG_DEBUG_VM=y |
diff --git a/arch/arm/mach-hisi/Kconfig b/arch/arm/mach-hisi/Kconfig index 018ad67f1b38..8f4649b301b2 100644 --- a/arch/arm/mach-hisi/Kconfig +++ b/arch/arm/mach-hisi/Kconfig | |||
@@ -12,6 +12,5 @@ config ARCH_HI3xxx | |||
12 | select HAVE_SMP | 12 | select HAVE_SMP |
13 | select PINCTRL | 13 | select PINCTRL |
14 | select PINCTRL_SINGLE | 14 | select PINCTRL_SINGLE |
15 | select SMP | ||
16 | help | 15 | help |
17 | Support for Hisilicon Hi36xx/Hi37xx processor family | 16 | Support for Hisilicon Hi36xx/Hi37xx processor family |
diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c index 5e84149d1790..a3ef961e4a93 100644 --- a/arch/arm/mach-integrator/integrator_cp.c +++ b/arch/arm/mach-integrator/integrator_cp.c | |||
@@ -64,6 +64,7 @@ static void __iomem *intcp_con_base; | |||
64 | 64 | ||
65 | /* | 65 | /* |
66 | * Logical Physical | 66 | * Logical Physical |
67 | * f1000000 10000000 Core module registers | ||
67 | * f1300000 13000000 Counter/Timer | 68 | * f1300000 13000000 Counter/Timer |
68 | * f1400000 14000000 Interrupt controller | 69 | * f1400000 14000000 Interrupt controller |
69 | * f1600000 16000000 UART 0 | 70 | * f1600000 16000000 UART 0 |
@@ -75,6 +76,11 @@ static void __iomem *intcp_con_base; | |||
75 | 76 | ||
76 | static struct map_desc intcp_io_desc[] __initdata __maybe_unused = { | 77 | static struct map_desc intcp_io_desc[] __initdata __maybe_unused = { |
77 | { | 78 | { |
79 | .virtual = IO_ADDRESS(INTEGRATOR_HDR_BASE), | ||
80 | .pfn = __phys_to_pfn(INTEGRATOR_HDR_BASE), | ||
81 | .length = SZ_4K, | ||
82 | .type = MT_DEVICE | ||
83 | }, { | ||
78 | .virtual = IO_ADDRESS(INTEGRATOR_CT_BASE), | 84 | .virtual = IO_ADDRESS(INTEGRATOR_CT_BASE), |
79 | .pfn = __phys_to_pfn(INTEGRATOR_CT_BASE), | 85 | .pfn = __phys_to_pfn(INTEGRATOR_CT_BASE), |
80 | .length = SZ_4K, | 86 | .length = SZ_4K, |
diff --git a/arch/arm/mach-iop32x/em7210.c b/arch/arm/mach-iop32x/em7210.c index 177cd073a83b..77e1ff057303 100644 --- a/arch/arm/mach-iop32x/em7210.c +++ b/arch/arm/mach-iop32x/em7210.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/mtd/physmap.h> | 23 | #include <linux/mtd/physmap.h> |
24 | #include <linux/platform_device.h> | 24 | #include <linux/platform_device.h> |
25 | #include <linux/i2c.h> | 25 | #include <linux/i2c.h> |
26 | #include <linux/gpio.h> | ||
26 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
27 | #include <linux/io.h> | 28 | #include <linux/io.h> |
28 | #include <linux/irq.h> | 29 | #include <linux/irq.h> |
@@ -176,11 +177,35 @@ static struct platform_device em7210_serial_device = { | |||
176 | .resource = &em7210_uart_resource, | 177 | .resource = &em7210_uart_resource, |
177 | }; | 178 | }; |
178 | 179 | ||
180 | #define EM7210_HARDWARE_POWER 0 | ||
181 | |||
179 | void em7210_power_off(void) | 182 | void em7210_power_off(void) |
180 | { | 183 | { |
181 | *IOP3XX_GPOE &= 0xfe; | 184 | int ret; |
182 | *IOP3XX_GPOD |= 0x01; | 185 | |
186 | ret = gpio_direction_output(EM7210_HARDWARE_POWER, 1); | ||
187 | if (ret) | ||
188 | pr_crit("could not drive power off GPIO high\n"); | ||
189 | } | ||
190 | |||
191 | static int __init em7210_request_gpios(void) | ||
192 | { | ||
193 | int ret; | ||
194 | |||
195 | if (!machine_is_em7210()) | ||
196 | return 0; | ||
197 | |||
198 | ret = gpio_request(EM7210_HARDWARE_POWER, "power"); | ||
199 | if (ret) { | ||
200 | pr_err("could not request power off GPIO\n"); | ||
201 | return 0; | ||
202 | } | ||
203 | |||
204 | pm_power_off = em7210_power_off; | ||
205 | |||
206 | return 0; | ||
183 | } | 207 | } |
208 | device_initcall(em7210_request_gpios); | ||
184 | 209 | ||
185 | static void __init em7210_init_machine(void) | 210 | static void __init em7210_init_machine(void) |
186 | { | 211 | { |
@@ -194,9 +219,6 @@ static void __init em7210_init_machine(void) | |||
194 | 219 | ||
195 | i2c_register_board_info(0, em7210_i2c_devices, | 220 | i2c_register_board_info(0, em7210_i2c_devices, |
196 | ARRAY_SIZE(em7210_i2c_devices)); | 221 | ARRAY_SIZE(em7210_i2c_devices)); |
197 | |||
198 | |||
199 | pm_power_off = em7210_power_off; | ||
200 | } | 222 | } |
201 | 223 | ||
202 | MACHINE_START(EM7210, "Lanner EM7210") | 224 | MACHINE_START(EM7210, "Lanner EM7210") |
diff --git a/arch/arm/mach-keystone/Kconfig b/arch/arm/mach-keystone/Kconfig index dabc5eee52e7..90a708fef541 100644 --- a/arch/arm/mach-keystone/Kconfig +++ b/arch/arm/mach-keystone/Kconfig | |||
@@ -10,7 +10,6 @@ config ARCH_KEYSTONE | |||
10 | select ARCH_WANT_OPTIONAL_GPIOLIB | 10 | select ARCH_WANT_OPTIONAL_GPIOLIB |
11 | select ARM_ERRATA_798181 if SMP | 11 | select ARM_ERRATA_798181 if SMP |
12 | select COMMON_CLK_KEYSTONE | 12 | select COMMON_CLK_KEYSTONE |
13 | select TI_EDMA | ||
14 | select ARCH_SUPPORTS_BIG_ENDIAN | 13 | select ARCH_SUPPORTS_BIG_ENDIAN |
15 | select ZONE_DMA if ARM_LPAE | 14 | select ZONE_DMA if ARM_LPAE |
16 | help | 15 | help |
diff --git a/arch/arm/mach-kirkwood/pm.c b/arch/arm/mach-kirkwood/pm.c index 8783a7184e73..c6ab8d9303a5 100644 --- a/arch/arm/mach-kirkwood/pm.c +++ b/arch/arm/mach-kirkwood/pm.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/suspend.h> | 18 | #include <linux/suspend.h> |
19 | #include <linux/io.h> | 19 | #include <linux/io.h> |
20 | #include <mach/bridge-regs.h> | 20 | #include <mach/bridge-regs.h> |
21 | #include "common.h" | ||
21 | 22 | ||
22 | static void __iomem *ddr_operation_base; | 23 | static void __iomem *ddr_operation_base; |
23 | 24 | ||
@@ -65,9 +66,8 @@ static const struct platform_suspend_ops kirkwood_suspend_ops = { | |||
65 | .valid = kirkwood_pm_valid_standby, | 66 | .valid = kirkwood_pm_valid_standby, |
66 | }; | 67 | }; |
67 | 68 | ||
68 | int __init kirkwood_pm_init(void) | 69 | void __init kirkwood_pm_init(void) |
69 | { | 70 | { |
70 | ddr_operation_base = ioremap(DDR_OPERATION_BASE, 4); | 71 | ddr_operation_base = ioremap(DDR_OPERATION_BASE, 4); |
71 | suspend_set_ops(&kirkwood_suspend_ops); | 72 | suspend_set_ops(&kirkwood_suspend_ops); |
72 | return 0; | ||
73 | } | 73 | } |
diff --git a/arch/arm/mach-mvebu/mvebu-soc-id.c b/arch/arm/mach-mvebu/mvebu-soc-id.c index fe4fc1cbdfaf..f3b325f6cbd4 100644 --- a/arch/arm/mach-mvebu/mvebu-soc-id.c +++ b/arch/arm/mach-mvebu/mvebu-soc-id.c | |||
@@ -88,7 +88,7 @@ static int __init mvebu_soc_id_init(void) | |||
88 | } | 88 | } |
89 | 89 | ||
90 | pci_base = of_iomap(child, 0); | 90 | pci_base = of_iomap(child, 0); |
91 | if (IS_ERR(pci_base)) { | 91 | if (pci_base == NULL) { |
92 | pr_err("cannot map registers\n"); | 92 | pr_err("cannot map registers\n"); |
93 | ret = -ENOMEM; | 93 | ret = -ENOMEM; |
94 | goto res_ioremap; | 94 | goto res_ioremap; |
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h index e51527835160..a6aae300542c 100644 --- a/arch/arm/mach-omap2/common.h +++ b/arch/arm/mach-omap2/common.h | |||
@@ -62,11 +62,17 @@ static inline int omap3_pm_init(void) | |||
62 | 62 | ||
63 | #if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP4) | 63 | #if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP4) |
64 | int omap4_pm_init(void); | 64 | int omap4_pm_init(void); |
65 | int omap4_pm_init_early(void); | ||
65 | #else | 66 | #else |
66 | static inline int omap4_pm_init(void) | 67 | static inline int omap4_pm_init(void) |
67 | { | 68 | { |
68 | return 0; | 69 | return 0; |
69 | } | 70 | } |
71 | |||
72 | static inline int omap4_pm_init_early(void) | ||
73 | { | ||
74 | return 0; | ||
75 | } | ||
70 | #endif | 76 | #endif |
71 | 77 | ||
72 | #ifdef CONFIG_OMAP_MUX | 78 | #ifdef CONFIG_OMAP_MUX |
@@ -236,6 +242,7 @@ static inline void __iomem *omap4_get_scu_base(void) | |||
236 | 242 | ||
237 | extern void __init gic_init_irq(void); | 243 | extern void __init gic_init_irq(void); |
238 | extern void gic_dist_disable(void); | 244 | extern void gic_dist_disable(void); |
245 | extern void gic_dist_enable(void); | ||
239 | extern bool gic_dist_disabled(void); | 246 | extern bool gic_dist_disabled(void); |
240 | extern void gic_timer_retrigger(void); | 247 | extern void gic_timer_retrigger(void); |
241 | extern void omap_smc1(u32 fn, u32 arg); | 248 | extern void omap_smc1(u32 fn, u32 arg); |
diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c index 4c8982ae9529..4c158c838d40 100644 --- a/arch/arm/mach-omap2/cpuidle44xx.c +++ b/arch/arm/mach-omap2/cpuidle44xx.c | |||
@@ -80,6 +80,7 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, | |||
80 | int index) | 80 | int index) |
81 | { | 81 | { |
82 | struct idle_statedata *cx = state_ptr + index; | 82 | struct idle_statedata *cx = state_ptr + index; |
83 | u32 mpuss_can_lose_context = 0; | ||
83 | 84 | ||
84 | /* | 85 | /* |
85 | * CPU0 has to wait and stay ON until CPU1 is OFF state. | 86 | * CPU0 has to wait and stay ON until CPU1 is OFF state. |
@@ -104,6 +105,9 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, | |||
104 | } | 105 | } |
105 | } | 106 | } |
106 | 107 | ||
108 | mpuss_can_lose_context = (cx->mpu_state == PWRDM_POWER_RET) && | ||
109 | (cx->mpu_logic_state == PWRDM_POWER_OFF); | ||
110 | |||
107 | /* | 111 | /* |
108 | * Call idle CPU PM enter notifier chain so that | 112 | * Call idle CPU PM enter notifier chain so that |
109 | * VFP and per CPU interrupt context is saved. | 113 | * VFP and per CPU interrupt context is saved. |
@@ -118,9 +122,8 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, | |||
118 | * Call idle CPU cluster PM enter notifier chain | 122 | * Call idle CPU cluster PM enter notifier chain |
119 | * to save GIC and wakeupgen context. | 123 | * to save GIC and wakeupgen context. |
120 | */ | 124 | */ |
121 | if ((cx->mpu_state == PWRDM_POWER_RET) && | 125 | if (mpuss_can_lose_context) |
122 | (cx->mpu_logic_state == PWRDM_POWER_OFF)) | 126 | cpu_cluster_pm_enter(); |
123 | cpu_cluster_pm_enter(); | ||
124 | } | 127 | } |
125 | 128 | ||
126 | omap4_enter_lowpower(dev->cpu, cx->cpu_state); | 129 | omap4_enter_lowpower(dev->cpu, cx->cpu_state); |
@@ -128,9 +131,23 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, | |||
128 | 131 | ||
129 | /* Wakeup CPU1 only if it is not offlined */ | 132 | /* Wakeup CPU1 only if it is not offlined */ |
130 | if (dev->cpu == 0 && cpumask_test_cpu(1, cpu_online_mask)) { | 133 | if (dev->cpu == 0 && cpumask_test_cpu(1, cpu_online_mask)) { |
134 | |||
135 | if (IS_PM44XX_ERRATUM(PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD) && | ||
136 | mpuss_can_lose_context) | ||
137 | gic_dist_disable(); | ||
138 | |||
131 | clkdm_wakeup(cpu_clkdm[1]); | 139 | clkdm_wakeup(cpu_clkdm[1]); |
132 | omap_set_pwrdm_state(cpu_pd[1], PWRDM_POWER_ON); | 140 | omap_set_pwrdm_state(cpu_pd[1], PWRDM_POWER_ON); |
133 | clkdm_allow_idle(cpu_clkdm[1]); | 141 | clkdm_allow_idle(cpu_clkdm[1]); |
142 | |||
143 | if (IS_PM44XX_ERRATUM(PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD) && | ||
144 | mpuss_can_lose_context) { | ||
145 | while (gic_dist_disabled()) { | ||
146 | udelay(1); | ||
147 | cpu_relax(); | ||
148 | } | ||
149 | gic_timer_retrigger(); | ||
150 | } | ||
134 | } | 151 | } |
135 | 152 | ||
136 | /* | 153 | /* |
@@ -143,8 +160,7 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev, | |||
143 | * Call idle CPU cluster PM exit notifier chain | 160 | * Call idle CPU cluster PM exit notifier chain |
144 | * to restore GIC and wakeupgen context. | 161 | * to restore GIC and wakeupgen context. |
145 | */ | 162 | */ |
146 | if (dev->cpu == 0 && (cx->mpu_state == PWRDM_POWER_RET) && | 163 | if (dev->cpu == 0 && mpuss_can_lose_context) |
147 | (cx->mpu_logic_state == PWRDM_POWER_OFF)) | ||
148 | cpu_cluster_pm_exit(); | 164 | cpu_cluster_pm_exit(); |
149 | 165 | ||
150 | fail: | 166 | fail: |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 47381fd8746f..d408b15b4fbf 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
@@ -641,6 +641,7 @@ void __init omap4430_init_early(void) | |||
641 | omap_cm_base_init(); | 641 | omap_cm_base_init(); |
642 | omap4xxx_check_revision(); | 642 | omap4xxx_check_revision(); |
643 | omap4xxx_check_features(); | 643 | omap4xxx_check_features(); |
644 | omap4_pm_init_early(); | ||
644 | omap44xx_prm_init(); | 645 | omap44xx_prm_init(); |
645 | omap44xx_voltagedomains_init(); | 646 | omap44xx_voltagedomains_init(); |
646 | omap44xx_powerdomains_init(); | 647 | omap44xx_powerdomains_init(); |
diff --git a/arch/arm/mach-omap2/omap-mpuss-lowpower.c b/arch/arm/mach-omap2/omap-mpuss-lowpower.c index f991016e2a6a..667915d236f3 100644 --- a/arch/arm/mach-omap2/omap-mpuss-lowpower.c +++ b/arch/arm/mach-omap2/omap-mpuss-lowpower.c | |||
@@ -271,6 +271,9 @@ int omap4_enter_lowpower(unsigned int cpu, unsigned int power_state) | |||
271 | else | 271 | else |
272 | omap_pm_ops.finish_suspend(save_state); | 272 | omap_pm_ops.finish_suspend(save_state); |
273 | 273 | ||
274 | if (IS_PM44XX_ERRATUM(PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD) && cpu) | ||
275 | gic_dist_enable(); | ||
276 | |||
274 | /* | 277 | /* |
275 | * Restore the CPUx power state to ON otherwise CPUx | 278 | * Restore the CPUx power state to ON otherwise CPUx |
276 | * power domain can transitions to programmed low power | 279 | * power domain can transitions to programmed low power |
diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap-smp.c index 75e95d4fb448..17550aa39d0f 100644 --- a/arch/arm/mach-omap2/omap-smp.c +++ b/arch/arm/mach-omap2/omap-smp.c | |||
@@ -39,8 +39,6 @@ | |||
39 | 39 | ||
40 | #define OMAP5_CORE_COUNT 0x2 | 40 | #define OMAP5_CORE_COUNT 0x2 |
41 | 41 | ||
42 | u16 pm44xx_errata; | ||
43 | |||
44 | /* SCU base address */ | 42 | /* SCU base address */ |
45 | static void __iomem *scu_base; | 43 | static void __iomem *scu_base; |
46 | 44 | ||
@@ -217,10 +215,8 @@ static void __init omap4_smp_prepare_cpus(unsigned int max_cpus) | |||
217 | if (scu_base) | 215 | if (scu_base) |
218 | scu_enable(scu_base); | 216 | scu_enable(scu_base); |
219 | 217 | ||
220 | if (cpu_is_omap446x()) { | 218 | if (cpu_is_omap446x()) |
221 | startup_addr = omap4460_secondary_startup; | 219 | startup_addr = omap4460_secondary_startup; |
222 | pm44xx_errata |= PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD; | ||
223 | } | ||
224 | 220 | ||
225 | /* | 221 | /* |
226 | * Write the address of secondary startup routine into the | 222 | * Write the address of secondary startup routine into the |
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c index dd893ec4c8f2..6cd3f3772ecf 100644 --- a/arch/arm/mach-omap2/omap4-common.c +++ b/arch/arm/mach-omap2/omap4-common.c | |||
@@ -127,6 +127,12 @@ void gic_dist_disable(void) | |||
127 | __raw_writel(0x0, gic_dist_base_addr + GIC_DIST_CTRL); | 127 | __raw_writel(0x0, gic_dist_base_addr + GIC_DIST_CTRL); |
128 | } | 128 | } |
129 | 129 | ||
130 | void gic_dist_enable(void) | ||
131 | { | ||
132 | if (gic_dist_base_addr) | ||
133 | __raw_writel(0x1, gic_dist_base_addr + GIC_DIST_CTRL); | ||
134 | } | ||
135 | |||
130 | bool gic_dist_disabled(void) | 136 | bool gic_dist_disabled(void) |
131 | { | 137 | { |
132 | return !(__raw_readl(gic_dist_base_addr + GIC_DIST_CTRL) & 0x1); | 138 | return !(__raw_readl(gic_dist_base_addr + GIC_DIST_CTRL) & 0x1); |
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c index 82f0698933d8..eefb30cfcabd 100644 --- a/arch/arm/mach-omap2/pm44xx.c +++ b/arch/arm/mach-omap2/pm44xx.c | |||
@@ -24,6 +24,8 @@ | |||
24 | #include "powerdomain.h" | 24 | #include "powerdomain.h" |
25 | #include "pm.h" | 25 | #include "pm.h" |
26 | 26 | ||
27 | u16 pm44xx_errata; | ||
28 | |||
27 | struct power_state { | 29 | struct power_state { |
28 | struct powerdomain *pwrdm; | 30 | struct powerdomain *pwrdm; |
29 | u32 next_state; | 31 | u32 next_state; |
@@ -199,6 +201,19 @@ static inline int omap4_init_static_deps(void) | |||
199 | } | 201 | } |
200 | 202 | ||
201 | /** | 203 | /** |
204 | * omap4_pm_init_early - Does early initialization necessary for OMAP4+ devices | ||
205 | * | ||
206 | * Initializes basic stuff for power management functionality. | ||
207 | */ | ||
208 | int __init omap4_pm_init_early(void) | ||
209 | { | ||
210 | if (cpu_is_omap446x()) | ||
211 | pm44xx_errata |= PM_OMAP4_ROM_SMP_BOOT_ERRATUM_GICD; | ||
212 | |||
213 | return 0; | ||
214 | } | ||
215 | |||
216 | /** | ||
202 | * omap4_pm_init - Init routine for OMAP4+ devices | 217 | * omap4_pm_init - Init routine for OMAP4+ devices |
203 | * | 218 | * |
204 | * Initializes all powerdomain and clockdomain target states | 219 | * Initializes all powerdomain and clockdomain target states |
diff --git a/arch/arm/plat-orion/irq.c b/arch/arm/plat-orion/irq.c index c492e1b3dfdb..807df142444b 100644 --- a/arch/arm/plat-orion/irq.c +++ b/arch/arm/plat-orion/irq.c | |||
@@ -15,8 +15,51 @@ | |||
15 | #include <linux/io.h> | 15 | #include <linux/io.h> |
16 | #include <linux/of_address.h> | 16 | #include <linux/of_address.h> |
17 | #include <linux/of_irq.h> | 17 | #include <linux/of_irq.h> |
18 | #include <asm/exception.h> | ||
18 | #include <plat/irq.h> | 19 | #include <plat/irq.h> |
19 | #include <plat/orion-gpio.h> | 20 | #include <plat/orion-gpio.h> |
21 | #include <mach/bridge-regs.h> | ||
22 | |||
23 | #ifdef CONFIG_MULTI_IRQ_HANDLER | ||
24 | /* | ||
25 | * Compiling with both non-DT and DT support enabled, will | ||
26 | * break asm irq handler used by non-DT boards. Therefore, | ||
27 | * we provide a C-style irq handler even for non-DT boards, | ||
28 | * if MULTI_IRQ_HANDLER is set. | ||
29 | * | ||
30 | * Notes: | ||
31 | * - this is prepared for Kirkwood and Dove only, update | ||
32 | * accordingly if you add Orion5x or MV78x00. | ||
33 | * - Orion5x uses different macro names and has only one | ||
34 | * set of CAUSE/MASK registers. | ||
35 | * - MV78x00 uses the same macro names but has a third | ||
36 | * set of CAUSE/MASK registers. | ||
37 | * | ||
38 | */ | ||
39 | |||
40 | static void __iomem *orion_irq_base = IRQ_VIRT_BASE; | ||
41 | |||
42 | asmlinkage void | ||
43 | __exception_irq_entry orion_legacy_handle_irq(struct pt_regs *regs) | ||
44 | { | ||
45 | u32 stat; | ||
46 | |||
47 | stat = readl_relaxed(orion_irq_base + IRQ_CAUSE_LOW_OFF); | ||
48 | stat &= readl_relaxed(orion_irq_base + IRQ_MASK_LOW_OFF); | ||
49 | if (stat) { | ||
50 | unsigned int hwirq = __fls(stat); | ||
51 | handle_IRQ(hwirq, regs); | ||
52 | return; | ||
53 | } | ||
54 | stat = readl_relaxed(orion_irq_base + IRQ_CAUSE_HIGH_OFF); | ||
55 | stat &= readl_relaxed(orion_irq_base + IRQ_MASK_HIGH_OFF); | ||
56 | if (stat) { | ||
57 | unsigned int hwirq = 32 + __fls(stat); | ||
58 | handle_IRQ(hwirq, regs); | ||
59 | return; | ||
60 | } | ||
61 | } | ||
62 | #endif | ||
20 | 63 | ||
21 | void __init orion_irq_init(unsigned int irq_start, void __iomem *maskaddr) | 64 | void __init orion_irq_init(unsigned int irq_start, void __iomem *maskaddr) |
22 | { | 65 | { |
@@ -35,6 +78,10 @@ void __init orion_irq_init(unsigned int irq_start, void __iomem *maskaddr) | |||
35 | ct->chip.irq_unmask = irq_gc_mask_set_bit; | 78 | ct->chip.irq_unmask = irq_gc_mask_set_bit; |
36 | irq_setup_generic_chip(gc, IRQ_MSK(32), IRQ_GC_INIT_MASK_CACHE, | 79 | irq_setup_generic_chip(gc, IRQ_MSK(32), IRQ_GC_INIT_MASK_CACHE, |
37 | IRQ_NOREQUEST, IRQ_LEVEL | IRQ_NOPROBE); | 80 | IRQ_NOREQUEST, IRQ_LEVEL | IRQ_NOPROBE); |
81 | |||
82 | #ifdef CONFIG_MULTI_IRQ_HANDLER | ||
83 | set_handle_irq(orion_legacy_handle_irq); | ||
84 | #endif | ||
38 | } | 85 | } |
39 | 86 | ||
40 | #ifdef CONFIG_OF | 87 | #ifdef CONFIG_OF |