lin
2025-07-30 fcd736bf35fd93b563e9bbf594f2aa7b62028cc9
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
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
config AVR32
   def_bool y
   # With EXPERT=n, we get lots of stuff automatically selected
   # that we usually don't need on AVR32.
   select EXPERT
   select HAVE_CLK
   select HAVE_EXIT_THREAD
   select HAVE_OPROFILE
   select HAVE_KPROBES
   select VIRT_TO_BUS
   select GENERIC_IRQ_PROBE
   select GENERIC_ATOMIC64
   select HARDIRQS_SW_RESEND
   select GENERIC_IRQ_SHOW
   select ARCH_HAVE_CUSTOM_GPIO_H
   select ARCH_WANT_IPC_PARSE_VERSION
   select ARCH_HAVE_NMI_SAFE_CMPXCHG
   select GENERIC_CLOCKEVENTS
   select HAVE_MOD_ARCH_SPECIFIC
   select MODULES_USE_ELF_RELA
   select HAVE_NMI
   help
     AVR32 is a high-performance 32-bit RISC microprocessor core,
     designed for cost-sensitive embedded applications, with particular
     emphasis on low power consumption and high code density.
 
     There is an AVR32 Linux project with a web page at
     http://avr32linux.org/.
 
config STACKTRACE_SUPPORT
   def_bool y
 
config LOCKDEP_SUPPORT
   def_bool y
 
config TRACE_IRQFLAGS_SUPPORT
   def_bool y
 
config RWSEM_GENERIC_SPINLOCK
   def_bool y
 
config RWSEM_XCHGADD_ALGORITHM
   def_bool n
 
config ARCH_HAS_ILOG2_U32
   def_bool n
 
config ARCH_HAS_ILOG2_U64
   def_bool n
 
config GENERIC_HWEIGHT
   def_bool y
 
config GENERIC_CALIBRATE_DELAY
   def_bool y
 
config GENERIC_BUG
   def_bool y
   depends on BUG
 
source "init/Kconfig"
 
source "kernel/Kconfig.freezer"
 
menu "System Type and features"
 
config SUBARCH_AVR32B
   bool
config MMU
   bool
config PERFORMANCE_COUNTERS
   bool
 
config PLATFORM_AT32AP
   bool
   select SUBARCH_AVR32B
   select MMU
   select PERFORMANCE_COUNTERS
   select GPIOLIB
   select GENERIC_ALLOCATOR
   select HAVE_FB_ATMEL
 
#
# CPU types
#
 
# AP7000 derivatives
config CPU_AT32AP700X
   bool
   select PLATFORM_AT32AP
config CPU_AT32AP7000
   bool
   select CPU_AT32AP700X
config CPU_AT32AP7001
   bool
   select CPU_AT32AP700X
config CPU_AT32AP7002
   bool
   select CPU_AT32AP700X
 
# AP700X boards
config BOARD_ATNGW100_COMMON
   bool
   select CPU_AT32AP7000
 
choice
   prompt "AVR32 board type"
   default BOARD_ATSTK1000
 
config BOARD_ATSTK1000
   bool "ATSTK1000 evaluation board"
 
config BOARD_ATNGW100_MKI
   bool "ATNGW100 Network Gateway"
   select BOARD_ATNGW100_COMMON
 
config BOARD_ATNGW100_MKII
   bool "ATNGW100 mkII Network Gateway"
   select BOARD_ATNGW100_COMMON
 
config BOARD_HAMMERHEAD
   bool "Hammerhead board"
   select CPU_AT32AP7000
   select USB_ARCH_HAS_HCD
   help
     The Hammerhead platform is built around an AVR32 32-bit microcontroller from Atmel.
     It offers versatile peripherals, such as ethernet, usb device, usb host etc.
 
     The board also incorporates a power supply and is a Power over Ethernet (PoE) Powered
     Device (PD).
 
     Additionally, a Cyclone III FPGA from Altera is integrated on the board. The FPGA is
     mapped into the 32-bit AVR memory bus. The FPGA offers two DDR2 SDRAM interfaces, which
     will cover even the most exceptional need of memory bandwidth. Together with the onboard
     video decoder the board is ready for video processing.
 
     For more information see: http://www.miromico.ch/index.php/hammerhead.html 
 
config BOARD_FAVR_32
   bool "Favr-32 LCD-board"
   select CPU_AT32AP7000
 
config BOARD_MERISC
   bool "Merisc board"
   select CPU_AT32AP7000
   help
     Merisc is the family name for a range of AVR32-based boards.
 
     The boards are designed to be used in a man-machine
     interfacing environment, utilizing a touch-based graphical
     user interface. They host a vast range of I/O peripherals as
     well as a large SDRAM & Flash memory bank.
 
     For more information see: http://www.martinsson.se/merisc
 
config BOARD_MIMC200
   bool "MIMC200 CPU board"
   select CPU_AT32AP7000
endchoice
 
source "arch/avr32/boards/atstk1000/Kconfig"
source "arch/avr32/boards/atngw100/Kconfig"
source "arch/avr32/boards/hammerhead/Kconfig"
source "arch/avr32/boards/favr-32/Kconfig"
source "arch/avr32/boards/merisc/Kconfig"
 
choice
   prompt "Boot loader type"
   default LOADER_U_BOOT
 
config    LOADER_U_BOOT
   bool "U-Boot (or similar) bootloader"
endchoice
 
source "arch/avr32/mach-at32ap/Kconfig"
 
config LOAD_ADDRESS
   hex
   default 0x10000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
 
config ENTRY_ADDRESS
   hex
   default 0x90000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
 
config PHYS_OFFSET
   hex
   default 0x10000000 if CPU_AT32AP700X=y
 
source "kernel/Kconfig.preempt"
 
config QUICKLIST
   def_bool y
 
config ARCH_HAVE_MEMORY_PRESENT
   def_bool n
 
config NEED_NODE_MEMMAP_SIZE
   def_bool n
 
config ARCH_FLATMEM_ENABLE
   def_bool y
 
config ARCH_DISCONTIGMEM_ENABLE
   def_bool n
 
config ARCH_SPARSEMEM_ENABLE
   def_bool n
 
config NODES_SHIFT
   int
   default "2"
   depends on NEED_MULTIPLE_NODES
 
source "mm/Kconfig"
 
config OWNERSHIP_TRACE
   bool "Ownership trace support"
   default y
   help
     Say Y to generate an Ownership Trace message on every context switch,
     enabling Nexus-compliant debuggers to keep track of the PID of the
     currently executing task.
 
config NMI_DEBUGGING
   bool "NMI Debugging"
   default n
   help
     Say Y here and pass the nmi_debug command-line parameter to
     the kernel to turn on NMI debugging. Depending on the value
     of the nmi_debug option, various pieces of information will
     be dumped to the console when a Non-Maskable Interrupt
     happens.
 
# FPU emulation goes here
 
source "kernel/Kconfig.hz"
 
config CMDLINE
   string "Default kernel command line"
   default ""
   help
     If you don't have a boot loader capable of passing a command line string
     to the kernel, you may specify one here. As a minimum, you should specify
     the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
 
endmenu
 
menu "Power management options"
 
source "kernel/power/Kconfig"
 
config ARCH_SUSPEND_POSSIBLE
   def_bool y
 
menu "CPU Frequency scaling"
source "drivers/cpufreq/Kconfig"
endmenu
 
endmenu
 
menu "Bus options"
 
config PCI
   bool
 
source "drivers/pci/Kconfig"
 
source "drivers/pcmcia/Kconfig"
 
endmenu
 
menu "Executable file formats"
source "fs/Kconfig.binfmt"
endmenu
 
source "net/Kconfig"
 
source "drivers/Kconfig"
 
source "fs/Kconfig"
 
source "arch/avr32/Kconfig.debug"
 
source "security/Kconfig"
 
source "crypto/Kconfig"
 
source "lib/Kconfig"