if ARCH_SPRD

config SYS_VENDOR
	default "sprd"

choice
	prompt "Sprd board select"
	optional

config SOC_SHARKL3
	bool "Sprd SHARKL3 SoC"
	help
	  The Sprd SHARKL3 is a ARM64-based SoC with a eight-core Cortex-A55.
	  including UART, SPI, USB2.0 and OTG, SD and MMC cards, NAND, PWM,
	  Ethernet, IR TX/RX, I2C, I2S, S/PDIF, and built-in Wi-Fi / Bluetooth combo
	  chip and several DDR3 and DDR4 options.

config SOC_QOGIRN6PRO
	bool "Sprd QOGIRN6PRO SoC"
	help
	  The Sprd QOGIRN6PRO is a ARM64-based SoC with a quad-core Cortex-A55
	  and quad-core Cortex-A76.
	  including UART, SPI, USB2.0 and OTG, SD and MMC cards, NAND, PWM,
	  Ethernet, IR TX/RX, I2C, I2S, S/PDIF, and built-in Wi-Fi / Bluetooth combo
	  chip and several DDR3 and DDR4 options.

config SOC_UIS8520
	bool "Sprd UIS8520 SoC"
	help
	  The Sprd UIS8520 is a ARM64-based SoC with a quad-core Cortex-A55
	  and quad-core Cortex-A76.
	  including UART, SPI, USB2.0 and OTG, SD and MMC cards, NAND, PWM,
	  Ethernet, IR TX/RX, I2C, I2S, S/PDIF, and built-in Wi-Fi / Bluetooth combo
	  chip and several DDR3 and DDR4 options.

endchoice

config SYS_SOC
	default "sharkl3" if SOC_SHARKL3
	default "qogirn6pro" if SOC_QOGIRN6PRO
	default "uis8520" if SOC_UIS8520
	default ""
	help
	  This option contains information about SOC name.

config SYS_BOARD
	string "Board name"
	default "sp9863a_1h10" if TARGET_SP9863A_1H10
	default "ums9620_2h10" if TARGET_UMS9620_2H10
	default "ums9620_2h10_otaab" if TARGET_UMS9620_2H10_OTAAB
	default "uis8520_1h10_nand" if TARGET_UIS8520_1H10_NAND
	default "uis8520_1h10_nand_op_eth1g" if TARGET_UIS8520_1H10_NAND_OP_ETH1G
	default "uis8520_1h10_nand_op_eth10g" if TARGET_UIS8520_1H10_NAND_OP_ETH10G
	default "uis8520_1h10_nand_op_voicetrigger" if TARGET_UIS8520_1H10_NAND_OP_VOICETRIGGER
	default "uis8520_1h10_emmc" if TARGET_UIS8520_1H10_EMMC
	default "uis8520_emmc_dbus_capdev" if TARGET_UIS8520_EMMC_DBUS_CAPDEV
	default "uis7885_2h10" if TARGET_UIS7885_2H10
	default ""
	help
	  This option contains information about board name.
	  Based on this option board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> will
	  be used.

config SYS_CONFIG_NAME
	string "Board configuration name"
	default "sp9863a_1h10" if TARGET_SP9863A_1H10
	default "ums9620_2h10" if TARGET_UMS9620_2H10
	default "ums9620_2h10_otaab" if TARGET_UMS9620_2H10_OTAAB
	default "uis8520_1h10_nand" if TARGET_UIS8520_1H10_NAND
	default "uis8520_1h10_nand_op_eth1g" if TARGET_UIS8520_1H10_NAND_OP_ETH1G
	default "uis8520_1h10_nand_op_eth10g" if TARGET_UIS8520_1H10_NAND_OP_ETH10G
	default "uis8520_1h10_nand_op_voicetrigger" if TARGET_UIS8520_1H10_NAND_OP_VOICETRIGGER
	default "uis8520_1h10_emmc" if TARGET_UIS8520_1H10_EMMC
	default "uis8520_emmc_dbus_capdev" if TARGET_UIS8520_EMMC_DBUS_CAPDEV
	default "uis7885_2h10" if TARGET_UIS7885_2H10
	default ""
	help
	  This option contains information about board configuration name.
	  Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header
	  will be used for board configuration.

config TEXT_BASE
	hex "Base addr of bootloader text"
	default 0x9f000000 if SOC_SHARKL3
	default 0xb5000000 if SOC_QOGIRN6PRO
	default 0xba000000 if SOC_UIS8520
	default 0x9f000000
	help
	  This option contains information variable specifies bootloader
	  text base addr.

config SPRD_DEBUG
	bool "Support ARCH SPRD Debugging"
	default y

config SPRD_USER_WITHOUT_CACHEDUMP
        bool "Support SPRD DELETE CACHEDUMP MEM"
        default n

config SHOW_BACKTRACE
	bool "Support showing backtrace for debugging"
	depends on ARM64
	depends on SPRD_DEBUG
	default y

config RECORD_EXCEPTION
	bool "Support recording exception for debugging"
	depends on SPRD_DEBUG
	default y

config WITH_RUNTIME_CHECKS
	bool "Enable checks for runtime"
	depends on SPRD_DEBUG
	select UBSAN
	select UBSAN_SHIFT
	select UBSAN_DIV_ZERO
	select UBSAN_UNREACHABLE
	select UBSAN_BOOL
	select UBSAN_ENUM
	select UBSAN_RECOVER_MODE
	select STACKPROTECTOR
	default n

source "arch/arm/mach-sprd/boot/Kconfig"
source "arch/arm/mach-sprd/dloader/Kconfig"
source "board/sprd/Kconfig"

endif
