aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ubicom32/files/arch/ubicom32/Kconfig
blob: acc61163019441cb7de86c4cc909994c86a15b00 (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
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
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#

mainmenu "uClinux/ubicom32 (w/o MMU) Kernel Configuration"

config UBICOM32
	bool
	select HAVE_OPROFILE
	default y

config RAMKERNEL
	bool
	default y

config CPU_BIG_ENDIAN
	bool
	default y

config FORCE_MAX_ZONEORDER
	int
	default "14"

config HAVE_CLK
	bool
	default y

config MMU
	bool
	default n

config FPU
	bool
	default n

config ZONE_DMA
	bool
	default y

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

config RWSEM_XCHGADD_ALGORITHM
	bool
	default n

config ARCH_HAS_ILOG2_U32
	bool
	default n

config ARCH_HAS_ILOG2_U64
	bool
	default n

config GENERIC_FIND_NEXT_BIT
	bool
	default y

config GENERIC_GPIO
	bool
	default y

config GPIOLIB
	bool
	default y

config GENERIC_HWEIGHT
	bool
	default y

config GENERIC_HARDIRQS
	bool
	default y

config STACKTRACE_SUPPORT
	bool
	default y

config LOCKDEP_SUPPORT
	bool
	default y

config GENERIC_CALIBRATE_DELAY
	bool
	default y

config GENERIC_TIME
	bool
	default y

config TIME_LOW_RES
	bool
	default y

config GENERIC_CLOCKEVENTS
	bool
	default y

config GENERIC_CLOCKEVENTS_BROADCAST
	bool
	depends on GENERIC_CLOCKEVENTS
	default y if SMP && !LOCAL_TIMERS

config NO_IOPORT
	def_bool y

config ARCH_SUPPORTS_AOUT
	def_bool y

config IRQ_PER_CPU
	bool
	default y

config SCHED_NO_NO_OMIT_FRAME_POINTER
	bool
	default y

config UBICOM32_PLIO
	bool
	default n

menu "Processor type and features"

comment "Processor type will be selected by Board"

config UBICOM32_V3
	bool
	help
	  Ubicom IP5xxx series processor support.

config UBICOM32_V4
	bool
	help
	  Ubicom IP7xxx series processor support.

comment "Board"
choice
	prompt "Board type"
	help
		Select your board.

config NOBOARD
	bool "No board selected"
	help
		Default. Don't select any board specific config. Will not build unless you change!

# Add your boards here
source "arch/ubicom32/mach-ip5k/Kconfig"
source "arch/ubicom32/mach-ip7k/Kconfig"

endchoice

comment "Kernel Options"
config SMP
	bool "Symmetric multi-processing support"
	select USE_GENERIC_SMP_HELPERS
	default n
	help
	  Enables multithreading support.  Enabling SMP support increases
	  the size of system data structures.  SMP support can have either
	  positive or negative impact on performance depending on workloads.

	  If you do not know what to do here, say N.
config OLD_40400010_SYSTEM_CALL
	bool "Provide old system call interface at 0x40400010"
	default y
	help
	  Provides the old system call interface, does not affect the
	  new system_call interface.

config NR_CPUS
	int "Number of configured CPUs"
	range 2 32
	default 2
	depends on SMP
	help
		Upper bound on the number of CPUs. Space is reserved
		at compile time for this many CPUs.

config LOCAL_TIMERS
	bool "Use local timer interrupts"
	depends on SMP
	default y
	help
	  Enable support for local timers on SMP platforms, rather then the
	  legacy IPI broadcast method.  Local timers allows the system
	  accounting to be spread across the timer interval, preventing a
	  "thundering herd" at every timer tick.  A physical timer is allocated
	  per cpu.

config TIMER_EXTRA_ALLOC
	int "Number of additional physical timer events to create"
	depends on GENERIC_CLOCKEVENTS
	default 0
	help
		The Ubicom32 processor has a number of event timers that can be wrapped
		in Linux clock event structures (assuming that the timers are not being
		used for another purpose).  Based on the value of LOCAL_TIMERS, either
		2 timers will be used or a timer will be used for every CPU.  This value
		allows the programmer to select additional timers over that amount.

config IRQSTACKS
	bool "Create separate stacks for interrupt handling"
	default n
	help
		Selecting this causes interrupts to be created on a separate
		stack instead of nesting the interrupts on the kernel stack.

config IRQSTACKS_USEOCM
	bool "Use OCM for interrupt stacks"
	default n
	depends on IRQSTACKS
	help
		Selecting this cause the interrupt stacks to be placed in OCM
		reducing cache misses at the expense of using the OCM for servicing
		interrupts.

menu "OCM Instruction Heap"

config OCM_MODULES_RESERVATION
	int "OCM Instruction heap reservation. 0-192 kB"
	range 0 192
	default "0"
	help
	  The minimum amount of OCM memory to reserve for kernel loadable module
	  code. If you are not using this memory it cannot be used for anything
	  else. Leave it as 0 if you have prebuilt modules that are compiled with
	  OCM support.

config OCM_MODULES_MAY_CONSUME_REMAINING_CODESPACE
	bool "Give all unused ocm code space to the ocm instruction heap."
	default n
	help
	  Allow the OCM instruction heap allocation to consume any remaining
	  unused OCM code space.  The result of this is that you will not have
	  and deterministic results, but you will not have any waste either.

config OCM_MODULES_FALLBACK_TO_DDR
	bool "Loadable Modules requiring OCM may fallback to use DDR."
	default n
	help
	  If a module cannot get the OCM code it requires allow DDR to
	  be used instead.
endmenu

config HZ
	int "Frequency of 'jiffies' (for polling)"
	default 1000
	help
		100 is common for embedded systems, but 1000 allows
		you to do more drivers without actually having
		interrupts working properly.

comment "RAM configuration"

config MIN_RAMSIZE
	hex "Minimum Size of RAM (in bytes)"
	range 0x01000000 0x08000000
	default "0x02000000"
	help
		Define the minimum acceptable size of the system
		RAM. Must be at least 16MB (0x01000000)

comment "Build options"
config LINKER_RELAXATION
	bool "Linker Relaxation"
	default y
	help
	  Turns on linker relaxation that will produce smaller
	  faster code. Increases link time.

comment "Driver options"
menu "PCI Bus"
config PCI
	bool "PCI bus"
	default true
	help
	  Enable/Disable PCI bus
	source "drivers/pci/Kconfig"


config PCI_DEV0_IDSEL
	hex "slot 0 address"
	depends on PCI
	default "0x01000000"
	help
	  Slot 0 address.  This address should correspond to the address line
	  which the IDSEL bit for this slot is connected to.

config PCI_DEV1_IDSEL
	hex "slot 1 address"
	depends on PCI
	default "0x02000000"
	help
	  Slot 1 address.  This address should correspond to the address line
	  which the IDSEL bit for this slot is connected to.
endmenu
# End PCI

menu "Input devices"
config UBICOM_INPUT
	bool "Ubicom polled GPIO input driver"
	select INPUT
	select INPUT_POLLDEV
	help
		Polling input driver, much like the GPIO input driver, except that it doesn't
		rely on interrupts.  It will report events via the input subsystem.
	default n

config UBICOM_INPUT_I2C
	bool "Ubicom polled GPIO input driver over I2C"
	select INPUT
	select INPUT_POLLDEV
	help
		Polling input driver, much like the PCA953x driver, it can support a variety of
		different I2C I/O expanders.  This device polls the I2C I/O expander for events
		and reports them via the input subsystem.
	default n
endmenu
# Input devices

source "arch/ubicom32/mach-common/Kconfig.switch"

menu "Misc devices"
config UBICOM_HID
	bool "Ubicom HID driver"
	select INPUT
	select INPUT_POLLDEV
	select LCD_CLASS_DEVICE
	help
		Driver for HID chip found on some Ubicom reference designs.  This chip handles
		PWM, button input, and IR remote control.  It registers as an input device and
		a backlight device.
	default n
endmenu
# Misc devices

config CMDLINE_BOOL
	bool "Built-in kernel command line"
	default n
	help
	  Allow for specifying boot arguments to the kernel at
	  build time.  On some systems (e.g. embedded ones), it is
	  necessary or convenient to provide some or all of the
	  kernel boot arguments with the kernel itself (that is,
	  to not rely on the boot loader to provide them.)

	  To compile command line arguments into the kernel,
	  set this option to 'Y', then fill in the
	  the boot arguments in CONFIG_CMDLINE.

	  Systems with fully functional boot loaders (i.e. non-embedded)
	  should leave this option set to 'N'.

config CMDLINE
	string "Built-in kernel command string"
	depends on CMDLINE_BOOL
	default ""
	help
	  Enter arguments here that should be compiled into the kernel
	  image and used at boot time.  If the boot loader provides a
	  command line at boot time, it is appended to this string to
	  form the full kernel command line, when the system boots.

	  However, you can use the CONFIG_CMDLINE_OVERRIDE option to
	  change this behavior.

	  In most cases, the command line (whether built-in or provided
	  by the boot loader) should specify the device for the root
	  file system.

config CMDLINE_OVERRIDE
	bool "Built-in command line overrides boot loader arguments"
	default n
	depends on CMDLINE_BOOL
	help
	  Set this option to 'Y' to have the kernel ignore the boot loader
	  command line, and use ONLY the built-in command line.

	  This is used to work around broken boot loaders.  This should
	  be set to 'N' under normal conditions.

endmenu
# End Processor type and features

source "arch/ubicom32/Kconfig.debug"

menu "Executable file formats"
source "fs/Kconfig.binfmt"
endmenu

source "init/Kconfig"
source "kernel/Kconfig.preempt"
source "kernel/time/Kconfig"
source "mm/Kconfig"
source "net/Kconfig"
source "drivers/Kconfig"
source "fs/Kconfig"
source "security/Kconfig"
source "crypto/Kconfig"
source "lib/Kconfig"