xref: /openbmc/linux/arch/arm/mach-at91/Kconfig (revision 33ac9dba)
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 HAVE_AT91_USB_CLK
117
118config SOC_AT91SAM9260
119	bool "AT91SAM9260, AT91SAM9XE or AT91SAM9G20"
120	select HAVE_AT91_DBGU0
121	select SOC_AT91SAM9
122	select HAVE_AT91_USB_CLK
123	help
124	  Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE
125	  or AT91SAM9G20 SoC.
126
127config SOC_AT91SAM9261
128	bool "AT91SAM9261 or AT91SAM9G10"
129	select HAVE_AT91_DBGU0
130	select HAVE_FB_ATMEL
131	select SOC_AT91SAM9
132	select HAVE_AT91_USB_CLK
133	help
134	  Select this if you are using one of Atmel's AT91SAM9261 or AT91SAM9G10 SoC.
135
136config SOC_AT91SAM9263
137	bool "AT91SAM9263"
138	select HAVE_AT91_DBGU1
139	select HAVE_FB_ATMEL
140	select SOC_AT91SAM9
141	select HAVE_AT91_USB_CLK
142
143config SOC_AT91SAM9RL
144	bool "AT91SAM9RL"
145	select HAVE_AT91_DBGU0
146	select HAVE_FB_ATMEL
147	select SOC_AT91SAM9
148	select HAVE_AT91_UTMI
149
150config SOC_AT91SAM9G45
151	bool "AT91SAM9G45 or AT91SAM9M10 families"
152	select HAVE_AT91_DBGU1
153	select HAVE_FB_ATMEL
154	select SOC_AT91SAM9
155	select HAVE_AT91_UTMI
156	select HAVE_AT91_USB_CLK
157	help
158	  Select this if you are using one of Atmel's AT91SAM9G45 family SoC.
159	  This support covers AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11.
160
161config SOC_AT91SAM9X5
162	bool "AT91SAM9x5 family"
163	select HAVE_AT91_DBGU0
164	select HAVE_FB_ATMEL
165	select SOC_AT91SAM9
166	select HAVE_AT91_UTMI
167	select HAVE_AT91_SMD
168	select HAVE_AT91_USB_CLK
169	help
170	  Select this if you are using one of Atmel's AT91SAM9x5 family SoC.
171	  This means that your SAM9 name finishes with a '5' (except if it is
172	  AT91SAM9G45!).
173	  This support covers AT91SAM9G15, AT91SAM9G25, AT91SAM9X25, AT91SAM9G35
174	  and AT91SAM9X35.
175
176config SOC_AT91SAM9N12
177	bool "AT91SAM9N12 family"
178	select HAVE_AT91_DBGU0
179	select HAVE_FB_ATMEL
180	select SOC_AT91SAM9
181	select HAVE_AT91_USB_CLK
182	help
183	  Select this if you are using Atmel's AT91SAM9N12 SoC.
184
185# ----------------------------------------------------------
186endif # SOC_SAM_V4_V5
187
188
189if SOC_SAM_V4_V5 || ARCH_AT91X40
190source arch/arm/mach-at91/Kconfig.non_dt
191endif
192
193comment "Generic Board Type"
194
195config MACH_AT91RM9200_DT
196	bool "Atmel AT91RM9200 Evaluation Kits with device-tree support"
197	depends on SOC_AT91RM9200
198	select USE_OF
199	help
200	  Select this if you want to experiment device-tree with
201	  an Atmel RM9200 Evaluation Kit.
202
203config MACH_AT91SAM9_DT
204	bool "Atmel AT91SAM Evaluation Kits with device-tree support"
205	depends on SOC_AT91SAM9
206	select USE_OF
207	help
208	  Select this if you want to experiment device-tree with
209	  an Atmel Evaluation Kit.
210
211config MACH_SAMA5_DT
212	bool "Atmel SAMA5 Evaluation Kits with device-tree support"
213	depends on SOC_SAMA5
214	select USE_OF
215	select PHYLIB if NETDEVICES
216	help
217	  Select this if you want to experiment device-tree with
218	  an Atmel Evaluation Kit.
219
220# ----------------------------------------------------------
221
222comment "AT91 Feature Selections"
223
224config AT91_SLOW_CLOCK
225	bool "Suspend-to-RAM disables main oscillator"
226	depends on SUSPEND
227	help
228	  Select this if you want Suspend-to-RAM to save the most power
229	  possible (without powering off the CPU) by disabling the PLLs
230	  and main oscillator so that only the 32 KiHz clock is available.
231
232	  When only that slow-clock is available, some peripherals lose
233	  functionality.  Many can't issue wakeup events unless faster
234	  clocks are available.  Some lose their operating state and
235	  need to be completely re-initialized.
236
237config AT91_TIMER_HZ
238       int "Kernel HZ (jiffies per second)"
239       range 32 1024
240       depends on ARCH_AT91
241       default "128" if ARCH_AT91RM9200
242       default "100"
243       help
244	  On AT91rm9200 chips where you're using a system clock derived
245	  from the 32768 Hz hardware clock, this tick rate should divide
246	  it exactly: use a power-of-two value, such as 128 or 256, to
247	  reduce timing errors caused by rounding.
248
249	  On AT91sam926x chips, or otherwise when using a higher precision
250	  system clock (of at least several MHz), rounding is less of a
251	  problem so it can be safer to use a decimal values like 100.
252
253endmenu
254
255endif
256