# SPDX-License-Identifier: GPL-2.0 
 | 
config UNICORE32 
 | 
    def_bool y 
 | 
    select ARCH_HAS_DEVMEM_IS_ALLOWED 
 | 
    select ARCH_MIGHT_HAVE_PC_PARPORT 
 | 
    select ARCH_MIGHT_HAVE_PC_SERIO 
 | 
    select HAVE_MEMBLOCK 
 | 
    select HAVE_GENERIC_DMA_COHERENT 
 | 
    select HAVE_KERNEL_GZIP 
 | 
    select HAVE_KERNEL_BZIP2 
 | 
    select GENERIC_ATOMIC64 
 | 
    select HAVE_KERNEL_LZO 
 | 
    select HAVE_KERNEL_LZMA 
 | 
    select VIRT_TO_BUS 
 | 
    select ARCH_HAVE_CUSTOM_GPIO_H 
 | 
    select GENERIC_FIND_FIRST_BIT 
 | 
    select GENERIC_IRQ_PROBE 
 | 
    select GENERIC_IRQ_SHOW 
 | 
    select ARCH_WANT_FRAME_POINTERS 
 | 
    select GENERIC_IOMAP 
 | 
    select MODULES_USE_ELF_REL 
 | 
    select NEED_DMA_MAP_STATE 
 | 
    select SWIOTLB 
 | 
    help 
 | 
      UniCore-32 is 32-bit Instruction Set Architecture, 
 | 
      including a series of low-power-consumption RISC chip 
 | 
      designs licensed by PKUnity Ltd. 
 | 
      Please see web page at <http://www.pkunity.com/>. 
 | 
  
 | 
config GENERIC_CSUM 
 | 
    def_bool y 
 | 
  
 | 
config NO_IOPORT_MAP 
 | 
    bool 
 | 
  
 | 
config STACKTRACE_SUPPORT 
 | 
    def_bool y 
 | 
  
 | 
config LOCKDEP_SUPPORT 
 | 
    def_bool y 
 | 
  
 | 
config RWSEM_GENERIC_SPINLOCK 
 | 
    def_bool y 
 | 
  
 | 
config RWSEM_XCHGADD_ALGORITHM 
 | 
    bool 
 | 
  
 | 
config ARCH_HAS_ILOG2_U32 
 | 
    bool 
 | 
  
 | 
config ARCH_HAS_ILOG2_U64 
 | 
    bool 
 | 
  
 | 
config GENERIC_HWEIGHT 
 | 
    def_bool y 
 | 
  
 | 
config GENERIC_CALIBRATE_DELAY 
 | 
    def_bool y 
 | 
  
 | 
config ARCH_MAY_HAVE_PC_FDC 
 | 
    bool 
 | 
  
 | 
config ZONE_DMA 
 | 
    def_bool y 
 | 
  
 | 
menu "System Type" 
 | 
  
 | 
config MMU 
 | 
    def_bool y 
 | 
  
 | 
config ARCH_FPGA 
 | 
    bool 
 | 
  
 | 
config ARCH_PUV3 
 | 
    def_bool y 
 | 
    select CPU_UCV2 
 | 
    select GENERIC_CLOCKEVENTS 
 | 
    select HAVE_CLK 
 | 
    select GPIOLIB 
 | 
  
 | 
# CONFIGs for ARCH_PUV3 
 | 
  
 | 
if ARCH_PUV3 
 | 
  
 | 
choice 
 | 
    prompt "Board Selection" 
 | 
    default PUV3_DB0913 
 | 
  
 | 
config PUV3_FPGA_DLX200 
 | 
    select ARCH_FPGA 
 | 
    bool "FPGA board" 
 | 
  
 | 
config PUV3_DB0913 
 | 
    bool "DEBUG board (0913)" 
 | 
  
 | 
config PUV3_NB0916 
 | 
    bool "NetBook board (0916)" 
 | 
    select PWM 
 | 
    select PWM_PUV3 
 | 
  
 | 
config PUV3_SMW0919 
 | 
    bool "Security Mini-Workstation board (0919)" 
 | 
  
 | 
endchoice 
 | 
  
 | 
config PUV3_PM 
 | 
    def_bool y if !ARCH_FPGA 
 | 
  
 | 
endif 
 | 
  
 | 
source "arch/unicore32/mm/Kconfig" 
 | 
  
 | 
comment "Floating point support" 
 | 
  
 | 
config UNICORE_FPU_F64 
 | 
    def_bool y if !ARCH_FPGA 
 | 
  
 | 
endmenu 
 | 
  
 | 
menu "Bus support" 
 | 
  
 | 
config PCI 
 | 
    bool "PCI Support" 
 | 
    help 
 | 
      Find out whether you have a PCI motherboard. PCI is the name of a 
 | 
      bus system, i.e. the way the CPU talks to the other stuff inside 
 | 
      your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or 
 | 
      VESA. If you have PCI, say Y, otherwise N. 
 | 
  
 | 
source "drivers/pci/Kconfig" 
 | 
  
 | 
source "drivers/pcmcia/Kconfig" 
 | 
  
 | 
endmenu 
 | 
  
 | 
menu "Kernel Features" 
 | 
  
 | 
source "kernel/Kconfig.hz" 
 | 
  
 | 
config LEDS 
 | 
    def_bool y 
 | 
    depends on GPIOLIB 
 | 
  
 | 
config ALIGNMENT_TRAP 
 | 
    def_bool y 
 | 
    help 
 | 
      Unicore processors can not fetch/store information which is not 
 | 
      naturally aligned on the bus, i.e., a 4 byte fetch must start at an 
 | 
      address divisible by 4. On 32-bit Unicore processors, these non-aligned 
 | 
      fetch/store instructions will be emulated in software if you say 
 | 
      here, which has a severe performance impact. This is necessary for 
 | 
      correct operation of some network protocols. With an IP-only 
 | 
      configuration it is safe to say N, otherwise say Y. 
 | 
  
 | 
endmenu 
 | 
  
 | 
menu "Boot options" 
 | 
  
 | 
config CMDLINE 
 | 
    string "Default kernel command string" 
 | 
    default "" 
 | 
  
 | 
config CMDLINE_FORCE 
 | 
    bool "Always use the default kernel command string" 
 | 
    depends on CMDLINE != "" 
 | 
    help 
 | 
      Always use the default kernel command string, even if the boot 
 | 
      loader passes other arguments to the kernel. 
 | 
      This is useful if you cannot or don't want to change the 
 | 
      command-line options your boot loader passes to the kernel. 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
endmenu 
 | 
  
 | 
menu "Power management options" 
 | 
  
 | 
source "kernel/power/Kconfig" 
 | 
  
 | 
source "drivers/cpufreq/Kconfig" 
 | 
  
 | 
config ARCH_SUSPEND_POSSIBLE 
 | 
    def_bool y if !ARCH_FPGA 
 | 
  
 | 
config ARCH_HIBERNATION_POSSIBLE 
 | 
    def_bool y if !ARCH_FPGA 
 | 
  
 | 
endmenu 
 | 
  
 | 
if ARCH_PUV3 
 | 
  
 | 
config PUV3_GPIO 
 | 
    bool 
 | 
    depends on !ARCH_FPGA 
 | 
    select GPIO_SYSFS 
 | 
    default y 
 | 
  
 | 
if PUV3_NB0916 
 | 
  
 | 
menu "PKUnity NetBook-0916 Features" 
 | 
  
 | 
config I2C_BATTERY_BQ27200 
 | 
    tristate "I2C Battery BQ27200 Support" 
 | 
    select I2C_PUV3 
 | 
    select POWER_SUPPLY 
 | 
    select BATTERY_BQ27XXX 
 | 
  
 | 
config I2C_EEPROM_AT24 
 | 
    tristate "I2C EEPROMs AT24 support" 
 | 
    select I2C_PUV3 
 | 
    select EEPROM_AT24 
 | 
  
 | 
config LCD_BACKLIGHT 
 | 
    tristate "LCD Backlight support" 
 | 
    select BACKLIGHT_LCD_SUPPORT 
 | 
    select BACKLIGHT_PWM 
 | 
  
 | 
endmenu 
 | 
  
 | 
endif 
 | 
  
 | 
endif 
 |