Merge branch 'address-masking'
[linux-2.6-microblaze.git] / arch / arm / mach-at91 / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig ARCH_AT91
3         bool "AT91/Microchip SoCs"
4         depends on (CPU_LITTLE_ENDIAN && (ARCH_MULTI_V4T || ARCH_MULTI_V5)) || \
5                 ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
6         select ARM_CPU_SUSPEND if PM && ARCH_MULTI_V7
7         select COMMON_CLK_AT91
8         select GPIOLIB
9         select PINCTRL
10         select SOC_BUS
11
12 if ARCH_AT91
13 config SOC_SAMV7
14         bool "SAM Cortex-M7 family" if ARM_SINGLE_ARMV7M
15         select COMMON_CLK_AT91
16         select PINCTRL_AT91
17         help
18           Select this if you are using an SoC from Microchip's SAME7, SAMS7 or SAMV7
19           families.
20
21 config SOC_SAMA5D2
22         bool "SAMA5D2 family"
23         depends on ARCH_MULTI_V7
24         select SOC_SAMA5
25         select CACHE_L2X0
26         select HAVE_AT91_UTMI
27         select HAVE_AT91_USB_CLK
28         select HAVE_AT91_H32MX
29         select HAVE_AT91_GENERATED_CLK
30         select HAVE_AT91_AUDIO_PLL
31         select HAVE_AT91_I2S_MUX_CLK
32         select PINCTRL_AT91PIO4
33         help
34           Select this if ou are using one of Microchip's SAMA5D2 family SoC.
35
36 config SOC_SAMA5D3
37         bool "SAMA5D3 family"
38         depends on ARCH_MULTI_V7
39         select SOC_SAMA5
40         select HAVE_AT91_UTMI
41         select HAVE_AT91_SMD
42         select HAVE_AT91_USB_CLK
43         select PINCTRL_AT91
44         help
45           Select this if you are using one of Microchip's SAMA5D3 family SoC.
46           This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
47
48 config SOC_SAMA5D4
49         bool "SAMA5D4 family"
50         depends on ARCH_MULTI_V7
51         select SOC_SAMA5
52         select CACHE_L2X0
53         select HAVE_AT91_UTMI
54         select HAVE_AT91_SMD
55         select HAVE_AT91_USB_CLK
56         select HAVE_AT91_H32MX
57         select PINCTRL_AT91
58         help
59           Select this if you are using one of Microchip's SAMA5D4 family SoC.
60
61 config SOC_SAMA7G5
62         bool "SAMA7G5 family"
63         depends on ARCH_MULTI_V7
64         select HAVE_AT91_GENERATED_CLK
65         select HAVE_AT91_SAM9X60_PLL
66         select HAVE_AT91_UTMI
67         select PM_OPP
68         select SOC_SAMA7
69         help
70           Select this if you are using one of Microchip's SAMA7G5 family SoC.
71
72 config SOC_LAN966
73         bool "ARMv7 based Microchip LAN966 SoC family"
74         depends on ARCH_MULTI_V7
75         select DW_APB_TIMER_OF
76         select ARM_GIC
77         select MEMORY
78         help
79           This enables support for ARMv7 based Microchip LAN966 SoC family.
80
81 config SOC_AT91RM9200
82         bool "AT91RM9200"
83         depends on ARCH_MULTI_V4T
84         select ATMEL_AIC_IRQ
85         select ATMEL_PM if PM
86         select ATMEL_ST
87         select CPU_ARM920T
88         select HAVE_AT91_USB_CLK
89         select PINCTRL_AT91
90         select SOC_SAM_V4_V5
91         select SRAM if PM
92         help
93           Select this if you are using Microchip's AT91RM9200 SoC.
94
95 config SOC_AT91SAM9
96         bool "AT91SAM9"
97         depends on ARCH_MULTI_V5
98         select ATMEL_AIC_IRQ
99         select ATMEL_PM if PM
100         select CPU_ARM926T
101         select HAVE_AT91_SMD
102         select HAVE_AT91_USB_CLK
103         select HAVE_AT91_UTMI
104         select HAVE_FB_ATMEL
105         select MEMORY
106         select PINCTRL_AT91
107         select SOC_SAM_V4_V5
108         select SRAM if PM
109         help
110           Select this if you are using one of those Microchip SoC:
111             AT91SAM9260
112             AT91SAM9261
113             AT91SAM9263
114             AT91SAM9G15
115             AT91SAM9G20
116             AT91SAM9G25
117             AT91SAM9G35
118             AT91SAM9G45
119             AT91SAM9G46
120             AT91SAM9M10
121             AT91SAM9M11
122             AT91SAM9N12
123             AT91SAM9RL
124             AT91SAM9X25
125             AT91SAM9X35
126             AT91SAM9XE
127
128 config SOC_SAM9X60
129         bool "SAM9X60"
130         depends on ARCH_MULTI_V5
131         select ATMEL_AIC5_IRQ
132         select ATMEL_PM if PM
133         select CPU_ARM926T
134         select HAVE_AT91_USB_CLK
135         select HAVE_AT91_GENERATED_CLK
136         select HAVE_AT91_SAM9X60_PLL
137         select MEMORY
138         select PINCTRL_AT91
139         select SOC_SAM_V4_V5
140         select SRAM if PM
141         help
142           Select this if you are using Microchip's SAM9X60 SoC
143
144 config SOC_SAM9X7
145         bool "SAM9X7"
146         depends on ARCH_MULTI_V5
147         select ATMEL_AIC5_IRQ
148         select ATMEL_PM if PM
149         select CPU_ARM926T
150         select HAVE_AT91_USB_CLK
151         select HAVE_AT91_GENERATED_CLK
152         select HAVE_AT91_SAM9X60_PLL
153         select MEMORY
154         select PINCTRL_AT91
155         select SOC_SAM_V4_V5
156         select SRAM if PM
157         help
158           Select this if you are using Microchip's SAM9X7 SoC
159
160 comment "Clocksource driver selection"
161
162 config ATMEL_CLOCKSOURCE_PIT
163         bool "Periodic Interval Timer (PIT) support"
164         depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
165         default SOC_AT91SAM9 || SOC_SAMA5
166         select ATMEL_PIT
167         help
168           Select this to get a clocksource based on the Atmel Periodic Interval
169           Timer. It has a relatively low resolution and the TC Block clocksource
170           should be preferred.
171
172 config ATMEL_CLOCKSOURCE_TCB
173         bool "Timer Counter Blocks (TCB) support"
174         default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
175         select ATMEL_TCB_CLKSRC
176         help
177           Select this to get a high precision clocksource based on a
178           TC block with a 5+ MHz base clock rate.
179           On platforms with 16-bit counters, two timer channels are combined
180           to make a single 32-bit timer.
181           It can also be used as a clock event device supporting oneshot mode.
182
183 config MICROCHIP_CLOCKSOURCE_PIT64B
184         bool "64-bit Periodic Interval Timer (PIT64B) support"
185         default SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA7
186         select MICROCHIP_PIT64B
187         help
188           Select this to get a high resolution clockevent (SAM9X60) or
189           clocksource and clockevent (SAMA7G5) based on Microchip 64-bit
190           Periodic Interval Timer.
191
192 config HAVE_AT91_UTMI
193         bool
194
195 config HAVE_AT91_USB_CLK
196         bool
197
198 config COMMON_CLK_AT91
199         bool
200         select MFD_SYSCON
201
202 config HAVE_AT91_SMD
203         bool
204
205 config HAVE_AT91_H32MX
206         bool
207
208 config HAVE_AT91_GENERATED_CLK
209         bool
210
211 config HAVE_AT91_AUDIO_PLL
212         bool
213
214 config HAVE_AT91_I2S_MUX_CLK
215         bool
216
217 config HAVE_AT91_SAM9X60_PLL
218         bool
219
220 config SOC_SAM_V4_V5
221         bool
222
223 config SOC_SAM_V7
224         bool
225
226 config SOC_SAMA5
227         bool
228         select ATMEL_AIC5_IRQ
229         select ATMEL_PM if PM
230         select MEMORY
231         select SOC_SAM_V7
232         select SRAM if PM
233
234 config ATMEL_PM
235         bool
236
237 config ATMEL_SECURE_PM
238         bool "Atmel Secure PM support"
239         depends on SOC_SAMA5D2 && ATMEL_PM
240         select ARM_PSCI
241         help
242           When running under a TEE, the suspend mode must be requested to be set
243           at TEE level. When enable, this option will use secure monitor calls
244           to set the suspend level. PSCI is then used to enter suspend.
245
246 config SOC_SAMA7
247         bool
248         select ARM_GIC
249         select ATMEL_PM if PM
250         select MEMORY
251         select SOC_SAM_V7
252         select SRAM if PM
253 endif