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