xref: /openbmc/linux/arch/arm/mach-at91/Kconfig (revision afb46f79)
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 AT91_USE_OLD_CLK
171	select HAVE_AT91_UTMI
172	select HAVE_AT91_SMD
173	select HAVE_AT91_USB_CLK
174	help
175	  Select this if you are using one of Atmel's AT91SAM9x5 family SoC.
176	  This means that your SAM9 name finishes with a '5' (except if it is
177	  AT91SAM9G45!).
178	  This support covers AT91SAM9G15, AT91SAM9G25, AT91SAM9X25, AT91SAM9G35
179	  and AT91SAM9X35.
180
181config SOC_AT91SAM9N12
182	bool "AT91SAM9N12 family"
183	select HAVE_AT91_DBGU0
184	select HAVE_FB_ATMEL
185	select SOC_AT91SAM9
186	select AT91_USE_OLD_CLK
187	select HAVE_AT91_USB_CLK
188	help
189	  Select this if you are using Atmel's AT91SAM9N12 SoC.
190
191# ----------------------------------------------------------
192endif # SOC_SAM_V4_V5
193
194
195if SOC_SAM_V4_V5 || ARCH_AT91X40
196source arch/arm/mach-at91/Kconfig.non_dt
197endif
198
199comment "Generic Board Type"
200
201config MACH_AT91RM9200_DT
202	bool "Atmel AT91RM9200 Evaluation Kits with device-tree support"
203	depends on SOC_AT91RM9200
204	select USE_OF
205	help
206	  Select this if you want to experiment device-tree with
207	  an Atmel RM9200 Evaluation Kit.
208
209config MACH_AT91SAM9_DT
210	bool "Atmel AT91SAM Evaluation Kits with device-tree support"
211	depends on SOC_AT91SAM9
212	select USE_OF
213	help
214	  Select this if you want to experiment device-tree with
215	  an Atmel Evaluation Kit.
216
217config MACH_SAMA5_DT
218	bool "Atmel SAMA5 Evaluation Kits with device-tree support"
219	depends on SOC_SAMA5
220	select USE_OF
221	select PHYLIB if NETDEVICES
222	help
223	  Select this if you want to experiment device-tree with
224	  an Atmel Evaluation Kit.
225
226# ----------------------------------------------------------
227
228comment "AT91 Feature Selections"
229
230config AT91_SLOW_CLOCK
231	bool "Suspend-to-RAM disables main oscillator"
232	depends on SUSPEND
233	help
234	  Select this if you want Suspend-to-RAM to save the most power
235	  possible (without powering off the CPU) by disabling the PLLs
236	  and main oscillator so that only the 32 KiHz clock is available.
237
238	  When only that slow-clock is available, some peripherals lose
239	  functionality.  Many can't issue wakeup events unless faster
240	  clocks are available.  Some lose their operating state and
241	  need to be completely re-initialized.
242
243config AT91_TIMER_HZ
244       int "Kernel HZ (jiffies per second)"
245       range 32 1024
246       depends on ARCH_AT91
247       default "128" if ARCH_AT91RM9200
248       default "100"
249       help
250	  On AT91rm9200 chips where you're using a system clock derived
251	  from the 32768 Hz hardware clock, this tick rate should divide
252	  it exactly: use a power-of-two value, such as 128 or 256, to
253	  reduce timing errors caused by rounding.
254
255	  On AT91sam926x chips, or otherwise when using a higher precision
256	  system clock (of at least several MHz), rounding is less of a
257	  problem so it can be safer to use a decimal values like 100.
258
259endmenu
260
261endif
262