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