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