Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[linux-2.6-block.git] / arch / arm / mach-at91 / Kconfig
1 if ARCH_AT91
2
3 config HAVE_AT91_UTMI
4         bool
5
6 config HAVE_AT91_USB_CLK
7         bool
8
9 config HAVE_AT91_DBGU0
10         bool
11
12 config HAVE_AT91_DBGU1
13         bool
14
15 config HAVE_AT91_DBGU2
16         bool
17
18 config AT91_USE_OLD_CLK
19         bool
20
21 config AT91_PMC_UNIT
22         bool
23         default !ARCH_AT91X40
24
25 config COMMON_CLK_AT91
26         bool
27         default AT91_PMC_UNIT && USE_OF && !AT91_USE_OLD_CLK
28         select COMMON_CLK
29
30 config OLD_CLK_AT91
31         bool
32         default AT91_PMC_UNIT && AT91_USE_OLD_CLK
33
34 config OLD_IRQ_AT91
35         bool
36         select MULTI_IRQ_HANDLER
37         select SPARSE_IRQ
38
39 config AT91_SAM9_ALT_RESET
40         bool
41         default !ARCH_AT91X40
42
43 config AT91_SAM9G45_RESET
44         bool
45         default !ARCH_AT91X40
46
47 config AT91_SAM9_TIME
48         bool
49
50 config HAVE_AT91_SMD
51         bool
52
53 config HAVE_AT91_H32MX
54         bool
55
56 config SOC_AT91SAM9
57         bool
58         select AT91_SAM9_TIME
59         select ATMEL_AIC_IRQ if !OLD_IRQ_AT91
60         select CPU_ARM926T
61         select GENERIC_CLOCKEVENTS
62
63 config SOC_SAMA5
64         bool
65         select AT91_SAM9_TIME
66         select ATMEL_AIC5_IRQ
67         select CPU_V7
68         select GENERIC_CLOCKEVENTS
69         select USE_OF
70
71 menu "Atmel AT91 System-on-Chip"
72
73 choice
74
75         prompt "Core type"
76
77 config ARCH_AT91X40
78         bool "ARM7 AT91X40"
79         depends on !MMU
80         select CPU_ARM7TDMI
81         select ARCH_USES_GETTIMEOFFSET
82         select OLD_IRQ_AT91
83
84         help
85           Select this if you are using one of Atmel's AT91X40 SoC.
86
87 config SOC_SAM_V4_V5
88         bool "ARM9 AT91SAM9/AT91RM9200"
89         help
90           Select this if you are using one of Atmel's AT91SAM9 or
91           AT91RM9200 SoC.
92
93 config SOC_SAM_V7
94         bool "Cortex A5"
95         help
96           Select this if you are using one of Atmel's SAMA5D3 SoC.
97
98 endchoice
99
100 comment "Atmel AT91 Processor"
101
102 if SOC_SAM_V7
103 config SOC_SAMA5D3
104         bool "SAMA5D3 family"
105         select SOC_SAMA5
106         select HAVE_FB_ATMEL
107         select HAVE_AT91_DBGU1
108         select HAVE_AT91_UTMI
109         select HAVE_AT91_SMD
110         select HAVE_AT91_USB_CLK
111         help
112           Select this if you are using one of Atmel's SAMA5D3 family SoC.
113           This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
114
115 config SOC_SAMA5D4
116         bool "SAMA5D4 family"
117         select SOC_SAMA5
118         select HAVE_AT91_DBGU2
119         select CLKSRC_MMIO
120         select CACHE_L2X0
121         select CACHE_PL310
122         select HAVE_FB_ATMEL
123         select HAVE_AT91_UTMI
124         select HAVE_AT91_SMD
125         select HAVE_AT91_USB_CLK
126         select HAVE_AT91_H32MX
127         help
128           Select this if you are using one of Atmel's SAMA5D4 family SoC.
129 endif
130
131 if SOC_SAM_V4_V5
132 config SOC_AT91RM9200
133         bool "AT91RM9200"
134         select ATMEL_AIC_IRQ if !OLD_IRQ_AT91
135         select CPU_ARM920T
136         select GENERIC_CLOCKEVENTS
137         select HAVE_AT91_DBGU0
138         select HAVE_AT91_USB_CLK
139
140 config SOC_AT91SAM9260
141         bool "AT91SAM9260, AT91SAM9XE or AT91SAM9G20"
142         select HAVE_AT91_DBGU0
143         select SOC_AT91SAM9
144         select HAVE_AT91_USB_CLK
145         help
146           Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE
147           or AT91SAM9G20 SoC.
148
149 config SOC_AT91SAM9261
150         bool "AT91SAM9261 or AT91SAM9G10"
151         select HAVE_AT91_DBGU0
152         select HAVE_FB_ATMEL
153         select SOC_AT91SAM9
154         select HAVE_AT91_USB_CLK
155         help
156           Select this if you are using one of Atmel's AT91SAM9261 or AT91SAM9G10 SoC.
157
158 config SOC_AT91SAM9263
159         bool "AT91SAM9263"
160         select HAVE_AT91_DBGU1
161         select HAVE_FB_ATMEL
162         select SOC_AT91SAM9
163         select HAVE_AT91_USB_CLK
164
165 config SOC_AT91SAM9RL
166         bool "AT91SAM9RL"
167         select HAVE_AT91_DBGU0
168         select HAVE_FB_ATMEL
169         select SOC_AT91SAM9
170         select HAVE_AT91_UTMI
171
172 config SOC_AT91SAM9G45
173         bool "AT91SAM9G45 or AT91SAM9M10 families"
174         select HAVE_AT91_DBGU1
175         select HAVE_FB_ATMEL
176         select SOC_AT91SAM9
177         select HAVE_AT91_UTMI
178         select HAVE_AT91_USB_CLK
179         help
180           Select this if you are using one of Atmel's AT91SAM9G45 family SoC.
181           This support covers AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11.
182
183 config SOC_AT91SAM9X5
184         bool "AT91SAM9x5 family"
185         select HAVE_AT91_DBGU0
186         select HAVE_FB_ATMEL
187         select SOC_AT91SAM9
188         select HAVE_AT91_UTMI
189         select HAVE_AT91_SMD
190         select HAVE_AT91_USB_CLK
191         help
192           Select this if you are using one of Atmel's AT91SAM9x5 family SoC.
193           This means that your SAM9 name finishes with a '5' (except if it is
194           AT91SAM9G45!).
195           This support covers AT91SAM9G15, AT91SAM9G25, AT91SAM9X25, AT91SAM9G35
196           and AT91SAM9X35.
197
198 config SOC_AT91SAM9N12
199         bool "AT91SAM9N12 family"
200         select HAVE_AT91_DBGU0
201         select HAVE_FB_ATMEL
202         select SOC_AT91SAM9
203         select HAVE_AT91_USB_CLK
204         help
205           Select this if you are using Atmel's AT91SAM9N12 SoC.
206
207 # ----------------------------------------------------------
208 endif # SOC_SAM_V4_V5
209
210
211 if SOC_SAM_V4_V5 || ARCH_AT91X40
212 source arch/arm/mach-at91/Kconfig.non_dt
213 endif
214
215 comment "Generic Board Type"
216
217 config MACH_AT91RM9200_DT
218         bool "Atmel AT91RM9200 Evaluation Kits with device-tree support"
219         depends on SOC_AT91RM9200
220         select USE_OF
221         help
222           Select this if you want to experiment device-tree with
223           an Atmel RM9200 Evaluation Kit.
224
225 config MACH_AT91SAM9_DT
226         bool "Atmel AT91SAM Evaluation Kits with device-tree support"
227         depends on SOC_AT91SAM9
228         select USE_OF
229         help
230           Select this if you want to experiment device-tree with
231           an Atmel Evaluation Kit.
232
233 config MACH_SAMA5_DT
234         bool "Atmel SAMA5 Evaluation Kits with device-tree support"
235         depends on SOC_SAMA5
236         select USE_OF
237         select PHYLIB if NETDEVICES
238         help
239           Select this if you want to experiment device-tree with
240           an Atmel Evaluation Kit.
241
242 # ----------------------------------------------------------
243
244 comment "AT91 Feature Selections"
245
246 config AT91_SLOW_CLOCK
247         bool "Suspend-to-RAM disables main oscillator"
248         depends on SUSPEND
249         help
250           Select this if you want Suspend-to-RAM to save the most power
251           possible (without powering off the CPU) by disabling the PLLs
252           and main oscillator so that only the 32 KiHz clock is available.
253
254           When only that slow-clock is available, some peripherals lose
255           functionality.  Many can't issue wakeup events unless faster
256           clocks are available.  Some lose their operating state and
257           need to be completely re-initialized.
258
259 config AT91_TIMER_HZ
260        int "Kernel HZ (jiffies per second)"
261        range 32 1024
262        depends on ARCH_AT91
263        default "128" if ARCH_AT91RM9200
264        default "100"
265        help
266           On AT91rm9200 chips where you're using a system clock derived
267           from the 32768 Hz hardware clock, this tick rate should divide
268           it exactly: use a power-of-two value, such as 128 or 256, to
269           reduce timing errors caused by rounding.
270
271           On AT91sam926x chips, or otherwise when using a higher precision
272           system clock (of at least several MHz), rounding is less of a
273           problem so it can be safer to use a decimal values like 100.
274
275 endmenu
276
277 endif