diff options
author | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2015-03-13 17:57:18 -0400 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2015-03-19 11:37:44 -0400 |
commit | 41141127a83d9e986a77a7cab7e27f5afee3bede (patch) | |
tree | 01f39e7ab7a9d611138b1f7200918beb8641622d | |
parent | 88c5544ab2240cf2a2dc87b5af9cd7990d06d028 (diff) |
ARM: at91: switch to multiplatform
Switch AT91 to multiplatform as all SoCs are properly handled.
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
-rw-r--r-- | arch/arm/Kconfig | 13 | ||||
-rw-r--r-- | arch/arm/mach-at91/Kconfig | 121 | ||||
-rw-r--r-- | arch/arm/mach-at91/Makefile | 2 |
3 files changed, 54 insertions, 82 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index f6c5b05e8de8..a1d153098001 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -356,19 +356,6 @@ config ARCH_VERSATILE | |||
356 | help | 356 | help |
357 | This enables support for ARM Ltd Versatile board. | 357 | This enables support for ARM Ltd Versatile board. |
358 | 358 | ||
359 | config ARCH_AT91 | ||
360 | bool "Atmel AT91" | ||
361 | select ARCH_REQUIRE_GPIOLIB | ||
362 | select CLKDEV_LOOKUP | ||
363 | select IRQ_DOMAIN | ||
364 | select PINCTRL | ||
365 | select PINCTRL_AT91 | ||
366 | select SOC_BUS | ||
367 | select USE_OF | ||
368 | help | ||
369 | This enables support for systems based on Atmel | ||
370 | AT91RM9200, AT91SAM9 and SAMA5 processors. | ||
371 | |||
372 | config ARCH_CLPS711X | 359 | config ARCH_CLPS711X |
373 | bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" | 360 | bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" |
374 | select ARCH_REQUIRE_GPIOLIB | 361 | select ARCH_REQUIRE_GPIOLIB |
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 24b59c75f6af..9416613c8eca 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig | |||
@@ -1,55 +1,14 @@ | |||
1 | if ARCH_AT91 | 1 | menuconfig ARCH_AT91 |
2 | 2 | bool "Atmel SoCs" | |
3 | config HAVE_AT91_UTMI | 3 | select ARCH_REQUIRE_GPIOLIB |
4 | bool | ||
5 | |||
6 | config HAVE_AT91_USB_CLK | ||
7 | bool | ||
8 | |||
9 | config COMMON_CLK_AT91 | ||
10 | bool | ||
11 | select COMMON_CLK | ||
12 | |||
13 | config HAVE_AT91_SMD | ||
14 | bool | ||
15 | |||
16 | config HAVE_AT91_H32MX | ||
17 | bool | ||
18 | |||
19 | config SOC_SAMA5 | ||
20 | bool | ||
21 | select ATMEL_AIC5_IRQ | ||
22 | select COMMON_CLK_AT91 | 4 | select COMMON_CLK_AT91 |
23 | select CPU_V7 | 5 | select PINCTRL |
24 | select GENERIC_CLOCKEVENTS | 6 | select PINCTRL_AT91 |
25 | select MEMORY | 7 | select SOC_BUS |
26 | select ATMEL_SDRAMC | ||
27 | select SRAM if PM | ||
28 | |||
29 | menu "Atmel AT91 System-on-Chip" | ||
30 | |||
31 | choice | ||
32 | |||
33 | prompt "Core type" | ||
34 | 8 | ||
35 | config SOC_SAM_V4_V5 | 9 | if ARCH_AT91 |
36 | bool "ARM9 AT91SAM9/AT91RM9200" | ||
37 | help | ||
38 | Select this if you are using one of Atmel's AT91SAM9 or | ||
39 | AT91RM9200 SoC. | ||
40 | |||
41 | config SOC_SAM_V7 | ||
42 | bool "Cortex A5" | ||
43 | help | ||
44 | Select this if you are using one of Atmel's SAMA5D3 SoC. | ||
45 | |||
46 | endchoice | ||
47 | |||
48 | comment "Atmel AT91 Processor" | ||
49 | |||
50 | if SOC_SAM_V7 | ||
51 | config SOC_SAMA5D3 | 10 | config SOC_SAMA5D3 |
52 | bool "SAMA5D3 family" | 11 | bool "SAMA5D3 family" if ARCH_MULTI_V7 |
53 | select SOC_SAMA5 | 12 | select SOC_SAMA5 |
54 | select HAVE_FB_ATMEL | 13 | select HAVE_FB_ATMEL |
55 | select HAVE_AT91_UTMI | 14 | select HAVE_AT91_UTMI |
@@ -60,9 +19,8 @@ config SOC_SAMA5D3 | |||
60 | This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36. | 19 | This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36. |
61 | 20 | ||
62 | config SOC_SAMA5D4 | 21 | config SOC_SAMA5D4 |
63 | bool "SAMA5D4 family" | 22 | bool "SAMA5D4 family" if ARCH_MULTI_V7 |
64 | select SOC_SAMA5 | 23 | select SOC_SAMA5 |
65 | select CLKSRC_MMIO | ||
66 | select CACHE_L2X0 | 24 | select CACHE_L2X0 |
67 | select HAVE_FB_ATMEL | 25 | select HAVE_FB_ATMEL |
68 | select HAVE_AT91_UTMI | 26 | select HAVE_AT91_UTMI |
@@ -71,32 +29,30 @@ config SOC_SAMA5D4 | |||
71 | select HAVE_AT91_H32MX | 29 | select HAVE_AT91_H32MX |
72 | help | 30 | help |
73 | Select this if you are using one of Atmel's SAMA5D4 family SoC. | 31 | Select this if you are using one of Atmel's SAMA5D4 family SoC. |
74 | endif | ||
75 | 32 | ||
76 | if SOC_SAM_V4_V5 | ||
77 | config SOC_AT91RM9200 | 33 | config SOC_AT91RM9200 |
78 | bool "AT91RM9200" | 34 | bool "AT91RM9200" if ARCH_MULTI_V4T |
79 | select ATMEL_AIC_IRQ | 35 | select ATMEL_AIC_IRQ |
80 | select ATMEL_ST | 36 | select ATMEL_ST |
81 | select COMMON_CLK_AT91 | ||
82 | select CPU_ARM920T | 37 | select CPU_ARM920T |
83 | select GENERIC_CLOCKEVENTS | ||
84 | select HAVE_AT91_USB_CLK | 38 | select HAVE_AT91_USB_CLK |
85 | select MIGHT_HAVE_PCI | 39 | select MIGHT_HAVE_PCI |
40 | select SOC_SAM_V4_V5 | ||
86 | select SRAM if PM | 41 | select SRAM if PM |
42 | help | ||
43 | Select this if you are using Atmel's AT91RM9200 SoC. | ||
87 | 44 | ||
88 | config SOC_AT91SAM9 | 45 | config SOC_AT91SAM9 |
89 | bool "AT91SAM9" | 46 | bool "AT91SAM9" if ARCH_MULTI_V5 |
90 | select ATMEL_AIC_IRQ | 47 | select ATMEL_AIC_IRQ |
91 | select ATMEL_SDRAMC | 48 | select ATMEL_SDRAMC |
92 | select COMMON_CLK_AT91 | ||
93 | select CPU_ARM926T | 49 | select CPU_ARM926T |
94 | select GENERIC_CLOCKEVENTS | ||
95 | select HAVE_AT91_SMD | 50 | select HAVE_AT91_SMD |
96 | select HAVE_AT91_USB_CLK | 51 | select HAVE_AT91_USB_CLK |
97 | select HAVE_AT91_UTMI | 52 | select HAVE_AT91_UTMI |
98 | select HAVE_FB_ATMEL | 53 | select HAVE_FB_ATMEL |
99 | select MEMORY | 54 | select MEMORY |
55 | select SOC_SAM_V4_V5 | ||
100 | select SRAM if PM | 56 | select SRAM if PM |
101 | help | 57 | help |
102 | Select this if you are using one of those Atmel SoC: | 58 | Select this if you are using one of those Atmel SoC: |
@@ -116,17 +72,46 @@ config SOC_AT91SAM9 | |||
116 | AT91SAM9X25 | 72 | AT91SAM9X25 |
117 | AT91SAM9X35 | 73 | AT91SAM9X35 |
118 | AT91SAM9XE | 74 | AT91SAM9XE |
119 | endif # SOC_SAM_V4_V5 | ||
120 | 75 | ||
121 | comment "AT91 Feature Selections" | 76 | config HAVE_AT91_UTMI |
77 | bool | ||
78 | |||
79 | config HAVE_AT91_USB_CLK | ||
80 | bool | ||
81 | |||
82 | config COMMON_CLK_AT91 | ||
83 | bool | ||
84 | select COMMON_CLK | ||
85 | |||
86 | config HAVE_AT91_SMD | ||
87 | bool | ||
88 | |||
89 | config HAVE_AT91_H32MX | ||
90 | bool | ||
91 | |||
92 | config SOC_SAM_V4_V5 | ||
93 | bool | ||
94 | |||
95 | config SOC_SAM_V7 | ||
96 | bool | ||
97 | |||
98 | config SOC_SAMA5 | ||
99 | bool | ||
100 | select ATMEL_AIC5_IRQ | ||
101 | select ATMEL_SDRAMC | ||
102 | select MEMORY | ||
103 | select SOC_SAM_V7 | ||
104 | select SRAM if PM | ||
105 | |||
106 | comment "Atmel SoCs Feature Selections" | ||
122 | 107 | ||
123 | config AT91_TIMER_HZ | 108 | config AT91_TIMER_HZ |
124 | int "Kernel HZ (jiffies per second)" | 109 | int "Kernel HZ (jiffies per second)" |
125 | range 32 1024 | 110 | range 32 1024 |
126 | depends on ARCH_AT91 | 111 | depends on ARCH_AT91 |
127 | default "128" if SOC_AT91RM9200 | 112 | default "128" if SOC_AT91RM9200 |
128 | default "100" | 113 | default "100" |
129 | help | 114 | help |
130 | On AT91rm9200 chips where you're using a system clock derived | 115 | On AT91rm9200 chips where you're using a system clock derived |
131 | from the 32768 Hz hardware clock, this tick rate should divide | 116 | from the 32768 Hz hardware clock, this tick rate should divide |
132 | it exactly: use a power-of-two value, such as 128 or 256, to | 117 | it exactly: use a power-of-two value, such as 128 or 256, to |
@@ -136,6 +121,4 @@ config AT91_TIMER_HZ | |||
136 | system clock (of at least several MHz), rounding is less of a | 121 | system clock (of at least several MHz), rounding is less of a |
137 | problem so it can be safer to use a decimal values like 100. | 122 | problem so it can be safer to use a decimal values like 100. |
138 | 123 | ||
139 | endmenu | ||
140 | |||
141 | endif | 124 | endif |
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile index 38aaef7b994e..06a4cefd33a0 100644 --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile | |||
@@ -1,6 +1,8 @@ | |||
1 | # | 1 | # |
2 | # Makefile for the linux kernel. | 2 | # Makefile for the linux kernel. |
3 | # | 3 | # |
4 | ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include | ||
5 | asflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include | ||
4 | 6 | ||
5 | obj-y := soc.o | 7 | obj-y := soc.o |
6 | 8 | ||