summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/Kconfig
blob: b76dc4c62af9602d540e08cb98c4c2a6a8acd40f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
if ARCH_AT91

config HAVE_AT91_UTMI
	bool

config HAVE_AT91_USB_CLK
	bool

config HAVE_AT91_DBGU0
	bool

config HAVE_AT91_DBGU1
	bool

config AT91_USE_OLD_CLK
	bool

config AT91_PMC_UNIT
	bool
	default !ARCH_AT91X40

config COMMON_CLK_AT91
	bool
	default AT91_PMC_UNIT && USE_OF && !AT91_USE_OLD_CLK
	select COMMON_CLK

config OLD_CLK_AT91
	bool
	default AT91_PMC_UNIT && AT91_USE_OLD_CLK

config AT91_SAM9_ALT_RESET
	bool
	default !ARCH_AT91X40

config AT91_SAM9G45_RESET
	bool
	default !ARCH_AT91X40

config AT91_SAM9_TIME
	bool

config SOC_AT91SAM9
	bool
	select AT91_SAM9_TIME
	select CPU_ARM926T
	select GENERIC_CLOCKEVENTS
	select MULTI_IRQ_HANDLER
	select SPARSE_IRQ

config SOC_SAMA5
	bool
	select AT91_SAM9_TIME
	select CPU_V7
	select GENERIC_CLOCKEVENTS
	select MULTI_IRQ_HANDLER
	select SPARSE_IRQ

menu "Atmel AT91 System-on-Chip"

choice

	prompt "Core type"

config SOC_SAM_V4_V5
	bool "ARM7/ARM9"
	help
	  Select this if you are using one of Atmel's AT91SAM9, AT91RM9200
	  or AT91X40 SoC.

config SOC_SAM_V7
	bool "Cortex A5"
	help
	  Select this if you are using one of Atmel's SAMA5D3 SoC.

endchoice

comment "Atmel AT91 Processor"

if SOC_SAM_V7
config SOC_SAMA5D3
	bool "SAMA5D3 family"
	depends on SOC_SAM_V7
	select SOC_SAMA5
	select HAVE_FB_ATMEL
	select HAVE_AT91_DBGU1
	select AT91_USE_OLD_CLK
	select HAVE_AT91_UTMI
	select HAVE_AT91_USB_CLK
	help
	  Select this if you are using one of Atmel's SAMA5D3 family SoC.
	  This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35.
endif

if SOC_SAM_V4_V5
config SOC_AT91RM9200
	bool "AT91RM9200"
	select CPU_ARM920T
	select GENERIC_CLOCKEVENTS
	select HAVE_AT91_DBGU0
	select MULTI_IRQ_HANDLER
	select SPARSE_IRQ
	select AT91_USE_OLD_CLK
	select HAVE_AT91_USB_CLK

config SOC_AT91SAM9260
	bool "AT91SAM9260, AT91SAM9XE or AT91SAM9G20"
	select HAVE_AT91_DBGU0
	select SOC_AT91SAM9
	select AT91_USE_OLD_CLK
	select HAVE_AT91_USB_CLK
	help
	  Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE
	  or AT91SAM9G20 SoC.

config SOC_AT91SAM9261
	bool "AT91SAM9261 or AT91SAM9G10"
	select HAVE_AT91_DBGU0
	select HAVE_FB_ATMEL
	select SOC_AT91SAM9
	select AT91_USE_OLD_CLK
	select HAVE_AT91_USB_CLK
	help
	  Select this if you are using one of Atmel's AT91SAM9261 or AT91SAM9G10 SoC.

config SOC_AT91SAM9263
	bool "AT91SAM9263"
	select HAVE_AT91_DBGU1
	select HAVE_FB_ATMEL
	select SOC_AT91SAM9
	select AT91_USE_OLD_CLK
	select HAVE_AT91_USB_CLK

config SOC_AT91SAM9RL
	bool "AT91SAM9RL"
	select HAVE_AT91_DBGU0
	select HAVE_FB_ATMEL
	select SOC_AT91SAM9
	select AT91_USE_OLD_CLK
	select HAVE_AT91_UTMI

config SOC_AT91SAM9G45
	bool "AT91SAM9G45 or AT91SAM9M10 families"
	select HAVE_AT91_DBGU1
	select HAVE_FB_ATMEL
	select SOC_AT91SAM9
	select AT91_USE_OLD_CLK
	select HAVE_AT91_UTMI
	select HAVE_AT91_USB_CLK
	help
	  Select this if you are using one of Atmel's AT91SAM9G45 family SoC.
	  This support covers AT91SAM9G45, AT91SAM9G46, AT91SAM9M10 and AT91SAM9M11.

config SOC_AT91SAM9X5
	bool "AT91SAM9x5 family"
	select HAVE_AT91_DBGU0
	select HAVE_FB_ATMEL
	select SOC_AT91SAM9
	select AT91_USE_OLD_CLK
	select HAVE_AT91_UTMI
	select HAVE_AT91_USB_CLK
	help
	  Select this if you are using one of Atmel's AT91SAM9x5 family SoC.
	  This means that your SAM9 name finishes with a '5' (except if it is
	  AT91SAM9G45!).
	  This support covers AT91SAM9G15, AT91SAM9G25, AT91SAM9X25, AT91SAM9G35
	  and AT91SAM9X35.

config SOC_AT91SAM9N12
	bool "AT91SAM9N12 family"
	select HAVE_AT91_DBGU0
	select HAVE_FB_ATMEL
	select SOC_AT91SAM9
	select AT91_USE_OLD_CLK
	select HAVE_AT91_USB_CLK
	help
	  Select this if you are using Atmel's AT91SAM9N12 SoC.

# ----------------------------------------------------------

source arch/arm/mach-at91/Kconfig.non_dt
endif # SOC_SAM_V4_V5

comment "Generic Board Type"

config MACH_AT91RM9200_DT
	bool "Atmel AT91RM9200 Evaluation Kits with device-tree support"
	depends on SOC_AT91RM9200
	select USE_OF
	help
	  Select this if you want to experiment device-tree with
	  an Atmel RM9200 Evaluation Kit.

config MACH_AT91SAM9_DT
	bool "Atmel AT91SAM Evaluation Kits with device-tree support"
	depends on SOC_AT91SAM9
	select USE_OF
	help
	  Select this if you want to experiment device-tree with
	  an Atmel Evaluation Kit.

config MACH_SAMA5_DT
	bool "Atmel SAMA5 Evaluation Kits with device-tree support"
	depends on SOC_SAMA5
	select USE_OF
	select PHYLIB if NETDEVICES
	help
	  Select this if you want to experiment device-tree with
	  an Atmel Evaluation Kit.

# ----------------------------------------------------------

comment "AT91 Feature Selections"

config AT91_PROGRAMMABLE_CLOCKS
	bool "Programmable Clocks"
	help
	  Select this if you need to program one or more of the PCK0..PCK3
	  programmable clock outputs.

config AT91_SLOW_CLOCK
	bool "Suspend-to-RAM disables main oscillator"
	depends on SUSPEND
	help
	  Select this if you want Suspend-to-RAM to save the most power
	  possible (without powering off the CPU) by disabling the PLLs
	  and main oscillator so that only the 32 KiHz clock is available.

	  When only that slow-clock is available, some peripherals lose
	  functionality.  Many can't issue wakeup events unless faster
	  clocks are available.  Some lose their operating state and
	  need to be completely re-initialized.

config AT91_TIMER_HZ
       int "Kernel HZ (jiffies per second)"
       range 32 1024
       depends on ARCH_AT91
       default "128" if ARCH_AT91RM9200
       default "100"
       help
	  On AT91rm9200 chips where you're using a system clock derived
	  from the 32768 Hz hardware clock, this tick rate should divide
	  it exactly: use a power-of-two value, such as 128 or 256, to
	  reduce timing errors caused by rounding.

	  On AT91sam926x chips, or otherwise when using a higher precision
	  system clock (of at least several MHz), rounding is less of a
	  problem so it can be safer to use a decimal values like 100.

endmenu

endif