1# SPDX-License-Identifier: GPL-2.0
2config 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
30config GENERIC_CSUM
31	def_bool y
32
33config NO_IOPORT_MAP
34	bool
35
36config STACKTRACE_SUPPORT
37	def_bool y
38
39config LOCKDEP_SUPPORT
40	def_bool y
41
42config RWSEM_GENERIC_SPINLOCK
43	def_bool y
44
45config RWSEM_XCHGADD_ALGORITHM
46	bool
47
48config ARCH_HAS_ILOG2_U32
49	bool
50
51config ARCH_HAS_ILOG2_U64
52	bool
53
54config GENERIC_HWEIGHT
55	def_bool y
56
57config GENERIC_CALIBRATE_DELAY
58	def_bool y
59
60config ARCH_MAY_HAVE_PC_FDC
61	bool
62
63config ZONE_DMA
64	def_bool y
65
66menu "System Type"
67
68config MMU
69	def_bool y
70
71config ARCH_FPGA
72	bool
73
74config 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
83if ARCH_PUV3
84
85choice
86	prompt "Board Selection"
87	default PUV3_DB0913
88
89config PUV3_FPGA_DLX200
90	select ARCH_FPGA
91	bool "FPGA board"
92
93config PUV3_DB0913
94	bool "DEBUG board (0913)"
95
96config PUV3_NB0916
97	bool "NetBook board (0916)"
98	select PWM
99	select PWM_PUV3
100
101config PUV3_SMW0919
102	bool "Security Mini-Workstation board (0919)"
103
104endchoice
105
106config PUV3_PM
107	def_bool y if !ARCH_FPGA
108
109endif
110
111source "arch/unicore32/mm/Kconfig"
112
113comment "Floating point support"
114
115config UNICORE_FPU_F64
116	def_bool y if !ARCH_FPGA
117
118endmenu
119
120menu "Bus support"
121
122config 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
130source "drivers/pci/Kconfig"
131
132source "drivers/pcmcia/Kconfig"
133
134endmenu
135
136menu "Kernel Features"
137
138source "kernel/Kconfig.hz"
139
140config LEDS
141	def_bool y
142	depends on GPIOLIB
143
144config 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
155endmenu
156
157menu "Boot options"
158
159config CMDLINE
160	string "Default kernel command string"
161	default ""
162
163config 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
174endmenu
175
176menu "Power management options"
177
178source "kernel/power/Kconfig"
179
180source "drivers/cpufreq/Kconfig"
181
182config ARCH_SUSPEND_POSSIBLE
183	def_bool y if !ARCH_FPGA
184
185config ARCH_HIBERNATION_POSSIBLE
186	def_bool y if !ARCH_FPGA
187
188endmenu
189
190if ARCH_PUV3
191
192config PUV3_GPIO
193	bool
194	depends on !ARCH_FPGA
195	select GPIO_SYSFS
196	default y
197
198if PUV3_NB0916
199
200menu "PKUnity NetBook-0916 Features"
201
202config I2C_BATTERY_BQ27200
203	tristate "I2C Battery BQ27200 Support"
204	select I2C_PUV3
205	select POWER_SUPPLY
206	select BATTERY_BQ27XXX
207
208config I2C_EEPROM_AT24
209	tristate "I2C EEPROMs AT24 support"
210	select I2C_PUV3
211	select EEPROM_AT24
212
213config LCD_BACKLIGHT
214	tristate "LCD Backlight support"
215	select BACKLIGHT_LCD_SUPPORT
216	select BACKLIGHT_PWM
217
218endmenu
219
220endif
221
222endif
223