diff options
Diffstat (limited to 'arch/arm')
159 files changed, 625 insertions, 1695 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index e25419817791..d5fee71b9978 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -306,9 +306,11 @@ choice | |||
306 | config ARCH_MULTIPLATFORM | 306 | config ARCH_MULTIPLATFORM |
307 | bool "Allow multiple platforms to be selected" | 307 | bool "Allow multiple platforms to be selected" |
308 | depends on MMU | 308 | depends on MMU |
309 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
309 | select ARM_PATCH_PHYS_VIRT | 310 | select ARM_PATCH_PHYS_VIRT |
310 | select AUTO_ZRELADDR | 311 | select AUTO_ZRELADDR |
311 | select COMMON_CLK | 312 | select COMMON_CLK |
313 | select GENERIC_CLOCKEVENTS | ||
312 | select MULTI_IRQ_HANDLER | 314 | select MULTI_IRQ_HANDLER |
313 | select SPARSE_IRQ | 315 | select SPARSE_IRQ |
314 | select USE_OF | 316 | select USE_OF |
@@ -421,9 +423,6 @@ config ARCH_EFM32 | |||
421 | depends on !MMU | 423 | depends on !MMU |
422 | select ARCH_REQUIRE_GPIOLIB | 424 | select ARCH_REQUIRE_GPIOLIB |
423 | select ARM_NVIC | 425 | select ARM_NVIC |
424 | # CLKSRC_MMIO is wrong here, but needed until a proper fix is merged, | ||
425 | # i.e. CLKSRC_EFM32 selecting CLKSRC_MMIO | ||
426 | select CLKSRC_MMIO | ||
427 | select CLKSRC_OF | 426 | select CLKSRC_OF |
428 | select COMMON_CLK | 427 | select COMMON_CLK |
429 | select CPU_V7M | 428 | select CPU_V7M |
@@ -657,9 +656,8 @@ config ARCH_PXA | |||
657 | help | 656 | help |
658 | Support for Intel/Marvell's PXA2xx/PXA3xx processor line. | 657 | Support for Intel/Marvell's PXA2xx/PXA3xx processor line. |
659 | 658 | ||
660 | config ARCH_MSM_NODT | 659 | config ARCH_MSM |
661 | bool "Qualcomm MSM" | 660 | bool "Qualcomm MSM (non-multiplatform)" |
662 | select ARCH_MSM | ||
663 | select ARCH_REQUIRE_GPIOLIB | 661 | select ARCH_REQUIRE_GPIOLIB |
664 | select COMMON_CLK | 662 | select COMMON_CLK |
665 | select GENERIC_CLOCKEVENTS | 663 | select GENERIC_CLOCKEVENTS |
@@ -908,16 +906,18 @@ config ARCH_MULTI_V4_V5 | |||
908 | config ARCH_MULTI_V6 | 906 | config ARCH_MULTI_V6 |
909 | bool "ARMv6 based platforms (ARM11)" | 907 | bool "ARMv6 based platforms (ARM11)" |
910 | select ARCH_MULTI_V6_V7 | 908 | select ARCH_MULTI_V6_V7 |
911 | select CPU_V6 | 909 | select CPU_V6K |
912 | 910 | ||
913 | config ARCH_MULTI_V7 | 911 | config ARCH_MULTI_V7 |
914 | bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)" | 912 | bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)" |
915 | default y | 913 | default y |
916 | select ARCH_MULTI_V6_V7 | 914 | select ARCH_MULTI_V6_V7 |
917 | select CPU_V7 | 915 | select CPU_V7 |
916 | select HAVE_SMP | ||
918 | 917 | ||
919 | config ARCH_MULTI_V6_V7 | 918 | config ARCH_MULTI_V6_V7 |
920 | bool | 919 | bool |
920 | select MIGHT_HAVE_CACHE_L2X0 | ||
921 | 921 | ||
922 | config ARCH_MULTI_CPU_AUTO | 922 | config ARCH_MULTI_CPU_AUTO |
923 | def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7) | 923 | def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7) |
@@ -925,6 +925,13 @@ config ARCH_MULTI_CPU_AUTO | |||
925 | 925 | ||
926 | endmenu | 926 | endmenu |
927 | 927 | ||
928 | config ARCH_VIRT | ||
929 | bool "Dummy Virtual Machine" if ARCH_MULTI_V7 | ||
930 | select ARM_AMBA | ||
931 | select ARM_GIC | ||
932 | select ARM_PSCI | ||
933 | select HAVE_ARM_ARCH_TIMER | ||
934 | |||
928 | # | 935 | # |
929 | # This is sorted alphabetically by mach-* pathname. However, plat-* | 936 | # This is sorted alphabetically by mach-* pathname. However, plat-* |
930 | # Kconfigs may be included either alphabetically (according to the | 937 | # Kconfigs may be included either alphabetically (according to the |
@@ -1005,6 +1012,8 @@ source "arch/arm/plat-pxa/Kconfig" | |||
1005 | 1012 | ||
1006 | source "arch/arm/mach-mmp/Kconfig" | 1013 | source "arch/arm/mach-mmp/Kconfig" |
1007 | 1014 | ||
1015 | source "arch/arm/mach-qcom/Kconfig" | ||
1016 | |||
1008 | source "arch/arm/mach-realview/Kconfig" | 1017 | source "arch/arm/mach-realview/Kconfig" |
1009 | 1018 | ||
1010 | source "arch/arm/mach-rockchip/Kconfig" | 1019 | source "arch/arm/mach-rockchip/Kconfig" |
@@ -1048,8 +1057,6 @@ source "arch/arm/mach-versatile/Kconfig" | |||
1048 | source "arch/arm/mach-vexpress/Kconfig" | 1057 | source "arch/arm/mach-vexpress/Kconfig" |
1049 | source "arch/arm/plat-versatile/Kconfig" | 1058 | source "arch/arm/plat-versatile/Kconfig" |
1050 | 1059 | ||
1051 | source "arch/arm/mach-virt/Kconfig" | ||
1052 | |||
1053 | source "arch/arm/mach-vt8500/Kconfig" | 1060 | source "arch/arm/mach-vt8500/Kconfig" |
1054 | 1061 | ||
1055 | source "arch/arm/mach-w90x900/Kconfig" | 1062 | source "arch/arm/mach-w90x900/Kconfig" |
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index 3e988f6b45bc..84ca340e0105 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug | |||
@@ -956,7 +956,7 @@ config DEBUG_STI_UART | |||
956 | 956 | ||
957 | config DEBUG_MSM_UART | 957 | config DEBUG_MSM_UART |
958 | bool | 958 | bool |
959 | depends on ARCH_MSM | 959 | depends on ARCH_MSM || ARCH_QCOM |
960 | 960 | ||
961 | config DEBUG_LL_INCLUDE | 961 | config DEBUG_LL_INCLUDE |
962 | string | 962 | string |
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 08a9ef58d9c3..dd1bd7ed77be 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -180,6 +180,7 @@ machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2 | |||
180 | machine-$(CONFIG_ARCH_ORION5X) += orion5x | 180 | machine-$(CONFIG_ARCH_ORION5X) += orion5x |
181 | machine-$(CONFIG_ARCH_PICOXCELL) += picoxcell | 181 | machine-$(CONFIG_ARCH_PICOXCELL) += picoxcell |
182 | machine-$(CONFIG_ARCH_PXA) += pxa | 182 | machine-$(CONFIG_ARCH_PXA) += pxa |
183 | machine-$(CONFIG_ARCH_QCOM) += qcom | ||
183 | machine-$(CONFIG_ARCH_REALVIEW) += realview | 184 | machine-$(CONFIG_ARCH_REALVIEW) += realview |
184 | machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip | 185 | machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip |
185 | machine-$(CONFIG_ARCH_RPC) += rpc | 186 | machine-$(CONFIG_ARCH_RPC) += rpc |
@@ -199,7 +200,6 @@ machine-$(CONFIG_ARCH_U300) += u300 | |||
199 | machine-$(CONFIG_ARCH_U8500) += ux500 | 200 | machine-$(CONFIG_ARCH_U8500) += ux500 |
200 | machine-$(CONFIG_ARCH_VERSATILE) += versatile | 201 | machine-$(CONFIG_ARCH_VERSATILE) += versatile |
201 | machine-$(CONFIG_ARCH_VEXPRESS) += vexpress | 202 | machine-$(CONFIG_ARCH_VEXPRESS) += vexpress |
202 | machine-$(CONFIG_ARCH_VIRT) += virt | ||
203 | machine-$(CONFIG_ARCH_VT8500) += vt8500 | 203 | machine-$(CONFIG_ARCH_VT8500) += vt8500 |
204 | machine-$(CONFIG_ARCH_W90X900) += w90x900 | 204 | machine-$(CONFIG_ARCH_W90X900) += w90x900 |
205 | machine-$(CONFIG_ARCH_ZYNQ) += zynq | 205 | machine-$(CONFIG_ARCH_ZYNQ) += zynq |
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index b9d6a8b485e0..3269029a1ce6 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -38,6 +38,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb | |||
38 | dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb | 38 | dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb |
39 | dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb | 39 | dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb |
40 | # sama5d3 | 40 | # sama5d3 |
41 | dtb-$(CONFIG_ARCH_AT91) += at91-sama5d3_xplained.dtb | ||
41 | dtb-$(CONFIG_ARCH_AT91) += sama5d31ek.dtb | 42 | dtb-$(CONFIG_ARCH_AT91) += sama5d31ek.dtb |
42 | dtb-$(CONFIG_ARCH_AT91) += sama5d33ek.dtb | 43 | dtb-$(CONFIG_ARCH_AT91) += sama5d33ek.dtb |
43 | dtb-$(CONFIG_ARCH_AT91) += sama5d34ek.dtb | 44 | dtb-$(CONFIG_ARCH_AT91) += sama5d34ek.dtb |
@@ -118,9 +119,6 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \ | |||
118 | kirkwood-ts219-6282.dtb | 119 | kirkwood-ts219-6282.dtb |
119 | dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb | 120 | dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb |
120 | dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb | 121 | dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb |
121 | dtb-$(CONFIG_ARCH_MSM) += qcom-msm8660-surf.dtb \ | ||
122 | qcom-msm8960-cdp.dtb \ | ||
123 | qcom-apq8074-dragonboard.dtb | ||
124 | dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \ | 122 | dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \ |
125 | armada-370-mirabox.dtb \ | 123 | armada-370-mirabox.dtb \ |
126 | armada-370-netgear-rn102.dtb \ | 124 | armada-370-netgear-rn102.dtb \ |
@@ -232,6 +230,9 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ | |||
232 | dra7-evm.dtb | 230 | dra7-evm.dtb |
233 | dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb | 231 | dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb |
234 | dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb | 232 | dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb |
233 | dtb-$(CONFIG_ARCH_QCOM) += qcom-msm8660-surf.dtb \ | ||
234 | qcom-msm8960-cdp.dtb \ | ||
235 | qcom-apq8074-dragonboard.dtb | ||
235 | dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \ | 236 | dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \ |
236 | ste-hrefprev60-stuib.dtb \ | 237 | ste-hrefprev60-stuib.dtb \ |
237 | ste-hrefprev60-tvk.dtb \ | 238 | ste-hrefprev60-tvk.dtb \ |
diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts new file mode 100644 index 000000000000..ce1375595e5f --- /dev/null +++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts | |||
@@ -0,0 +1,229 @@ | |||
1 | /* | ||
2 | * at91-sama5d3_xplained.dts - Device Tree file for the SAMA5D3 Xplained board | ||
3 | * | ||
4 | * Copyright (C) 2014 Atmel, | ||
5 | * 2014 Nicolas Ferre <nicolas.ferre@atmel.com> | ||
6 | * | ||
7 | * Licensed under GPLv2 or later. | ||
8 | */ | ||
9 | /dts-v1/; | ||
10 | #include "sama5d36.dtsi" | ||
11 | |||
12 | / { | ||
13 | model = "SAMA5D3 Xplained"; | ||
14 | compatible = "atmel,sama5d3-xplained", "atmel,sama5d3", "atmel,sama5"; | ||
15 | |||
16 | chosen { | ||
17 | bootargs = "console=ttyS0,115200"; | ||
18 | }; | ||
19 | |||
20 | memory { | ||
21 | reg = <0x20000000 0x10000000>; | ||
22 | }; | ||
23 | |||
24 | ahb { | ||
25 | apb { | ||
26 | mmc0: mmc@f0000000 { | ||
27 | pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>; | ||
28 | status = "okay"; | ||
29 | slot@0 { | ||
30 | reg = <0>; | ||
31 | bus-width = <8>; | ||
32 | cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | spi0: spi@f0004000 { | ||
37 | cs-gpios = <&pioD 13 0>; | ||
38 | status = "okay"; | ||
39 | }; | ||
40 | |||
41 | can0: can@f000c000 { | ||
42 | status = "okay"; | ||
43 | }; | ||
44 | |||
45 | i2c0: i2c@f0014000 { | ||
46 | status = "okay"; | ||
47 | }; | ||
48 | |||
49 | i2c1: i2c@f0018000 { | ||
50 | status = "okay"; | ||
51 | }; | ||
52 | |||
53 | macb0: ethernet@f0028000 { | ||
54 | phy-mode = "rgmii"; | ||
55 | status = "okay"; | ||
56 | }; | ||
57 | |||
58 | usart0: serial@f001c000 { | ||
59 | status = "okay"; | ||
60 | }; | ||
61 | |||
62 | usart1: serial@f0020000 { | ||
63 | pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>; | ||
64 | status = "okay"; | ||
65 | }; | ||
66 | |||
67 | uart0: serial@f0024000 { | ||
68 | status = "okay"; | ||
69 | }; | ||
70 | |||
71 | mmc1: mmc@f8000000 { | ||
72 | pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; | ||
73 | status = "okay"; | ||
74 | slot@0 { | ||
75 | reg = <0>; | ||
76 | bus-width = <4>; | ||
77 | cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | spi1: spi@f8008000 { | ||
82 | cs-gpios = <&pioC 25 0>, <0>, <0>, <&pioD 16 0>; | ||
83 | status = "okay"; | ||
84 | }; | ||
85 | |||
86 | adc0: adc@f8018000 { | ||
87 | pinctrl-0 = < | ||
88 | &pinctrl_adc0_adtrg | ||
89 | &pinctrl_adc0_ad0 | ||
90 | &pinctrl_adc0_ad1 | ||
91 | &pinctrl_adc0_ad2 | ||
92 | &pinctrl_adc0_ad3 | ||
93 | &pinctrl_adc0_ad4 | ||
94 | &pinctrl_adc0_ad5 | ||
95 | &pinctrl_adc0_ad6 | ||
96 | &pinctrl_adc0_ad7 | ||
97 | &pinctrl_adc0_ad8 | ||
98 | &pinctrl_adc0_ad9 | ||
99 | >; | ||
100 | status = "okay"; | ||
101 | }; | ||
102 | |||
103 | i2c2: i2c@f801c000 { | ||
104 | dmas = <0>, <0>; /* Do not use DMA for i2c2 */ | ||
105 | status = "okay"; | ||
106 | }; | ||
107 | |||
108 | macb1: ethernet@f802c000 { | ||
109 | phy-mode = "rmii"; | ||
110 | status = "okay"; | ||
111 | }; | ||
112 | |||
113 | dbgu: serial@ffffee00 { | ||
114 | status = "okay"; | ||
115 | }; | ||
116 | |||
117 | pinctrl@fffff200 { | ||
118 | board { | ||
119 | pinctrl_mmc0_cd: mmc0_cd { | ||
120 | atmel,pins = | ||
121 | <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; | ||
122 | }; | ||
123 | |||
124 | pinctrl_mmc1_cd: mmc1_cd { | ||
125 | atmel,pins = | ||
126 | <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; | ||
127 | }; | ||
128 | |||
129 | pinctrl_usba_vbus: usba_vbus { | ||
130 | atmel,pins = | ||
131 | <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */ | ||
132 | }; | ||
133 | }; | ||
134 | }; | ||
135 | |||
136 | pmc: pmc@fffffc00 { | ||
137 | main: mainck { | ||
138 | clock-frequency = <12000000>; | ||
139 | }; | ||
140 | }; | ||
141 | }; | ||
142 | |||
143 | nand0: nand@60000000 { | ||
144 | nand-bus-width = <8>; | ||
145 | nand-ecc-mode = "hw"; | ||
146 | atmel,has-pmecc; | ||
147 | atmel,pmecc-cap = <4>; | ||
148 | atmel,pmecc-sector-size = <512>; | ||
149 | nand-on-flash-bbt; | ||
150 | status = "okay"; | ||
151 | |||
152 | at91bootstrap@0 { | ||
153 | label = "at91bootstrap"; | ||
154 | reg = <0x0 0x40000>; | ||
155 | }; | ||
156 | |||
157 | bootloader@40000 { | ||
158 | label = "bootloader"; | ||
159 | reg = <0x40000 0x80000>; | ||
160 | }; | ||
161 | |||
162 | bootloaderenv@c0000 { | ||
163 | label = "bootloader env"; | ||
164 | reg = <0xc0000 0xc0000>; | ||
165 | }; | ||
166 | |||
167 | dtb@180000 { | ||
168 | label = "device tree"; | ||
169 | reg = <0x180000 0x80000>; | ||
170 | }; | ||
171 | |||
172 | kernel@200000 { | ||
173 | label = "kernel"; | ||
174 | reg = <0x200000 0x600000>; | ||
175 | }; | ||
176 | |||
177 | rootfs@800000 { | ||
178 | label = "rootfs"; | ||
179 | reg = <0x800000 0x0f800000>; | ||
180 | }; | ||
181 | }; | ||
182 | |||
183 | usb0: gadget@00500000 { | ||
184 | atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>; /* PE9, conflicts with A9 */ | ||
185 | pinctrl-names = "default"; | ||
186 | pinctrl-0 = <&pinctrl_usba_vbus>; | ||
187 | status = "okay"; | ||
188 | }; | ||
189 | |||
190 | usb1: ohci@00600000 { | ||
191 | num-ports = <3>; | ||
192 | atmel,vbus-gpio = <0 | ||
193 | &pioE 3 GPIO_ACTIVE_LOW | ||
194 | &pioE 4 GPIO_ACTIVE_LOW | ||
195 | >; | ||
196 | status = "okay"; | ||
197 | }; | ||
198 | |||
199 | usb2: ehci@00700000 { | ||
200 | status = "okay"; | ||
201 | }; | ||
202 | }; | ||
203 | |||
204 | gpio_keys { | ||
205 | compatible = "gpio-keys"; | ||
206 | |||
207 | bp3 { | ||
208 | label = "PB_USER"; | ||
209 | gpios = <&pioE 29 GPIO_ACTIVE_LOW>; | ||
210 | linux,code = <0x104>; | ||
211 | gpio-key,wakeup; | ||
212 | }; | ||
213 | }; | ||
214 | |||
215 | leds { | ||
216 | compatible = "gpio-leds"; | ||
217 | |||
218 | d2 { | ||
219 | label = "d2"; | ||
220 | gpios = <&pioE 23 GPIO_ACTIVE_LOW>; /* PE23, conflicts with A23, CTS2 */ | ||
221 | linux,default-trigger = "heartbeat"; | ||
222 | }; | ||
223 | |||
224 | d3 { | ||
225 | label = "d3"; | ||
226 | gpios = <&pioE 24 GPIO_ACTIVE_HIGH>; | ||
227 | }; | ||
228 | }; | ||
229 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi index 0042f73068b0..fece8665fb63 100644 --- a/arch/arm/boot/dts/at91sam9263.dtsi +++ b/arch/arm/boot/dts/at91sam9263.dtsi | |||
@@ -523,7 +523,7 @@ | |||
523 | }; | 523 | }; |
524 | 524 | ||
525 | i2c0: i2c@fff88000 { | 525 | i2c0: i2c@fff88000 { |
526 | compatible = "atmel,at91sam9263-i2c"; | 526 | compatible = "atmel,at91sam9260-i2c"; |
527 | reg = <0xfff88000 0x100>; | 527 | reg = <0xfff88000 0x100>; |
528 | interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>; | 528 | interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>; |
529 | #address-cells = <1>; | 529 | #address-cells = <1>; |
diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts index e9487f6f0166..924a6a6ffd0f 100644 --- a/arch/arm/boot/dts/at91sam9n12ek.dts +++ b/arch/arm/boot/dts/at91sam9n12ek.dts | |||
@@ -124,6 +124,10 @@ | |||
124 | nand-on-flash-bbt; | 124 | nand-on-flash-bbt; |
125 | status = "okay"; | 125 | status = "okay"; |
126 | }; | 126 | }; |
127 | |||
128 | usb0: ohci@00500000 { | ||
129 | status = "okay"; | ||
130 | }; | ||
127 | }; | 131 | }; |
128 | 132 | ||
129 | leds { | 133 | leds { |
diff --git a/arch/arm/boot/dts/qcom-msm8660-surf.dts b/arch/arm/boot/dts/qcom-msm8660-surf.dts index 68a72f5507b9..169bad90dac9 100644 --- a/arch/arm/boot/dts/qcom-msm8660-surf.dts +++ b/arch/arm/boot/dts/qcom-msm8660-surf.dts | |||
@@ -1,63 +1,6 @@ | |||
1 | /dts-v1/; | 1 | #include "qcom-msm8660.dtsi" |
2 | |||
3 | /include/ "skeleton.dtsi" | ||
4 | |||
5 | #include <dt-bindings/clock/qcom,gcc-msm8660.h> | ||
6 | 2 | ||
7 | / { | 3 | / { |
8 | model = "Qualcomm MSM8660 SURF"; | 4 | model = "Qualcomm MSM8660 SURF"; |
9 | compatible = "qcom,msm8660-surf", "qcom,msm8660"; | 5 | compatible = "qcom,msm8660-surf", "qcom,msm8660"; |
10 | interrupt-parent = <&intc>; | ||
11 | |||
12 | intc: interrupt-controller@2080000 { | ||
13 | compatible = "qcom,msm-8660-qgic"; | ||
14 | interrupt-controller; | ||
15 | #interrupt-cells = <3>; | ||
16 | reg = < 0x02080000 0x1000 >, | ||
17 | < 0x02081000 0x1000 >; | ||
18 | }; | ||
19 | |||
20 | timer@2000000 { | ||
21 | compatible = "qcom,scss-timer", "qcom,msm-timer"; | ||
22 | interrupts = <1 0 0x301>, | ||
23 | <1 1 0x301>, | ||
24 | <1 2 0x301>; | ||
25 | reg = <0x02000000 0x100>; | ||
26 | clock-frequency = <27000000>, | ||
27 | <32768>; | ||
28 | cpu-offset = <0x40000>; | ||
29 | }; | ||
30 | |||
31 | msmgpio: gpio@800000 { | ||
32 | compatible = "qcom,msm-gpio"; | ||
33 | reg = <0x00800000 0x4000>; | ||
34 | gpio-controller; | ||
35 | #gpio-cells = <2>; | ||
36 | ngpio = <173>; | ||
37 | interrupts = <0 16 0x4>; | ||
38 | interrupt-controller; | ||
39 | #interrupt-cells = <2>; | ||
40 | }; | ||
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 | |||
49 | serial@19c40000 { | ||
50 | compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; | ||
51 | reg = <0x19c40000 0x1000>, | ||
52 | <0x19c00000 0x1000>; | ||
53 | interrupts = <0 195 0x0>; | ||
54 | clocks = <&gcc GSBI12_UART_CLK>, <&gcc GSBI12_H_CLK>; | ||
55 | clock-names = "core", "iface"; | ||
56 | }; | ||
57 | |||
58 | qcom,ssbi@500000 { | ||
59 | compatible = "qcom,ssbi"; | ||
60 | reg = <0x500000 0x1000>; | ||
61 | qcom,controller-type = "pmic-arbiter"; | ||
62 | }; | ||
63 | }; | 6 | }; |
diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi new file mode 100644 index 000000000000..69d6c4edea30 --- /dev/null +++ b/arch/arm/boot/dts/qcom-msm8660.dtsi | |||
@@ -0,0 +1,63 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "skeleton.dtsi" | ||
4 | |||
5 | #include <dt-bindings/clock/qcom,gcc-msm8660.h> | ||
6 | |||
7 | / { | ||
8 | model = "Qualcomm MSM8660"; | ||
9 | compatible = "qcom,msm8660"; | ||
10 | interrupt-parent = <&intc>; | ||
11 | |||
12 | intc: interrupt-controller@2080000 { | ||
13 | compatible = "qcom,msm-8660-qgic"; | ||
14 | interrupt-controller; | ||
15 | #interrupt-cells = <3>; | ||
16 | reg = < 0x02080000 0x1000 >, | ||
17 | < 0x02081000 0x1000 >; | ||
18 | }; | ||
19 | |||
20 | timer@2000000 { | ||
21 | compatible = "qcom,scss-timer", "qcom,msm-timer"; | ||
22 | interrupts = <1 0 0x301>, | ||
23 | <1 1 0x301>, | ||
24 | <1 2 0x301>; | ||
25 | reg = <0x02000000 0x100>; | ||
26 | clock-frequency = <27000000>, | ||
27 | <32768>; | ||
28 | cpu-offset = <0x40000>; | ||
29 | }; | ||
30 | |||
31 | msmgpio: gpio@800000 { | ||
32 | compatible = "qcom,msm-gpio"; | ||
33 | reg = <0x00800000 0x4000>; | ||
34 | gpio-controller; | ||
35 | #gpio-cells = <2>; | ||
36 | ngpio = <173>; | ||
37 | interrupts = <0 16 0x4>; | ||
38 | interrupt-controller; | ||
39 | #interrupt-cells = <2>; | ||
40 | }; | ||
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 | |||
49 | serial@19c40000 { | ||
50 | compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; | ||
51 | reg = <0x19c40000 0x1000>, | ||
52 | <0x19c00000 0x1000>; | ||
53 | interrupts = <0 195 0x0>; | ||
54 | clocks = <&gcc GSBI12_UART_CLK>, <&gcc GSBI12_H_CLK>; | ||
55 | clock-names = "core", "iface"; | ||
56 | }; | ||
57 | |||
58 | qcom,ssbi@500000 { | ||
59 | compatible = "qcom,ssbi"; | ||
60 | reg = <0x500000 0x1000>; | ||
61 | qcom,controller-type = "pmic-arbiter"; | ||
62 | }; | ||
63 | }; | ||
diff --git a/arch/arm/boot/dts/qcom-msm8960-cdp.dts b/arch/arm/boot/dts/qcom-msm8960-cdp.dts index 7c30de4fa302..a58fb88315f6 100644 --- a/arch/arm/boot/dts/qcom-msm8960-cdp.dts +++ b/arch/arm/boot/dts/qcom-msm8960-cdp.dts | |||
@@ -1,70 +1,6 @@ | |||
1 | /dts-v1/; | 1 | #include "qcom-msm8960.dtsi" |
2 | |||
3 | /include/ "skeleton.dtsi" | ||
4 | |||
5 | #include <dt-bindings/clock/qcom,gcc-msm8960.h> | ||
6 | 2 | ||
7 | / { | 3 | / { |
8 | model = "Qualcomm MSM8960 CDP"; | 4 | model = "Qualcomm MSM8960 CDP"; |
9 | compatible = "qcom,msm8960-cdp", "qcom,msm8960"; | 5 | compatible = "qcom,msm8960-cdp", "qcom,msm8960"; |
10 | interrupt-parent = <&intc>; | ||
11 | |||
12 | intc: interrupt-controller@2000000 { | ||
13 | compatible = "qcom,msm-qgic2"; | ||
14 | interrupt-controller; | ||
15 | #interrupt-cells = <3>; | ||
16 | reg = < 0x02000000 0x1000 >, | ||
17 | < 0x02002000 0x1000 >; | ||
18 | }; | ||
19 | |||
20 | timer@200a000 { | ||
21 | compatible = "qcom,kpss-timer", "qcom,msm-timer"; | ||
22 | interrupts = <1 1 0x301>, | ||
23 | <1 2 0x301>, | ||
24 | <1 3 0x301>; | ||
25 | reg = <0x0200a000 0x100>; | ||
26 | clock-frequency = <27000000>, | ||
27 | <32768>; | ||
28 | cpu-offset = <0x80000>; | ||
29 | }; | ||
30 | |||
31 | msmgpio: gpio@800000 { | ||
32 | compatible = "qcom,msm-gpio"; | ||
33 | gpio-controller; | ||
34 | #gpio-cells = <2>; | ||
35 | ngpio = <150>; | ||
36 | interrupts = <0 16 0x4>; | ||
37 | interrupt-controller; | ||
38 | #interrupt-cells = <2>; | ||
39 | reg = <0x800000 0x4000>; | ||
40 | }; | ||
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 | |||
56 | serial@16440000 { | ||
57 | compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; | ||
58 | reg = <0x16440000 0x1000>, | ||
59 | <0x16400000 0x1000>; | ||
60 | interrupts = <0 154 0x0>; | ||
61 | clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>; | ||
62 | clock-names = "core", "iface"; | ||
63 | }; | ||
64 | |||
65 | qcom,ssbi@500000 { | ||
66 | compatible = "qcom,ssbi"; | ||
67 | reg = <0x500000 0x1000>; | ||
68 | qcom,controller-type = "pmic-arbiter"; | ||
69 | }; | ||
70 | }; | 6 | }; |
diff --git a/arch/arm/boot/dts/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom-msm8960.dtsi new file mode 100644 index 000000000000..ff002826552a --- /dev/null +++ b/arch/arm/boot/dts/qcom-msm8960.dtsi | |||
@@ -0,0 +1,70 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "skeleton.dtsi" | ||
4 | |||
5 | #include <dt-bindings/clock/qcom,gcc-msm8960.h> | ||
6 | |||
7 | / { | ||
8 | model = "Qualcomm MSM8960"; | ||
9 | compatible = "qcom,msm8960"; | ||
10 | interrupt-parent = <&intc>; | ||
11 | |||
12 | intc: interrupt-controller@2000000 { | ||
13 | compatible = "qcom,msm-qgic2"; | ||
14 | interrupt-controller; | ||
15 | #interrupt-cells = <3>; | ||
16 | reg = < 0x02000000 0x1000 >, | ||
17 | < 0x02002000 0x1000 >; | ||
18 | }; | ||
19 | |||
20 | timer@200a000 { | ||
21 | compatible = "qcom,kpss-timer", "qcom,msm-timer"; | ||
22 | interrupts = <1 1 0x301>, | ||
23 | <1 2 0x301>, | ||
24 | <1 3 0x301>; | ||
25 | reg = <0x0200a000 0x100>; | ||
26 | clock-frequency = <27000000>, | ||
27 | <32768>; | ||
28 | cpu-offset = <0x80000>; | ||
29 | }; | ||
30 | |||
31 | msmgpio: gpio@800000 { | ||
32 | compatible = "qcom,msm-gpio"; | ||
33 | gpio-controller; | ||
34 | #gpio-cells = <2>; | ||
35 | ngpio = <150>; | ||
36 | interrupts = <0 16 0x4>; | ||
37 | interrupt-controller; | ||
38 | #interrupt-cells = <2>; | ||
39 | reg = <0x800000 0x4000>; | ||
40 | }; | ||
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 | |||
56 | serial@16440000 { | ||
57 | compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; | ||
58 | reg = <0x16440000 0x1000>, | ||
59 | <0x16400000 0x1000>; | ||
60 | interrupts = <0 154 0x0>; | ||
61 | clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>; | ||
62 | clock-names = "core", "iface"; | ||
63 | }; | ||
64 | |||
65 | qcom,ssbi@500000 { | ||
66 | compatible = "qcom,ssbi"; | ||
67 | reg = <0x500000 0x1000>; | ||
68 | qcom,controller-type = "pmic-arbiter"; | ||
69 | }; | ||
70 | }; | ||
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi index 52447c17537a..3d5faf85f51b 100644 --- a/arch/arm/boot/dts/sama5d3.dtsi +++ b/arch/arm/boot/dts/sama5d3.dtsi | |||
@@ -1228,7 +1228,7 @@ | |||
1228 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; | 1228 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; |
1229 | reg = <0x00600000 0x100000>; | 1229 | reg = <0x00600000 0x100000>; |
1230 | interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>; | 1230 | interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>; |
1231 | clocks = <&usb>, <&uhphs_clk>, <&udphs_clk>, | 1231 | clocks = <&usb>, <&uhphs_clk>, <&uhphs_clk>, |
1232 | <&uhpck>; | 1232 | <&uhpck>; |
1233 | clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; | 1233 | clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; |
1234 | status = "disabled"; | 1234 | status = "disabled"; |
diff --git a/arch/arm/boot/dts/ste-href.dtsi b/arch/arm/boot/dts/ste-href.dtsi index 0c1e8d871ed1..6cb9b68e2188 100644 --- a/arch/arm/boot/dts/ste-href.dtsi +++ b/arch/arm/boot/dts/ste-href.dtsi | |||
@@ -188,7 +188,6 @@ | |||
188 | msp2: msp@80117000 { | 188 | msp2: msp@80117000 { |
189 | pinctrl-names = "default"; | 189 | pinctrl-names = "default"; |
190 | pinctrl-0 = <&msp2_default_mode>; | 190 | pinctrl-0 = <&msp2_default_mode>; |
191 | status = "okay"; | ||
192 | }; | 191 | }; |
193 | 192 | ||
194 | msp3: msp@80125000 { | 193 | msp3: msp@80125000 { |
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi index 040bb0eba152..10666ca8aee1 100644 --- a/arch/arm/boot/dts/sun4i-a10.dtsi +++ b/arch/arm/boot/dts/sun4i-a10.dtsi | |||
@@ -315,7 +315,7 @@ | |||
315 | ranges; | 315 | ranges; |
316 | 316 | ||
317 | emac: ethernet@01c0b000 { | 317 | emac: ethernet@01c0b000 { |
318 | compatible = "allwinner,sun4i-emac"; | 318 | compatible = "allwinner,sun4i-a10-emac"; |
319 | reg = <0x01c0b000 0x1000>; | 319 | reg = <0x01c0b000 0x1000>; |
320 | interrupts = <55>; | 320 | interrupts = <55>; |
321 | clocks = <&ahb_gates 17>; | 321 | clocks = <&ahb_gates 17>; |
@@ -323,7 +323,7 @@ | |||
323 | }; | 323 | }; |
324 | 324 | ||
325 | mdio@01c0b080 { | 325 | mdio@01c0b080 { |
326 | compatible = "allwinner,sun4i-mdio"; | 326 | compatible = "allwinner,sun4i-a10-mdio"; |
327 | reg = <0x01c0b080 0x14>; | 327 | reg = <0x01c0b080 0x14>; |
328 | status = "disabled"; | 328 | status = "disabled"; |
329 | #address-cells = <1>; | 329 | #address-cells = <1>; |
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi index ea16054857a4..64961595e8d6 100644 --- a/arch/arm/boot/dts/sun5i-a10s.dtsi +++ b/arch/arm/boot/dts/sun5i-a10s.dtsi | |||
@@ -278,7 +278,7 @@ | |||
278 | ranges; | 278 | ranges; |
279 | 279 | ||
280 | emac: ethernet@01c0b000 { | 280 | emac: ethernet@01c0b000 { |
281 | compatible = "allwinner,sun4i-emac"; | 281 | compatible = "allwinner,sun4i-a10-emac"; |
282 | reg = <0x01c0b000 0x1000>; | 282 | reg = <0x01c0b000 0x1000>; |
283 | interrupts = <55>; | 283 | interrupts = <55>; |
284 | clocks = <&ahb_gates 17>; | 284 | clocks = <&ahb_gates 17>; |
@@ -286,7 +286,7 @@ | |||
286 | }; | 286 | }; |
287 | 287 | ||
288 | mdio@01c0b080 { | 288 | mdio@01c0b080 { |
289 | compatible = "allwinner,sun4i-mdio"; | 289 | compatible = "allwinner,sun4i-a10-mdio"; |
290 | reg = <0x01c0b080 0x14>; | 290 | reg = <0x01c0b080 0x14>; |
291 | status = "disabled"; | 291 | status = "disabled"; |
292 | #address-cells = <1>; | 292 | #address-cells = <1>; |
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi index 119f066f0d98..9ff09484847b 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi | |||
@@ -340,7 +340,7 @@ | |||
340 | ranges; | 340 | ranges; |
341 | 341 | ||
342 | emac: ethernet@01c0b000 { | 342 | emac: ethernet@01c0b000 { |
343 | compatible = "allwinner,sun4i-emac"; | 343 | compatible = "allwinner,sun4i-a10-emac"; |
344 | reg = <0x01c0b000 0x1000>; | 344 | reg = <0x01c0b000 0x1000>; |
345 | interrupts = <0 55 4>; | 345 | interrupts = <0 55 4>; |
346 | clocks = <&ahb_gates 17>; | 346 | clocks = <&ahb_gates 17>; |
@@ -348,7 +348,7 @@ | |||
348 | }; | 348 | }; |
349 | 349 | ||
350 | mdio@01c0b080 { | 350 | mdio@01c0b080 { |
351 | compatible = "allwinner,sun4i-mdio"; | 351 | compatible = "allwinner,sun4i-a10-mdio"; |
352 | reg = <0x01c0b080 0x14>; | 352 | reg = <0x01c0b080 0x14>; |
353 | status = "disabled"; | 353 | status = "disabled"; |
354 | #address-cells = <1>; | 354 | #address-cells = <1>; |
diff --git a/arch/arm/configs/clps711x_defconfig b/arch/arm/configs/clps711x_defconfig index 9e8c8316d6b0..0facf9da047c 100644 --- a/arch/arm/configs/clps711x_defconfig +++ b/arch/arm/configs/clps711x_defconfig | |||
@@ -15,7 +15,6 @@ CONFIG_ARCH_CDB89712=y | |||
15 | CONFIG_ARCH_CLEP7312=y | 15 | CONFIG_ARCH_CLEP7312=y |
16 | CONFIG_ARCH_EDB7211=y | 16 | CONFIG_ARCH_EDB7211=y |
17 | CONFIG_ARCH_P720T=y | 17 | CONFIG_ARCH_P720T=y |
18 | CONFIG_ARCH_FORTUNET=y | ||
19 | CONFIG_AEABI=y | 18 | CONFIG_AEABI=y |
20 | CONFIG_ZBOOT_ROM_TEXT=0x0 | 19 | CONFIG_ZBOOT_ROM_TEXT=0x0 |
21 | CONFIG_ZBOOT_ROM_BSS=0x0 | 20 | CONFIG_ZBOOT_ROM_BSS=0x0 |
@@ -27,7 +26,6 @@ CONFIG_INET=y | |||
27 | # CONFIG_IPV6 is not set | 26 | # CONFIG_IPV6 is not set |
28 | CONFIG_IRDA=y | 27 | CONFIG_IRDA=y |
29 | CONFIG_IRTTY_SIR=y | 28 | CONFIG_IRTTY_SIR=y |
30 | CONFIG_EP7211_DONGLE=y | ||
31 | # CONFIG_WIRELESS is not set | 29 | # CONFIG_WIRELESS is not set |
32 | CONFIG_MTD=y | 30 | CONFIG_MTD=y |
33 | CONFIG_MTD_CMDLINE_PARTS=y | 31 | CONFIG_MTD_CMDLINE_PARTS=y |
@@ -58,6 +56,7 @@ CONFIG_CS89x0_PLATFORM=y | |||
58 | # CONFIG_INPUT is not set | 56 | # CONFIG_INPUT is not set |
59 | # CONFIG_SERIO is not set | 57 | # CONFIG_SERIO is not set |
60 | # CONFIG_VT is not set | 58 | # CONFIG_VT is not set |
59 | CONFIG_SERIAL_CLPS711X=y | ||
61 | CONFIG_SERIAL_CLPS711X_CONSOLE=y | 60 | CONFIG_SERIAL_CLPS711X_CONSOLE=y |
62 | # CONFIG_HW_RANDOM is not set | 61 | # CONFIG_HW_RANDOM is not set |
63 | CONFIG_I2C=y | 62 | CONFIG_I2C=y |
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig index 845bc745706b..ee6982976d66 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig | |||
@@ -29,6 +29,7 @@ CONFIG_ARCH_OMAP3=y | |||
29 | CONFIG_ARCH_OMAP4=y | 29 | CONFIG_ARCH_OMAP4=y |
30 | CONFIG_SOC_OMAP5=y | 30 | CONFIG_SOC_OMAP5=y |
31 | CONFIG_SOC_AM33XX=y | 31 | CONFIG_SOC_AM33XX=y |
32 | CONFIG_SOC_DRA7XX=y | ||
32 | CONFIG_SOC_AM43XX=y | 33 | CONFIG_SOC_AM43XX=y |
33 | CONFIG_ARCH_ROCKCHIP=y | 34 | CONFIG_ARCH_ROCKCHIP=y |
34 | CONFIG_ARCH_SOCFPGA=y | 35 | CONFIG_ARCH_SOCFPGA=y |
diff --git a/arch/arm/include/asm/timex.h b/arch/arm/include/asm/timex.h index 83f2aa83899c..f6fcc67ef06e 100644 --- a/arch/arm/include/asm/timex.h +++ b/arch/arm/include/asm/timex.h | |||
@@ -12,12 +12,6 @@ | |||
12 | #ifndef _ASMARM_TIMEX_H | 12 | #ifndef _ASMARM_TIMEX_H |
13 | #define _ASMARM_TIMEX_H | 13 | #define _ASMARM_TIMEX_H |
14 | 14 | ||
15 | #ifdef CONFIG_ARCH_MULTIPLATFORM | ||
16 | #define CLOCK_TICK_RATE 1000000 | ||
17 | #else | ||
18 | #include <mach/timex.h> | ||
19 | #endif | ||
20 | |||
21 | typedef unsigned long cycles_t; | 15 | typedef unsigned long cycles_t; |
22 | #define get_cycles() ({ cycles_t c; read_current_timer(&c) ? 0 : c; }) | 16 | #define get_cycles() ({ cycles_t c; read_current_timer(&c) ? 0 : c; }) |
23 | 17 | ||
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c index e47f5fd232f5..787bb50a4dff 100644 --- a/arch/arm/mach-at91/at91rm9200.c +++ b/arch/arm/mach-at91/at91rm9200.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <mach/at91rm9200.h> | 21 | #include <mach/at91rm9200.h> |
22 | #include <mach/at91_st.h> | 22 | #include <mach/at91_st.h> |
23 | #include <mach/cpu.h> | 23 | #include <mach/cpu.h> |
24 | #include <mach/hardware.h> | ||
24 | 25 | ||
25 | #include "at91_aic.h" | 26 | #include "at91_aic.h" |
26 | #include "soc.h" | 27 | #include "soc.h" |
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c index 3ebc9792560c..f3f19f21352a 100644 --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <mach/at91rm9200.h> | 21 | #include <mach/at91rm9200.h> |
22 | #include <mach/at91rm9200_mc.h> | 22 | #include <mach/at91rm9200_mc.h> |
23 | #include <mach/at91_ramc.h> | 23 | #include <mach/at91_ramc.h> |
24 | #include <mach/hardware.h> | ||
24 | 25 | ||
25 | #include "board.h" | 26 | #include "board.h" |
26 | #include "generic.h" | 27 | #include "generic.h" |
@@ -922,6 +923,7 @@ static struct resource dbgu_resources[] = { | |||
922 | static struct atmel_uart_data dbgu_data = { | 923 | static struct atmel_uart_data dbgu_data = { |
923 | .use_dma_tx = 0, | 924 | .use_dma_tx = 0, |
924 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | 925 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ |
926 | .rts_gpio = -EINVAL, | ||
925 | }; | 927 | }; |
926 | 928 | ||
927 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 929 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
@@ -960,6 +962,7 @@ static struct resource uart0_resources[] = { | |||
960 | static struct atmel_uart_data uart0_data = { | 962 | static struct atmel_uart_data uart0_data = { |
961 | .use_dma_tx = 1, | 963 | .use_dma_tx = 1, |
962 | .use_dma_rx = 1, | 964 | .use_dma_rx = 1, |
965 | .rts_gpio = -EINVAL, | ||
963 | }; | 966 | }; |
964 | 967 | ||
965 | static u64 uart0_dmamask = DMA_BIT_MASK(32); | 968 | static u64 uart0_dmamask = DMA_BIT_MASK(32); |
@@ -987,9 +990,10 @@ static inline void configure_usart0_pins(unsigned pins) | |||
987 | if (pins & ATMEL_UART_RTS) { | 990 | if (pins & ATMEL_UART_RTS) { |
988 | /* | 991 | /* |
989 | * AT91RM9200 Errata #39 - RTS0 is not internally connected to PA21. | 992 | * AT91RM9200 Errata #39 - RTS0 is not internally connected to PA21. |
990 | * We need to drive the pin manually. Default is off (RTS is active low). | 993 | * We need to drive the pin manually. The serial driver will driver |
994 | * this to high when initializing. | ||
991 | */ | 995 | */ |
992 | at91_set_gpio_output(AT91_PIN_PA21, 1); | 996 | uart0_data.rts_gpio = AT91_PIN_PA21; |
993 | } | 997 | } |
994 | } | 998 | } |
995 | 999 | ||
@@ -1009,6 +1013,7 @@ static struct resource uart1_resources[] = { | |||
1009 | static struct atmel_uart_data uart1_data = { | 1013 | static struct atmel_uart_data uart1_data = { |
1010 | .use_dma_tx = 1, | 1014 | .use_dma_tx = 1, |
1011 | .use_dma_rx = 1, | 1015 | .use_dma_rx = 1, |
1016 | .rts_gpio = -EINVAL, | ||
1012 | }; | 1017 | }; |
1013 | 1018 | ||
1014 | static u64 uart1_dmamask = DMA_BIT_MASK(32); | 1019 | static u64 uart1_dmamask = DMA_BIT_MASK(32); |
@@ -1060,6 +1065,7 @@ static struct resource uart2_resources[] = { | |||
1060 | static struct atmel_uart_data uart2_data = { | 1065 | static struct atmel_uart_data uart2_data = { |
1061 | .use_dma_tx = 1, | 1066 | .use_dma_tx = 1, |
1062 | .use_dma_rx = 1, | 1067 | .use_dma_rx = 1, |
1068 | .rts_gpio = -EINVAL, | ||
1063 | }; | 1069 | }; |
1064 | 1070 | ||
1065 | static u64 uart2_dmamask = DMA_BIT_MASK(32); | 1071 | static u64 uart2_dmamask = DMA_BIT_MASK(32); |
@@ -1103,6 +1109,7 @@ static struct resource uart3_resources[] = { | |||
1103 | static struct atmel_uart_data uart3_data = { | 1109 | static struct atmel_uart_data uart3_data = { |
1104 | .use_dma_tx = 1, | 1110 | .use_dma_tx = 1, |
1105 | .use_dma_rx = 1, | 1111 | .use_dma_rx = 1, |
1112 | .rts_gpio = -EINVAL, | ||
1106 | }; | 1113 | }; |
1107 | 1114 | ||
1108 | static u64 uart3_dmamask = DMA_BIT_MASK(32); | 1115 | static u64 uart3_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91rm9200_time.c b/arch/arm/mach-at91/at91rm9200_time.c index bc7b363a3083..7fd13aef9827 100644 --- a/arch/arm/mach-at91/at91rm9200_time.c +++ b/arch/arm/mach-at91/at91rm9200_time.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <asm/mach/time.h> | 31 | #include <asm/mach/time.h> |
32 | 32 | ||
33 | #include <mach/at91_st.h> | 33 | #include <mach/at91_st.h> |
34 | #include <mach/hardware.h> | ||
34 | 35 | ||
35 | static unsigned long last_crtr; | 36 | static unsigned long last_crtr; |
36 | static u32 irqmask; | 37 | static u32 irqmask; |
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c index 6c821e562159..c3d22be73b7c 100644 --- a/arch/arm/mach-at91/at91sam9260.c +++ b/arch/arm/mach-at91/at91sam9260.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <mach/cpu.h> | 21 | #include <mach/cpu.h> |
22 | #include <mach/at91_dbgu.h> | 22 | #include <mach/at91_dbgu.h> |
23 | #include <mach/at91sam9260.h> | 23 | #include <mach/at91sam9260.h> |
24 | #include <mach/hardware.h> | ||
24 | 25 | ||
25 | #include "at91_aic.h" | 26 | #include "at91_aic.h" |
26 | #include "at91_rstc.h" | 27 | #include "at91_rstc.h" |
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c index eda8d1679d40..2ae7715f1309 100644 --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <mach/at91_matrix.h> | 25 | #include <mach/at91_matrix.h> |
26 | #include <mach/at91sam9_smc.h> | 26 | #include <mach/at91sam9_smc.h> |
27 | #include <mach/at91_adc.h> | 27 | #include <mach/at91_adc.h> |
28 | #include <mach/hardware.h> | ||
28 | 29 | ||
29 | #include "board.h" | 30 | #include "board.h" |
30 | #include "generic.h" | 31 | #include "generic.h" |
@@ -819,6 +820,7 @@ static struct resource dbgu_resources[] = { | |||
819 | static struct atmel_uart_data dbgu_data = { | 820 | static struct atmel_uart_data dbgu_data = { |
820 | .use_dma_tx = 0, | 821 | .use_dma_tx = 0, |
821 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | 822 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ |
823 | .rts_gpio = -EINVAL, | ||
822 | }; | 824 | }; |
823 | 825 | ||
824 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 826 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
@@ -857,6 +859,7 @@ static struct resource uart0_resources[] = { | |||
857 | static struct atmel_uart_data uart0_data = { | 859 | static struct atmel_uart_data uart0_data = { |
858 | .use_dma_tx = 1, | 860 | .use_dma_tx = 1, |
859 | .use_dma_rx = 1, | 861 | .use_dma_rx = 1, |
862 | .rts_gpio = -EINVAL, | ||
860 | }; | 863 | }; |
861 | 864 | ||
862 | static u64 uart0_dmamask = DMA_BIT_MASK(32); | 865 | static u64 uart0_dmamask = DMA_BIT_MASK(32); |
@@ -908,6 +911,7 @@ static struct resource uart1_resources[] = { | |||
908 | static struct atmel_uart_data uart1_data = { | 911 | static struct atmel_uart_data uart1_data = { |
909 | .use_dma_tx = 1, | 912 | .use_dma_tx = 1, |
910 | .use_dma_rx = 1, | 913 | .use_dma_rx = 1, |
914 | .rts_gpio = -EINVAL, | ||
911 | }; | 915 | }; |
912 | 916 | ||
913 | static u64 uart1_dmamask = DMA_BIT_MASK(32); | 917 | static u64 uart1_dmamask = DMA_BIT_MASK(32); |
@@ -951,6 +955,7 @@ static struct resource uart2_resources[] = { | |||
951 | static struct atmel_uart_data uart2_data = { | 955 | static struct atmel_uart_data uart2_data = { |
952 | .use_dma_tx = 1, | 956 | .use_dma_tx = 1, |
953 | .use_dma_rx = 1, | 957 | .use_dma_rx = 1, |
958 | .rts_gpio = -EINVAL, | ||
954 | }; | 959 | }; |
955 | 960 | ||
956 | static u64 uart2_dmamask = DMA_BIT_MASK(32); | 961 | static u64 uart2_dmamask = DMA_BIT_MASK(32); |
@@ -994,6 +999,7 @@ static struct resource uart3_resources[] = { | |||
994 | static struct atmel_uart_data uart3_data = { | 999 | static struct atmel_uart_data uart3_data = { |
995 | .use_dma_tx = 1, | 1000 | .use_dma_tx = 1, |
996 | .use_dma_rx = 1, | 1001 | .use_dma_rx = 1, |
1002 | .rts_gpio = -EINVAL, | ||
997 | }; | 1003 | }; |
998 | 1004 | ||
999 | static u64 uart3_dmamask = DMA_BIT_MASK(32); | 1005 | static u64 uart3_dmamask = DMA_BIT_MASK(32); |
@@ -1037,6 +1043,7 @@ static struct resource uart4_resources[] = { | |||
1037 | static struct atmel_uart_data uart4_data = { | 1043 | static struct atmel_uart_data uart4_data = { |
1038 | .use_dma_tx = 1, | 1044 | .use_dma_tx = 1, |
1039 | .use_dma_rx = 1, | 1045 | .use_dma_rx = 1, |
1046 | .rts_gpio = -EINVAL, | ||
1040 | }; | 1047 | }; |
1041 | 1048 | ||
1042 | static u64 uart4_dmamask = DMA_BIT_MASK(32); | 1049 | static u64 uart4_dmamask = DMA_BIT_MASK(32); |
@@ -1075,6 +1082,7 @@ static struct resource uart5_resources[] = { | |||
1075 | static struct atmel_uart_data uart5_data = { | 1082 | static struct atmel_uart_data uart5_data = { |
1076 | .use_dma_tx = 1, | 1083 | .use_dma_tx = 1, |
1077 | .use_dma_rx = 1, | 1084 | .use_dma_rx = 1, |
1085 | .rts_gpio = -EINVAL, | ||
1078 | }; | 1086 | }; |
1079 | 1087 | ||
1080 | static u64 uart5_dmamask = DMA_BIT_MASK(32); | 1088 | static u64 uart5_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91sam9261.c b/arch/arm/mach-at91/at91sam9261.c index 6276b4c1acfe..48b51f796d6a 100644 --- a/arch/arm/mach-at91/at91sam9261.c +++ b/arch/arm/mach-at91/at91sam9261.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <asm/system_misc.h> | 20 | #include <asm/system_misc.h> |
21 | #include <mach/cpu.h> | 21 | #include <mach/cpu.h> |
22 | #include <mach/at91sam9261.h> | 22 | #include <mach/at91sam9261.h> |
23 | #include <mach/hardware.h> | ||
23 | 24 | ||
24 | #include "at91_aic.h" | 25 | #include "at91_aic.h" |
25 | #include "at91_rstc.h" | 26 | #include "at91_rstc.h" |
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c index b2a34740146a..80e35895d28f 100644 --- a/arch/arm/mach-at91/at91sam9261_devices.c +++ b/arch/arm/mach-at91/at91sam9261_devices.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <mach/at91sam9261_matrix.h> | 25 | #include <mach/at91sam9261_matrix.h> |
26 | #include <mach/at91_matrix.h> | 26 | #include <mach/at91_matrix.h> |
27 | #include <mach/at91sam9_smc.h> | 27 | #include <mach/at91sam9_smc.h> |
28 | #include <mach/hardware.h> | ||
28 | 29 | ||
29 | #include "board.h" | 30 | #include "board.h" |
30 | #include "generic.h" | 31 | #include "generic.h" |
@@ -880,6 +881,7 @@ static struct resource dbgu_resources[] = { | |||
880 | static struct atmel_uart_data dbgu_data = { | 881 | static struct atmel_uart_data dbgu_data = { |
881 | .use_dma_tx = 0, | 882 | .use_dma_tx = 0, |
882 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | 883 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ |
884 | .rts_gpio = -EINVAL, | ||
883 | }; | 885 | }; |
884 | 886 | ||
885 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 887 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
@@ -918,6 +920,7 @@ static struct resource uart0_resources[] = { | |||
918 | static struct atmel_uart_data uart0_data = { | 920 | static struct atmel_uart_data uart0_data = { |
919 | .use_dma_tx = 1, | 921 | .use_dma_tx = 1, |
920 | .use_dma_rx = 1, | 922 | .use_dma_rx = 1, |
923 | .rts_gpio = -EINVAL, | ||
921 | }; | 924 | }; |
922 | 925 | ||
923 | static u64 uart0_dmamask = DMA_BIT_MASK(32); | 926 | static u64 uart0_dmamask = DMA_BIT_MASK(32); |
@@ -961,6 +964,7 @@ static struct resource uart1_resources[] = { | |||
961 | static struct atmel_uart_data uart1_data = { | 964 | static struct atmel_uart_data uart1_data = { |
962 | .use_dma_tx = 1, | 965 | .use_dma_tx = 1, |
963 | .use_dma_rx = 1, | 966 | .use_dma_rx = 1, |
967 | .rts_gpio = -EINVAL, | ||
964 | }; | 968 | }; |
965 | 969 | ||
966 | static u64 uart1_dmamask = DMA_BIT_MASK(32); | 970 | static u64 uart1_dmamask = DMA_BIT_MASK(32); |
@@ -1004,6 +1008,7 @@ static struct resource uart2_resources[] = { | |||
1004 | static struct atmel_uart_data uart2_data = { | 1008 | static struct atmel_uart_data uart2_data = { |
1005 | .use_dma_tx = 1, | 1009 | .use_dma_tx = 1, |
1006 | .use_dma_rx = 1, | 1010 | .use_dma_rx = 1, |
1011 | .rts_gpio = -EINVAL, | ||
1007 | }; | 1012 | }; |
1008 | 1013 | ||
1009 | static u64 uart2_dmamask = DMA_BIT_MASK(32); | 1014 | static u64 uart2_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c index 37b90f4b990c..486530c3973b 100644 --- a/arch/arm/mach-at91/at91sam9263.c +++ b/arch/arm/mach-at91/at91sam9263.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <asm/mach/map.h> | 19 | #include <asm/mach/map.h> |
20 | #include <asm/system_misc.h> | 20 | #include <asm/system_misc.h> |
21 | #include <mach/at91sam9263.h> | 21 | #include <mach/at91sam9263.h> |
22 | #include <mach/hardware.h> | ||
22 | 23 | ||
23 | #include "at91_aic.h" | 24 | #include "at91_aic.h" |
24 | #include "at91_rstc.h" | 25 | #include "at91_rstc.h" |
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c index 4aeadddbc181..43d53d6156dd 100644 --- a/arch/arm/mach-at91/at91sam9263_devices.c +++ b/arch/arm/mach-at91/at91sam9263_devices.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <mach/at91sam9263_matrix.h> | 24 | #include <mach/at91sam9263_matrix.h> |
25 | #include <mach/at91_matrix.h> | 25 | #include <mach/at91_matrix.h> |
26 | #include <mach/at91sam9_smc.h> | 26 | #include <mach/at91sam9_smc.h> |
27 | #include <mach/hardware.h> | ||
27 | 28 | ||
28 | #include "board.h" | 29 | #include "board.h" |
29 | #include "generic.h" | 30 | #include "generic.h" |
@@ -1324,6 +1325,7 @@ static struct resource dbgu_resources[] = { | |||
1324 | static struct atmel_uart_data dbgu_data = { | 1325 | static struct atmel_uart_data dbgu_data = { |
1325 | .use_dma_tx = 0, | 1326 | .use_dma_tx = 0, |
1326 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | 1327 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ |
1328 | .rts_gpio = -EINVAL, | ||
1327 | }; | 1329 | }; |
1328 | 1330 | ||
1329 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 1331 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
@@ -1362,6 +1364,7 @@ static struct resource uart0_resources[] = { | |||
1362 | static struct atmel_uart_data uart0_data = { | 1364 | static struct atmel_uart_data uart0_data = { |
1363 | .use_dma_tx = 1, | 1365 | .use_dma_tx = 1, |
1364 | .use_dma_rx = 1, | 1366 | .use_dma_rx = 1, |
1367 | .rts_gpio = -EINVAL, | ||
1365 | }; | 1368 | }; |
1366 | 1369 | ||
1367 | static u64 uart0_dmamask = DMA_BIT_MASK(32); | 1370 | static u64 uart0_dmamask = DMA_BIT_MASK(32); |
@@ -1405,6 +1408,7 @@ static struct resource uart1_resources[] = { | |||
1405 | static struct atmel_uart_data uart1_data = { | 1408 | static struct atmel_uart_data uart1_data = { |
1406 | .use_dma_tx = 1, | 1409 | .use_dma_tx = 1, |
1407 | .use_dma_rx = 1, | 1410 | .use_dma_rx = 1, |
1411 | .rts_gpio = -EINVAL, | ||
1408 | }; | 1412 | }; |
1409 | 1413 | ||
1410 | static u64 uart1_dmamask = DMA_BIT_MASK(32); | 1414 | static u64 uart1_dmamask = DMA_BIT_MASK(32); |
@@ -1448,6 +1452,7 @@ static struct resource uart2_resources[] = { | |||
1448 | static struct atmel_uart_data uart2_data = { | 1452 | static struct atmel_uart_data uart2_data = { |
1449 | .use_dma_tx = 1, | 1453 | .use_dma_tx = 1, |
1450 | .use_dma_rx = 1, | 1454 | .use_dma_rx = 1, |
1455 | .rts_gpio = -EINVAL, | ||
1451 | }; | 1456 | }; |
1452 | 1457 | ||
1453 | static u64 uart2_dmamask = DMA_BIT_MASK(32); | 1458 | static u64 uart2_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91sam926x_time.c b/arch/arm/mach-at91/at91sam926x_time.c index 0f04ffe9c5a8..0a9e2fc8f796 100644 --- a/arch/arm/mach-at91/at91sam926x_time.c +++ b/arch/arm/mach-at91/at91sam926x_time.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/of_irq.h> | 19 | #include <linux/of_irq.h> |
20 | 20 | ||
21 | #include <asm/mach/time.h> | 21 | #include <asm/mach/time.h> |
22 | #include <mach/hardware.h> | ||
22 | 23 | ||
23 | #define AT91_PIT_MR 0x00 /* Mode Register */ | 24 | #define AT91_PIT_MR 0x00 /* Mode Register */ |
24 | #define AT91_PIT_PITIEN (1 << 25) /* Timer Interrupt Enable */ | 25 | #define AT91_PIT_PITIEN (1 << 25) /* Timer Interrupt Enable */ |
diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c index 2f455ce35268..8c11696f606e 100644 --- a/arch/arm/mach-at91/at91sam9g45.c +++ b/arch/arm/mach-at91/at91sam9g45.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <asm/system_misc.h> | 20 | #include <asm/system_misc.h> |
21 | #include <mach/at91sam9g45.h> | 21 | #include <mach/at91sam9g45.h> |
22 | #include <mach/cpu.h> | 22 | #include <mach/cpu.h> |
23 | #include <mach/hardware.h> | ||
23 | 24 | ||
24 | #include "at91_aic.h" | 25 | #include "at91_aic.h" |
25 | #include "soc.h" | 26 | #include "soc.h" |
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c index cb36fa872d30..77b04c2edd78 100644 --- a/arch/arm/mach-at91/at91sam9g45_devices.c +++ b/arch/arm/mach-at91/at91sam9g45_devices.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <mach/at91sam9_smc.h> | 32 | #include <mach/at91sam9_smc.h> |
33 | #include <linux/platform_data/dma-atmel.h> | 33 | #include <linux/platform_data/dma-atmel.h> |
34 | #include <mach/atmel-mci.h> | 34 | #include <mach/atmel-mci.h> |
35 | #include <mach/hardware.h> | ||
35 | 36 | ||
36 | #include <media/atmel-isi.h> | 37 | #include <media/atmel-isi.h> |
37 | 38 | ||
@@ -1587,6 +1588,7 @@ static struct resource dbgu_resources[] = { | |||
1587 | static struct atmel_uart_data dbgu_data = { | 1588 | static struct atmel_uart_data dbgu_data = { |
1588 | .use_dma_tx = 0, | 1589 | .use_dma_tx = 0, |
1589 | .use_dma_rx = 0, | 1590 | .use_dma_rx = 0, |
1591 | .rts_gpio = -EINVAL, | ||
1590 | }; | 1592 | }; |
1591 | 1593 | ||
1592 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 1594 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
@@ -1625,6 +1627,7 @@ static struct resource uart0_resources[] = { | |||
1625 | static struct atmel_uart_data uart0_data = { | 1627 | static struct atmel_uart_data uart0_data = { |
1626 | .use_dma_tx = 1, | 1628 | .use_dma_tx = 1, |
1627 | .use_dma_rx = 1, | 1629 | .use_dma_rx = 1, |
1630 | .rts_gpio = -EINVAL, | ||
1628 | }; | 1631 | }; |
1629 | 1632 | ||
1630 | static u64 uart0_dmamask = DMA_BIT_MASK(32); | 1633 | static u64 uart0_dmamask = DMA_BIT_MASK(32); |
@@ -1668,6 +1671,7 @@ static struct resource uart1_resources[] = { | |||
1668 | static struct atmel_uart_data uart1_data = { | 1671 | static struct atmel_uart_data uart1_data = { |
1669 | .use_dma_tx = 1, | 1672 | .use_dma_tx = 1, |
1670 | .use_dma_rx = 1, | 1673 | .use_dma_rx = 1, |
1674 | .rts_gpio = -EINVAL, | ||
1671 | }; | 1675 | }; |
1672 | 1676 | ||
1673 | static u64 uart1_dmamask = DMA_BIT_MASK(32); | 1677 | static u64 uart1_dmamask = DMA_BIT_MASK(32); |
@@ -1711,6 +1715,7 @@ static struct resource uart2_resources[] = { | |||
1711 | static struct atmel_uart_data uart2_data = { | 1715 | static struct atmel_uart_data uart2_data = { |
1712 | .use_dma_tx = 1, | 1716 | .use_dma_tx = 1, |
1713 | .use_dma_rx = 1, | 1717 | .use_dma_rx = 1, |
1718 | .rts_gpio = -EINVAL, | ||
1714 | }; | 1719 | }; |
1715 | 1720 | ||
1716 | static u64 uart2_dmamask = DMA_BIT_MASK(32); | 1721 | static u64 uart2_dmamask = DMA_BIT_MASK(32); |
@@ -1754,6 +1759,7 @@ static struct resource uart3_resources[] = { | |||
1754 | static struct atmel_uart_data uart3_data = { | 1759 | static struct atmel_uart_data uart3_data = { |
1755 | .use_dma_tx = 1, | 1760 | .use_dma_tx = 1, |
1756 | .use_dma_rx = 1, | 1761 | .use_dma_rx = 1, |
1762 | .rts_gpio = -EINVAL, | ||
1757 | }; | 1763 | }; |
1758 | 1764 | ||
1759 | static u64 uart3_dmamask = DMA_BIT_MASK(32); | 1765 | static u64 uart3_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91sam9rl.c b/arch/arm/mach-at91/at91sam9rl.c index 3651517abedf..c0d5474706f8 100644 --- a/arch/arm/mach-at91/at91sam9rl.c +++ b/arch/arm/mach-at91/at91sam9rl.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <mach/cpu.h> | 20 | #include <mach/cpu.h> |
21 | #include <mach/at91_dbgu.h> | 21 | #include <mach/at91_dbgu.h> |
22 | #include <mach/at91sam9rl.h> | 22 | #include <mach/at91sam9rl.h> |
23 | #include <mach/hardware.h> | ||
23 | 24 | ||
24 | #include "at91_aic.h" | 25 | #include "at91_aic.h" |
25 | #include "at91_rstc.h" | 26 | #include "at91_rstc.h" |
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c index a698bdab2cce..428fc412aaf1 100644 --- a/arch/arm/mach-at91/at91sam9rl_devices.c +++ b/arch/arm/mach-at91/at91sam9rl_devices.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <mach/at91sam9rl_matrix.h> | 21 | #include <mach/at91sam9rl_matrix.h> |
22 | #include <mach/at91_matrix.h> | 22 | #include <mach/at91_matrix.h> |
23 | #include <mach/at91sam9_smc.h> | 23 | #include <mach/at91sam9_smc.h> |
24 | #include <mach/hardware.h> | ||
24 | #include <linux/platform_data/dma-atmel.h> | 25 | #include <linux/platform_data/dma-atmel.h> |
25 | 26 | ||
26 | #include "board.h" | 27 | #include "board.h" |
@@ -956,6 +957,7 @@ static struct resource dbgu_resources[] = { | |||
956 | static struct atmel_uart_data dbgu_data = { | 957 | static struct atmel_uart_data dbgu_data = { |
957 | .use_dma_tx = 0, | 958 | .use_dma_tx = 0, |
958 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ | 959 | .use_dma_rx = 0, /* DBGU not capable of receive DMA */ |
960 | .rts_gpio = -EINVAL, | ||
959 | }; | 961 | }; |
960 | 962 | ||
961 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); | 963 | static u64 dbgu_dmamask = DMA_BIT_MASK(32); |
@@ -994,6 +996,7 @@ static struct resource uart0_resources[] = { | |||
994 | static struct atmel_uart_data uart0_data = { | 996 | static struct atmel_uart_data uart0_data = { |
995 | .use_dma_tx = 1, | 997 | .use_dma_tx = 1, |
996 | .use_dma_rx = 1, | 998 | .use_dma_rx = 1, |
999 | .rts_gpio = -EINVAL, | ||
997 | }; | 1000 | }; |
998 | 1001 | ||
999 | static u64 uart0_dmamask = DMA_BIT_MASK(32); | 1002 | static u64 uart0_dmamask = DMA_BIT_MASK(32); |
@@ -1045,6 +1048,7 @@ static struct resource uart1_resources[] = { | |||
1045 | static struct atmel_uart_data uart1_data = { | 1048 | static struct atmel_uart_data uart1_data = { |
1046 | .use_dma_tx = 1, | 1049 | .use_dma_tx = 1, |
1047 | .use_dma_rx = 1, | 1050 | .use_dma_rx = 1, |
1051 | .rts_gpio = -EINVAL, | ||
1048 | }; | 1052 | }; |
1049 | 1053 | ||
1050 | static u64 uart1_dmamask = DMA_BIT_MASK(32); | 1054 | static u64 uart1_dmamask = DMA_BIT_MASK(32); |
@@ -1088,6 +1092,7 @@ static struct resource uart2_resources[] = { | |||
1088 | static struct atmel_uart_data uart2_data = { | 1092 | static struct atmel_uart_data uart2_data = { |
1089 | .use_dma_tx = 1, | 1093 | .use_dma_tx = 1, |
1090 | .use_dma_rx = 1, | 1094 | .use_dma_rx = 1, |
1095 | .rts_gpio = -EINVAL, | ||
1091 | }; | 1096 | }; |
1092 | 1097 | ||
1093 | static u64 uart2_dmamask = DMA_BIT_MASK(32); | 1098 | static u64 uart2_dmamask = DMA_BIT_MASK(32); |
@@ -1131,6 +1136,7 @@ static struct resource uart3_resources[] = { | |||
1131 | static struct atmel_uart_data uart3_data = { | 1136 | static struct atmel_uart_data uart3_data = { |
1132 | .use_dma_tx = 1, | 1137 | .use_dma_tx = 1, |
1133 | .use_dma_rx = 1, | 1138 | .use_dma_rx = 1, |
1139 | .rts_gpio = -EINVAL, | ||
1134 | }; | 1140 | }; |
1135 | 1141 | ||
1136 | static u64 uart3_dmamask = DMA_BIT_MASK(32); | 1142 | static u64 uart3_dmamask = DMA_BIT_MASK(32); |
diff --git a/arch/arm/mach-at91/at91x40.c b/arch/arm/mach-at91/at91x40.c index bad94b84a46f..7523f1cdfe1d 100644 --- a/arch/arm/mach-at91/at91x40.c +++ b/arch/arm/mach-at91/at91x40.c | |||
@@ -19,7 +19,7 @@ | |||
19 | #include <asm/mach/arch.h> | 19 | #include <asm/mach/arch.h> |
20 | #include <mach/at91x40.h> | 20 | #include <mach/at91x40.h> |
21 | #include <mach/at91_st.h> | 21 | #include <mach/at91_st.h> |
22 | #include <mach/timex.h> | 22 | #include <mach/hardware.h> |
23 | 23 | ||
24 | #include "at91_aic.h" | 24 | #include "at91_aic.h" |
25 | #include "generic.h" | 25 | #include "generic.h" |
diff --git a/arch/arm/mach-at91/at91x40_time.c b/arch/arm/mach-at91/at91x40_time.c index c0e637adf65d..07d0bf2ac2da 100644 --- a/arch/arm/mach-at91/at91x40_time.c +++ b/arch/arm/mach-at91/at91x40_time.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/time.h> | 25 | #include <linux/time.h> |
26 | #include <linux/io.h> | 26 | #include <linux/io.h> |
27 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
28 | #include <mach/at91x40.h> | ||
28 | #include <asm/mach/time.h> | 29 | #include <asm/mach/time.h> |
29 | 30 | ||
30 | #include "at91_tc.h" | 31 | #include "at91_tc.h" |
diff --git a/arch/arm/mach-at91/board-gsia18s.c b/arch/arm/mach-at91/board-gsia18s.c index c1d61d247790..416bae8435ee 100644 --- a/arch/arm/mach-at91/board-gsia18s.c +++ b/arch/arm/mach-at91/board-gsia18s.c | |||
@@ -31,6 +31,7 @@ | |||
31 | #include <asm/mach/arch.h> | 31 | #include <asm/mach/arch.h> |
32 | 32 | ||
33 | #include <mach/at91sam9_smc.h> | 33 | #include <mach/at91sam9_smc.h> |
34 | #include <mach/hardware.h> | ||
34 | 35 | ||
35 | #include "at91_aic.h" | 36 | #include "at91_aic.h" |
36 | #include "board.h" | 37 | #include "board.h" |
diff --git a/arch/arm/mach-at91/board-pcontrol-g20.c b/arch/arm/mach-at91/board-pcontrol-g20.c index 65c0d6b5ecba..5f25fa54eb93 100644 --- a/arch/arm/mach-at91/board-pcontrol-g20.c +++ b/arch/arm/mach-at91/board-pcontrol-g20.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <asm/mach/arch.h> | 30 | #include <asm/mach/arch.h> |
31 | 31 | ||
32 | #include <mach/at91sam9_smc.h> | 32 | #include <mach/at91sam9_smc.h> |
33 | #include <mach/hardware.h> | ||
33 | 34 | ||
34 | #include "at91_aic.h" | 35 | #include "at91_aic.h" |
35 | #include "board.h" | 36 | #include "board.h" |
diff --git a/arch/arm/mach-at91/board-stamp9g20.c b/arch/arm/mach-at91/board-stamp9g20.c index 869cbecf00b7..e4a5ac17cdbc 100644 --- a/arch/arm/mach-at91/board-stamp9g20.c +++ b/arch/arm/mach-at91/board-stamp9g20.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <asm/mach/arch.h> | 26 | #include <asm/mach/arch.h> |
27 | 27 | ||
28 | #include <mach/at91sam9_smc.h> | 28 | #include <mach/at91sam9_smc.h> |
29 | #include <mach/hardware.h> | ||
29 | 30 | ||
30 | #include "at91_aic.h" | 31 | #include "at91_aic.h" |
31 | #include "board.h" | 32 | #include "board.h" |
diff --git a/arch/arm/mach-at91/include/mach/at91x40.h b/arch/arm/mach-at91/include/mach/at91x40.h index 90680217064e..38dca2bb027f 100644 --- a/arch/arm/mach-at91/include/mach/at91x40.h +++ b/arch/arm/mach-at91/include/mach/at91x40.h | |||
@@ -55,4 +55,6 @@ | |||
55 | #define AT91_PS_CR (AT91_PS + 0) /* PS Control register */ | 55 | #define AT91_PS_CR (AT91_PS + 0) /* PS Control register */ |
56 | #define AT91_PS_CR_CPU (1 << 0) /* CPU clock disable bit */ | 56 | #define AT91_PS_CR_CPU (1 << 0) /* CPU clock disable bit */ |
57 | 57 | ||
58 | #define AT91X40_MASTER_CLOCK 40000000 | ||
59 | |||
58 | #endif /* AT91X40_H */ | 60 | #endif /* AT91X40_H */ |
diff --git a/arch/arm/mach-at91/include/mach/timex.h b/arch/arm/mach-at91/include/mach/timex.h deleted file mode 100644 index 5e917a66edd7..000000000000 --- a/arch/arm/mach-at91/include/mach/timex.h +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-at91/include/mach/timex.h | ||
3 | * | ||
4 | * Copyright (C) 2003 SAN People | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | ||
20 | |||
21 | #ifndef __ASM_ARCH_TIMEX_H | ||
22 | #define __ASM_ARCH_TIMEX_H | ||
23 | |||
24 | #include <mach/hardware.h> | ||
25 | |||
26 | #ifdef CONFIG_ARCH_AT91X40 | ||
27 | |||
28 | #define AT91X40_MASTER_CLOCK 40000000 | ||
29 | #define CLOCK_TICK_RATE (AT91X40_MASTER_CLOCK) | ||
30 | |||
31 | #else | ||
32 | |||
33 | #define CLOCK_TICK_RATE 12345678 | ||
34 | |||
35 | #endif | ||
36 | |||
37 | #endif /* __ASM_ARCH_TIMEX_H */ | ||
diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c index 590b52dea9f7..8bda1cefdf96 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <asm/mach/irq.h> | 27 | #include <asm/mach/irq.h> |
28 | 28 | ||
29 | #include <mach/cpu.h> | 29 | #include <mach/cpu.h> |
30 | #include <mach/hardware.h> | ||
30 | 31 | ||
31 | #include "at91_aic.h" | 32 | #include "at91_aic.h" |
32 | #include "generic.h" | 33 | #include "generic.h" |
diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig index b1aa6a9b3bd1..af4f2dfda40c 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig | |||
@@ -16,12 +16,7 @@ config ARCH_BCM_MOBILE | |||
16 | select ARM_ERRATA_754322 | 16 | select ARM_ERRATA_754322 |
17 | select ARM_ERRATA_764369 if SMP | 17 | select ARM_ERRATA_764369 if SMP |
18 | select ARM_GIC | 18 | select ARM_GIC |
19 | select CPU_V7 | ||
20 | select CLKSRC_OF | ||
21 | select GENERIC_CLOCKEVENTS | ||
22 | select GENERIC_TIME | ||
23 | select GPIO_BCM_KONA | 19 | select GPIO_BCM_KONA |
24 | select SPARSE_IRQ | ||
25 | select TICK_ONESHOT | 20 | select TICK_ONESHOT |
26 | select CACHE_L2X0 | 21 | select CACHE_L2X0 |
27 | select HAVE_ARM_ARCH_TIMER | 22 | select HAVE_ARM_ARCH_TIMER |
diff --git a/arch/arm/mach-bcm2835/Kconfig b/arch/arm/mach-bcm2835/Kconfig index d1f9612f8c15..3a369350a26f 100644 --- a/arch/arm/mach-bcm2835/Kconfig +++ b/arch/arm/mach-bcm2835/Kconfig | |||
@@ -4,10 +4,6 @@ config ARCH_BCM2835 | |||
4 | select ARM_AMBA | 4 | select ARM_AMBA |
5 | select ARM_ERRATA_411920 | 5 | select ARM_ERRATA_411920 |
6 | select ARM_TIMER_SP804 | 6 | select ARM_TIMER_SP804 |
7 | select CLKDEV_LOOKUP | ||
8 | select CLKSRC_OF | ||
9 | select CPU_V6 | ||
10 | select GENERIC_CLOCKEVENTS | ||
11 | select PINCTRL | 7 | select PINCTRL |
12 | select PINCTRL_BCM2835 | 8 | select PINCTRL_BCM2835 |
13 | help | 9 | help |
diff --git a/arch/arm/mach-berlin/Kconfig b/arch/arm/mach-berlin/Kconfig index 7a02d222c378..b0cb0722acd2 100644 --- a/arch/arm/mach-berlin/Kconfig +++ b/arch/arm/mach-berlin/Kconfig | |||
@@ -1,9 +1,7 @@ | |||
1 | config ARCH_BERLIN | 1 | config ARCH_BERLIN |
2 | bool "Marvell Berlin SoCs" if ARCH_MULTI_V7 | 2 | bool "Marvell Berlin SoCs" if ARCH_MULTI_V7 |
3 | select ARM_GIC | 3 | select ARM_GIC |
4 | select GENERIC_CLOCKEVENTS | ||
5 | select GENERIC_IRQ_CHIP | 4 | select GENERIC_IRQ_CHIP |
6 | select COMMON_CLK | ||
7 | select DW_APB_ICTL | 5 | select DW_APB_ICTL |
8 | select DW_APB_TIMER_OF | 6 | select DW_APB_TIMER_OF |
9 | 7 | ||
@@ -16,12 +14,10 @@ config MACH_BERLIN_BG2 | |||
16 | select CACHE_L2X0 | 14 | select CACHE_L2X0 |
17 | select CPU_PJ4B | 15 | select CPU_PJ4B |
18 | select HAVE_ARM_TWD if SMP | 16 | select HAVE_ARM_TWD if SMP |
19 | select HAVE_SMP | ||
20 | 17 | ||
21 | config MACH_BERLIN_BG2CD | 18 | config MACH_BERLIN_BG2CD |
22 | bool "Marvell Armada 1500-mini (BG2CD)" | 19 | bool "Marvell Armada 1500-mini (BG2CD)" |
23 | select CACHE_L2X0 | 20 | select CACHE_L2X0 |
24 | select CPU_V7 | ||
25 | select HAVE_ARM_TWD if SMP | 21 | select HAVE_ARM_TWD if SMP |
26 | 22 | ||
27 | endmenu | 23 | endmenu |
diff --git a/arch/arm/mach-clps711x/Kconfig b/arch/arm/mach-clps711x/Kconfig index bea6295c8c59..f711498c180c 100644 --- a/arch/arm/mach-clps711x/Kconfig +++ b/arch/arm/mach-clps711x/Kconfig | |||
@@ -33,20 +33,6 @@ config ARCH_P720T | |||
33 | Say Y here if you intend to run this kernel on the ARM Prospector | 33 | Say Y here if you intend to run this kernel on the ARM Prospector |
34 | 720T. | 34 | 720T. |
35 | 35 | ||
36 | config EP72XX_ROM_BOOT | ||
37 | bool "EP721x/EP731x ROM boot" | ||
38 | help | ||
39 | If you say Y here, your CLPS711x-based kernel will use the bootstrap | ||
40 | mode memory map instead of the normal memory map. | ||
41 | |||
42 | Processors derived from the Cirrus CLPS711X core support two boot | ||
43 | modes. Normal mode boots from the external memory device at CS0. | ||
44 | Bootstrap mode rearranges parts of the memory map, placing an | ||
45 | internal 128 byte bootstrap ROM at CS0. This option performs the | ||
46 | address map changes required to support booting in this mode. | ||
47 | |||
48 | You almost surely want to say N here. | ||
49 | |||
50 | endmenu | 36 | endmenu |
51 | 37 | ||
52 | endif | 38 | endif |
diff --git a/arch/arm/mach-clps711x/include/mach/hardware.h b/arch/arm/mach-clps711x/include/mach/hardware.h index c5a8ea6839ef..5d6afda1c0e8 100644 --- a/arch/arm/mach-clps711x/include/mach/hardware.h +++ b/arch/arm/mach-clps711x/include/mach/hardware.h | |||
@@ -38,13 +38,6 @@ | |||
38 | #define clps_writel(val,off) writel(val, CLPS711X_VIRT_BASE + (off)) | 38 | #define clps_writel(val,off) writel(val, CLPS711X_VIRT_BASE + (off)) |
39 | #endif | 39 | #endif |
40 | 40 | ||
41 | /* | ||
42 | * The physical addresses that the external chip select signals map to is | ||
43 | * dependent on the setting of the nMEDCHG signal on EP7211 and EP7212 | ||
44 | * processors. CONFIG_EP72XX_BOOT_ROM is only available if these | ||
45 | * processors are in use. | ||
46 | */ | ||
47 | #ifndef CONFIG_EP72XX_ROM_BOOT | ||
48 | #define CS0_PHYS_BASE (0x00000000) | 41 | #define CS0_PHYS_BASE (0x00000000) |
49 | #define CS1_PHYS_BASE (0x10000000) | 42 | #define CS1_PHYS_BASE (0x10000000) |
50 | #define CS2_PHYS_BASE (0x20000000) | 43 | #define CS2_PHYS_BASE (0x20000000) |
@@ -53,16 +46,6 @@ | |||
53 | #define CS5_PHYS_BASE (0x50000000) | 46 | #define CS5_PHYS_BASE (0x50000000) |
54 | #define CS6_PHYS_BASE (0x60000000) | 47 | #define CS6_PHYS_BASE (0x60000000) |
55 | #define CS7_PHYS_BASE (0x70000000) | 48 | #define CS7_PHYS_BASE (0x70000000) |
56 | #else | ||
57 | #define CS0_PHYS_BASE (0x70000000) | ||
58 | #define CS1_PHYS_BASE (0x60000000) | ||
59 | #define CS2_PHYS_BASE (0x50000000) | ||
60 | #define CS3_PHYS_BASE (0x40000000) | ||
61 | #define CS4_PHYS_BASE (0x30000000) | ||
62 | #define CS5_PHYS_BASE (0x20000000) | ||
63 | #define CS6_PHYS_BASE (0x10000000) | ||
64 | #define CS7_PHYS_BASE (0x00000000) | ||
65 | #endif | ||
66 | 49 | ||
67 | #define CLPS711X_SRAM_BASE CS6_PHYS_BASE | 50 | #define CLPS711X_SRAM_BASE CS6_PHYS_BASE |
68 | #define CLPS711X_SRAM_SIZE (48 * 1024) | 51 | #define CLPS711X_SRAM_SIZE (48 * 1024) |
diff --git a/arch/arm/mach-clps711x/include/mach/timex.h b/arch/arm/mach-clps711x/include/mach/timex.h deleted file mode 100644 index de6fd192d1c3..000000000000 --- a/arch/arm/mach-clps711x/include/mach/timex.h +++ /dev/null | |||
@@ -1,2 +0,0 @@ | |||
1 | /* Bogus value */ | ||
2 | #define CLOCK_TICK_RATE 512000 | ||
diff --git a/arch/arm/mach-cns3xxx/Kconfig b/arch/arm/mach-cns3xxx/Kconfig index dbf0df8bb0ac..dce8decd5d46 100644 --- a/arch/arm/mach-cns3xxx/Kconfig +++ b/arch/arm/mach-cns3xxx/Kconfig | |||
@@ -1,9 +1,6 @@ | |||
1 | config ARCH_CNS3XXX | 1 | config ARCH_CNS3XXX |
2 | bool "Cavium Networks CNS3XXX family" if ARCH_MULTI_V6 | 2 | bool "Cavium Networks CNS3XXX family" if ARCH_MULTI_V6 |
3 | select ARM_GIC | 3 | select ARM_GIC |
4 | select CPU_V6K | ||
5 | select GENERIC_CLOCKEVENTS | ||
6 | select MIGHT_HAVE_CACHE_L2X0 | ||
7 | select MIGHT_HAVE_PCI | 4 | select MIGHT_HAVE_PCI |
8 | select PCI_DOMAINS if PCI | 5 | select PCI_DOMAINS if PCI |
9 | help | 6 | help |
diff --git a/arch/arm/mach-davinci/include/mach/timex.h b/arch/arm/mach-davinci/include/mach/timex.h deleted file mode 100644 index 9b885298f106..000000000000 --- a/arch/arm/mach-davinci/include/mach/timex.h +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | /* | ||
2 | * DaVinci timer defines | ||
3 | * | ||
4 | * Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com> | ||
5 | * | ||
6 | * 2007 (c) MontaVista Software, Inc. This file is licensed under | ||
7 | * the terms of the GNU General Public License version 2. This program | ||
8 | * is licensed "as is" without any warranty of any kind, whether express | ||
9 | * or implied. | ||
10 | */ | ||
11 | #ifndef __ASM_ARCH_TIMEX_H | ||
12 | #define __ASM_ARCH_TIMEX_H | ||
13 | |||
14 | /* | ||
15 | * Alert: Not all timers of the DaVinci family run at a frequency of 27MHz, | ||
16 | * but we should be fine as long as CLOCK_TICK_RATE or LATCH (see include/ | ||
17 | * linux/jiffies.h) are not used directly in code. Currently none of the | ||
18 | * code relevant to DaVinci platform depends on these values directly. | ||
19 | */ | ||
20 | #define CLOCK_TICK_RATE 27000000 | ||
21 | |||
22 | #endif /* __ASM_ARCH_TIMEX_H__ */ | ||
diff --git a/arch/arm/mach-dove/include/mach/timex.h b/arch/arm/mach-dove/include/mach/timex.h deleted file mode 100644 index 251d538541db..000000000000 --- a/arch/arm/mach-dove/include/mach/timex.h +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-dove/include/mach/timex.h | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | #define CLOCK_TICK_RATE (100 * HZ) | ||
diff --git a/arch/arm/mach-ebsa110/include/mach/timex.h b/arch/arm/mach-ebsa110/include/mach/timex.h deleted file mode 100644 index 4fb43b22a102..000000000000 --- a/arch/arm/mach-ebsa110/include/mach/timex.h +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ebsa110/include/mach/timex.h | ||
3 | * | ||
4 | * Copyright (C) 1997, 1998 Russell King | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | * EBSA110 architecture timex specifications | ||
11 | */ | ||
12 | |||
13 | /* | ||
14 | * On the EBSA, the clock ticks at weird rates. | ||
15 | * This is therefore not used to calculate the | ||
16 | * divisor. | ||
17 | */ | ||
18 | #define CLOCK_TICK_RATE 47894000 | ||
19 | |||
diff --git a/arch/arm/mach-efm32/include/mach/entry-macro.S b/arch/arm/mach-efm32/include/mach/entry-macro.S deleted file mode 100644 index 322159d5ed91..000000000000 --- a/arch/arm/mach-efm32/include/mach/entry-macro.S +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | /* | ||
2 | * Empty file waiting for deletion once <mach/entry-macro.S> isn't needed any | ||
3 | * more. Patch "ARM: v7-M: drop using mach/entry-macro.S" sitting in next. | ||
4 | */ | ||
diff --git a/arch/arm/mach-efm32/include/mach/timex.h b/arch/arm/mach-efm32/include/mach/timex.h deleted file mode 100644 index 7a8b26da6599..000000000000 --- a/arch/arm/mach-efm32/include/mach/timex.h +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | /* | ||
2 | * Empty file waiting for deletion once <mach/timex.h> isn't needed any more. | ||
3 | */ | ||
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index 157ba88433c9..6c705472da6c 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
@@ -117,7 +117,7 @@ void __init ep93xx_map_io(void) | |||
117 | #define EP93XX_TIMER4_CLOCK 983040 | 117 | #define EP93XX_TIMER4_CLOCK 983040 |
118 | 118 | ||
119 | #define TIMER1_RELOAD ((EP93XX_TIMER123_CLOCK / HZ) - 1) | 119 | #define TIMER1_RELOAD ((EP93XX_TIMER123_CLOCK / HZ) - 1) |
120 | #define TIMER4_TICKS_PER_JIFFY DIV_ROUND_CLOSEST(CLOCK_TICK_RATE, HZ) | 120 | #define TIMER4_TICKS_PER_JIFFY DIV_ROUND_CLOSEST(EP93XX_TIMER4_CLOCK, HZ) |
121 | 121 | ||
122 | static unsigned int last_jiffy_time; | 122 | static unsigned int last_jiffy_time; |
123 | 123 | ||
diff --git a/arch/arm/mach-ep93xx/include/mach/timex.h b/arch/arm/mach-ep93xx/include/mach/timex.h deleted file mode 100644 index 6b3503b01fa6..000000000000 --- a/arch/arm/mach-ep93xx/include/mach/timex.h +++ /dev/null | |||
@@ -1,5 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ep93xx/include/mach/timex.h | ||
3 | */ | ||
4 | |||
5 | #define CLOCK_TICK_RATE 983040 | ||
diff --git a/arch/arm/mach-exynos/include/mach/timex.h b/arch/arm/mach-exynos/include/mach/timex.h deleted file mode 100644 index 6d138750a708..000000000000 --- a/arch/arm/mach-exynos/include/mach/timex.h +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-exynos4/include/mach/timex.h | ||
2 | * | ||
3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com | ||
5 | * | ||
6 | * Copyright (c) 2003-2010 Simtec Electronics | ||
7 | * Ben Dooks <ben@simtec.co.uk> | ||
8 | * | ||
9 | * Based on arch/arm/mach-s5p6442/include/mach/timex.h | ||
10 | * | ||
11 | * EXYNOS4 - time parameters | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify | ||
14 | * it under the terms of the GNU General Public License version 2 as | ||
15 | * published by the Free Software Foundation. | ||
16 | */ | ||
17 | |||
18 | #ifndef __ASM_ARCH_TIMEX_H | ||
19 | #define __ASM_ARCH_TIMEX_H __FILE__ | ||
20 | |||
21 | /* CLOCK_TICK_RATE needs to be evaluatable by the cpp, so making it | ||
22 | * a variable is useless. It seems as long as we make our timers an | ||
23 | * exact multiple of HZ, any value that makes a 1->1 correspondence | ||
24 | * for the time conversion functions to/from jiffies is acceptable. | ||
25 | */ | ||
26 | |||
27 | #define CLOCK_TICK_RATE 12000000 | ||
28 | |||
29 | #endif /* __ASM_ARCH_TIMEX_H */ | ||
diff --git a/arch/arm/mach-footbridge/include/mach/timex.h b/arch/arm/mach-footbridge/include/mach/timex.h deleted file mode 100644 index d0fea9d6d4ab..000000000000 --- a/arch/arm/mach-footbridge/include/mach/timex.h +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-footbridge/include/mach/timex.h | ||
3 | * | ||
4 | * Copyright (C) 1998 Russell King | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | * EBSA285 architecture timex specifications | ||
11 | */ | ||
12 | |||
13 | /* | ||
14 | * We assume a constant here; this satisfies the maths in linux/timex.h | ||
15 | * and linux/time.h. CLOCK_TICK_RATE is actually system dependent, but | ||
16 | * this must be a constant. | ||
17 | */ | ||
18 | #define CLOCK_TICK_RATE (50000000/16) | ||
diff --git a/arch/arm/mach-gemini/include/mach/timex.h b/arch/arm/mach-gemini/include/mach/timex.h deleted file mode 100644 index dc5690ba975c..000000000000 --- a/arch/arm/mach-gemini/include/mach/timex.h +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | /* | ||
2 | * Gemini timex specifications | ||
3 | * | ||
4 | * Copyright (C) 2008-2009 Paulius Zaleckas <paulius.zaleckas@teltonika.lt> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | /* When AHB bus frequency is 150MHz */ | ||
13 | #define CLOCK_TICK_RATE 38000000 | ||
diff --git a/arch/arm/mach-highbank/Kconfig b/arch/arm/mach-highbank/Kconfig index 0aded64a9ebc..830b76e70250 100644 --- a/arch/arm/mach-highbank/Kconfig +++ b/arch/arm/mach-highbank/Kconfig | |||
@@ -5,7 +5,6 @@ config ARCH_HIGHBANK | |||
5 | select ARCH_HAS_HOLES_MEMORYMODEL | 5 | select ARCH_HAS_HOLES_MEMORYMODEL |
6 | select ARCH_HAS_OPP | 6 | select ARCH_HAS_OPP |
7 | select ARCH_SUPPORTS_BIG_ENDIAN | 7 | select ARCH_SUPPORTS_BIG_ENDIAN |
8 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
9 | select ARM_AMBA | 8 | select ARM_AMBA |
10 | select ARM_ERRATA_764369 if SMP | 9 | select ARM_ERRATA_764369 if SMP |
11 | select ARM_ERRATA_775420 | 10 | select ARM_ERRATA_775420 |
@@ -14,14 +13,8 @@ config ARCH_HIGHBANK | |||
14 | select ARM_PSCI | 13 | select ARM_PSCI |
15 | select ARM_TIMER_SP804 | 14 | select ARM_TIMER_SP804 |
16 | select CACHE_L2X0 | 15 | select CACHE_L2X0 |
17 | select COMMON_CLK | ||
18 | select CPU_V7 | ||
19 | select GENERIC_CLOCKEVENTS | ||
20 | select HAVE_ARM_SCU | 16 | select HAVE_ARM_SCU |
21 | select HAVE_ARM_TWD if SMP | 17 | select HAVE_ARM_TWD if SMP |
22 | select HAVE_SMP | ||
23 | select MAILBOX | 18 | select MAILBOX |
24 | select PL320_MBOX | 19 | select PL320_MBOX |
25 | select SPARSE_IRQ | ||
26 | select USE_OF | ||
27 | select ZONE_DMA if ARM_LPAE | 20 | select ZONE_DMA if ARM_LPAE |
diff --git a/arch/arm/mach-hisi/Kconfig b/arch/arm/mach-hisi/Kconfig index 8f4649b301b2..9d0a87b025e3 100644 --- a/arch/arm/mach-hisi/Kconfig +++ b/arch/arm/mach-hisi/Kconfig | |||
@@ -3,13 +3,9 @@ config ARCH_HI3xxx | |||
3 | select ARM_AMBA | 3 | select ARM_AMBA |
4 | select ARM_GIC | 4 | select ARM_GIC |
5 | select ARM_TIMER_SP804 | 5 | select ARM_TIMER_SP804 |
6 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
7 | select CACHE_L2X0 | 6 | select CACHE_L2X0 |
8 | select CLKSRC_OF | ||
9 | select GENERIC_CLOCKEVENTS | ||
10 | select HAVE_ARM_SCU | 7 | select HAVE_ARM_SCU |
11 | select HAVE_ARM_TWD | 8 | select HAVE_ARM_TWD if SMP |
12 | select HAVE_SMP | ||
13 | select PINCTRL | 9 | select PINCTRL |
14 | select PINCTRL_SINGLE | 10 | select PINCTRL_SINGLE |
15 | help | 11 | help |
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 33567aa5880f..41ffd433f709 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
@@ -2,18 +2,11 @@ config ARCH_MXC | |||
2 | bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 | 2 | bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 |
3 | select ARCH_REQUIRE_GPIOLIB | 3 | select ARCH_REQUIRE_GPIOLIB |
4 | select ARM_CPU_SUSPEND if PM | 4 | select ARM_CPU_SUSPEND if PM |
5 | select ARM_PATCH_PHYS_VIRT | ||
6 | select CLKSRC_MMIO | 5 | select CLKSRC_MMIO |
7 | select COMMON_CLK | ||
8 | select GENERIC_ALLOCATOR | 6 | select GENERIC_ALLOCATOR |
9 | select GENERIC_CLOCKEVENTS | ||
10 | select GENERIC_IRQ_CHIP | 7 | select GENERIC_IRQ_CHIP |
11 | select MIGHT_HAVE_CACHE_L2X0 if ARCH_MULTI_V6_V7 | ||
12 | select MULTI_IRQ_HANDLER | ||
13 | select PINCTRL | 8 | select PINCTRL |
14 | select SOC_BUS | 9 | select SOC_BUS |
15 | select SPARSE_IRQ | ||
16 | select USE_OF | ||
17 | help | 10 | help |
18 | Support for Freescale MXC/iMX-based family of processors | 11 | Support for Freescale MXC/iMX-based family of processors |
19 | 12 | ||
@@ -121,7 +114,6 @@ config SOC_IMX31 | |||
121 | config SOC_IMX35 | 114 | config SOC_IMX35 |
122 | bool | 115 | bool |
123 | select ARCH_MXC_IOMUX_V3 | 116 | select ARCH_MXC_IOMUX_V3 |
124 | select CPU_V6K | ||
125 | select HAVE_EPIT | 117 | select HAVE_EPIT |
126 | select MXC_AVIC | 118 | select MXC_AVIC |
127 | select SMP_ON_UP if SMP | 119 | select SMP_ON_UP if SMP |
@@ -132,7 +124,6 @@ config SOC_IMX5 | |||
132 | select ARCH_HAS_CPUFREQ | 124 | select ARCH_HAS_CPUFREQ |
133 | select ARCH_HAS_OPP | 125 | select ARCH_HAS_OPP |
134 | select ARCH_MXC_IOMUX_V3 | 126 | select ARCH_MXC_IOMUX_V3 |
135 | select CPU_V7 | ||
136 | select MXC_TZIC | 127 | select MXC_TZIC |
137 | 128 | ||
138 | config SOC_IMX51 | 129 | config SOC_IMX51 |
@@ -792,14 +783,12 @@ config SOC_IMX6Q | |||
792 | select ARM_ERRATA_764369 if SMP | 783 | select ARM_ERRATA_764369 if SMP |
793 | select ARM_ERRATA_775420 | 784 | select ARM_ERRATA_775420 |
794 | select ARM_GIC | 785 | select ARM_GIC |
795 | select CPU_V7 | ||
796 | select HAVE_ARM_SCU if SMP | 786 | select HAVE_ARM_SCU if SMP |
797 | select HAVE_ARM_TWD if SMP | 787 | select HAVE_ARM_TWD if SMP |
798 | select HAVE_IMX_ANATOP | 788 | select HAVE_IMX_ANATOP |
799 | select HAVE_IMX_GPC | 789 | select HAVE_IMX_GPC |
800 | select HAVE_IMX_MMDC | 790 | select HAVE_IMX_MMDC |
801 | select HAVE_IMX_SRC | 791 | select HAVE_IMX_SRC |
802 | select HAVE_SMP | ||
803 | select MFD_SYSCON | 792 | select MFD_SYSCON |
804 | select MIGHT_HAVE_PCI | 793 | select MIGHT_HAVE_PCI |
805 | select PCI_DOMAINS if PCI | 794 | select PCI_DOMAINS if PCI |
@@ -817,7 +806,6 @@ config SOC_IMX6SL | |||
817 | select ARM_ERRATA_754322 | 806 | select ARM_ERRATA_754322 |
818 | select ARM_ERRATA_775420 | 807 | select ARM_ERRATA_775420 |
819 | select ARM_GIC | 808 | select ARM_GIC |
820 | select CPU_V7 | ||
821 | select HAVE_IMX_ANATOP | 809 | select HAVE_IMX_ANATOP |
822 | select HAVE_IMX_GPC | 810 | select HAVE_IMX_GPC |
823 | select HAVE_IMX_MMDC | 811 | select HAVE_IMX_MMDC |
@@ -833,9 +821,7 @@ config SOC_IMX6SL | |||
833 | 821 | ||
834 | config SOC_VF610 | 822 | config SOC_VF610 |
835 | bool "Vybrid Family VF610 support" | 823 | bool "Vybrid Family VF610 support" |
836 | select CPU_V7 | ||
837 | select ARM_GIC | 824 | select ARM_GIC |
838 | select CLKSRC_OF | ||
839 | select PINCTRL_VF610 | 825 | select PINCTRL_VF610 |
840 | select VF_PIT_TIMER | 826 | select VF_PIT_TIMER |
841 | select PL310_ERRATA_588369 if CACHE_PL310 | 827 | select PL310_ERRATA_588369 if CACHE_PL310 |
diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c index af2e582d2b74..4d677f442539 100644 --- a/arch/arm/mach-imx/clk-imx6q.c +++ b/arch/arm/mach-imx/clk-imx6q.c | |||
@@ -482,6 +482,9 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) | |||
482 | if (IS_ENABLED(CONFIG_PCI_IMX6)) | 482 | if (IS_ENABLED(CONFIG_PCI_IMX6)) |
483 | clk_set_parent(clk[lvds1_sel], clk[sata_ref]); | 483 | clk_set_parent(clk[lvds1_sel], clk[sata_ref]); |
484 | 484 | ||
485 | /* Set initial power mode */ | ||
486 | imx6q_set_lpm(WAIT_CLOCKED); | ||
487 | |||
485 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt"); | 488 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt"); |
486 | base = of_iomap(np, 0); | 489 | base = of_iomap(np, 0); |
487 | WARN_ON(!base); | 490 | WARN_ON(!base); |
diff --git a/arch/arm/mach-imx/clk-imx6sl.c b/arch/arm/mach-imx/clk-imx6sl.c index 3781a1853998..4c86f3035205 100644 --- a/arch/arm/mach-imx/clk-imx6sl.c +++ b/arch/arm/mach-imx/clk-imx6sl.c | |||
@@ -266,6 +266,9 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node) | |||
266 | /* Audio-related clocks configuration */ | 266 | /* Audio-related clocks configuration */ |
267 | clk_set_parent(clks[IMX6SL_CLK_SPDIF0_SEL], clks[IMX6SL_CLK_PLL3_PFD3]); | 267 | clk_set_parent(clks[IMX6SL_CLK_SPDIF0_SEL], clks[IMX6SL_CLK_PLL3_PFD3]); |
268 | 268 | ||
269 | /* Set initial power mode */ | ||
270 | imx6q_set_lpm(WAIT_CLOCKED); | ||
271 | |||
269 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6sl-gpt"); | 272 | np = of_find_compatible_node(NULL, NULL, "fsl,imx6sl-gpt"); |
270 | base = of_iomap(np, 0); | 273 | base = of_iomap(np, 0); |
271 | WARN_ON(!base); | 274 | WARN_ON(!base); |
diff --git a/arch/arm/mach-imx/pm-imx6q.c b/arch/arm/mach-imx/pm-imx6q.c index 9d47adc078aa..7a9b98589db7 100644 --- a/arch/arm/mach-imx/pm-imx6q.c +++ b/arch/arm/mach-imx/pm-imx6q.c | |||
@@ -236,8 +236,6 @@ void __init imx6q_pm_init(void) | |||
236 | regmap_update_bits(gpr, IOMUXC_GPR1, IMX6Q_GPR1_GINT, | 236 | regmap_update_bits(gpr, IOMUXC_GPR1, IMX6Q_GPR1_GINT, |
237 | IMX6Q_GPR1_GINT); | 237 | IMX6Q_GPR1_GINT); |
238 | 238 | ||
239 | /* Set initial power mode */ | ||
240 | imx6q_set_lpm(WAIT_CLOCKED); | ||
241 | 239 | ||
242 | suspend_set_ops(&imx6q_pm_ops); | 240 | suspend_set_ops(&imx6q_pm_ops); |
243 | } | 241 | } |
diff --git a/arch/arm/mach-integrator/include/mach/timex.h b/arch/arm/mach-integrator/include/mach/timex.h deleted file mode 100644 index 1dcb42028c82..000000000000 --- a/arch/arm/mach-integrator/include/mach/timex.h +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-integrator/include/mach/timex.h | ||
3 | * | ||
4 | * Integrator architecture timex specifications | ||
5 | * | ||
6 | * Copyright (C) 1999 ARM Limited | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | ||
22 | |||
23 | /* | ||
24 | * ?? | ||
25 | */ | ||
26 | #define CLOCK_TICK_RATE (50000000 / 16) | ||
diff --git a/arch/arm/mach-iop13xx/include/mach/timex.h b/arch/arm/mach-iop13xx/include/mach/timex.h deleted file mode 100644 index 45fb2745bb54..000000000000 --- a/arch/arm/mach-iop13xx/include/mach/timex.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #define CLOCK_TICK_RATE (100 * HZ) | ||
diff --git a/arch/arm/mach-iop32x/include/mach/timex.h b/arch/arm/mach-iop32x/include/mach/timex.h deleted file mode 100644 index 7262ab81419d..000000000000 --- a/arch/arm/mach-iop32x/include/mach/timex.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-iop32x/include/mach/timex.h | ||
3 | * | ||
4 | * IOP32x architecture timex specifications | ||
5 | */ | ||
6 | #define CLOCK_TICK_RATE (100 * HZ) | ||
diff --git a/arch/arm/mach-iop33x/include/mach/timex.h b/arch/arm/mach-iop33x/include/mach/timex.h deleted file mode 100644 index 54c589091d6e..000000000000 --- a/arch/arm/mach-iop33x/include/mach/timex.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-iop33x/include/mach/timex.h | ||
3 | * | ||
4 | * IOP3xx architecture timex specifications | ||
5 | */ | ||
6 | #define CLOCK_TICK_RATE (100 * HZ) | ||
diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c index 6d68aed6548a..dc5d7a0e5d9c 100644 --- a/arch/arm/mach-ixp4xx/common.c +++ b/arch/arm/mach-ixp4xx/common.c | |||
@@ -23,7 +23,6 @@ | |||
23 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
24 | #include <linux/bitops.h> | 24 | #include <linux/bitops.h> |
25 | #include <linux/time.h> | 25 | #include <linux/time.h> |
26 | #include <linux/timex.h> | ||
27 | #include <linux/clocksource.h> | 26 | #include <linux/clocksource.h> |
28 | #include <linux/clockchips.h> | 27 | #include <linux/clockchips.h> |
29 | #include <linux/io.h> | 28 | #include <linux/io.h> |
@@ -45,6 +44,17 @@ | |||
45 | #include <asm/mach/irq.h> | 44 | #include <asm/mach/irq.h> |
46 | #include <asm/mach/time.h> | 45 | #include <asm/mach/time.h> |
47 | 46 | ||
47 | #define IXP4XX_TIMER_FREQ 66666000 | ||
48 | |||
49 | /* | ||
50 | * The timer register doesn't allow to specify the two least significant bits of | ||
51 | * the timeout value and assumes them being zero. So make sure IXP4XX_LATCH is | ||
52 | * the best value with the two least significant bits unset. | ||
53 | */ | ||
54 | #define IXP4XX_LATCH DIV_ROUND_CLOSEST(IXP4XX_TIMER_FREQ, \ | ||
55 | (IXP4XX_OST_RELOAD_MASK + 1) * HZ) * \ | ||
56 | (IXP4XX_OST_RELOAD_MASK + 1) | ||
57 | |||
48 | static void __init ixp4xx_clocksource_init(void); | 58 | static void __init ixp4xx_clocksource_init(void); |
49 | static void __init ixp4xx_clockevent_init(void); | 59 | static void __init ixp4xx_clockevent_init(void); |
50 | static struct clock_event_device clockevent_ixp4xx; | 60 | static struct clock_event_device clockevent_ixp4xx; |
@@ -520,7 +530,7 @@ static void ixp4xx_set_mode(enum clock_event_mode mode, | |||
520 | 530 | ||
521 | switch (mode) { | 531 | switch (mode) { |
522 | case CLOCK_EVT_MODE_PERIODIC: | 532 | case CLOCK_EVT_MODE_PERIODIC: |
523 | osrt = LATCH & ~IXP4XX_OST_RELOAD_MASK; | 533 | osrt = IXP4XX_LATCH & ~IXP4XX_OST_RELOAD_MASK; |
524 | opts = IXP4XX_OST_ENABLE; | 534 | opts = IXP4XX_OST_ENABLE; |
525 | break; | 535 | break; |
526 | case CLOCK_EVT_MODE_ONESHOT: | 536 | case CLOCK_EVT_MODE_ONESHOT: |
diff --git a/arch/arm/mach-ixp4xx/include/mach/timex.h b/arch/arm/mach-ixp4xx/include/mach/timex.h deleted file mode 100644 index 0396d89f947c..000000000000 --- a/arch/arm/mach-ixp4xx/include/mach/timex.h +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ixp4xx/include/mach/timex.h | ||
3 | * | ||
4 | */ | ||
5 | |||
6 | #include <mach/ixp4xx-regs.h> | ||
7 | |||
8 | /* | ||
9 | * We use IXP425 General purpose timer for our timer needs, it runs at | ||
10 | * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the | ||
11 | * timer register ignores the bottom 2 bits of the LATCH value. | ||
12 | */ | ||
13 | #define IXP4XX_TIMER_FREQ 66666000 | ||
14 | #define CLOCK_TICK_RATE \ | ||
15 | (((IXP4XX_TIMER_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) | ||
16 | |||
diff --git a/arch/arm/mach-keystone/Kconfig b/arch/arm/mach-keystone/Kconfig index 90a708fef541..f50bc936cb84 100644 --- a/arch/arm/mach-keystone/Kconfig +++ b/arch/arm/mach-keystone/Kconfig | |||
@@ -1,13 +1,9 @@ | |||
1 | config ARCH_KEYSTONE | 1 | config ARCH_KEYSTONE |
2 | bool "Texas Instruments Keystone Devices" | 2 | bool "Texas Instruments Keystone Devices" |
3 | depends on ARCH_MULTI_V7 | 3 | depends on ARCH_MULTI_V7 |
4 | select CPU_V7 | ||
5 | select ARM_GIC | 4 | select ARM_GIC |
6 | select HAVE_ARM_ARCH_TIMER | 5 | select HAVE_ARM_ARCH_TIMER |
7 | select HAVE_SMP | ||
8 | select CLKSRC_MMIO | 6 | select CLKSRC_MMIO |
9 | select GENERIC_CLOCKEVENTS | ||
10 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
11 | select ARM_ERRATA_798181 if SMP | 7 | select ARM_ERRATA_798181 if SMP |
12 | select COMMON_CLK_KEYSTONE | 8 | select COMMON_CLK_KEYSTONE |
13 | select ARCH_SUPPORTS_BIG_ENDIAN | 9 | select ARCH_SUPPORTS_BIG_ENDIAN |
diff --git a/arch/arm/mach-kirkwood/include/mach/timex.h b/arch/arm/mach-kirkwood/include/mach/timex.h deleted file mode 100644 index c923cd169b9c..000000000000 --- a/arch/arm/mach-kirkwood/include/mach/timex.h +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-kirkwood/include/mach/timex.h | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | #define CLOCK_TICK_RATE (100 * HZ) | ||
10 | |||
diff --git a/arch/arm/mach-ks8695/include/mach/timex.h b/arch/arm/mach-ks8695/include/mach/timex.h deleted file mode 100644 index 10f716371bd3..000000000000 --- a/arch/arm/mach-ks8695/include/mach/timex.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-ks8695/include/mach/timex.h | ||
3 | * | ||
4 | * Copyright (C) 2006 Simtec Electronics | ||
5 | * Ben Dooks <ben@simtec.co.uk> | ||
6 | * | ||
7 | * KS8695 - Time Parameters | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | #ifndef __ASM_ARCH_TIMEX_H | ||
15 | #define __ASM_ARCH_TIMEX_H | ||
16 | |||
17 | #include <mach/hardware.h> | ||
18 | |||
19 | #define CLOCK_TICK_RATE KS8695_CLOCK_RATE | ||
20 | |||
21 | #endif | ||
diff --git a/arch/arm/mach-lpc32xx/include/mach/timex.h b/arch/arm/mach-lpc32xx/include/mach/timex.h deleted file mode 100644 index 8d4066b16b3f..000000000000 --- a/arch/arm/mach-lpc32xx/include/mach/timex.h +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-lpc32xx/include/mach/timex.h | ||
3 | * | ||
4 | * Author: Kevin Wells <kevin.wells@nxp.com> | ||
5 | * | ||
6 | * Copyright (C) 2010 NXP Semiconductors | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | */ | ||
18 | |||
19 | #ifndef __ASM_ARCH_TIMEX_H | ||
20 | #define __ASM_ARCH_TIMEX_H | ||
21 | |||
22 | /* | ||
23 | * Rate in Hz of the main system oscillator. This value should match | ||
24 | * the value 'MAIN_OSC_FREQ' in platform.h | ||
25 | */ | ||
26 | #define CLOCK_TICK_RATE 13000000 | ||
27 | |||
28 | #endif | ||
diff --git a/arch/arm/mach-mmp/include/mach/timex.h b/arch/arm/mach-mmp/include/mach/timex.h deleted file mode 100644 index 70c9f1d88c02..000000000000 --- a/arch/arm/mach-mmp/include/mach/timex.h +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-mmp/include/mach/timex.h | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | |||
9 | #ifdef CONFIG_CPU_MMP2 | ||
10 | #define CLOCK_TICK_RATE 6500000 | ||
11 | #else | ||
12 | #define CLOCK_TICK_RATE 3250000 | ||
13 | #endif | ||
diff --git a/arch/arm/mach-mmp/time.c b/arch/arm/mach-mmp/time.c index 024022d91fe3..048997e75dd0 100644 --- a/arch/arm/mach-mmp/time.c +++ b/arch/arm/mach-mmp/time.c | |||
@@ -39,6 +39,12 @@ | |||
39 | 39 | ||
40 | #include "clock.h" | 40 | #include "clock.h" |
41 | 41 | ||
42 | #ifdef CONFIG_CPU_MMP2 | ||
43 | #define MMP_CLOCK_FREQ 6500000 | ||
44 | #else | ||
45 | #define MMP_CLOCK_FREQ 3250000 | ||
46 | #endif | ||
47 | |||
42 | #define TIMERS_VIRT_BASE TIMERS1_VIRT_BASE | 48 | #define TIMERS_VIRT_BASE TIMERS1_VIRT_BASE |
43 | 49 | ||
44 | #define MAX_DELTA (0xfffffffe) | 50 | #define MAX_DELTA (0xfffffffe) |
@@ -195,14 +201,14 @@ void __init timer_init(int irq) | |||
195 | { | 201 | { |
196 | timer_config(); | 202 | timer_config(); |
197 | 203 | ||
198 | sched_clock_register(mmp_read_sched_clock, 32, CLOCK_TICK_RATE); | 204 | sched_clock_register(mmp_read_sched_clock, 32, MMP_CLOCK_FREQ); |
199 | 205 | ||
200 | ckevt.cpumask = cpumask_of(0); | 206 | ckevt.cpumask = cpumask_of(0); |
201 | 207 | ||
202 | setup_irq(irq, &timer_irq); | 208 | setup_irq(irq, &timer_irq); |
203 | 209 | ||
204 | clocksource_register_hz(&cksrc, CLOCK_TICK_RATE); | 210 | clocksource_register_hz(&cksrc, MMP_CLOCK_FREQ); |
205 | clockevents_config_and_register(&ckevt, CLOCK_TICK_RATE, | 211 | clockevents_config_and_register(&ckevt, MMP_CLOCK_FREQ, |
206 | MIN_DELTA, MAX_DELTA); | 212 | MIN_DELTA, MAX_DELTA); |
207 | } | 213 | } |
208 | 214 | ||
diff --git a/arch/arm/mach-moxart/Kconfig b/arch/arm/mach-moxart/Kconfig index ba470d64493b..95a6a4b43c37 100644 --- a/arch/arm/mach-moxart/Kconfig +++ b/arch/arm/mach-moxart/Kconfig | |||
@@ -2,15 +2,9 @@ config ARCH_MOXART | |||
2 | bool "MOXA ART SoC" if ARCH_MULTI_V4T | 2 | bool "MOXA ART SoC" if ARCH_MULTI_V4T |
3 | select CPU_FA526 | 3 | select CPU_FA526 |
4 | select ARM_DMA_MEM_BUFFERABLE | 4 | select ARM_DMA_MEM_BUFFERABLE |
5 | select DMA_OF | ||
6 | select USE_OF | ||
7 | select CLKSRC_OF | ||
8 | select CLKSRC_MMIO | 5 | select CLKSRC_MMIO |
9 | select HAVE_CLK | ||
10 | select COMMON_CLK | ||
11 | select GENERIC_IRQ_CHIP | 6 | select GENERIC_IRQ_CHIP |
12 | select ARCH_REQUIRE_GPIOLIB | 7 | select ARCH_REQUIRE_GPIOLIB |
13 | select GENERIC_CLOCKEVENTS | ||
14 | select PHYLIB if NETDEVICES | 8 | select PHYLIB if NETDEVICES |
15 | help | 9 | help |
16 | Say Y here if you want to run your kernel on hardware with a | 10 | Say Y here if you want to run your kernel on hardware with a |
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 9625cf378931..a7f959e58c3d 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig | |||
@@ -1,50 +1,9 @@ | |||
1 | config ARCH_MSM | ||
2 | bool | ||
3 | |||
4 | config ARCH_MSM_DT | ||
5 | bool "Qualcomm MSM DT Support" if ARCH_MULTI_V7 | ||
6 | select ARCH_MSM | ||
7 | select ARCH_REQUIRE_GPIOLIB | ||
8 | select CLKSRC_OF | ||
9 | select GENERIC_CLOCKEVENTS | ||
10 | help | ||
11 | Support for Qualcomm's devicetree based MSM systems. | ||
12 | |||
13 | if ARCH_MSM | 1 | if ARCH_MSM |
14 | 2 | ||
15 | menu "Qualcomm MSM SoC Selection" | ||
16 | depends on ARCH_MSM_DT | ||
17 | |||
18 | config ARCH_MSM8X60 | ||
19 | bool "Enable support for MSM8X60" | ||
20 | select ARM_GIC | ||
21 | select CPU_V7 | ||
22 | select HAVE_SMP | ||
23 | select MSM_SCM if SMP | ||
24 | select MSM_TIMER | ||
25 | |||
26 | config ARCH_MSM8960 | ||
27 | bool "Enable support for MSM8960" | ||
28 | select ARM_GIC | ||
29 | select CPU_V7 | ||
30 | select HAVE_SMP | ||
31 | select MSM_SCM if SMP | ||
32 | select MSM_TIMER | ||
33 | |||
34 | config ARCH_MSM8974 | ||
35 | bool "Enable support for MSM8974" | ||
36 | select ARM_GIC | ||
37 | select CPU_V7 | ||
38 | select HAVE_ARM_ARCH_TIMER | ||
39 | select HAVE_SMP | ||
40 | select MSM_SCM if SMP | ||
41 | |||
42 | endmenu | ||
43 | |||
44 | choice | 3 | choice |
45 | prompt "Qualcomm MSM SoC Type" | 4 | prompt "Qualcomm MSM SoC Type" |
46 | default ARCH_MSM7X00A | 5 | default ARCH_MSM7X00A |
47 | depends on ARCH_MSM_NODT | 6 | depends on ARCH_MSM |
48 | 7 | ||
49 | config ARCH_MSM7X00A | 8 | config ARCH_MSM7X00A |
50 | bool "MSM7x00A / MSM7x01A" | 9 | bool "MSM7x00A / MSM7x01A" |
@@ -54,7 +13,7 @@ config ARCH_MSM7X00A | |||
54 | select MACH_TROUT if !MACH_HALIBUT | 13 | select MACH_TROUT if !MACH_HALIBUT |
55 | select MSM_PROC_COMM | 14 | select MSM_PROC_COMM |
56 | select MSM_SMD | 15 | select MSM_SMD |
57 | select MSM_TIMER | 16 | select CLKSRC_QCOM |
58 | select MSM_SMD_PKG3 | 17 | select MSM_SMD_PKG3 |
59 | 18 | ||
60 | config ARCH_MSM7X30 | 19 | config ARCH_MSM7X30 |
@@ -66,7 +25,7 @@ config ARCH_MSM7X30 | |||
66 | select MSM_GPIOMUX | 25 | select MSM_GPIOMUX |
67 | select MSM_PROC_COMM | 26 | select MSM_PROC_COMM |
68 | select MSM_SMD | 27 | select MSM_SMD |
69 | select MSM_TIMER | 28 | select CLKSRC_QCOM |
70 | select MSM_VIC | 29 | select MSM_VIC |
71 | 30 | ||
72 | config ARCH_QSD8X50 | 31 | config ARCH_QSD8X50 |
@@ -78,7 +37,7 @@ config ARCH_QSD8X50 | |||
78 | select MSM_GPIOMUX | 37 | select MSM_GPIOMUX |
79 | select MSM_PROC_COMM | 38 | select MSM_PROC_COMM |
80 | select MSM_SMD | 39 | select MSM_SMD |
81 | select MSM_TIMER | 40 | select CLKSRC_QCOM |
82 | select MSM_VIC | 41 | select MSM_VIC |
83 | 42 | ||
84 | endchoice | 43 | endchoice |
@@ -99,7 +58,7 @@ config MSM_VIC | |||
99 | bool | 58 | bool |
100 | 59 | ||
101 | menu "Qualcomm MSM Board Type" | 60 | menu "Qualcomm MSM Board Type" |
102 | depends on ARCH_MSM_NODT | 61 | depends on ARCH_MSM |
103 | 62 | ||
104 | config MACH_HALIBUT | 63 | config MACH_HALIBUT |
105 | depends on ARCH_MSM | 64 | depends on ARCH_MSM |
@@ -153,7 +112,4 @@ config MSM_GPIOMUX | |||
153 | config MSM_SCM | 112 | config MSM_SCM |
154 | bool | 113 | bool |
155 | 114 | ||
156 | config MSM_TIMER | ||
157 | bool | ||
158 | |||
159 | endif | 115 | endif |
diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile index 8e307a10d3c3..27c078a568df 100644 --- a/arch/arm/mach-msm/Makefile +++ b/arch/arm/mach-msm/Makefile | |||
@@ -1,4 +1,3 @@ | |||
1 | obj-$(CONFIG_MSM_TIMER) += timer.o | ||
2 | obj-$(CONFIG_MSM_PROC_COMM) += clock.o | 1 | obj-$(CONFIG_MSM_PROC_COMM) += clock.o |
3 | 2 | ||
4 | obj-$(CONFIG_MSM_VIC) += irq-vic.o | 3 | obj-$(CONFIG_MSM_VIC) += irq-vic.o |
@@ -14,18 +13,11 @@ obj-$(CONFIG_ARCH_QSD8X50) += dma.o io.o | |||
14 | 13 | ||
15 | obj-$(CONFIG_MSM_SMD) += smd.o smd_debug.o | 14 | obj-$(CONFIG_MSM_SMD) += smd.o smd_debug.o |
16 | obj-$(CONFIG_MSM_SMD) += last_radio_log.o | 15 | obj-$(CONFIG_MSM_SMD) += last_radio_log.o |
17 | obj-$(CONFIG_MSM_SCM) += scm.o scm-boot.o | ||
18 | |||
19 | CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1) | ||
20 | |||
21 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o | ||
22 | obj-$(CONFIG_SMP) += headsmp.o platsmp.o | ||
23 | 16 | ||
24 | obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o devices-msm7x00.o | 17 | obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o devices-msm7x00.o |
25 | obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o board-trout-panel.o devices-msm7x00.o | 18 | obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o board-trout-panel.o devices-msm7x00.o |
26 | obj-$(CONFIG_MACH_HALIBUT) += board-halibut.o devices-msm7x00.o | 19 | obj-$(CONFIG_MACH_HALIBUT) += board-halibut.o devices-msm7x00.o |
27 | obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o | 20 | obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o |
28 | obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o | 21 | obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o |
29 | obj-$(CONFIG_ARCH_MSM_DT) += board-dt.o | ||
30 | obj-$(CONFIG_MSM_GPIOMUX) += gpiomux.o | 22 | obj-$(CONFIG_MSM_GPIOMUX) += gpiomux.o |
31 | obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-8x50.o | 23 | obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-8x50.o |
diff --git a/arch/arm/mach-msm/common.h b/arch/arm/mach-msm/common.h index 33c7725adae2..0a4899b7d85c 100644 --- a/arch/arm/mach-msm/common.h +++ b/arch/arm/mach-msm/common.h | |||
@@ -24,7 +24,6 @@ extern void __iomem *__msm_ioremap_caller(phys_addr_t phys_addr, size_t size, | |||
24 | unsigned int mtype, void *caller); | 24 | unsigned int mtype, void *caller); |
25 | 25 | ||
26 | extern struct smp_operations msm_smp_ops; | 26 | extern struct smp_operations msm_smp_ops; |
27 | extern void msm_cpu_die(unsigned int cpu); | ||
28 | 27 | ||
29 | struct msm_mmc_platform_data; | 28 | struct msm_mmc_platform_data; |
30 | 29 | ||
diff --git a/arch/arm/mach-msm/headsmp.S b/arch/arm/mach-msm/headsmp.S deleted file mode 100644 index 6c62c3f82fe6..000000000000 --- a/arch/arm/mach-msm/headsmp.S +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/mach-realview/headsmp.S | ||
3 | * | ||
4 | * Copyright (c) 2003 ARM Limited | ||
5 | * All Rights Reserved | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | #include <linux/linkage.h> | ||
12 | #include <linux/init.h> | ||
13 | |||
14 | /* | ||
15 | * MSM specific entry point for secondary CPUs. This provides | ||
16 | * a "holding pen" into which all secondary cores are held until we're | ||
17 | * ready for them to initialise. | ||
18 | */ | ||
19 | ENTRY(msm_secondary_startup) | ||
20 | mrc p15, 0, r0, c0, c0, 5 | ||
21 | and r0, r0, #15 | ||
22 | adr r4, 1f | ||
23 | ldmia r4, {r5, r6} | ||
24 | sub r4, r4, r5 | ||
25 | add r6, r6, r4 | ||
26 | pen: ldr r7, [r6] | ||
27 | cmp r7, r0 | ||
28 | bne pen | ||
29 | |||
30 | /* | ||
31 | * we've been released from the holding pen: secondary_stack | ||
32 | * should now contain the SVC stack for this core | ||
33 | */ | ||
34 | b secondary_startup | ||
35 | ENDPROC(msm_secondary_startup) | ||
36 | |||
37 | .align | ||
38 | 1: .long . | ||
39 | .long pen_release | ||
diff --git a/arch/arm/mach-msm/hotplug.c b/arch/arm/mach-msm/hotplug.c deleted file mode 100644 index 326a87261f9a..000000000000 --- a/arch/arm/mach-msm/hotplug.c +++ /dev/null | |||
@@ -1,74 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2002 ARM Ltd. | ||
3 | * All Rights Reserved | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | #include <linux/kernel.h> | ||
10 | #include <linux/errno.h> | ||
11 | #include <linux/smp.h> | ||
12 | |||
13 | #include <asm/smp_plat.h> | ||
14 | |||
15 | #include "common.h" | ||
16 | |||
17 | static inline void cpu_enter_lowpower(void) | ||
18 | { | ||
19 | } | ||
20 | |||
21 | static inline void cpu_leave_lowpower(void) | ||
22 | { | ||
23 | } | ||
24 | |||
25 | static inline void platform_do_lowpower(unsigned int cpu) | ||
26 | { | ||
27 | /* Just enter wfi for now. TODO: Properly shut off the cpu. */ | ||
28 | for (;;) { | ||
29 | /* | ||
30 | * here's the WFI | ||
31 | */ | ||
32 | asm("wfi" | ||
33 | : | ||
34 | : | ||
35 | : "memory", "cc"); | ||
36 | |||
37 | if (pen_release == cpu_logical_map(cpu)) { | ||
38 | /* | ||
39 | * OK, proper wakeup, we're done | ||
40 | */ | ||
41 | break; | ||
42 | } | ||
43 | |||
44 | /* | ||
45 | * getting here, means that we have come out of WFI without | ||
46 | * having been woken up - this shouldn't happen | ||
47 | * | ||
48 | * The trouble is, letting people know about this is not really | ||
49 | * possible, since we are currently running incoherently, and | ||
50 | * therefore cannot safely call printk() or anything else | ||
51 | */ | ||
52 | pr_debug("CPU%u: spurious wakeup call\n", cpu); | ||
53 | } | ||
54 | } | ||
55 | |||
56 | /* | ||
57 | * platform-specific code to shutdown a CPU | ||
58 | * | ||
59 | * Called with IRQs disabled | ||
60 | */ | ||
61 | void __ref msm_cpu_die(unsigned int cpu) | ||
62 | { | ||
63 | /* | ||
64 | * we're ready for shutdown now, so do it | ||
65 | */ | ||
66 | cpu_enter_lowpower(); | ||
67 | platform_do_lowpower(cpu); | ||
68 | |||
69 | /* | ||
70 | * bring this CPU back into the world of cache | ||
71 | * coherency, and then restore interrupts | ||
72 | */ | ||
73 | cpu_leave_lowpower(); | ||
74 | } | ||
diff --git a/arch/arm/mach-msm/include/mach/timex.h b/arch/arm/mach-msm/include/mach/timex.h deleted file mode 100644 index a62e6b215aec..000000000000 --- a/arch/arm/mach-msm/include/mach/timex.h +++ /dev/null | |||
@@ -1,21 +0,0 @@ | |||
1 | /* arch/arm/mach-msm/include/mach/timex.h | ||
2 | * | ||
3 | * Copyright (C) 2007 Google, Inc. | ||
4 | * | ||
5 | * This software is licensed under the terms of the GNU General Public | ||
6 | * License version 2, as published by the Free Software Foundation, and | ||
7 | * may be copied, distributed, and modified under those terms. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | * | ||
14 | */ | ||
15 | |||
16 | #ifndef __ASM_ARCH_MSM_TIMEX_H | ||
17 | #define __ASM_ARCH_MSM_TIMEX_H | ||
18 | |||
19 | #define CLOCK_TICK_RATE 1000000 | ||
20 | |||
21 | #endif | ||
diff --git a/arch/arm/mach-msm/timer.c b/arch/arm/mach-msm/timer.c deleted file mode 100644 index fd1644987534..000000000000 --- a/arch/arm/mach-msm/timer.c +++ /dev/null | |||
@@ -1,333 +0,0 @@ | |||
1 | /* | ||
2 | * | ||
3 | * Copyright (C) 2007 Google, Inc. | ||
4 | * Copyright (c) 2009-2012, The Linux Foundation. All rights reserved. | ||
5 | * | ||
6 | * This software is licensed under the terms of the GNU General Public | ||
7 | * License version 2, as published by the Free Software Foundation, and | ||
8 | * may be copied, distributed, and modified under those terms. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | */ | ||
16 | |||
17 | #include <linux/clocksource.h> | ||
18 | #include <linux/clockchips.h> | ||
19 | #include <linux/cpu.h> | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/interrupt.h> | ||
22 | #include <linux/irq.h> | ||
23 | #include <linux/io.h> | ||
24 | #include <linux/of.h> | ||
25 | #include <linux/of_address.h> | ||
26 | #include <linux/of_irq.h> | ||
27 | #include <linux/sched_clock.h> | ||
28 | |||
29 | #include <asm/mach/time.h> | ||
30 | |||
31 | #include "common.h" | ||
32 | |||
33 | #define TIMER_MATCH_VAL 0x0000 | ||
34 | #define TIMER_COUNT_VAL 0x0004 | ||
35 | #define TIMER_ENABLE 0x0008 | ||
36 | #define TIMER_ENABLE_CLR_ON_MATCH_EN BIT(1) | ||
37 | #define TIMER_ENABLE_EN BIT(0) | ||
38 | #define TIMER_CLEAR 0x000C | ||
39 | #define DGT_CLK_CTL 0x10 | ||
40 | #define DGT_CLK_CTL_DIV_4 0x3 | ||
41 | #define TIMER_STS_GPT0_CLR_PEND BIT(10) | ||
42 | |||
43 | #define GPT_HZ 32768 | ||
44 | |||
45 | #define MSM_DGT_SHIFT 5 | ||
46 | |||
47 | static void __iomem *event_base; | ||
48 | static void __iomem *sts_base; | ||
49 | |||
50 | static irqreturn_t msm_timer_interrupt(int irq, void *dev_id) | ||
51 | { | ||
52 | struct clock_event_device *evt = dev_id; | ||
53 | /* Stop the timer tick */ | ||
54 | if (evt->mode == CLOCK_EVT_MODE_ONESHOT) { | ||
55 | u32 ctrl = readl_relaxed(event_base + TIMER_ENABLE); | ||
56 | ctrl &= ~TIMER_ENABLE_EN; | ||
57 | writel_relaxed(ctrl, event_base + TIMER_ENABLE); | ||
58 | } | ||
59 | evt->event_handler(evt); | ||
60 | return IRQ_HANDLED; | ||
61 | } | ||
62 | |||
63 | static int msm_timer_set_next_event(unsigned long cycles, | ||
64 | struct clock_event_device *evt) | ||
65 | { | ||
66 | u32 ctrl = readl_relaxed(event_base + TIMER_ENABLE); | ||
67 | |||
68 | ctrl &= ~TIMER_ENABLE_EN; | ||
69 | writel_relaxed(ctrl, event_base + TIMER_ENABLE); | ||
70 | |||
71 | writel_relaxed(ctrl, event_base + TIMER_CLEAR); | ||
72 | writel_relaxed(cycles, event_base + TIMER_MATCH_VAL); | ||
73 | |||
74 | if (sts_base) | ||
75 | while (readl_relaxed(sts_base) & TIMER_STS_GPT0_CLR_PEND) | ||
76 | cpu_relax(); | ||
77 | |||
78 | writel_relaxed(ctrl | TIMER_ENABLE_EN, event_base + TIMER_ENABLE); | ||
79 | return 0; | ||
80 | } | ||
81 | |||
82 | static void msm_timer_set_mode(enum clock_event_mode mode, | ||
83 | struct clock_event_device *evt) | ||
84 | { | ||
85 | u32 ctrl; | ||
86 | |||
87 | ctrl = readl_relaxed(event_base + TIMER_ENABLE); | ||
88 | ctrl &= ~(TIMER_ENABLE_EN | TIMER_ENABLE_CLR_ON_MATCH_EN); | ||
89 | |||
90 | switch (mode) { | ||
91 | case CLOCK_EVT_MODE_RESUME: | ||
92 | case CLOCK_EVT_MODE_PERIODIC: | ||
93 | break; | ||
94 | case CLOCK_EVT_MODE_ONESHOT: | ||
95 | /* Timer is enabled in set_next_event */ | ||
96 | break; | ||
97 | case CLOCK_EVT_MODE_UNUSED: | ||
98 | case CLOCK_EVT_MODE_SHUTDOWN: | ||
99 | break; | ||
100 | } | ||
101 | writel_relaxed(ctrl, event_base + TIMER_ENABLE); | ||
102 | } | ||
103 | |||
104 | static struct clock_event_device __percpu *msm_evt; | ||
105 | |||
106 | static void __iomem *source_base; | ||
107 | |||
108 | static notrace cycle_t msm_read_timer_count(struct clocksource *cs) | ||
109 | { | ||
110 | return readl_relaxed(source_base + TIMER_COUNT_VAL); | ||
111 | } | ||
112 | |||
113 | static notrace cycle_t msm_read_timer_count_shift(struct clocksource *cs) | ||
114 | { | ||
115 | /* | ||
116 | * Shift timer count down by a constant due to unreliable lower bits | ||
117 | * on some targets. | ||
118 | */ | ||
119 | return msm_read_timer_count(cs) >> MSM_DGT_SHIFT; | ||
120 | } | ||
121 | |||
122 | static struct clocksource msm_clocksource = { | ||
123 | .name = "dg_timer", | ||
124 | .rating = 300, | ||
125 | .read = msm_read_timer_count, | ||
126 | .mask = CLOCKSOURCE_MASK(32), | ||
127 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, | ||
128 | }; | ||
129 | |||
130 | static int msm_timer_irq; | ||
131 | static int msm_timer_has_ppi; | ||
132 | |||
133 | static int msm_local_timer_setup(struct clock_event_device *evt) | ||
134 | { | ||
135 | int cpu = smp_processor_id(); | ||
136 | int err; | ||
137 | |||
138 | evt->irq = msm_timer_irq; | ||
139 | evt->name = "msm_timer"; | ||
140 | evt->features = CLOCK_EVT_FEAT_ONESHOT; | ||
141 | evt->rating = 200; | ||
142 | evt->set_mode = msm_timer_set_mode; | ||
143 | evt->set_next_event = msm_timer_set_next_event; | ||
144 | evt->cpumask = cpumask_of(cpu); | ||
145 | |||
146 | clockevents_config_and_register(evt, GPT_HZ, 4, 0xffffffff); | ||
147 | |||
148 | if (msm_timer_has_ppi) { | ||
149 | enable_percpu_irq(evt->irq, IRQ_TYPE_EDGE_RISING); | ||
150 | } else { | ||
151 | err = request_irq(evt->irq, msm_timer_interrupt, | ||
152 | IRQF_TIMER | IRQF_NOBALANCING | | ||
153 | IRQF_TRIGGER_RISING, "gp_timer", evt); | ||
154 | if (err) | ||
155 | pr_err("request_irq failed\n"); | ||
156 | } | ||
157 | |||
158 | return 0; | ||
159 | } | ||
160 | |||
161 | static void msm_local_timer_stop(struct clock_event_device *evt) | ||
162 | { | ||
163 | evt->set_mode(CLOCK_EVT_MODE_UNUSED, evt); | ||
164 | disable_percpu_irq(evt->irq); | ||
165 | } | ||
166 | |||
167 | static int msm_timer_cpu_notify(struct notifier_block *self, | ||
168 | unsigned long action, void *hcpu) | ||
169 | { | ||
170 | /* | ||
171 | * Grab cpu pointer in each case to avoid spurious | ||
172 | * preemptible warnings | ||
173 | */ | ||
174 | switch (action & ~CPU_TASKS_FROZEN) { | ||
175 | case CPU_STARTING: | ||
176 | msm_local_timer_setup(this_cpu_ptr(msm_evt)); | ||
177 | break; | ||
178 | case CPU_DYING: | ||
179 | msm_local_timer_stop(this_cpu_ptr(msm_evt)); | ||
180 | break; | ||
181 | } | ||
182 | |||
183 | return NOTIFY_OK; | ||
184 | } | ||
185 | |||
186 | static struct notifier_block msm_timer_cpu_nb = { | ||
187 | .notifier_call = msm_timer_cpu_notify, | ||
188 | }; | ||
189 | |||
190 | static u64 notrace msm_sched_clock_read(void) | ||
191 | { | ||
192 | return msm_clocksource.read(&msm_clocksource); | ||
193 | } | ||
194 | |||
195 | static void __init msm_timer_init(u32 dgt_hz, int sched_bits, int irq, | ||
196 | bool percpu) | ||
197 | { | ||
198 | struct clocksource *cs = &msm_clocksource; | ||
199 | int res = 0; | ||
200 | |||
201 | msm_timer_irq = irq; | ||
202 | msm_timer_has_ppi = percpu; | ||
203 | |||
204 | msm_evt = alloc_percpu(struct clock_event_device); | ||
205 | if (!msm_evt) { | ||
206 | pr_err("memory allocation failed for clockevents\n"); | ||
207 | goto err; | ||
208 | } | ||
209 | |||
210 | if (percpu) | ||
211 | res = request_percpu_irq(irq, msm_timer_interrupt, | ||
212 | "gp_timer", msm_evt); | ||
213 | |||
214 | if (res) { | ||
215 | pr_err("request_percpu_irq failed\n"); | ||
216 | } else { | ||
217 | res = register_cpu_notifier(&msm_timer_cpu_nb); | ||
218 | if (res) { | ||
219 | free_percpu_irq(irq, msm_evt); | ||
220 | goto err; | ||
221 | } | ||
222 | |||
223 | /* Immediately configure the timer on the boot CPU */ | ||
224 | msm_local_timer_setup(__this_cpu_ptr(msm_evt)); | ||
225 | } | ||
226 | |||
227 | err: | ||
228 | writel_relaxed(TIMER_ENABLE_EN, source_base + TIMER_ENABLE); | ||
229 | res = clocksource_register_hz(cs, dgt_hz); | ||
230 | if (res) | ||
231 | pr_err("clocksource_register failed\n"); | ||
232 | sched_clock_register(msm_sched_clock_read, sched_bits, dgt_hz); | ||
233 | } | ||
234 | |||
235 | #ifdef CONFIG_OF | ||
236 | static void __init msm_dt_timer_init(struct device_node *np) | ||
237 | { | ||
238 | u32 freq; | ||
239 | int irq; | ||
240 | struct resource res; | ||
241 | u32 percpu_offset; | ||
242 | void __iomem *base; | ||
243 | void __iomem *cpu0_base; | ||
244 | |||
245 | base = of_iomap(np, 0); | ||
246 | if (!base) { | ||
247 | pr_err("Failed to map event base\n"); | ||
248 | return; | ||
249 | } | ||
250 | |||
251 | /* We use GPT0 for the clockevent */ | ||
252 | irq = irq_of_parse_and_map(np, 1); | ||
253 | if (irq <= 0) { | ||
254 | pr_err("Can't get irq\n"); | ||
255 | return; | ||
256 | } | ||
257 | |||
258 | /* We use CPU0's DGT for the clocksource */ | ||
259 | if (of_property_read_u32(np, "cpu-offset", &percpu_offset)) | ||
260 | percpu_offset = 0; | ||
261 | |||
262 | if (of_address_to_resource(np, 0, &res)) { | ||
263 | pr_err("Failed to parse DGT resource\n"); | ||
264 | return; | ||
265 | } | ||
266 | |||
267 | cpu0_base = ioremap(res.start + percpu_offset, resource_size(&res)); | ||
268 | if (!cpu0_base) { | ||
269 | pr_err("Failed to map source base\n"); | ||
270 | return; | ||
271 | } | ||
272 | |||
273 | if (of_property_read_u32(np, "clock-frequency", &freq)) { | ||
274 | pr_err("Unknown frequency\n"); | ||
275 | return; | ||
276 | } | ||
277 | |||
278 | event_base = base + 0x4; | ||
279 | sts_base = base + 0x88; | ||
280 | source_base = cpu0_base + 0x24; | ||
281 | freq /= 4; | ||
282 | writel_relaxed(DGT_CLK_CTL_DIV_4, source_base + DGT_CLK_CTL); | ||
283 | |||
284 | msm_timer_init(freq, 32, irq, !!percpu_offset); | ||
285 | } | ||
286 | CLOCKSOURCE_OF_DECLARE(kpss_timer, "qcom,kpss-timer", msm_dt_timer_init); | ||
287 | CLOCKSOURCE_OF_DECLARE(scss_timer, "qcom,scss-timer", msm_dt_timer_init); | ||
288 | #endif | ||
289 | |||
290 | static int __init msm_timer_map(phys_addr_t addr, u32 event, u32 source, | ||
291 | u32 sts) | ||
292 | { | ||
293 | void __iomem *base; | ||
294 | |||
295 | base = ioremap(addr, SZ_256); | ||
296 | if (!base) { | ||
297 | pr_err("Failed to map timer base\n"); | ||
298 | return -ENOMEM; | ||
299 | } | ||
300 | event_base = base + event; | ||
301 | source_base = base + source; | ||
302 | if (sts) | ||
303 | sts_base = base + sts; | ||
304 | |||
305 | return 0; | ||
306 | } | ||
307 | |||
308 | void __init msm7x01_timer_init(void) | ||
309 | { | ||
310 | struct clocksource *cs = &msm_clocksource; | ||
311 | |||
312 | if (msm_timer_map(0xc0100000, 0x0, 0x10, 0x0)) | ||
313 | return; | ||
314 | cs->read = msm_read_timer_count_shift; | ||
315 | cs->mask = CLOCKSOURCE_MASK((32 - MSM_DGT_SHIFT)); | ||
316 | /* 600 KHz */ | ||
317 | msm_timer_init(19200000 >> MSM_DGT_SHIFT, 32 - MSM_DGT_SHIFT, 7, | ||
318 | false); | ||
319 | } | ||
320 | |||
321 | void __init msm7x30_timer_init(void) | ||
322 | { | ||
323 | if (msm_timer_map(0xc0100000, 0x4, 0x24, 0x80)) | ||
324 | return; | ||
325 | msm_timer_init(24576000 / 4, 32, 1, false); | ||
326 | } | ||
327 | |||
328 | void __init qsd8x50_timer_init(void) | ||
329 | { | ||
330 | if (msm_timer_map(0xAC100000, 0x0, 0x10, 0x34)) | ||
331 | return; | ||
332 | msm_timer_init(19200000 / 4, 32, 7, false); | ||
333 | } | ||
diff --git a/arch/arm/mach-mv78xx0/include/mach/timex.h b/arch/arm/mach-mv78xx0/include/mach/timex.h deleted file mode 100644 index 0e8c443c723a..000000000000 --- a/arch/arm/mach-mv78xx0/include/mach/timex.h +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-mv78xx0/include/mach/timex.h | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | #define CLOCK_TICK_RATE (100 * HZ) | ||
diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index 5e269d7263ce..875a35263dc3 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig | |||
@@ -2,15 +2,10 @@ config ARCH_MVEBU | |||
2 | bool "Marvell SOCs with Device Tree support" if ARCH_MULTI_V7 | 2 | bool "Marvell SOCs with Device Tree support" if ARCH_MULTI_V7 |
3 | select ARCH_SUPPORTS_BIG_ENDIAN | 3 | select ARCH_SUPPORTS_BIG_ENDIAN |
4 | select CLKSRC_MMIO | 4 | select CLKSRC_MMIO |
5 | select COMMON_CLK | ||
6 | select GENERIC_CLOCKEVENTS | ||
7 | select GENERIC_IRQ_CHIP | 5 | select GENERIC_IRQ_CHIP |
8 | select IRQ_DOMAIN | 6 | select IRQ_DOMAIN |
9 | select MULTI_IRQ_HANDLER | ||
10 | select PINCTRL | 7 | select PINCTRL |
11 | select PLAT_ORION | 8 | select PLAT_ORION |
12 | select SPARSE_IRQ | ||
13 | select CLKDEV_LOOKUP | ||
14 | select MVEBU_MBUS | 9 | select MVEBU_MBUS |
15 | select ZONE_DMA if ARM_LPAE | 10 | select ZONE_DMA if ARM_LPAE |
16 | select ARCH_REQUIRE_GPIOLIB | 11 | select ARCH_REQUIRE_GPIOLIB |
@@ -24,7 +19,6 @@ menu "Marvell SOC with device tree" | |||
24 | config MACH_ARMADA_370_XP | 19 | config MACH_ARMADA_370_XP |
25 | bool | 20 | bool |
26 | select ARMADA_370_XP_TIMER | 21 | select ARMADA_370_XP_TIMER |
27 | select HAVE_SMP | ||
28 | select CACHE_L2X0 | 22 | select CACHE_L2X0 |
29 | select CPU_PJ4B | 23 | select CPU_PJ4B |
30 | 24 | ||
diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile index 878aebe98dcc..d99846103bbb 100644 --- a/arch/arm/mach-mvebu/Makefile +++ b/arch/arm/mach-mvebu/Makefile | |||
@@ -3,8 +3,7 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \ | |||
3 | 3 | ||
4 | AFLAGS_coherency_ll.o := -Wa,-march=armv7-a | 4 | AFLAGS_coherency_ll.o := -Wa,-march=armv7-a |
5 | 5 | ||
6 | obj-y += system-controller.o mvebu-soc-id.o | 6 | obj-y += coherency.o coherency_ll.o pmsu.o system-controller.o mvebu-soc-id.o |
7 | obj-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-xp.o | 7 | obj-$(CONFIG_MACH_ARMADA_370_XP) += armada-370-xp.o |
8 | obj-$(CONFIG_ARCH_MVEBU) += coherency.o coherency_ll.o pmsu.o | ||
9 | obj-$(CONFIG_SMP) += platsmp.o headsmp.o | 8 | obj-$(CONFIG_SMP) += platsmp.o headsmp.o |
10 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o | 9 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o |
diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c index f6c9d1d85c14..161cf2f54220 100644 --- a/arch/arm/mach-mvebu/armada-370-xp.c +++ b/arch/arm/mach-mvebu/armada-370-xp.c | |||
@@ -31,11 +31,6 @@ | |||
31 | #include "coherency.h" | 31 | #include "coherency.h" |
32 | #include "mvebu-soc-id.h" | 32 | #include "mvebu-soc-id.h" |
33 | 33 | ||
34 | static void __init armada_370_xp_map_io(void) | ||
35 | { | ||
36 | debug_ll_io_init(); | ||
37 | } | ||
38 | |||
39 | static void __init armada_370_xp_timer_and_clk_init(void) | 34 | static void __init armada_370_xp_timer_and_clk_init(void) |
40 | { | 35 | { |
41 | of_clk_init(NULL); | 36 | of_clk_init(NULL); |
@@ -90,7 +85,6 @@ static const char * const armada_370_xp_dt_compat[] = { | |||
90 | DT_MACHINE_START(ARMADA_XP_DT, "Marvell Armada 370/XP (Device Tree)") | 85 | DT_MACHINE_START(ARMADA_XP_DT, "Marvell Armada 370/XP (Device Tree)") |
91 | .smp = smp_ops(armada_xp_smp_ops), | 86 | .smp = smp_ops(armada_xp_smp_ops), |
92 | .init_machine = armada_370_xp_dt_init, | 87 | .init_machine = armada_370_xp_dt_init, |
93 | .map_io = armada_370_xp_map_io, | ||
94 | .init_time = armada_370_xp_timer_and_clk_init, | 88 | .init_time = armada_370_xp_timer_and_clk_init, |
95 | .restart = mvebu_restart, | 89 | .restart = mvebu_restart, |
96 | .dt_compat = armada_370_xp_dt_compat, | 90 | .dt_compat = armada_370_xp_dt_compat, |
diff --git a/arch/arm/mach-mvebu/system-controller.c b/arch/arm/mach-mvebu/system-controller.c index a7fb89a5b5d9..e6e300afe836 100644 --- a/arch/arm/mach-mvebu/system-controller.c +++ b/arch/arm/mach-mvebu/system-controller.c | |||
@@ -54,7 +54,7 @@ static const struct mvebu_system_controller orion_system_controller = { | |||
54 | .system_soft_reset = 0x1, | 54 | .system_soft_reset = 0x1, |
55 | }; | 55 | }; |
56 | 56 | ||
57 | static struct of_device_id of_system_controller_table[] = { | 57 | static const struct of_device_id of_system_controller_table[] = { |
58 | { | 58 | { |
59 | .compatible = "marvell,orion-system-controller", | 59 | .compatible = "marvell,orion-system-controller", |
60 | .data = (void *) &orion_system_controller, | 60 | .data = (void *) &orion_system_controller, |
@@ -90,13 +90,12 @@ void mvebu_restart(enum reboot_mode mode, const char *cmd) | |||
90 | 90 | ||
91 | static int __init mvebu_system_controller_init(void) | 91 | static int __init mvebu_system_controller_init(void) |
92 | { | 92 | { |
93 | const struct of_device_id *match; | ||
93 | struct device_node *np; | 94 | struct device_node *np; |
94 | 95 | ||
95 | np = of_find_matching_node(NULL, of_system_controller_table); | 96 | np = of_find_matching_node_and_match(NULL, of_system_controller_table, |
97 | &match); | ||
96 | if (np) { | 98 | if (np) { |
97 | const struct of_device_id *match = | ||
98 | of_match_node(of_system_controller_table, np); | ||
99 | BUG_ON(!match); | ||
100 | system_controller_base = of_iomap(np, 0); | 99 | system_controller_base = of_iomap(np, 0); |
101 | mvebu_sc = (struct mvebu_system_controller *)match->data; | 100 | mvebu_sc = (struct mvebu_system_controller *)match->data; |
102 | of_node_put(np); | 101 | of_node_put(np); |
diff --git a/arch/arm/mach-mxs/Kconfig b/arch/arm/mach-mxs/Kconfig index 8cde9e05b5d6..84794137b175 100644 --- a/arch/arm/mach-mxs/Kconfig +++ b/arch/arm/mach-mxs/Kconfig | |||
@@ -16,11 +16,7 @@ config ARCH_MXS | |||
16 | bool "Freescale MXS (i.MX23, i.MX28) support" | 16 | bool "Freescale MXS (i.MX23, i.MX28) support" |
17 | depends on ARCH_MULTI_V5 | 17 | depends on ARCH_MULTI_V5 |
18 | select ARCH_REQUIRE_GPIOLIB | 18 | select ARCH_REQUIRE_GPIOLIB |
19 | select CLKDEV_LOOKUP | ||
20 | select CLKSRC_MMIO | 19 | select CLKSRC_MMIO |
21 | select CLKSRC_OF | ||
22 | select GENERIC_CLOCKEVENTS | ||
23 | select HAVE_CLK_PREPARE | ||
24 | select PINCTRL | 20 | select PINCTRL |
25 | select SOC_BUS | 21 | select SOC_BUS |
26 | select SOC_IMX23 | 22 | select SOC_IMX23 |
diff --git a/arch/arm/mach-netx/include/mach/timex.h b/arch/arm/mach-netx/include/mach/timex.h deleted file mode 100644 index 1120dd0ba393..000000000000 --- a/arch/arm/mach-netx/include/mach/timex.h +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-netx/include/mach/timex.h | ||
3 | * | ||
4 | * Copyright (C) 2005 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 | ||
8 | * as published by the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | * GNU General Public License for more details. | ||
14 | * | ||
15 | * You should have received a copy of the GNU General Public License | ||
16 | * along with this program; if not, write to the Free Software | ||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
18 | */ | ||
19 | |||
20 | #define CLOCK_TICK_RATE 100000000 | ||
diff --git a/arch/arm/mach-netx/time.c b/arch/arm/mach-netx/time.c index 6df42e643031..e2346013e227 100644 --- a/arch/arm/mach-netx/time.c +++ b/arch/arm/mach-netx/time.c | |||
@@ -28,6 +28,9 @@ | |||
28 | #include <asm/mach/time.h> | 28 | #include <asm/mach/time.h> |
29 | #include <mach/netx-regs.h> | 29 | #include <mach/netx-regs.h> |
30 | 30 | ||
31 | #define NETX_CLOCK_FREQ 100000000 | ||
32 | #define NETX_LATCH DIV_ROUND_CLOSEST(NETX_CLOCK_FREQ, HZ) | ||
33 | |||
31 | #define TIMER_CLOCKEVENT 0 | 34 | #define TIMER_CLOCKEVENT 0 |
32 | #define TIMER_CLOCKSOURCE 1 | 35 | #define TIMER_CLOCKSOURCE 1 |
33 | 36 | ||
@@ -41,7 +44,7 @@ static void netx_set_mode(enum clock_event_mode mode, | |||
41 | 44 | ||
42 | switch (mode) { | 45 | switch (mode) { |
43 | case CLOCK_EVT_MODE_PERIODIC: | 46 | case CLOCK_EVT_MODE_PERIODIC: |
44 | writel(LATCH, NETX_GPIO_COUNTER_MAX(TIMER_CLOCKEVENT)); | 47 | writel(NETX_LATCH, NETX_GPIO_COUNTER_MAX(TIMER_CLOCKEVENT)); |
45 | tmode = NETX_GPIO_COUNTER_CTRL_RST_EN | | 48 | tmode = NETX_GPIO_COUNTER_CTRL_RST_EN | |
46 | NETX_GPIO_COUNTER_CTRL_IRQ_EN | | 49 | NETX_GPIO_COUNTER_CTRL_IRQ_EN | |
47 | NETX_GPIO_COUNTER_CTRL_RUN; | 50 | NETX_GPIO_COUNTER_CTRL_RUN; |
@@ -114,7 +117,7 @@ void __init netx_timer_init(void) | |||
114 | /* Reset the timer value to zero */ | 117 | /* Reset the timer value to zero */ |
115 | writel(0, NETX_GPIO_COUNTER_CURRENT(0)); | 118 | writel(0, NETX_GPIO_COUNTER_CURRENT(0)); |
116 | 119 | ||
117 | writel(LATCH, NETX_GPIO_COUNTER_MAX(0)); | 120 | writel(NETX_LATCH, NETX_GPIO_COUNTER_MAX(0)); |
118 | 121 | ||
119 | /* acknowledge interrupt */ | 122 | /* acknowledge interrupt */ |
120 | writel(COUNTER_BIT(0), NETX_GPIO_IRQ); | 123 | writel(COUNTER_BIT(0), NETX_GPIO_IRQ); |
@@ -137,11 +140,11 @@ void __init netx_timer_init(void) | |||
137 | NETX_GPIO_COUNTER_CTRL(TIMER_CLOCKSOURCE)); | 140 | NETX_GPIO_COUNTER_CTRL(TIMER_CLOCKSOURCE)); |
138 | 141 | ||
139 | clocksource_mmio_init(NETX_GPIO_COUNTER_CURRENT(TIMER_CLOCKSOURCE), | 142 | clocksource_mmio_init(NETX_GPIO_COUNTER_CURRENT(TIMER_CLOCKSOURCE), |
140 | "netx_timer", CLOCK_TICK_RATE, 200, 32, clocksource_mmio_readl_up); | 143 | "netx_timer", NETX_CLOCK_FREQ, 200, 32, clocksource_mmio_readl_up); |
141 | 144 | ||
142 | /* with max_delta_ns >= delta2ns(0x800) the system currently runs fine. | 145 | /* with max_delta_ns >= delta2ns(0x800) the system currently runs fine. |
143 | * Adding some safety ... */ | 146 | * Adding some safety ... */ |
144 | netx_clockevent.cpumask = cpumask_of(0); | 147 | netx_clockevent.cpumask = cpumask_of(0); |
145 | clockevents_config_and_register(&netx_clockevent, CLOCK_TICK_RATE, | 148 | clockevents_config_and_register(&netx_clockevent, NETX_CLOCK_FREQ, |
146 | 0xa00, 0xfffffffe); | 149 | 0xa00, 0xfffffffe); |
147 | } | 150 | } |
diff --git a/arch/arm/mach-nomadik/Kconfig b/arch/arm/mach-nomadik/Kconfig index 4d42da49753c..486d301f43fd 100644 --- a/arch/arm/mach-nomadik/Kconfig +++ b/arch/arm/mach-nomadik/Kconfig | |||
@@ -6,16 +6,11 @@ config ARCH_NOMADIK | |||
6 | select ARM_VIC | 6 | select ARM_VIC |
7 | select CLKSRC_NOMADIK_MTU | 7 | select CLKSRC_NOMADIK_MTU |
8 | select CLKSRC_NOMADIK_MTU_SCHED_CLOCK | 8 | select CLKSRC_NOMADIK_MTU_SCHED_CLOCK |
9 | select CLKSRC_OF | ||
10 | select COMMON_CLK | ||
11 | select CPU_ARM926T | 9 | select CPU_ARM926T |
12 | select GENERIC_CLOCKEVENTS | ||
13 | select MIGHT_HAVE_CACHE_L2X0 | 10 | select MIGHT_HAVE_CACHE_L2X0 |
14 | select PINCTRL | 11 | select PINCTRL |
15 | select PINCTRL_NOMADIK | 12 | select PINCTRL_NOMADIK |
16 | select PINCTRL_STN8815 | 13 | select PINCTRL_STN8815 |
17 | select SPARSE_IRQ | ||
18 | select USE_OF | ||
19 | help | 14 | help |
20 | Support for the Nomadik platform by ST-Ericsson | 15 | Support for the Nomadik platform by ST-Ericsson |
21 | 16 | ||
diff --git a/arch/arm/mach-nspire/Kconfig b/arch/arm/mach-nspire/Kconfig index 59d8f0a70919..bc41f26c1a12 100644 --- a/arch/arm/mach-nspire/Kconfig +++ b/arch/arm/mach-nspire/Kconfig | |||
@@ -3,14 +3,9 @@ config ARCH_NSPIRE | |||
3 | depends on ARCH_MULTI_V4_V5 | 3 | depends on ARCH_MULTI_V4_V5 |
4 | depends on MMU | 4 | depends on MMU |
5 | select CPU_ARM926T | 5 | select CPU_ARM926T |
6 | select COMMON_CLK | ||
7 | select GENERIC_CLOCKEVENTS | ||
8 | select GENERIC_IRQ_CHIP | 6 | select GENERIC_IRQ_CHIP |
9 | select SPARSE_IRQ | ||
10 | select ARM_AMBA | 7 | select ARM_AMBA |
11 | select ARM_VIC | 8 | select ARM_VIC |
12 | select ARM_TIMER_SP804 | 9 | select ARM_TIMER_SP804 |
13 | select USE_OF | ||
14 | select CLKSRC_OF | ||
15 | help | 10 | help |
16 | This enables support for systems using the TI-NSPIRE CPU | 11 | This enables support for systems using the TI-NSPIRE CPU |
diff --git a/arch/arm/mach-omap1/include/mach/timex.h b/arch/arm/mach-omap1/include/mach/timex.h deleted file mode 100644 index 4793790d53cc..000000000000 --- a/arch/arm/mach-omap1/include/mach/timex.h +++ /dev/null | |||
@@ -1,5 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-omap1/include/mach/timex.h | ||
3 | */ | ||
4 | |||
5 | #include <plat/timex.h> | ||
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 653b489479e0..922cbd8e3519 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -6,7 +6,6 @@ config ARCH_OMAP2 | |||
6 | depends on ARCH_MULTI_V6 | 6 | depends on ARCH_MULTI_V6 |
7 | select ARCH_OMAP2PLUS | 7 | select ARCH_OMAP2PLUS |
8 | select CPU_V6 | 8 | select CPU_V6 |
9 | select MULTI_IRQ_HANDLER | ||
10 | select SOC_HAS_OMAP2_SDRC | 9 | select SOC_HAS_OMAP2_SDRC |
11 | 10 | ||
12 | config ARCH_OMAP3 | 11 | config ARCH_OMAP3 |
@@ -15,8 +14,6 @@ config ARCH_OMAP3 | |||
15 | select ARCH_OMAP2PLUS | 14 | select ARCH_OMAP2PLUS |
16 | select ARCH_HAS_OPP | 15 | select ARCH_HAS_OPP |
17 | select ARM_CPU_SUSPEND if PM | 16 | select ARM_CPU_SUSPEND if PM |
18 | select CPU_V7 | ||
19 | select MULTI_IRQ_HANDLER | ||
20 | select OMAP_INTERCONNECT | 17 | select OMAP_INTERCONNECT |
21 | select PM_OPP if PM | 18 | select PM_OPP if PM |
22 | select PM_RUNTIME if CPU_IDLE | 19 | select PM_RUNTIME if CPU_IDLE |
@@ -33,10 +30,8 @@ config ARCH_OMAP4 | |||
33 | select ARM_ERRATA_720789 | 30 | select ARM_ERRATA_720789 |
34 | select ARM_GIC | 31 | select ARM_GIC |
35 | select CACHE_L2X0 | 32 | select CACHE_L2X0 |
36 | select CPU_V7 | ||
37 | select HAVE_ARM_SCU if SMP | 33 | select HAVE_ARM_SCU if SMP |
38 | select HAVE_ARM_TWD if SMP | 34 | select HAVE_ARM_TWD if SMP |
39 | select HAVE_SMP | ||
40 | select OMAP_INTERCONNECT | 35 | select OMAP_INTERCONNECT |
41 | select PL310_ERRATA_588369 | 36 | select PL310_ERRATA_588369 |
42 | select PL310_ERRATA_727915 | 37 | select PL310_ERRATA_727915 |
@@ -52,10 +47,8 @@ config SOC_OMAP5 | |||
52 | select ARCH_OMAP2PLUS | 47 | select ARCH_OMAP2PLUS |
53 | select ARM_CPU_SUSPEND if PM | 48 | select ARM_CPU_SUSPEND if PM |
54 | select ARM_GIC | 49 | select ARM_GIC |
55 | select CPU_V7 | ||
56 | select HAVE_ARM_SCU if SMP | 50 | select HAVE_ARM_SCU if SMP |
57 | select HAVE_ARM_TWD if LOCAL_TIMERS | 51 | select HAVE_ARM_TWD if SMP |
58 | select HAVE_SMP | ||
59 | select HAVE_ARM_ARCH_TIMER | 52 | select HAVE_ARM_ARCH_TIMER |
60 | select ARM_ERRATA_798181 if SMP | 53 | select ARM_ERRATA_798181 if SMP |
61 | 54 | ||
@@ -64,15 +57,11 @@ config SOC_AM33XX | |||
64 | depends on ARCH_MULTI_V7 | 57 | depends on ARCH_MULTI_V7 |
65 | select ARCH_OMAP2PLUS | 58 | select ARCH_OMAP2PLUS |
66 | select ARM_CPU_SUSPEND if PM | 59 | select ARM_CPU_SUSPEND if PM |
67 | select CPU_V7 | ||
68 | select MULTI_IRQ_HANDLER | ||
69 | 60 | ||
70 | config SOC_AM43XX | 61 | config SOC_AM43XX |
71 | bool "TI AM43x" | 62 | bool "TI AM43x" |
72 | depends on ARCH_MULTI_V7 | 63 | depends on ARCH_MULTI_V7 |
73 | select CPU_V7 | ||
74 | select ARCH_OMAP2PLUS | 64 | select ARCH_OMAP2PLUS |
75 | select MULTI_IRQ_HANDLER | ||
76 | select ARM_GIC | 65 | select ARM_GIC |
77 | select MACH_OMAP_GENERIC | 66 | select MACH_OMAP_GENERIC |
78 | 67 | ||
@@ -82,8 +71,6 @@ config SOC_DRA7XX | |||
82 | select ARCH_OMAP2PLUS | 71 | select ARCH_OMAP2PLUS |
83 | select ARM_CPU_SUSPEND if PM | 72 | select ARM_CPU_SUSPEND if PM |
84 | select ARM_GIC | 73 | select ARM_GIC |
85 | select CPU_V7 | ||
86 | select HAVE_SMP | ||
87 | select HAVE_ARM_ARCH_TIMER | 74 | select HAVE_ARM_ARCH_TIMER |
88 | 75 | ||
89 | config ARCH_OMAP2PLUS | 76 | config ARCH_OMAP2PLUS |
@@ -94,17 +81,13 @@ config ARCH_OMAP2PLUS | |||
94 | select ARCH_OMAP | 81 | select ARCH_OMAP |
95 | select ARCH_REQUIRE_GPIOLIB | 82 | select ARCH_REQUIRE_GPIOLIB |
96 | select CLKSRC_MMIO | 83 | select CLKSRC_MMIO |
97 | select COMMON_CLK | ||
98 | select GENERIC_CLOCKEVENTS | ||
99 | select GENERIC_IRQ_CHIP | 84 | select GENERIC_IRQ_CHIP |
100 | select MACH_OMAP_GENERIC | 85 | select MACH_OMAP_GENERIC |
101 | select OMAP_DM_TIMER | 86 | select OMAP_DM_TIMER |
102 | select PINCTRL | 87 | select PINCTRL |
103 | select PROC_DEVICETREE if PROC_FS | 88 | select PROC_DEVICETREE if PROC_FS |
104 | select SOC_BUS | 89 | select SOC_BUS |
105 | select SPARSE_IRQ | ||
106 | select TI_PRIV_EDMA | 90 | select TI_PRIV_EDMA |
107 | select USE_OF | ||
108 | help | 91 | help |
109 | Systems based on OMAP2, OMAP3, OMAP4 or OMAP5 | 92 | Systems based on OMAP2, OMAP3, OMAP4 or OMAP5 |
110 | 93 | ||
diff --git a/arch/arm/mach-omap2/include/mach/timex.h b/arch/arm/mach-omap2/include/mach/timex.h deleted file mode 100644 index de9f8fc40e7c..000000000000 --- a/arch/arm/mach-omap2/include/mach/timex.h +++ /dev/null | |||
@@ -1,5 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-omap2/include/mach/timex.h | ||
3 | */ | ||
4 | |||
5 | #include <plat/timex.h> | ||
diff --git a/arch/arm/mach-orion5x/include/mach/timex.h b/arch/arm/mach-orion5x/include/mach/timex.h deleted file mode 100644 index 4c69820e0810..000000000000 --- a/arch/arm/mach-orion5x/include/mach/timex.h +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-orion5x/include/mach/timex.h | ||
3 | * | ||
4 | * Tzachi Perelstein <tzachi@marvell.com> | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #define CLOCK_TICK_RATE (100 * HZ) | ||
diff --git a/arch/arm/mach-picoxcell/Kconfig b/arch/arm/mach-picoxcell/Kconfig index b1022f4315f7..eca9eb1c5931 100644 --- a/arch/arm/mach-picoxcell/Kconfig +++ b/arch/arm/mach-picoxcell/Kconfig | |||
@@ -1,12 +1,7 @@ | |||
1 | config ARCH_PICOXCELL | 1 | config ARCH_PICOXCELL |
2 | bool "Picochip PicoXcell" if ARCH_MULTI_V6 | 2 | bool "Picochip PicoXcell" if ARCH_MULTI_V6 |
3 | select ARCH_REQUIRE_GPIOLIB | 3 | select ARCH_REQUIRE_GPIOLIB |
4 | select ARM_PATCH_PHYS_VIRT | ||
5 | select ARM_VIC | 4 | select ARM_VIC |
6 | select CPU_V6K | ||
7 | select DW_APB_TIMER_OF | 5 | select DW_APB_TIMER_OF |
8 | select GENERIC_CLOCKEVENTS | ||
9 | select HAVE_TCM | 6 | select HAVE_TCM |
10 | select NO_IOPORT | 7 | select NO_IOPORT |
11 | select SPARSE_IRQ | ||
12 | select USE_OF | ||
diff --git a/arch/arm/mach-prima2/Kconfig b/arch/arm/mach-prima2/Kconfig index 6988b117fc17..2c726b4f9356 100644 --- a/arch/arm/mach-prima2/Kconfig +++ b/arch/arm/mach-prima2/Kconfig | |||
@@ -1,9 +1,7 @@ | |||
1 | config ARCH_SIRF | 1 | config ARCH_SIRF |
2 | bool "CSR SiRF" if ARCH_MULTI_V7 | 2 | bool "CSR SiRF" if ARCH_MULTI_V7 |
3 | select ARCH_REQUIRE_GPIOLIB | 3 | select ARCH_REQUIRE_GPIOLIB |
4 | select GENERIC_CLOCKEVENTS | ||
5 | select GENERIC_IRQ_CHIP | 4 | select GENERIC_IRQ_CHIP |
6 | select MIGHT_HAVE_CACHE_L2X0 | ||
7 | select NO_IOPORT | 5 | select NO_IOPORT |
8 | select PINCTRL | 6 | select PINCTRL |
9 | select PINCTRL_SIRF | 7 | select PINCTRL_SIRF |
@@ -17,7 +15,6 @@ menu "CSR SiRF atlas6/primaII/Marco/Polo Specific Features" | |||
17 | config ARCH_ATLAS6 | 15 | config ARCH_ATLAS6 |
18 | bool "CSR SiRFSoC ATLAS6 ARM Cortex A9 Platform" | 16 | bool "CSR SiRFSoC ATLAS6 ARM Cortex A9 Platform" |
19 | default y | 17 | default y |
20 | select CPU_V7 | ||
21 | select SIRF_IRQ | 18 | select SIRF_IRQ |
22 | help | 19 | help |
23 | Support for CSR SiRFSoC ARM Cortex A9 Platform | 20 | Support for CSR SiRFSoC ARM Cortex A9 Platform |
@@ -25,7 +22,6 @@ config ARCH_ATLAS6 | |||
25 | config ARCH_PRIMA2 | 22 | config ARCH_PRIMA2 |
26 | bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" | 23 | bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" |
27 | default y | 24 | default y |
28 | select CPU_V7 | ||
29 | select SIRF_IRQ | 25 | select SIRF_IRQ |
30 | select ZONE_DMA | 26 | select ZONE_DMA |
31 | help | 27 | help |
@@ -35,9 +31,7 @@ config ARCH_MARCO | |||
35 | bool "CSR SiRFSoC MARCO ARM Cortex A9 Platform" | 31 | bool "CSR SiRFSoC MARCO ARM Cortex A9 Platform" |
36 | default y | 32 | default y |
37 | select ARM_GIC | 33 | select ARM_GIC |
38 | select CPU_V7 | ||
39 | select HAVE_ARM_SCU if SMP | 34 | select HAVE_ARM_SCU if SMP |
40 | select HAVE_SMP | ||
41 | select SMP_ON_UP if SMP | 35 | select SMP_ON_UP if SMP |
42 | help | 36 | help |
43 | Support for CSR SiRFSoC ARM Cortex A9 Platform | 37 | Support for CSR SiRFSoC ARM Cortex A9 Platform |
diff --git a/arch/arm/mach-pxa/am300epd.c b/arch/arm/mach-pxa/am300epd.c index c9f309ae88c5..8b90c4f2d430 100644 --- a/arch/arm/mach-pxa/am300epd.c +++ b/arch/arm/mach-pxa/am300epd.c | |||
@@ -30,6 +30,7 @@ | |||
30 | 30 | ||
31 | #include <mach/gumstix.h> | 31 | #include <mach/gumstix.h> |
32 | #include <mach/mfp-pxa25x.h> | 32 | #include <mach/mfp-pxa25x.h> |
33 | #include <mach/irqs.h> | ||
33 | #include <linux/platform_data/video-pxafb.h> | 34 | #include <linux/platform_data/video-pxafb.h> |
34 | 35 | ||
35 | #include "generic.h" | 36 | #include "generic.h" |
diff --git a/arch/arm/mach-pxa/include/mach/balloon3.h b/arch/arm/mach-pxa/include/mach/balloon3.h index 954641e6c8b1..1b0825911e62 100644 --- a/arch/arm/mach-pxa/include/mach/balloon3.h +++ b/arch/arm/mach-pxa/include/mach/balloon3.h | |||
@@ -14,6 +14,8 @@ | |||
14 | #ifndef ASM_ARCH_BALLOON3_H | 14 | #ifndef ASM_ARCH_BALLOON3_H |
15 | #define ASM_ARCH_BALLOON3_H | 15 | #define ASM_ARCH_BALLOON3_H |
16 | 16 | ||
17 | #include "irqs.h" /* PXA_NR_BUILTIN_GPIO */ | ||
18 | |||
17 | enum balloon3_features { | 19 | enum balloon3_features { |
18 | BALLOON3_FEATURE_OHCI, | 20 | BALLOON3_FEATURE_OHCI, |
19 | BALLOON3_FEATURE_MMC, | 21 | BALLOON3_FEATURE_MMC, |
diff --git a/arch/arm/mach-pxa/include/mach/corgi.h b/arch/arm/mach-pxa/include/mach/corgi.h index f3c3493b468d..c030d955bbd7 100644 --- a/arch/arm/mach-pxa/include/mach/corgi.h +++ b/arch/arm/mach-pxa/include/mach/corgi.h | |||
@@ -13,6 +13,7 @@ | |||
13 | #ifndef __ASM_ARCH_CORGI_H | 13 | #ifndef __ASM_ARCH_CORGI_H |
14 | #define __ASM_ARCH_CORGI_H 1 | 14 | #define __ASM_ARCH_CORGI_H 1 |
15 | 15 | ||
16 | #include "irqs.h" /* PXA_NR_BUILTIN_GPIO */ | ||
16 | 17 | ||
17 | /* | 18 | /* |
18 | * Corgi (Non Standard) GPIO Definitions | 19 | * Corgi (Non Standard) GPIO Definitions |
diff --git a/arch/arm/mach-pxa/include/mach/csb726.h b/arch/arm/mach-pxa/include/mach/csb726.h index 2628e7b72116..00cfbbbf73f7 100644 --- a/arch/arm/mach-pxa/include/mach/csb726.h +++ b/arch/arm/mach-pxa/include/mach/csb726.h | |||
@@ -11,6 +11,8 @@ | |||
11 | #ifndef CSB726_H | 11 | #ifndef CSB726_H |
12 | #define CSB726_H | 12 | #define CSB726_H |
13 | 13 | ||
14 | #include "irqs.h" /* PXA_GPIO_TO_IRQ */ | ||
15 | |||
14 | #define CSB726_GPIO_IRQ_LAN 52 | 16 | #define CSB726_GPIO_IRQ_LAN 52 |
15 | #define CSB726_GPIO_IRQ_SM501 53 | 17 | #define CSB726_GPIO_IRQ_SM501 53 |
16 | #define CSB726_GPIO_MMC_DETECT 100 | 18 | #define CSB726_GPIO_MMC_DETECT 100 |
diff --git a/arch/arm/mach-pxa/include/mach/gumstix.h b/arch/arm/mach-pxa/include/mach/gumstix.h index dba14b6503ad..f7df27bbb42e 100644 --- a/arch/arm/mach-pxa/include/mach/gumstix.h +++ b/arch/arm/mach-pxa/include/mach/gumstix.h | |||
@@ -6,6 +6,7 @@ | |||
6 | * published by the Free Software Foundation. | 6 | * published by the Free Software Foundation. |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include "irqs.h" /* PXA_GPIO_TO_IRQ */ | ||
9 | 10 | ||
10 | /* BTRESET - Reset line to Bluetooth module, active low signal. */ | 11 | /* BTRESET - Reset line to Bluetooth module, active low signal. */ |
11 | #define GPIO_GUMSTIX_BTRESET 7 | 12 | #define GPIO_GUMSTIX_BTRESET 7 |
diff --git a/arch/arm/mach-pxa/include/mach/idp.h b/arch/arm/mach-pxa/include/mach/idp.h index 22a96f87232b..7e63f4680271 100644 --- a/arch/arm/mach-pxa/include/mach/idp.h +++ b/arch/arm/mach-pxa/include/mach/idp.h | |||
@@ -23,6 +23,7 @@ | |||
23 | * IDP hardware. | 23 | * IDP hardware. |
24 | */ | 24 | */ |
25 | 25 | ||
26 | #include "irqs.h" /* PXA_GPIO_TO_IRQ */ | ||
26 | 27 | ||
27 | #define IDP_FLASH_PHYS (PXA_CS0_PHYS) | 28 | #define IDP_FLASH_PHYS (PXA_CS0_PHYS) |
28 | #define IDP_ALT_FLASH_PHYS (PXA_CS1_PHYS) | 29 | #define IDP_ALT_FLASH_PHYS (PXA_CS1_PHYS) |
diff --git a/arch/arm/mach-pxa/include/mach/palmld.h b/arch/arm/mach-pxa/include/mach/palmld.h index 2c4471336570..b184f296023b 100644 --- a/arch/arm/mach-pxa/include/mach/palmld.h +++ b/arch/arm/mach-pxa/include/mach/palmld.h | |||
@@ -13,6 +13,8 @@ | |||
13 | #ifndef _INCLUDE_PALMLD_H_ | 13 | #ifndef _INCLUDE_PALMLD_H_ |
14 | #define _INCLUDE_PALMLD_H_ | 14 | #define _INCLUDE_PALMLD_H_ |
15 | 15 | ||
16 | #include "irqs.h" /* PXA_GPIO_TO_IRQ */ | ||
17 | |||
16 | /** HERE ARE GPIOs **/ | 18 | /** HERE ARE GPIOs **/ |
17 | 19 | ||
18 | /* GPIOs */ | 20 | /* GPIOs */ |
diff --git a/arch/arm/mach-pxa/include/mach/palmt5.h b/arch/arm/mach-pxa/include/mach/palmt5.h index 0bd4f036c72f..e342c5921405 100644 --- a/arch/arm/mach-pxa/include/mach/palmt5.h +++ b/arch/arm/mach-pxa/include/mach/palmt5.h | |||
@@ -15,6 +15,8 @@ | |||
15 | #ifndef _INCLUDE_PALMT5_H_ | 15 | #ifndef _INCLUDE_PALMT5_H_ |
16 | #define _INCLUDE_PALMT5_H_ | 16 | #define _INCLUDE_PALMT5_H_ |
17 | 17 | ||
18 | #include "irqs.h" /* PXA_GPIO_TO_IRQ */ | ||
19 | |||
18 | /** HERE ARE GPIOs **/ | 20 | /** HERE ARE GPIOs **/ |
19 | 21 | ||
20 | /* GPIOs */ | 22 | /* GPIOs */ |
diff --git a/arch/arm/mach-pxa/include/mach/palmtc.h b/arch/arm/mach-pxa/include/mach/palmtc.h index c383a21680b6..81c727b3cfd2 100644 --- a/arch/arm/mach-pxa/include/mach/palmtc.h +++ b/arch/arm/mach-pxa/include/mach/palmtc.h | |||
@@ -16,6 +16,8 @@ | |||
16 | #ifndef _INCLUDE_PALMTC_H_ | 16 | #ifndef _INCLUDE_PALMTC_H_ |
17 | #define _INCLUDE_PALMTC_H_ | 17 | #define _INCLUDE_PALMTC_H_ |
18 | 18 | ||
19 | #include "irqs.h" /* PXA_GPIO_TO_IRQ */ | ||
20 | |||
19 | /** HERE ARE GPIOs **/ | 21 | /** HERE ARE GPIOs **/ |
20 | 22 | ||
21 | /* GPIOs */ | 23 | /* GPIOs */ |
diff --git a/arch/arm/mach-pxa/include/mach/palmtx.h b/arch/arm/mach-pxa/include/mach/palmtx.h index f2e530380253..92bc1f05300d 100644 --- a/arch/arm/mach-pxa/include/mach/palmtx.h +++ b/arch/arm/mach-pxa/include/mach/palmtx.h | |||
@@ -16,6 +16,8 @@ | |||
16 | #ifndef _INCLUDE_PALMTX_H_ | 16 | #ifndef _INCLUDE_PALMTX_H_ |
17 | #define _INCLUDE_PALMTX_H_ | 17 | #define _INCLUDE_PALMTX_H_ |
18 | 18 | ||
19 | #include "irqs.h" /* PXA_GPIO_TO_IRQ */ | ||
20 | |||
19 | /** HERE ARE GPIOs **/ | 21 | /** HERE ARE GPIOs **/ |
20 | 22 | ||
21 | /* GPIOs */ | 23 | /* GPIOs */ |
diff --git a/arch/arm/mach-pxa/include/mach/pcm027.h b/arch/arm/mach-pxa/include/mach/pcm027.h index 6bf28de228bd..86ebd7b6c960 100644 --- a/arch/arm/mach-pxa/include/mach/pcm027.h +++ b/arch/arm/mach-pxa/include/mach/pcm027.h | |||
@@ -23,6 +23,8 @@ | |||
23 | * Definitions of CPU card resources only | 23 | * Definitions of CPU card resources only |
24 | */ | 24 | */ |
25 | 25 | ||
26 | #include "irqs.h" /* PXA_GPIO_TO_IRQ */ | ||
27 | |||
26 | /* phyCORE-PXA270 (PCM027) Interrupts */ | 28 | /* phyCORE-PXA270 (PCM027) Interrupts */ |
27 | #define PCM027_IRQ(x) (IRQ_BOARD_START + (x)) | 29 | #define PCM027_IRQ(x) (IRQ_BOARD_START + (x)) |
28 | #define PCM027_BTDET_IRQ PCM027_IRQ(0) | 30 | #define PCM027_BTDET_IRQ PCM027_IRQ(0) |
diff --git a/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h b/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h index 0260aaa2fc17..7e544c14967e 100644 --- a/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h +++ b/arch/arm/mach-pxa/include/mach/pcm990_baseboard.h | |||
@@ -20,6 +20,7 @@ | |||
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include <mach/pcm027.h> | 22 | #include <mach/pcm027.h> |
23 | #include "irqs.h" /* PXA_GPIO_TO_IRQ */ | ||
23 | 24 | ||
24 | /* | 25 | /* |
25 | * definitions relevant only when the PCM-990 | 26 | * definitions relevant only when the PCM-990 |
diff --git a/arch/arm/mach-pxa/include/mach/poodle.h b/arch/arm/mach-pxa/include/mach/poodle.h index f32ff75dcca8..b56b19351a03 100644 --- a/arch/arm/mach-pxa/include/mach/poodle.h +++ b/arch/arm/mach-pxa/include/mach/poodle.h | |||
@@ -15,6 +15,8 @@ | |||
15 | #ifndef __ASM_ARCH_POODLE_H | 15 | #ifndef __ASM_ARCH_POODLE_H |
16 | #define __ASM_ARCH_POODLE_H 1 | 16 | #define __ASM_ARCH_POODLE_H 1 |
17 | 17 | ||
18 | #include "irqs.h" /* PXA_GPIO_TO_IRQ */ | ||
19 | |||
18 | /* | 20 | /* |
19 | * GPIOs | 21 | * GPIOs |
20 | */ | 22 | */ |
diff --git a/arch/arm/mach-pxa/include/mach/spitz.h b/arch/arm/mach-pxa/include/mach/spitz.h index 0bfe6507c95d..25c9f62e46aa 100644 --- a/arch/arm/mach-pxa/include/mach/spitz.h +++ b/arch/arm/mach-pxa/include/mach/spitz.h | |||
@@ -15,8 +15,8 @@ | |||
15 | #define __ASM_ARCH_SPITZ_H 1 | 15 | #define __ASM_ARCH_SPITZ_H 1 |
16 | #endif | 16 | #endif |
17 | 17 | ||
18 | #include "irqs.h" /* PXA_NR_BUILTIN_GPIO, PXA_GPIO_TO_IRQ */ | ||
18 | #include <linux/fb.h> | 19 | #include <linux/fb.h> |
19 | #include <linux/gpio.h> | ||
20 | 20 | ||
21 | /* Spitz/Akita GPIOs */ | 21 | /* Spitz/Akita GPIOs */ |
22 | 22 | ||
diff --git a/arch/arm/mach-pxa/include/mach/timex.h b/arch/arm/mach-pxa/include/mach/timex.h deleted file mode 100644 index af6760a50e1a..000000000000 --- a/arch/arm/mach-pxa/include/mach/timex.h +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-pxa/include/mach/timex.h | ||
3 | * | ||
4 | * Author: Nicolas Pitre | ||
5 | * Created: Jun 15, 2001 | ||
6 | * Copyright: MontaVista Software Inc. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | /* Various drivers are still using the constant of CLOCK_TICK_RATE, for | ||
14 | * those drivers to at least work, the definition is provided here. | ||
15 | * | ||
16 | * NOTE: this is no longer accurate when multiple processors and boards | ||
17 | * are selected, newer drivers should not depend on this any more. Use | ||
18 | * either the clocksource/clockevent or get this at run-time by calling | ||
19 | * get_clock_tick_rate() (as defined in generic.c). | ||
20 | */ | ||
21 | |||
22 | #if defined(CONFIG_PXA25x) | ||
23 | /* PXA250/210 timer base */ | ||
24 | #define CLOCK_TICK_RATE 3686400 | ||
25 | #elif defined(CONFIG_PXA27x) | ||
26 | /* PXA27x timer base */ | ||
27 | #ifdef CONFIG_MACH_MAINSTONE | ||
28 | #define CLOCK_TICK_RATE 3249600 | ||
29 | #else | ||
30 | #define CLOCK_TICK_RATE 3250000 | ||
31 | #endif | ||
32 | #else | ||
33 | #define CLOCK_TICK_RATE 3250000 | ||
34 | #endif | ||
diff --git a/arch/arm/mach-pxa/include/mach/tosa.h b/arch/arm/mach-pxa/include/mach/tosa.h index 2bb0e862598c..0497d95cef25 100644 --- a/arch/arm/mach-pxa/include/mach/tosa.h +++ b/arch/arm/mach-pxa/include/mach/tosa.h | |||
@@ -13,6 +13,8 @@ | |||
13 | #ifndef _ASM_ARCH_TOSA_H_ | 13 | #ifndef _ASM_ARCH_TOSA_H_ |
14 | #define _ASM_ARCH_TOSA_H_ 1 | 14 | #define _ASM_ARCH_TOSA_H_ 1 |
15 | 15 | ||
16 | #include "irqs.h" /* PXA_NR_BUILTIN_GPIO */ | ||
17 | |||
16 | /* TOSA Chip selects */ | 18 | /* TOSA Chip selects */ |
17 | #define TOSA_LCDC_PHYS PXA_CS4_PHYS | 19 | #define TOSA_LCDC_PHYS PXA_CS4_PHYS |
18 | /* Internel Scoop */ | 20 | /* Internel Scoop */ |
diff --git a/arch/arm/mach-pxa/include/mach/trizeps4.h b/arch/arm/mach-pxa/include/mach/trizeps4.h index d2ca01053f69..ae3ca013afab 100644 --- a/arch/arm/mach-pxa/include/mach/trizeps4.h +++ b/arch/arm/mach-pxa/include/mach/trizeps4.h | |||
@@ -10,6 +10,8 @@ | |||
10 | #ifndef _TRIPEPS4_H_ | 10 | #ifndef _TRIPEPS4_H_ |
11 | #define _TRIPEPS4_H_ | 11 | #define _TRIPEPS4_H_ |
12 | 12 | ||
13 | #include "irqs.h" /* PXA_GPIO_TO_IRQ */ | ||
14 | |||
13 | /* physical memory regions */ | 15 | /* physical memory regions */ |
14 | #define TRIZEPS4_FLASH_PHYS (PXA_CS0_PHYS) /* Flash region */ | 16 | #define TRIZEPS4_FLASH_PHYS (PXA_CS0_PHYS) /* Flash region */ |
15 | #define TRIZEPS4_DISK_PHYS (PXA_CS1_PHYS) /* Disk On Chip region */ | 17 | #define TRIZEPS4_DISK_PHYS (PXA_CS1_PHYS) /* Disk On Chip region */ |
diff --git a/arch/arm/mach-qcom/Kconfig b/arch/arm/mach-qcom/Kconfig new file mode 100644 index 000000000000..a028be234334 --- /dev/null +++ b/arch/arm/mach-qcom/Kconfig | |||
@@ -0,0 +1,33 @@ | |||
1 | config ARCH_QCOM | ||
2 | bool "Qualcomm Support" if ARCH_MULTI_V7 | ||
3 | select ARCH_REQUIRE_GPIOLIB | ||
4 | select ARM_GIC | ||
5 | select CLKSRC_OF | ||
6 | select GENERIC_CLOCKEVENTS | ||
7 | select HAVE_SMP | ||
8 | select QCOM_SCM if SMP | ||
9 | help | ||
10 | Support for Qualcomm's devicetree based systems. | ||
11 | |||
12 | if ARCH_QCOM | ||
13 | |||
14 | menu "Qualcomm SoC Selection" | ||
15 | |||
16 | config ARCH_MSM8X60 | ||
17 | bool "Enable support for MSM8X60" | ||
18 | select CLKSRC_QCOM | ||
19 | |||
20 | config ARCH_MSM8960 | ||
21 | bool "Enable support for MSM8960" | ||
22 | select CLKSRC_QCOM | ||
23 | |||
24 | config ARCH_MSM8974 | ||
25 | bool "Enable support for MSM8974" | ||
26 | select HAVE_ARM_ARCH_TIMER | ||
27 | |||
28 | endmenu | ||
29 | |||
30 | config QCOM_SCM | ||
31 | bool | ||
32 | |||
33 | endif | ||
diff --git a/arch/arm/mach-qcom/Makefile b/arch/arm/mach-qcom/Makefile new file mode 100644 index 000000000000..8f756ae1ae31 --- /dev/null +++ b/arch/arm/mach-qcom/Makefile | |||
@@ -0,0 +1,5 @@ | |||
1 | obj-y := board.o | ||
2 | obj-$(CONFIG_SMP) += platsmp.o | ||
3 | obj-$(CONFIG_QCOM_SCM) += scm.o scm-boot.o | ||
4 | |||
5 | CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1) | ||
diff --git a/arch/arm/mach-msm/board-dt.c b/arch/arm/mach-qcom/board.c index 1f11d93e700e..830f69c3a3ce 100644 --- a/arch/arm/mach-msm/board-dt.c +++ b/arch/arm/mach-qcom/board.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* Copyright (c) 2010-2012,2013 The Linux Foundation. All rights reserved. | 1 | /* Copyright (c) 2010-2014 The Linux Foundation. All rights reserved. |
2 | * | 2 | * |
3 | * This program is free software; you can redistribute it and/or modify | 3 | * This program is free software; you can redistribute it and/or modify |
4 | * it under the terms of the GNU General Public License version 2 and | 4 | * it under the terms of the GNU General Public License version 2 and |
@@ -17,10 +17,9 @@ | |||
17 | #include <asm/mach/arch.h> | 17 | #include <asm/mach/arch.h> |
18 | #include <asm/mach/map.h> | 18 | #include <asm/mach/map.h> |
19 | 19 | ||
20 | #include "common.h" | 20 | extern struct smp_operations qcom_smp_ops; |
21 | 21 | ||
22 | static const char * const msm_dt_match[] __initconst = { | 22 | static const char * const qcom_dt_match[] __initconst = { |
23 | "qcom,msm8660-fluid", | ||
24 | "qcom,msm8660-surf", | 23 | "qcom,msm8660-surf", |
25 | "qcom,msm8960-cdp", | 24 | "qcom,msm8960-cdp", |
26 | NULL | 25 | NULL |
@@ -31,11 +30,11 @@ static const char * const apq8074_dt_match[] __initconst = { | |||
31 | NULL | 30 | NULL |
32 | }; | 31 | }; |
33 | 32 | ||
34 | DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)") | 33 | DT_MACHINE_START(QCOM_DT, "Qualcomm (Flattened Device Tree)") |
35 | .smp = smp_ops(msm_smp_ops), | 34 | .smp = smp_ops(qcom_smp_ops), |
36 | .dt_compat = msm_dt_match, | 35 | .dt_compat = qcom_dt_match, |
37 | MACHINE_END | 36 | MACHINE_END |
38 | 37 | ||
39 | DT_MACHINE_START(APQ_DT, "Qualcomm MSM (Flattened Device Tree)") | 38 | DT_MACHINE_START(APQ_DT, "Qualcomm (Flattened Device Tree)") |
40 | .dt_compat = apq8074_dt_match, | 39 | .dt_compat = apq8074_dt_match, |
41 | MACHINE_END | 40 | MACHINE_END |
diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-qcom/platsmp.c index f10a1f58fde9..9c53ea70550d 100644 --- a/arch/arm/mach-msm/platsmp.c +++ b/arch/arm/mach-qcom/platsmp.c | |||
@@ -2,6 +2,7 @@ | |||
2 | * Copyright (C) 2002 ARM Ltd. | 2 | * Copyright (C) 2002 ARM Ltd. |
3 | * All Rights Reserved | 3 | * All Rights Reserved |
4 | * Copyright (c) 2010, Code Aurora Forum. All rights reserved. | 4 | * Copyright (c) 2010, Code Aurora Forum. All rights reserved. |
5 | * Copyright (c) 2014 The Linux Foundation. All rights reserved. | ||
5 | * | 6 | * |
6 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License version 2 as | 8 | * it under the terms of the GNU General Public License version 2 as |
@@ -12,42 +13,38 @@ | |||
12 | #include <linux/errno.h> | 13 | #include <linux/errno.h> |
13 | #include <linux/delay.h> | 14 | #include <linux/delay.h> |
14 | #include <linux/device.h> | 15 | #include <linux/device.h> |
15 | #include <linux/jiffies.h> | ||
16 | #include <linux/smp.h> | 16 | #include <linux/smp.h> |
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | 18 | ||
19 | #include <asm/cacheflush.h> | ||
20 | #include <asm/cputype.h> | 19 | #include <asm/cputype.h> |
21 | #include <asm/mach-types.h> | ||
22 | #include <asm/smp_plat.h> | 20 | #include <asm/smp_plat.h> |
23 | 21 | ||
24 | #include "scm-boot.h" | 22 | #include "scm-boot.h" |
25 | #include "common.h" | ||
26 | 23 | ||
27 | #define VDD_SC1_ARRAY_CLAMP_GFS_CTL 0x15A0 | 24 | #define VDD_SC1_ARRAY_CLAMP_GFS_CTL 0x15A0 |
28 | #define SCSS_CPU1CORE_RESET 0xD80 | 25 | #define SCSS_CPU1CORE_RESET 0xD80 |
29 | #define SCSS_DBG_STATUS_CORE_PWRDUP 0xE64 | 26 | #define SCSS_DBG_STATUS_CORE_PWRDUP 0xE64 |
30 | 27 | ||
31 | extern void msm_secondary_startup(void); | 28 | extern void secondary_startup(void); |
32 | 29 | ||
33 | static DEFINE_SPINLOCK(boot_lock); | 30 | static DEFINE_SPINLOCK(boot_lock); |
34 | 31 | ||
32 | #ifdef CONFIG_HOTPLUG_CPU | ||
33 | static void __ref qcom_cpu_die(unsigned int cpu) | ||
34 | { | ||
35 | wfi(); | ||
36 | } | ||
37 | #endif | ||
38 | |||
35 | static inline int get_core_count(void) | 39 | static inline int get_core_count(void) |
36 | { | 40 | { |
37 | /* 1 + the PART[1:0] field of MIDR */ | 41 | /* 1 + the PART[1:0] field of MIDR */ |
38 | return ((read_cpuid_id() >> 4) & 3) + 1; | 42 | return ((read_cpuid_id() >> 4) & 3) + 1; |
39 | } | 43 | } |
40 | 44 | ||
41 | static void msm_secondary_init(unsigned int cpu) | 45 | static void qcom_secondary_init(unsigned int cpu) |
42 | { | 46 | { |
43 | /* | 47 | /* |
44 | * let the primary processor know we're out of the | ||
45 | * pen, then head off into the C entry point | ||
46 | */ | ||
47 | pen_release = -1; | ||
48 | smp_wmb(); | ||
49 | |||
50 | /* | ||
51 | * Synchronise with the boot thread. | 48 | * Synchronise with the boot thread. |
52 | */ | 49 | */ |
53 | spin_lock(&boot_lock); | 50 | spin_lock(&boot_lock); |
@@ -57,7 +54,7 @@ static void msm_secondary_init(unsigned int cpu) | |||
57 | static void prepare_cold_cpu(unsigned int cpu) | 54 | static void prepare_cold_cpu(unsigned int cpu) |
58 | { | 55 | { |
59 | int ret; | 56 | int ret; |
60 | ret = scm_set_boot_addr(virt_to_phys(msm_secondary_startup), | 57 | ret = scm_set_boot_addr(virt_to_phys(secondary_startup), |
61 | SCM_FLAG_COLDBOOT_CPU1); | 58 | SCM_FLAG_COLDBOOT_CPU1); |
62 | if (ret == 0) { | 59 | if (ret == 0) { |
63 | void __iomem *sc1_base_ptr; | 60 | void __iomem *sc1_base_ptr; |
@@ -73,9 +70,8 @@ static void prepare_cold_cpu(unsigned int cpu) | |||
73 | "address\n"); | 70 | "address\n"); |
74 | } | 71 | } |
75 | 72 | ||
76 | static int msm_boot_secondary(unsigned int cpu, struct task_struct *idle) | 73 | static int qcom_boot_secondary(unsigned int cpu, struct task_struct *idle) |
77 | { | 74 | { |
78 | unsigned long timeout; | ||
79 | static int cold_boot_done; | 75 | static int cold_boot_done; |
80 | 76 | ||
81 | /* Only need to bring cpu out of reset this way once */ | 77 | /* Only need to bring cpu out of reset this way once */ |
@@ -91,39 +87,19 @@ static int msm_boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
91 | spin_lock(&boot_lock); | 87 | spin_lock(&boot_lock); |
92 | 88 | ||
93 | /* | 89 | /* |
94 | * The secondary processor is waiting to be released from | ||
95 | * the holding pen - release it, then wait for it to flag | ||
96 | * that it has been released by resetting pen_release. | ||
97 | * | ||
98 | * Note that "pen_release" is the hardware CPU ID, whereas | ||
99 | * "cpu" is Linux's internal ID. | ||
100 | */ | ||
101 | pen_release = cpu_logical_map(cpu); | ||
102 | sync_cache_w(&pen_release); | ||
103 | |||
104 | /* | ||
105 | * Send the secondary CPU a soft interrupt, thereby causing | 90 | * Send the secondary CPU a soft interrupt, thereby causing |
106 | * the boot monitor to read the system wide flags register, | 91 | * the boot monitor to read the system wide flags register, |
107 | * and branch to the address found there. | 92 | * and branch to the address found there. |
108 | */ | 93 | */ |
109 | arch_send_wakeup_ipi_mask(cpumask_of(cpu)); | 94 | arch_send_wakeup_ipi_mask(cpumask_of(cpu)); |
110 | 95 | ||
111 | timeout = jiffies + (1 * HZ); | ||
112 | while (time_before(jiffies, timeout)) { | ||
113 | smp_rmb(); | ||
114 | if (pen_release == -1) | ||
115 | break; | ||
116 | |||
117 | udelay(10); | ||
118 | } | ||
119 | |||
120 | /* | 96 | /* |
121 | * now the secondary core is starting up let it run its | 97 | * now the secondary core is starting up let it run its |
122 | * calibrations, then wait for it to finish | 98 | * calibrations, then wait for it to finish |
123 | */ | 99 | */ |
124 | spin_unlock(&boot_lock); | 100 | spin_unlock(&boot_lock); |
125 | 101 | ||
126 | return pen_release != -1 ? -ENOSYS : 0; | 102 | return 0; |
127 | } | 103 | } |
128 | 104 | ||
129 | /* | 105 | /* |
@@ -132,7 +108,7 @@ static int msm_boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
132 | * does not support the ARM SCU, so just set the possible cpu mask to | 108 | * does not support the ARM SCU, so just set the possible cpu mask to |
133 | * NR_CPUS. | 109 | * NR_CPUS. |
134 | */ | 110 | */ |
135 | static void __init msm_smp_init_cpus(void) | 111 | static void __init qcom_smp_init_cpus(void) |
136 | { | 112 | { |
137 | unsigned int i, ncores = get_core_count(); | 113 | unsigned int i, ncores = get_core_count(); |
138 | 114 | ||
@@ -146,16 +122,16 @@ static void __init msm_smp_init_cpus(void) | |||
146 | set_cpu_possible(i, true); | 122 | set_cpu_possible(i, true); |
147 | } | 123 | } |
148 | 124 | ||
149 | static void __init msm_smp_prepare_cpus(unsigned int max_cpus) | 125 | static void __init qcom_smp_prepare_cpus(unsigned int max_cpus) |
150 | { | 126 | { |
151 | } | 127 | } |
152 | 128 | ||
153 | struct smp_operations msm_smp_ops __initdata = { | 129 | struct smp_operations qcom_smp_ops __initdata = { |
154 | .smp_init_cpus = msm_smp_init_cpus, | 130 | .smp_init_cpus = qcom_smp_init_cpus, |
155 | .smp_prepare_cpus = msm_smp_prepare_cpus, | 131 | .smp_prepare_cpus = qcom_smp_prepare_cpus, |
156 | .smp_secondary_init = msm_secondary_init, | 132 | .smp_secondary_init = qcom_secondary_init, |
157 | .smp_boot_secondary = msm_boot_secondary, | 133 | .smp_boot_secondary = qcom_boot_secondary, |
158 | #ifdef CONFIG_HOTPLUG_CPU | 134 | #ifdef CONFIG_HOTPLUG_CPU |
159 | .cpu_die = msm_cpu_die, | 135 | .cpu_die = qcom_cpu_die, |
160 | #endif | 136 | #endif |
161 | }; | 137 | }; |
diff --git a/arch/arm/mach-msm/scm-boot.c b/arch/arm/mach-qcom/scm-boot.c index 45cee3e469a5..45cee3e469a5 100644 --- a/arch/arm/mach-msm/scm-boot.c +++ b/arch/arm/mach-qcom/scm-boot.c | |||
diff --git a/arch/arm/mach-msm/scm-boot.h b/arch/arm/mach-qcom/scm-boot.h index 7be32ff5d687..7be32ff5d687 100644 --- a/arch/arm/mach-msm/scm-boot.h +++ b/arch/arm/mach-qcom/scm-boot.h | |||
diff --git a/arch/arm/mach-msm/scm.c b/arch/arm/mach-qcom/scm.c index c536fd6bf827..c536fd6bf827 100644 --- a/arch/arm/mach-msm/scm.c +++ b/arch/arm/mach-qcom/scm.c | |||
diff --git a/arch/arm/mach-msm/scm.h b/arch/arm/mach-qcom/scm.h index 00b31ea58f29..00b31ea58f29 100644 --- a/arch/arm/mach-msm/scm.h +++ b/arch/arm/mach-qcom/scm.h | |||
diff --git a/arch/arm/mach-realview/include/mach/timex.h b/arch/arm/mach-realview/include/mach/timex.h deleted file mode 100644 index 4eeb069373c2..000000000000 --- a/arch/arm/mach-realview/include/mach/timex.h +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-realview/include/mach/timex.h | ||
3 | * | ||
4 | * RealView architecture timex specifications | ||
5 | * | ||
6 | * Copyright (C) 2003 ARM Limited | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | ||
22 | |||
23 | #define CLOCK_TICK_RATE (50000000 / 16) | ||
diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index cf073dea5784..6b2f58645a73 100644 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig | |||
@@ -6,9 +6,6 @@ config ARCH_ROCKCHIP | |||
6 | select ARM_GIC | 6 | select ARM_GIC |
7 | select CACHE_L2X0 | 7 | select CACHE_L2X0 |
8 | select HAVE_ARM_TWD if SMP | 8 | select HAVE_ARM_TWD if SMP |
9 | select HAVE_SMP | ||
10 | select COMMON_CLK | ||
11 | select GENERIC_CLOCKEVENTS | ||
12 | select DW_APB_TIMER_OF | 9 | select DW_APB_TIMER_OF |
13 | select ARM_GLOBAL_TIMER | 10 | select ARM_GLOBAL_TIMER |
14 | select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK | 11 | select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK |
diff --git a/arch/arm/mach-rpc/include/mach/timex.h b/arch/arm/mach-rpc/include/mach/timex.h deleted file mode 100644 index dd75e7387bbe..000000000000 --- a/arch/arm/mach-rpc/include/mach/timex.h +++ /dev/null | |||
@@ -1,17 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-rpc/include/mach/timex.h | ||
3 | * | ||
4 | * Copyright (C) 1997, 1998 Russell King | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | * RiscPC architecture timex specifications | ||
11 | */ | ||
12 | |||
13 | /* | ||
14 | * On the RiscPC, the clock ticks at 2MHz. | ||
15 | */ | ||
16 | #define CLOCK_TICK_RATE 2000000 | ||
17 | |||
diff --git a/arch/arm/mach-rpc/time.c b/arch/arm/mach-rpc/time.c index 9a6def14df01..99363ae5cac7 100644 --- a/arch/arm/mach-rpc/time.c +++ b/arch/arm/mach-rpc/time.c | |||
@@ -24,6 +24,9 @@ | |||
24 | 24 | ||
25 | #include <asm/mach/time.h> | 25 | #include <asm/mach/time.h> |
26 | 26 | ||
27 | #define RPC_CLOCK_FREQ 2000000 | ||
28 | #define RPC_LATCH DIV_ROUND_CLOSEST(RPC_CLOCK_FREQ, HZ) | ||
29 | |||
27 | static u32 ioc_timer_gettimeoffset(void) | 30 | static u32 ioc_timer_gettimeoffset(void) |
28 | { | 31 | { |
29 | unsigned int count1, count2, status; | 32 | unsigned int count1, count2, status; |
@@ -46,23 +49,23 @@ static u32 ioc_timer_gettimeoffset(void) | |||
46 | * and count2. | 49 | * and count2. |
47 | */ | 50 | */ |
48 | if (status & (1 << 5)) | 51 | if (status & (1 << 5)) |
49 | offset -= LATCH; | 52 | offset -= RPC_LATCH; |
50 | } else if (count2 > count1) { | 53 | } else if (count2 > count1) { |
51 | /* | 54 | /* |
52 | * We have just had another interrupt between reading | 55 | * We have just had another interrupt between reading |
53 | * count1 and count2. | 56 | * count1 and count2. |
54 | */ | 57 | */ |
55 | offset -= LATCH; | 58 | offset -= RPC_LATCH; |
56 | } | 59 | } |
57 | 60 | ||
58 | offset = (LATCH - offset) * (tick_nsec / 1000); | 61 | offset = (RPC_LATCH - offset) * (tick_nsec / 1000); |
59 | return ((offset + LATCH/2) / LATCH) * 1000; | 62 | return DIV_ROUND_CLOSEST(offset, RPC_LATCH) * 1000; |
60 | } | 63 | } |
61 | 64 | ||
62 | void __init ioctime_init(void) | 65 | void __init ioctime_init(void) |
63 | { | 66 | { |
64 | ioc_writeb(LATCH & 255, IOC_T0LTCHL); | 67 | ioc_writeb(RPC_LATCH & 255, IOC_T0LTCHL); |
65 | ioc_writeb(LATCH >> 8, IOC_T0LTCHH); | 68 | ioc_writeb(RPC_LATCH >> 8, IOC_T0LTCHH); |
66 | ioc_writeb(0, IOC_T0GO); | 69 | ioc_writeb(0, IOC_T0GO); |
67 | } | 70 | } |
68 | 71 | ||
diff --git a/arch/arm/mach-s3c24xx/include/mach/timex.h b/arch/arm/mach-s3c24xx/include/mach/timex.h deleted file mode 100644 index fe9ca1ffd51b..000000000000 --- a/arch/arm/mach-s3c24xx/include/mach/timex.h +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | /* arch/arm/mach-s3c2410/include/mach/timex.h | ||
2 | * | ||
3 | * Copyright (c) 2003-2005 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * S3C2410 - time parameters | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __ASM_ARCH_TIMEX_H | ||
14 | #define __ASM_ARCH_TIMEX_H | ||
15 | |||
16 | /* CLOCK_TICK_RATE needs to be evaluatable by the cpp, so making it | ||
17 | * a variable is useless. It seems as long as we make our timers an | ||
18 | * exact multiple of HZ, any value that makes a 1->1 correspondence | ||
19 | * for the time conversion functions to/from jiffies is acceptable. | ||
20 | */ | ||
21 | |||
22 | #define CLOCK_TICK_RATE 12000000 | ||
23 | |||
24 | #endif /* __ASM_ARCH_TIMEX_H */ | ||
diff --git a/arch/arm/mach-s3c64xx/include/mach/timex.h b/arch/arm/mach-s3c64xx/include/mach/timex.h deleted file mode 100644 index fb2e8cd40829..000000000000 --- a/arch/arm/mach-s3c64xx/include/mach/timex.h +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | /* arch/arm/mach-s3c64xx/include/mach/timex.h | ||
2 | * | ||
3 | * Copyright (c) 2003-2005 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * S3C6400 - time parameters | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __ASM_ARCH_TIMEX_H | ||
14 | #define __ASM_ARCH_TIMEX_H | ||
15 | |||
16 | /* CLOCK_TICK_RATE needs to be evaluatable by the cpp, so making it | ||
17 | * a variable is useless. It seems as long as we make our timers an | ||
18 | * exact multiple of HZ, any value that makes a 1->1 correspondence | ||
19 | * for the time conversion functions to/from jiffies is acceptable. | ||
20 | */ | ||
21 | |||
22 | #define CLOCK_TICK_RATE 12000000 | ||
23 | |||
24 | #endif /* __ASM_ARCH_TIMEX_H */ | ||
diff --git a/arch/arm/mach-s5p64x0/include/mach/timex.h b/arch/arm/mach-s5p64x0/include/mach/timex.h deleted file mode 100644 index 4b91faa195a8..000000000000 --- a/arch/arm/mach-s5p64x0/include/mach/timex.h +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-s5p64x0/include/mach/timex.h | ||
2 | * | ||
3 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com | ||
5 | * | ||
6 | * Copyright (c) 2003-2005 Simtec Electronics | ||
7 | * Ben Dooks <ben@simtec.co.uk> | ||
8 | * | ||
9 | * S5P64X0 - time parameters | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License version 2 as | ||
13 | * published by the Free Software Foundation. | ||
14 | */ | ||
15 | |||
16 | #ifndef __ASM_ARCH_TIMEX_H | ||
17 | #define __ASM_ARCH_TIMEX_H | ||
18 | |||
19 | /* CLOCK_TICK_RATE needs to be evaluatable by the cpp, so making it | ||
20 | * a variable is useless. It seems as long as we make our timers an | ||
21 | * exact multiple of HZ, any value that makes a 1->1 correspondence | ||
22 | * for the time conversion functions to/from jiffies is acceptable. | ||
23 | */ | ||
24 | |||
25 | #define CLOCK_TICK_RATE 12000000 | ||
26 | |||
27 | #endif /* __ASM_ARCH_TIMEX_H */ | ||
diff --git a/arch/arm/mach-s5pc100/include/mach/timex.h b/arch/arm/mach-s5pc100/include/mach/timex.h deleted file mode 100644 index 47ffb17aff96..000000000000 --- a/arch/arm/mach-s5pc100/include/mach/timex.h +++ /dev/null | |||
@@ -1,24 +0,0 @@ | |||
1 | /* arch/arm/mach-s5pc100/include/mach/timex.h | ||
2 | * | ||
3 | * Copyright (c) 2003-2005 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * S3C6400 - time parameters | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __ASM_ARCH_TIMEX_H | ||
14 | #define __ASM_ARCH_TIMEX_H | ||
15 | |||
16 | /* CLOCK_TICK_RATE needs to be evaluatable by the cpp, so making it | ||
17 | * a variable is useless. It seems as long as we make our timers an | ||
18 | * exact multiple of HZ, any value that makes a 1->1 correspondence | ||
19 | * for the time conversion functions to/from jiffies is acceptable. | ||
20 | */ | ||
21 | |||
22 | #define CLOCK_TICK_RATE 12000000 | ||
23 | |||
24 | #endif /* __ASM_ARCH_TIMEX_H */ | ||
diff --git a/arch/arm/mach-s5pv210/include/mach/timex.h b/arch/arm/mach-s5pv210/include/mach/timex.h deleted file mode 100644 index 73dc85496a83..000000000000 --- a/arch/arm/mach-s5pv210/include/mach/timex.h +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | /* linux/arch/arm/mach-s5pv210/include/mach/timex.h | ||
2 | * | ||
3 | * Copyright (c) 2003-2010 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | ||
7 | * http://www.samsung.com/ | ||
8 | * | ||
9 | * Based on arch/arm/mach-s5p6442/include/mach/timex.h | ||
10 | * | ||
11 | * S5PV210 - time parameters | ||
12 | * | ||
13 | * This program is free software; you can redistribute it and/or modify | ||
14 | * it under the terms of the GNU General Public License version 2 as | ||
15 | * published by the Free Software Foundation. | ||
16 | */ | ||
17 | |||
18 | #ifndef __ASM_ARCH_TIMEX_H | ||
19 | #define __ASM_ARCH_TIMEX_H __FILE__ | ||
20 | |||
21 | /* CLOCK_TICK_RATE needs to be evaluatable by the cpp, so making it | ||
22 | * a variable is useless. It seems as long as we make our timers an | ||
23 | * exact multiple of HZ, any value that makes a 1->1 correspondence | ||
24 | * for the time conversion functions to/from jiffies is acceptable. | ||
25 | */ | ||
26 | |||
27 | #define CLOCK_TICK_RATE 12000000 | ||
28 | |||
29 | #endif /* __ASM_ARCH_TIMEX_H */ | ||
diff --git a/arch/arm/mach-sa1100/include/mach/timex.h b/arch/arm/mach-sa1100/include/mach/timex.h deleted file mode 100644 index 7a5d017b58b3..000000000000 --- a/arch/arm/mach-sa1100/include/mach/timex.h +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-sa1100/include/mach/timex.h | ||
3 | * | ||
4 | * SA1100 architecture timex specifications | ||
5 | * | ||
6 | * Copyright (C) 1998 | ||
7 | */ | ||
8 | |||
9 | /* | ||
10 | * SA1100 timer | ||
11 | */ | ||
12 | #define CLOCK_TICK_RATE 3686400 | ||
diff --git a/arch/arm/mach-sa1100/time.c b/arch/arm/mach-sa1100/time.c index 6fd4acb8f187..7aaac005e036 100644 --- a/arch/arm/mach-sa1100/time.c +++ b/arch/arm/mach-sa1100/time.c | |||
@@ -9,6 +9,7 @@ | |||
9 | * | 9 | * |
10 | */ | 10 | */ |
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <linux/kernel.h> | ||
12 | #include <linux/errno.h> | 13 | #include <linux/errno.h> |
13 | #include <linux/interrupt.h> | 14 | #include <linux/interrupt.h> |
14 | #include <linux/irq.h> | 15 | #include <linux/irq.h> |
@@ -20,6 +21,9 @@ | |||
20 | #include <mach/hardware.h> | 21 | #include <mach/hardware.h> |
21 | #include <mach/irqs.h> | 22 | #include <mach/irqs.h> |
22 | 23 | ||
24 | #define SA1100_CLOCK_FREQ 3686400 | ||
25 | #define SA1100_LATCH DIV_ROUND_CLOSEST(SA1100_CLOCK_FREQ, HZ) | ||
26 | |||
23 | static u64 notrace sa1100_read_sched_clock(void) | 27 | static u64 notrace sa1100_read_sched_clock(void) |
24 | { | 28 | { |
25 | return readl_relaxed(OSCR); | 29 | return readl_relaxed(OSCR); |
@@ -93,7 +97,7 @@ static void sa1100_timer_resume(struct clock_event_device *cedev) | |||
93 | /* | 97 | /* |
94 | * OSMR0 is the system timer: make sure OSCR is sufficiently behind | 98 | * OSMR0 is the system timer: make sure OSCR is sufficiently behind |
95 | */ | 99 | */ |
96 | writel_relaxed(OSMR0 - LATCH, OSCR); | 100 | writel_relaxed(OSMR0 - SA1100_LATCH, OSCR); |
97 | } | 101 | } |
98 | #else | 102 | #else |
99 | #define sa1100_timer_suspend NULL | 103 | #define sa1100_timer_suspend NULL |
@@ -128,7 +132,7 @@ void __init sa1100_timer_init(void) | |||
128 | 132 | ||
129 | setup_irq(IRQ_OST0, &sa1100_timer_irq); | 133 | setup_irq(IRQ_OST0, &sa1100_timer_irq); |
130 | 134 | ||
131 | clocksource_mmio_init(OSCR, "oscr", CLOCK_TICK_RATE, 200, 32, | 135 | clocksource_mmio_init(OSCR, "oscr", SA1100_CLOCK_FREQ, 200, 32, |
132 | clocksource_mmio_readl_up); | 136 | clocksource_mmio_readl_up); |
133 | clockevents_config_and_register(&ckevt_sa1100_osmr0, 3686400, | 137 | clockevents_config_and_register(&ckevt_sa1100_osmr0, 3686400, |
134 | MIN_OSCR_DELTA * 2, 0x7fffffff); | 138 | MIN_OSCR_DELTA * 2, 0x7fffffff); |
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig index 338640631e08..8a685edf3bbc 100644 --- a/arch/arm/mach-shmobile/Kconfig +++ b/arch/arm/mach-shmobile/Kconfig | |||
@@ -5,18 +5,13 @@ config ARCH_SHMOBILE_MULTI | |||
5 | bool "Renesas ARM SoCs" if ARCH_MULTI_V7 | 5 | bool "Renesas ARM SoCs" if ARCH_MULTI_V7 |
6 | depends on MMU | 6 | depends on MMU |
7 | select ARCH_SHMOBILE | 7 | select ARCH_SHMOBILE |
8 | select CPU_V7 | ||
9 | select GENERIC_CLOCKEVENTS | ||
10 | select HAVE_ARM_SCU if SMP | 8 | select HAVE_ARM_SCU if SMP |
11 | select HAVE_ARM_TWD if LOCAL_TIMERS | 9 | select HAVE_ARM_TWD if SMP |
12 | select HAVE_SMP | ||
13 | select ARM_GIC | 10 | select ARM_GIC |
14 | select MIGHT_HAVE_CACHE_L2X0 | ||
15 | select MIGHT_HAVE_PCI | 11 | select MIGHT_HAVE_PCI |
16 | select NO_IOPORT | 12 | select NO_IOPORT |
17 | select PINCTRL | 13 | select PINCTRL |
18 | select ARCH_REQUIRE_GPIOLIB | 14 | select ARCH_REQUIRE_GPIOLIB |
19 | select CLKDEV_LOOKUP | ||
20 | 15 | ||
21 | if ARCH_SHMOBILE_MULTI | 16 | if ARCH_SHMOBILE_MULTI |
22 | 17 | ||
diff --git a/arch/arm/mach-shmobile/clock-r8a7779.c b/arch/arm/mach-shmobile/clock-r8a7779.c index f1fb89b76786..cabedebd7648 100644 --- a/arch/arm/mach-shmobile/clock-r8a7779.c +++ b/arch/arm/mach-shmobile/clock-r8a7779.c | |||
@@ -47,17 +47,10 @@ | |||
47 | 47 | ||
48 | #define MD(nr) BIT(nr) | 48 | #define MD(nr) BIT(nr) |
49 | 49 | ||
50 | #define FRQMR IOMEM(0xffc80014) | ||
51 | #define MSTPCR0 IOMEM(0xffc80030) | 50 | #define MSTPCR0 IOMEM(0xffc80030) |
52 | #define MSTPCR1 IOMEM(0xffc80034) | 51 | #define MSTPCR1 IOMEM(0xffc80034) |
53 | #define MSTPCR3 IOMEM(0xffc8003c) | 52 | #define MSTPCR3 IOMEM(0xffc8003c) |
54 | #define MSTPSR1 IOMEM(0xffc80044) | 53 | #define MSTPSR1 IOMEM(0xffc80044) |
55 | #define MSTPSR4 IOMEM(0xffc80048) | ||
56 | #define MSTPSR6 IOMEM(0xffc8004c) | ||
57 | #define MSTPCR4 IOMEM(0xffc80050) | ||
58 | #define MSTPCR5 IOMEM(0xffc80054) | ||
59 | #define MSTPCR6 IOMEM(0xffc80058) | ||
60 | #define MSTPCR7 IOMEM(0xffc80040) | ||
61 | 54 | ||
62 | #define MODEMR 0xffcc0020 | 55 | #define MODEMR 0xffcc0020 |
63 | 56 | ||
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h index e31980590eb4..cb8e32deb2a3 100644 --- a/arch/arm/mach-shmobile/include/mach/common.h +++ b/arch/arm/mach-shmobile/include/mach/common.h | |||
@@ -25,7 +25,6 @@ extern int shmobile_smp_apmu_boot_secondary(unsigned int cpu, | |||
25 | struct task_struct *idle); | 25 | struct task_struct *idle); |
26 | extern void shmobile_smp_apmu_cpu_die(unsigned int cpu); | 26 | extern void shmobile_smp_apmu_cpu_die(unsigned int cpu); |
27 | extern int shmobile_smp_apmu_cpu_kill(unsigned int cpu); | 27 | extern int shmobile_smp_apmu_cpu_kill(unsigned int cpu); |
28 | extern void shmobile_invalidate_start(void); | ||
29 | struct clk; | 28 | struct clk; |
30 | extern int shmobile_clk_init(void); | 29 | extern int shmobile_clk_init(void); |
31 | extern void shmobile_handle_irq_intc(struct pt_regs *); | 30 | extern void shmobile_handle_irq_intc(struct pt_regs *); |
diff --git a/arch/arm/mach-shmobile/include/mach/timex.h b/arch/arm/mach-shmobile/include/mach/timex.h deleted file mode 100644 index ae0d8d825c23..000000000000 --- a/arch/arm/mach-shmobile/include/mach/timex.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef __ASM_MACH_TIMEX_H | ||
2 | #define __ASM_MACH_TIMEX_H | ||
3 | |||
4 | #define CLOCK_TICK_RATE 1193180 /* unused i8253 PIT value */ | ||
5 | |||
6 | #endif /* __ASM_MACH_TIMEX_H */ | ||
diff --git a/arch/arm/mach-shmobile/setup-emev2.c b/arch/arm/mach-shmobile/setup-emev2.c index c8f2a1a69a52..c71d667007b8 100644 --- a/arch/arm/mach-shmobile/setup-emev2.c +++ b/arch/arm/mach-shmobile/setup-emev2.c | |||
@@ -58,7 +58,7 @@ static void __init emev2_add_standard_devices_dt(void) | |||
58 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 58 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
59 | } | 59 | } |
60 | 60 | ||
61 | static const char *emev2_boards_compat_dt[] __initdata = { | 61 | static const char *emev2_boards_compat_dt[] __initconst = { |
62 | "renesas,emev2", | 62 | "renesas,emev2", |
63 | NULL, | 63 | NULL, |
64 | }; | 64 | }; |
diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig index aee77f06f887..b5f8d75d51a0 100644 --- a/arch/arm/mach-socfpga/Kconfig +++ b/arch/arm/mach-socfpga/Kconfig | |||
@@ -1,17 +1,10 @@ | |||
1 | config ARCH_SOCFPGA | 1 | config ARCH_SOCFPGA |
2 | bool "Altera SOCFPGA family" if ARCH_MULTI_V7 | 2 | bool "Altera SOCFPGA family" if ARCH_MULTI_V7 |
3 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
4 | select ARM_AMBA | 3 | select ARM_AMBA |
5 | select ARM_GIC | 4 | select ARM_GIC |
6 | select CACHE_L2X0 | 5 | select CACHE_L2X0 |
7 | select COMMON_CLK | ||
8 | select CPU_V7 | ||
9 | select DW_APB_TIMER_OF | 6 | select DW_APB_TIMER_OF |
10 | select GENERIC_CLOCKEVENTS | ||
11 | select GPIO_PL061 if GPIOLIB | 7 | select GPIO_PL061 if GPIOLIB |
12 | select HAVE_ARM_SCU | 8 | select HAVE_ARM_SCU |
13 | select HAVE_ARM_TWD if SMP | 9 | select HAVE_ARM_TWD if SMP |
14 | select HAVE_SMP | ||
15 | select MFD_SYSCON | 10 | select MFD_SYSCON |
16 | select SPARSE_IRQ | ||
17 | select USE_OF | ||
diff --git a/arch/arm/mach-spear/Kconfig b/arch/arm/mach-spear/Kconfig index ac1710e64d9a..5c57262b97e9 100644 --- a/arch/arm/mach-spear/Kconfig +++ b/arch/arm/mach-spear/Kconfig | |||
@@ -8,8 +8,6 @@ menuconfig PLAT_SPEAR | |||
8 | select ARCH_REQUIRE_GPIOLIB | 8 | select ARCH_REQUIRE_GPIOLIB |
9 | select ARM_AMBA | 9 | select ARM_AMBA |
10 | select CLKSRC_MMIO | 10 | select CLKSRC_MMIO |
11 | select COMMON_CLK | ||
12 | select GENERIC_CLOCKEVENTS | ||
13 | 11 | ||
14 | if PLAT_SPEAR | 12 | if PLAT_SPEAR |
15 | 13 | ||
@@ -18,14 +16,10 @@ config ARCH_SPEAR13XX | |||
18 | depends on ARCH_MULTI_V7 || PLAT_SPEAR_SINGLE | 16 | depends on ARCH_MULTI_V7 || PLAT_SPEAR_SINGLE |
19 | select ARCH_HAS_CPUFREQ | 17 | select ARCH_HAS_CPUFREQ |
20 | select ARM_GIC | 18 | select ARM_GIC |
21 | select CPU_V7 | ||
22 | select GPIO_SPEAR_SPICS | 19 | select GPIO_SPEAR_SPICS |
23 | select HAVE_ARM_SCU if SMP | 20 | select HAVE_ARM_SCU if SMP |
24 | select HAVE_ARM_TWD if SMP | 21 | select HAVE_ARM_TWD if SMP |
25 | select HAVE_SMP | ||
26 | select MIGHT_HAVE_CACHE_L2X0 | ||
27 | select PINCTRL | 22 | select PINCTRL |
28 | select USE_OF | ||
29 | help | 23 | help |
30 | Supports for ARM's SPEAR13XX family | 24 | Supports for ARM's SPEAR13XX family |
31 | 25 | ||
@@ -50,9 +44,7 @@ config ARCH_SPEAR3XX | |||
50 | depends on ARCH_MULTI_V5 || PLAT_SPEAR_SINGLE | 44 | depends on ARCH_MULTI_V5 || PLAT_SPEAR_SINGLE |
51 | depends on !ARCH_SPEAR13XX | 45 | depends on !ARCH_SPEAR13XX |
52 | select ARM_VIC | 46 | select ARM_VIC |
53 | select CPU_ARM926T | ||
54 | select PINCTRL | 47 | select PINCTRL |
55 | select USE_OF | ||
56 | help | 48 | help |
57 | Supports for ARM's SPEAR3XX family | 49 | Supports for ARM's SPEAR3XX family |
58 | 50 | ||
@@ -83,14 +75,12 @@ config ARCH_SPEAR6XX | |||
83 | depends on ARCH_MULTI_V5 || PLAT_SPEAR_SINGLE | 75 | depends on ARCH_MULTI_V5 || PLAT_SPEAR_SINGLE |
84 | depends on !ARCH_SPEAR13XX | 76 | depends on !ARCH_SPEAR13XX |
85 | select ARM_VIC | 77 | select ARM_VIC |
86 | select CPU_ARM926T | ||
87 | help | 78 | help |
88 | Supports for ARM's SPEAR6XX family | 79 | Supports for ARM's SPEAR6XX family |
89 | 80 | ||
90 | config MACH_SPEAR600 | 81 | config MACH_SPEAR600 |
91 | def_bool y | 82 | def_bool y |
92 | depends on ARCH_SPEAR6XX | 83 | depends on ARCH_SPEAR6XX |
93 | select USE_OF | ||
94 | help | 84 | help |
95 | Supports ST SPEAr600 boards configured via the device-treesource "arch/arm/mach-spear6xx/Kconfig" | 85 | Supports ST SPEAr600 boards configured via the device-treesource "arch/arm/mach-spear6xx/Kconfig" |
96 | 86 | ||
diff --git a/arch/arm/mach-spear/include/mach/timex.h b/arch/arm/mach-spear/include/mach/timex.h deleted file mode 100644 index ef95e5b780bd..000000000000 --- a/arch/arm/mach-spear/include/mach/timex.h +++ /dev/null | |||
@@ -1,19 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-spear/include/plat/timex.h | ||
3 | * | ||
4 | * SPEAr platform specific timex definitions | ||
5 | * | ||
6 | * Copyright (C) 2009 ST Microelectronics | ||
7 | * Viresh Kumar <viresh.linux@gmail.com> | ||
8 | * | ||
9 | * This file is licensed under the terms of the GNU General Public | ||
10 | * License version 2. This program is licensed "as is" without any | ||
11 | * warranty of any kind, whether express or implied. | ||
12 | */ | ||
13 | |||
14 | #ifndef __PLAT_TIMEX_H | ||
15 | #define __PLAT_TIMEX_H | ||
16 | |||
17 | #define CLOCK_TICK_RATE 48000000 | ||
18 | |||
19 | #endif /* __PLAT_TIMEX_H */ | ||
diff --git a/arch/arm/mach-sti/Kconfig b/arch/arm/mach-sti/Kconfig index d71654bc8d54..d2c13ba1190b 100644 --- a/arch/arm/mach-sti/Kconfig +++ b/arch/arm/mach-sti/Kconfig | |||
@@ -1,14 +1,10 @@ | |||
1 | menuconfig ARCH_STI | 1 | menuconfig ARCH_STI |
2 | bool "STMicroelectronics Consumer Electronics SOCs with Device Trees" if ARCH_MULTI_V7 | 2 | bool "STMicroelectronics Consumer Electronics SOCs with Device Trees" if ARCH_MULTI_V7 |
3 | select GENERIC_CLOCKEVENTS | ||
4 | select CLKDEV_LOOKUP | ||
5 | select ARM_GIC | 3 | select ARM_GIC |
6 | select ARM_GLOBAL_TIMER | 4 | select ARM_GLOBAL_TIMER |
7 | select PINCTRL | 5 | select PINCTRL |
8 | select PINCTRL_ST | 6 | select PINCTRL_ST |
9 | select MFD_SYSCON | 7 | select MFD_SYSCON |
10 | select MIGHT_HAVE_CACHE_L2X0 | ||
11 | select HAVE_SMP | ||
12 | select HAVE_ARM_SCU if SMP | 8 | select HAVE_ARM_SCU if SMP |
13 | select ARCH_REQUIRE_GPIOLIB | 9 | select ARCH_REQUIRE_GPIOLIB |
14 | select ARM_ERRATA_754322 | 10 | select ARM_ERRATA_754322 |
diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig index b9d6cad8669b..9de27cfa688f 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig | |||
@@ -5,14 +5,9 @@ config ARCH_SUNXI | |||
5 | select ARM_GIC | 5 | select ARM_GIC |
6 | select ARM_PSCI | 6 | select ARM_PSCI |
7 | select CLKSRC_MMIO | 7 | select CLKSRC_MMIO |
8 | select CLKSRC_OF | ||
9 | select COMMON_CLK | ||
10 | select GENERIC_CLOCKEVENTS | ||
11 | select GENERIC_IRQ_CHIP | 8 | select GENERIC_IRQ_CHIP |
12 | select HAVE_SMP | ||
13 | select PINCTRL | 9 | select PINCTRL |
14 | select PINCTRL_SUNXI | 10 | select PINCTRL_SUNXI |
15 | select RESET_CONTROLLER | 11 | select RESET_CONTROLLER |
16 | select SPARSE_IRQ | ||
17 | select SUN4I_TIMER | 12 | select SUN4I_TIMER |
18 | select SUN5I_HSTIMER | 13 | select SUN5I_HSTIMER |
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig index b1232d8be6f5..f61cd5b9f103 100644 --- a/arch/arm/mach-tegra/Kconfig +++ b/arch/arm/mach-tegra/Kconfig | |||
@@ -5,24 +5,16 @@ config ARCH_TEGRA | |||
5 | select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS | 5 | select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS |
6 | select ARM_GIC | 6 | select ARM_GIC |
7 | select CLKSRC_MMIO | 7 | select CLKSRC_MMIO |
8 | select CLKSRC_OF | ||
9 | select COMMON_CLK | ||
10 | select CPU_V7 | ||
11 | select GENERIC_CLOCKEVENTS | ||
12 | select HAVE_ARM_SCU if SMP | 8 | select HAVE_ARM_SCU if SMP |
13 | select HAVE_ARM_TWD if SMP | 9 | select HAVE_ARM_TWD if SMP |
14 | select HAVE_SMP | ||
15 | select MIGHT_HAVE_CACHE_L2X0 | ||
16 | select MIGHT_HAVE_PCI | 10 | select MIGHT_HAVE_PCI |
17 | select PINCTRL | 11 | select PINCTRL |
18 | select ARCH_HAS_RESET_CONTROLLER | 12 | select ARCH_HAS_RESET_CONTROLLER |
19 | select RESET_CONTROLLER | 13 | select RESET_CONTROLLER |
20 | select SOC_BUS | 14 | select SOC_BUS |
21 | select SPARSE_IRQ | ||
22 | select USB_ARCH_HAS_EHCI if USB_SUPPORT | 15 | select USB_ARCH_HAS_EHCI if USB_SUPPORT |
23 | select USB_ULPI if USB_PHY | 16 | select USB_ULPI if USB_PHY |
24 | select USB_ULPI_VIEWPORT if USB_PHY | 17 | select USB_ULPI_VIEWPORT if USB_PHY |
25 | select USE_OF | ||
26 | help | 18 | help |
27 | This enables support for NVIDIA Tegra based systems. | 19 | This enables support for NVIDIA Tegra based systems. |
28 | 20 | ||
diff --git a/arch/arm/mach-u300/Kconfig b/arch/arm/mach-u300/Kconfig index 8e23071bd1b3..e3a96d7302e9 100644 --- a/arch/arm/mach-u300/Kconfig +++ b/arch/arm/mach-u300/Kconfig | |||
@@ -3,20 +3,14 @@ config ARCH_U300 | |||
3 | depends on MMU | 3 | depends on MMU |
4 | select ARCH_REQUIRE_GPIOLIB | 4 | select ARCH_REQUIRE_GPIOLIB |
5 | select ARM_AMBA | 5 | select ARM_AMBA |
6 | select ARM_PATCH_PHYS_VIRT | ||
7 | select ARM_VIC | 6 | select ARM_VIC |
8 | select CLKSRC_MMIO | 7 | select CLKSRC_MMIO |
9 | select CLKSRC_OF | ||
10 | select COMMON_CLK | ||
11 | select CPU_ARM926T | 8 | select CPU_ARM926T |
12 | select GENERIC_CLOCKEVENTS | ||
13 | select HAVE_TCM | 9 | select HAVE_TCM |
14 | select PINCTRL | 10 | select PINCTRL |
15 | select PINCTRL_COH901 | 11 | select PINCTRL_COH901 |
16 | select PINCTRL_U300 | 12 | select PINCTRL_U300 |
17 | select SPARSE_IRQ | ||
18 | select MFD_SYSCON | 13 | select MFD_SYSCON |
19 | select USE_OF | ||
20 | help | 14 | help |
21 | Support for ST-Ericsson U300 series mobile platforms. | 15 | Support for ST-Ericsson U300 series mobile platforms. |
22 | 16 | ||
diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig index 0034d2cd6973..8052bd52450d 100644 --- a/arch/arm/mach-ux500/Kconfig +++ b/arch/arm/mach-ux500/Kconfig | |||
@@ -11,13 +11,8 @@ config ARCH_U8500 | |||
11 | select ARM_GIC | 11 | select ARM_GIC |
12 | select CACHE_L2X0 | 12 | select CACHE_L2X0 |
13 | select CLKSRC_NOMADIK_MTU | 13 | select CLKSRC_NOMADIK_MTU |
14 | select COMMON_CLK | ||
15 | select CPU_V7 | ||
16 | select GENERIC_CLOCKEVENTS | ||
17 | select HAVE_ARM_SCU if SMP | 14 | select HAVE_ARM_SCU if SMP |
18 | select HAVE_ARM_TWD if SMP | 15 | select HAVE_ARM_TWD if SMP |
19 | select HAVE_SMP | ||
20 | select MIGHT_HAVE_CACHE_L2X0 | ||
21 | select PINCTRL | 16 | select PINCTRL |
22 | select PINCTRL_ABX500 | 17 | select PINCTRL_ABX500 |
23 | select PINCTRL_NOMADIK | 18 | select PINCTRL_NOMADIK |
@@ -76,7 +71,6 @@ config UX500_AUTO_PLATFORM | |||
76 | config MACH_UX500_DT | 71 | config MACH_UX500_DT |
77 | bool "Generic U8500 support using device tree" | 72 | bool "Generic U8500 support using device tree" |
78 | depends on MACH_MOP500 | 73 | depends on MACH_MOP500 |
79 | select USE_OF | ||
80 | 74 | ||
81 | endmenu | 75 | endmenu |
82 | 76 | ||
diff --git a/arch/arm/mach-versatile/include/mach/timex.h b/arch/arm/mach-versatile/include/mach/timex.h deleted file mode 100644 index 426199b1add5..000000000000 --- a/arch/arm/mach-versatile/include/mach/timex.h +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-versatile/include/mach/timex.h | ||
3 | * | ||
4 | * Versatile architecture timex specifications | ||
5 | * | ||
6 | * Copyright (C) 2003 ARM Limited | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License as published by | ||
10 | * the Free Software Foundation; either version 2 of the License, or | ||
11 | * (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
21 | */ | ||
22 | |||
23 | #define CLOCK_TICK_RATE (50000000 / 16) | ||
diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig index 4a70be485ff8..80b4be36f10a 100644 --- a/arch/arm/mach-vexpress/Kconfig +++ b/arch/arm/mach-vexpress/Kconfig | |||
@@ -5,16 +5,11 @@ config ARCH_VEXPRESS | |||
5 | select ARM_AMBA | 5 | select ARM_AMBA |
6 | select ARM_GIC | 6 | select ARM_GIC |
7 | select ARM_TIMER_SP804 | 7 | select ARM_TIMER_SP804 |
8 | select COMMON_CLK | ||
9 | select COMMON_CLK_VERSATILE | 8 | select COMMON_CLK_VERSATILE |
10 | select CPU_V7 | ||
11 | select GENERIC_CLOCKEVENTS | ||
12 | select HAVE_ARM_SCU if SMP | 9 | select HAVE_ARM_SCU if SMP |
13 | select HAVE_ARM_TWD if SMP | 10 | select HAVE_ARM_TWD if SMP |
14 | select HAVE_PATA_PLATFORM | 11 | select HAVE_PATA_PLATFORM |
15 | select HAVE_SMP | ||
16 | select ICST | 12 | select ICST |
17 | select MIGHT_HAVE_CACHE_L2X0 | ||
18 | select NO_IOPORT | 13 | select NO_IOPORT |
19 | select PLAT_VERSATILE | 14 | select PLAT_VERSATILE |
20 | select PLAT_VERSATILE_CLCD | 15 | select PLAT_VERSATILE_CLCD |
diff --git a/arch/arm/mach-virt/Kconfig b/arch/arm/mach-virt/Kconfig deleted file mode 100644 index 081d46929436..000000000000 --- a/arch/arm/mach-virt/Kconfig +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | config ARCH_VIRT | ||
2 | bool "Dummy Virtual Machine" if ARCH_MULTI_V7 | ||
3 | select ARCH_WANT_OPTIONAL_GPIOLIB | ||
4 | select ARM_GIC | ||
5 | select HAVE_ARM_ARCH_TIMER | ||
6 | select ARM_PSCI | ||
7 | select HAVE_SMP | ||
8 | select CPU_V7 | ||
9 | select SPARSE_IRQ | ||
10 | select USE_OF | ||
diff --git a/arch/arm/mach-virt/Makefile b/arch/arm/mach-virt/Makefile deleted file mode 100644 index 7ddbfa60227f..000000000000 --- a/arch/arm/mach-virt/Makefile +++ /dev/null | |||
@@ -1,5 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for the linux kernel. | ||
3 | # | ||
4 | |||
5 | obj-y := virt.o | ||
diff --git a/arch/arm/mach-virt/virt.c b/arch/arm/mach-virt/virt.c deleted file mode 100644 index b184e57d1854..000000000000 --- a/arch/arm/mach-virt/virt.c +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | /* | ||
2 | * Dummy Virtual Machine - does what it says on the tin. | ||
3 | * | ||
4 | * Copyright (C) 2012 ARM Ltd | ||
5 | * Authors: Will Deacon <will.deacon@arm.com>, | ||
6 | * Marc Zyngier <marc.zyngier@arm.com> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
19 | */ | ||
20 | |||
21 | #include <linux/of_irq.h> | ||
22 | #include <linux/of_platform.h> | ||
23 | #include <linux/smp.h> | ||
24 | |||
25 | #include <asm/mach/arch.h> | ||
26 | |||
27 | static void __init virt_init(void) | ||
28 | { | ||
29 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | ||
30 | } | ||
31 | |||
32 | static const char *virt_dt_match[] = { | ||
33 | "linux,dummy-virt", | ||
34 | "xen,xenvm", | ||
35 | NULL | ||
36 | }; | ||
37 | |||
38 | DT_MACHINE_START(VIRT, "Dummy Virtual Machine") | ||
39 | .init_machine = virt_init, | ||
40 | .dt_compat = virt_dt_match, | ||
41 | MACHINE_END | ||
diff --git a/arch/arm/mach-vt8500/Kconfig b/arch/arm/mach-vt8500/Kconfig index 927be93b692e..08f56a41cb55 100644 --- a/arch/arm/mach-vt8500/Kconfig +++ b/arch/arm/mach-vt8500/Kconfig | |||
@@ -3,8 +3,6 @@ config ARCH_VT8500 | |||
3 | select ARCH_HAS_CPUFREQ | 3 | select ARCH_HAS_CPUFREQ |
4 | select ARCH_REQUIRE_GPIOLIB | 4 | select ARCH_REQUIRE_GPIOLIB |
5 | select CLKDEV_LOOKUP | 5 | select CLKDEV_LOOKUP |
6 | select CLKSRC_OF | ||
7 | select GENERIC_CLOCKEVENTS | ||
8 | select VT8500_TIMER | 6 | select VT8500_TIMER |
9 | select PINCTRL | 7 | select PINCTRL |
10 | help | 8 | help |
@@ -21,7 +19,6 @@ config ARCH_WM8750 | |||
21 | bool "WonderMedia WM8750" | 19 | bool "WonderMedia WM8750" |
22 | depends on ARCH_MULTI_V6 | 20 | depends on ARCH_MULTI_V6 |
23 | select ARCH_VT8500 | 21 | select ARCH_VT8500 |
24 | select CPU_V6 | ||
25 | help | 22 | help |
26 | Support for WonderMedia WM8750 System-on-Chip. | 23 | Support for WonderMedia WM8750 System-on-Chip. |
27 | 24 | ||
@@ -29,6 +26,5 @@ config ARCH_WM8850 | |||
29 | bool "WonderMedia WM8850" | 26 | bool "WonderMedia WM8850" |
30 | depends on ARCH_MULTI_V7 | 27 | depends on ARCH_MULTI_V7 |
31 | select ARCH_VT8500 | 28 | select ARCH_VT8500 |
32 | select CPU_V7 | ||
33 | help | 29 | help |
34 | Support for WonderMedia WM8850 System-on-Chip. | 30 | Support for WonderMedia WM8850 System-on-Chip. |
diff --git a/arch/arm/mach-w90x900/include/mach/timex.h b/arch/arm/mach-w90x900/include/mach/timex.h deleted file mode 100644 index 164dce0b64db..000000000000 --- a/arch/arm/mach-w90x900/include/mach/timex.h +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-w90x900/include/mach/timex.h | ||
3 | * | ||
4 | * Copyright (c) 2008 Nuvoton technology corporation | ||
5 | * All rights reserved. | ||
6 | * | ||
7 | * Wan ZongShun <mcuos.com@gmail.com> | ||
8 | * | ||
9 | * Based on arch/arm/mach-s3c2410/include/mach/timex.h | ||
10 | * | ||
11 | * This program is free software; you can redistribute it and/or modify | ||
12 | * it under the terms of the GNU General Public License as published by | ||
13 | * the Free Software Foundation; either version 2 of the License, or | ||
14 | * (at your option) any later version. | ||
15 | * | ||
16 | */ | ||
17 | |||
18 | #ifndef __ASM_ARCH_TIMEX_H | ||
19 | #define __ASM_ARCH_TIMEX_H | ||
20 | |||
21 | /* CLOCK_TICK_RATE Now, I don't use it. */ | ||
22 | |||
23 | #define CLOCK_TICK_RATE 15000000 | ||
24 | |||
25 | #endif /* __ASM_ARCH_TIMEX_H */ | ||
diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig index 6b04260aa142..105d39b72a25 100644 --- a/arch/arm/mach-zynq/Kconfig +++ b/arch/arm/mach-zynq/Kconfig | |||
@@ -2,16 +2,9 @@ config ARCH_ZYNQ | |||
2 | bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7 | 2 | bool "Xilinx Zynq ARM Cortex A9 Platform" if ARCH_MULTI_V7 |
3 | select ARM_AMBA | 3 | select ARM_AMBA |
4 | select ARM_GIC | 4 | select ARM_GIC |
5 | select COMMON_CLK | ||
6 | select CPU_V7 | ||
7 | select GENERIC_CLOCKEVENTS | ||
8 | select HAVE_ARM_SCU if SMP | 5 | select HAVE_ARM_SCU if SMP |
9 | select HAVE_ARM_TWD if SMP | 6 | select HAVE_ARM_TWD if SMP |
10 | select ICST | 7 | select ICST |
11 | select MIGHT_HAVE_CACHE_L2X0 | ||
12 | select USE_OF | ||
13 | select HAVE_SMP | ||
14 | select SPARSE_IRQ | ||
15 | select CADENCE_TTC_TIMER | 8 | select CADENCE_TTC_TIMER |
16 | select ARM_GLOBAL_TIMER | 9 | select ARM_GLOBAL_TIMER |
17 | help | 10 | help |
diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c index 1db2a5ca9ab8..8c09a8393fb6 100644 --- a/arch/arm/mach-zynq/common.c +++ b/arch/arm/mach-zynq/common.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/of_irq.h> | 25 | #include <linux/of_irq.h> |
26 | #include <linux/of_platform.h> | 26 | #include <linux/of_platform.h> |
27 | #include <linux/of.h> | 27 | #include <linux/of.h> |
28 | #include <linux/memblock.h> | ||
28 | #include <linux/irqchip.h> | 29 | #include <linux/irqchip.h> |
29 | #include <linux/irqchip/arm-gic.h> | 30 | #include <linux/irqchip/arm-gic.h> |
30 | 31 | ||
@@ -41,6 +42,18 @@ | |||
41 | 42 | ||
42 | void __iomem *zynq_scu_base; | 43 | void __iomem *zynq_scu_base; |
43 | 44 | ||
45 | /** | ||
46 | * zynq_memory_init - Initialize special memory | ||
47 | * | ||
48 | * We need to stop things allocating the low memory as DMA can't work in | ||
49 | * the 1st 512K of memory. | ||
50 | */ | ||
51 | static void __init zynq_memory_init(void) | ||
52 | { | ||
53 | if (!__pa(PAGE_OFFSET)) | ||
54 | memblock_reserve(__pa(PAGE_OFFSET), __pa(swapper_pg_dir)); | ||
55 | } | ||
56 | |||
44 | static struct platform_device zynq_cpuidle_device = { | 57 | static struct platform_device zynq_cpuidle_device = { |
45 | .name = "cpuidle-zynq", | 58 | .name = "cpuidle-zynq", |
46 | }; | 59 | }; |
@@ -117,5 +130,6 @@ DT_MACHINE_START(XILINX_EP107, "Xilinx Zynq Platform") | |||
117 | .init_machine = zynq_init_machine, | 130 | .init_machine = zynq_init_machine, |
118 | .init_time = zynq_timer_init, | 131 | .init_time = zynq_timer_init, |
119 | .dt_compat = zynq_dt_match, | 132 | .dt_compat = zynq_dt_match, |
133 | .reserve = zynq_memory_init, | ||
120 | .restart = zynq_system_reset, | 134 | .restart = zynq_system_reset, |
121 | MACHINE_END | 135 | MACHINE_END |
diff --git a/arch/arm/plat-omap/include/plat/timex.h b/arch/arm/plat-omap/include/plat/timex.h deleted file mode 100644 index e27d2daa7790..000000000000 --- a/arch/arm/plat-omap/include/plat/timex.h +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | /* | ||
2 | * arch/arm/plat-omap/include/mach/timex.h | ||
3 | * | ||
4 | * Copyright (C) 2000 RidgeRun, Inc. | ||
5 | * Author: Greg Lonnon <glonnon@ridgerun.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | * | ||
12 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
13 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
14 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
15 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
16 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
17 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
18 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
19 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
20 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
21 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
22 | * | ||
23 | * You should have received a copy of the GNU General Public License along | ||
24 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
25 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
26 | */ | ||
27 | |||
28 | #if !defined(__ASM_ARCH_OMAP_TIMEX_H) | ||
29 | #define __ASM_ARCH_OMAP_TIMEX_H | ||
30 | |||
31 | #define CLOCK_TICK_RATE (HZ * 100000UL) | ||
32 | |||
33 | #endif /* __ASM_ARCH_OMAP_TIMEX_H */ | ||