GNU Linux-libre 4.14.266-gnu1
[releases.git] / arch / unicore32 / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 config UNICORE32
3         def_bool y
4         select ARCH_HAS_DEVMEM_IS_ALLOWED
5         select ARCH_MIGHT_HAVE_PC_PARPORT
6         select ARCH_MIGHT_HAVE_PC_SERIO
7         select HAVE_MEMBLOCK
8         select HAVE_GENERIC_DMA_COHERENT
9         select HAVE_KERNEL_GZIP
10         select HAVE_KERNEL_BZIP2
11         select GENERIC_ATOMIC64
12         select HAVE_KERNEL_LZO
13         select HAVE_KERNEL_LZMA
14         select VIRT_TO_BUS
15         select ARCH_HAVE_CUSTOM_GPIO_H
16         select GENERIC_FIND_FIRST_BIT
17         select GENERIC_IRQ_PROBE
18         select GENERIC_IRQ_SHOW
19         select ARCH_WANT_FRAME_POINTERS
20         select GENERIC_IOMAP
21         select MODULES_USE_ELF_REL
22         help
23           UniCore-32 is 32-bit Instruction Set Architecture,
24           including a series of low-power-consumption RISC chip
25           designs licensed by PKUnity Ltd.
26           Please see web page at <http://www.pkunity.com/>.
27
28 config GENERIC_CSUM
29         def_bool y
30
31 config NO_IOPORT_MAP
32         bool
33
34 config STACKTRACE_SUPPORT
35         def_bool y
36
37 config LOCKDEP_SUPPORT
38         def_bool y
39
40 config RWSEM_GENERIC_SPINLOCK
41         def_bool y
42
43 config RWSEM_XCHGADD_ALGORITHM
44         bool
45
46 config ARCH_HAS_ILOG2_U32
47         bool
48
49 config ARCH_HAS_ILOG2_U64
50         bool
51
52 config GENERIC_HWEIGHT
53         def_bool y
54
55 config GENERIC_CALIBRATE_DELAY
56         def_bool y
57
58 config ARCH_MAY_HAVE_PC_FDC
59         bool
60
61 config ZONE_DMA
62         def_bool y
63
64 config NEED_DMA_MAP_STATE
65        def_bool y
66
67 source "init/Kconfig"
68
69 source "kernel/Kconfig.freezer"
70
71 menu "System Type"
72
73 config MMU
74         def_bool y
75
76 config ARCH_FPGA
77         bool
78
79 config ARCH_PUV3
80         def_bool y
81         select CPU_UCV2
82         select GENERIC_CLOCKEVENTS
83         select HAVE_CLK
84         select GPIOLIB
85
86 # CONFIGs for ARCH_PUV3
87
88 if ARCH_PUV3
89
90 choice
91         prompt "Board Selection"
92         default PUV3_DB0913
93
94 config PUV3_FPGA_DLX200
95         select ARCH_FPGA
96         bool "FPGA board"
97
98 config PUV3_DB0913
99         bool "DEBUG board (0913)"
100
101 config PUV3_NB0916
102         bool "NetBook board (0916)"
103         select PWM
104         select PWM_PUV3
105
106 config PUV3_SMW0919
107         bool "Security Mini-Workstation board (0919)"
108
109 endchoice
110
111 config PUV3_PM
112         def_bool y if !ARCH_FPGA
113
114 endif
115
116 source "arch/unicore32/mm/Kconfig"
117
118 comment "Floating poing support"
119
120 config UNICORE_FPU_F64
121         def_bool y if !ARCH_FPGA
122
123 endmenu
124
125 menu "Bus support"
126
127 config PCI
128         bool "PCI Support"
129         help
130           Find out whether you have a PCI motherboard. PCI is the name of a
131           bus system, i.e. the way the CPU talks to the other stuff inside
132           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
133           VESA. If you have PCI, say Y, otherwise N.
134
135 source "drivers/pci/Kconfig"
136
137 source "drivers/pcmcia/Kconfig"
138
139 endmenu
140
141 menu "Kernel Features"
142
143 source "kernel/Kconfig.preempt"
144
145 source "kernel/Kconfig.hz"
146
147 source "mm/Kconfig"
148
149 config LEDS
150         def_bool y
151         depends on GPIOLIB
152
153 config ALIGNMENT_TRAP
154         def_bool y
155         help
156           Unicore processors can not fetch/store information which is not
157           naturally aligned on the bus, i.e., a 4 byte fetch must start at an
158           address divisible by 4. On 32-bit Unicore processors, these non-aligned
159           fetch/store instructions will be emulated in software if you say
160           here, which has a severe performance impact. This is necessary for
161           correct operation of some network protocols. With an IP-only
162           configuration it is safe to say N, otherwise say Y.
163
164 endmenu
165
166 menu "Boot options"
167
168 config CMDLINE
169         string "Default kernel command string"
170         default ""
171
172 config CMDLINE_FORCE
173         bool "Always use the default kernel command string"
174         depends on CMDLINE != ""
175         help
176           Always use the default kernel command string, even if the boot
177           loader passes other arguments to the kernel.
178           This is useful if you cannot or don't want to change the
179           command-line options your boot loader passes to the kernel.
180
181           If unsure, say N.
182
183 endmenu
184
185 menu "Userspace binary formats"
186
187 source "fs/Kconfig.binfmt"
188
189 endmenu
190
191 menu "Power management options"
192
193 source "kernel/power/Kconfig"
194
195 source "drivers/cpufreq/Kconfig"
196
197 config ARCH_SUSPEND_POSSIBLE
198         def_bool y if !ARCH_FPGA
199
200 config ARCH_HIBERNATION_POSSIBLE
201         def_bool y if !ARCH_FPGA
202
203 endmenu
204
205 source "net/Kconfig"
206
207 if ARCH_PUV3
208
209 config PUV3_GPIO
210         bool
211         depends on !ARCH_FPGA
212         select GPIO_SYSFS
213         default y
214
215 if PUV3_NB0916
216
217 menu "PKUnity NetBook-0916 Features"
218
219 config I2C_BATTERY_BQ27200
220         tristate "I2C Battery BQ27200 Support"
221         select I2C_PUV3
222         select POWER_SUPPLY
223         select BATTERY_BQ27XXX
224
225 config I2C_EEPROM_AT24
226         tristate "I2C EEPROMs AT24 support"
227         select I2C_PUV3
228         select EEPROM_AT24
229
230 config LCD_BACKLIGHT
231         tristate "LCD Backlight support"
232         select BACKLIGHT_LCD_SUPPORT
233         select BACKLIGHT_PWM
234
235 endmenu
236
237 endif
238
239 endif
240
241 source "drivers/Kconfig"
242
243 source "fs/Kconfig"
244
245 source "arch/unicore32/Kconfig.debug"
246
247 source "security/Kconfig"
248
249 source "crypto/Kconfig"
250
251 source "lib/Kconfig"