# function list

config PXP_EMULATOR
	bool "Amlogic Pxp emulater flag"
	help
		Support PXP environment

config PXP_DDR
	bool "Amlogic Pxp ddr flag"
	help
		Support PXP ddr environment
		If this config is open, then DDR is running under PXP/PTM mode,
		Which is simulation by software. The behavivor is not same
		as real SOC. This config must be closed if running on real
		chips.

config CMD_PLLTEST
	bool "support plltest command"
	default n
	help
	  support plltest command
	  input operations

config PXP_STO
	bool "Amlogic Pxp storage flag"
	help
		Support PxP storage preload mode.
		When it's enabled, data were load to ram background.
		When it's disabled, data were load to the storage media
		module which makes the routine works much more like the
		silicon chip.

config PXP_SCS
	bool "Amlogic Pxp scs flag"
	help
		Support PXP scs environment
		If this option is open, then SCS check may be disabled for
		fast PXP bring up. This config should be closed if SCS feature
		is ready.

config BUILD_UNSIGN
	bool "Amlogic pxp unsign flag"
	help
		Support PXP no signed environment
		When PXP bring up this option is open. This config should be
		closed when signature is ready.

config BOARD_PACKAGE_NAME
	string "rtos sdk name"
	default ""
	help
		This config can help to select bl30 board name.

config KALLSYMS
	bool "Support call stack dump when crash"
	default y
	help
		This config can help to print call stack like linux kernel panic
		when crash. It's very useful for debug crash issues.

config PXP_AOCPU
	bool "Amlogic Pxp aocpu flag"
	help
		Support PXP aocpu bring up
		if this option is enable, then BL30 will be excuted on AOCPU

config AML_BL33_COMPRESS_ENABLE
	bool "Amlogic U-boot compress"
	help
		Support U-boot compress function

config AML_CRYPTO_AES
	bool "Amlogic Crypto AES for Secure Boot"
	help
		"Support AES for Amlogic Secure Boot"

config AML_SECURE_BOOT_V3
	bool "Amlogic SecureBoot V3"
	help
		"Support Amlogic SecureBoot V3 version"

config FIP_IMG_SUPPORT
	bool "Amlogic FIP IMG format file"
	help
		"Support Amlogic FIP IMG format"

config AML_SECURE_UBOOT
	bool "Amlogic SecureBoot function"
	help
		"Support Amlogic SecureBoot function"

config AML_CRYPTO_UBOOT
	bool "Encrypt Amlogic U-boot"
	help
		"Support U-boot encrypt function"

config UBOOT_RUN_IN_SRAM
	bool "Amlogic U-boot run in sram"
	default n
	help
		"Support Amlogic U-boot run in SRAM"

config AML_TSENSOR
	bool "Amlogic Temp Sensor"
	help
		"Support Amlogic Thermal Sensor"

config AML_TSENSOR_COOL
	bool "Amlogic HIGH TEMP COOL"
	depends on AML_TSENSOR
	help
		"Support Amlogic High Temperature Cool"

config AML_OSCRING
	bool "Amlogic OSCRING MSR"
	help
		"Support Amlogic chip oscring msr"

config AMLOGIC_TIME_PROFILE
	bool "profile for uboot time"
	default y
	help
		catch and dump function/commands which cost long time
		This option should be done with env "setenv time_profile 1"

config SYS_VENDOR
	string "Vendor name"
	default "amlogic"
	help
	  This option contains information about board name.
	  Based on this option board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> will
	  be used.

config NEED_BL32
	bool "Enable bl32"
	default n
	help
		"Support bl32 function"

config RAMDISK_MEM_ADDR
	hex
	default 0x0a000000
	help
		"select ramdisk load address"

config DTB_MEM_ADDR
	hex
	default 0x01000000
	help
		"select Device tree load address"

config MULTI_DTB
	bool "Amlogic Multi-DT function"
	default n
	help
		"Support Multi-DT function"

config DDR_FULL_FW
	bool "full ddr fw support for soc using advanced boot loader"
	default n
	help
		Support full ddr fw for soc using advanced boot loader as
		bl2, such as sc2/t7/s4/t3/p1/s5....

choice
	prompt "BL2E size"
	default BL2E_64K

config BL2E_64K
	bool "64KB"
	help
		This config enable 64KB select of BL2E size
		BL2E size must be one of BL2E_64K/BL2E_128K/
		BL2E_256K/BL2E_1024K

config BL2E_128K
	bool "128KB"
	help
		This config enable 128KB select of BL2E size
		BL2E size must be one of BL2E_64K/BL2E_128K/
		BL2E_256K/BL2E_1024K

config BL2E_256K
	bool "256KB"
	help
		This config enable 256KB select of BL2E size
		BL2E size must be one of BL2E_64K/BL2E_128K/
		BL2E_256K/BL2E_1024K

config BL2E_1024K
	bool "1024KB"
	help
		This config enable 1024KB select of BL2E size
		BL2E size must be one of BL2E_64K/BL2E_128K/
		BL2E_256K/BL2E_1024K

endchoice

config BL2E_PAYLOAD_SIZE
	int
	default   65536 if BL2E_64K
	default  131072 if BL2E_128K
	default  262144 if BL2E_256K
	default 1048576 if BL2E_1024K

config ZIRCON_BOOT_IMAGE
	bool "Build Zircon compatible boot image"
	default n

if MESON_GXBB

config TARGET_ODROID_C2
	bool "ODROID-C2"
	help
	  ODROID-C2 is a single board computer based on Meson GXBaby
	  with 2 GiB of RAM, Gigabit Ethernet, HDMI, 4 USB, micro-SD
	  slot, eMMC, IR receiver and a 40-pin GPIO header.

endif

if MESON_GXL

config SYS_SOC
	default "gxl"

config TARGET_P212
	bool "P212"
	help
	  P212 is a reference dessign board based on Meson GXL S905X SoC
	  with 2 GiB of RAM, Ethernet, HDMI, 2 USB, micro-SD slot,
	  eMMC, IR receiver, CVBS+Audio jack and a SDIO WiFi module.

config TARGET_LIBRETECH_CC
	bool "LIBRETECH-CC"
	help
	  LibreTech CC is a single board computer based on Meson GXL
	  with 2 GiB of RAM, Ethernet, HDMI, 4 USB, micro-SD slot,
	  eMMC, IR receiver and a 40-pin GPIO header.

config TARGET_KHADAS_VIM
	bool "KHADAS-VIM"
	help
	  Khadas VIM is a single board computer based on Meson GXL
	  with 2 GiB of RAM, Ethernet, HDMI, 4 USB, micro-SD slot,
	  eMMC, IR receiver and a 40-pin GPIO header.

endif

# G12A series boards

if MESON_A1

config SYS_SOC
	default "a1"

choice
	prompt "A1 Board"

config A1_AD401_NOR_RTOS
	bool "A1_AD401_NOR_RTOS"
	select TARGET_A1_AD401
	select MTD_SPI_FLASH
	select SYSTEM_RTOS
	help
	  Select A1 AD401 NOR RTOS board config

config A1_AD401_NAND_RTOS
	bool "A1_AD401_NAND_RTOS"
	select TARGET_A1_AD401
	#select SPI_NAND
	select MTD_SPI_NAND
	select SYSTEM_RTOS
	help
	  Select A1 AD401 NOR RTOS board config

config A1_AD401_NAND_LINUX
	bool "A1_AD401_NAND_LINUX"
	select TARGET_A1_AD401
	#select SPI_NAND
	select MTD_SPI_NAND
	help
	  Select A1 AD401 NOR RTOS board config

config A1_AD402_NOR_RTOS
	bool "A1_AD402_NOR_RTOS"
	select TARGET_A1_AD402
	select MTD_SPI_FLASH
	select SYSTEM_RTOS
	help
	  Select A1 AD402 NOR RTOS board config

config A1_AD402_NAND_RTOS
	bool "A1_AD402_NAND_RTOS"
	select TARGET_A1_AD402
	#select SPI_NAND
	select MTD_SPI_NAND
	select SYSTEM_RTOS
	help
	  Select A1 AD402 NOR RTOS board config

config A1_AD402_NAND_LINUX
	bool "A1_AD402_NAND_LINUX"
	select TARGET_A1_AD402
	#select SPI_NAND
	select MTD_SPI_NAND
	help
	  Select A1 AD402 NOR RTOS board config

config A1_T404_NOR_RTOS
	bool "A1_T404_NOR_RTOS"
	select TARGET_A1_T404
	select MTD_SPI_FLASH
	select SYSTEM_RTOS
	help
	  Select A1 AD402 NOR RTOS board config

config A1_T404_NAND_RTOS
	bool "A1_T404_NAND_RTOS"
	select TARGET_A1_T404
	#select SPI_NAND
	select MTD_SPI_NAND
	select SYSTEM_RTOS
	help
	  Select A1 T404 NOR RTOS board config

config A1_T404_NAND_LINUX
	bool "A1_T404_NAND_LINUX"
	select TARGET_A1_T404
	#select SPI_NAND
	select MTD_SPI_NAND
	help
	  Select A1 T404 NOR RTOS board config

config A1_AD403_NOR_RTOS
	bool "A1_AD403_NOR_RTOS"
	select TARGET_A1_AD403
	select MTD_SPI_FLASH
	select SYSTEM_RTOS
	help
	 Select A1 AD403 board config,
	 Use NorFlash and RTOS.

config A1_AD403_NAND_RTOS
	bool "A1_AD403_NAND_RTOS"
	select TARGET_A1_AD403
	#select SPI_NAND
	select MTD_SPI_NAND
	select SYSTEM_RTOS
	help
	 Select A1 AD403 board config,
	 Use NandFlash and RTOS.

config A1_AD403_NAND_LINUX
	bool "A1_AD403_NAND_LINUX"
	select TARGET_A1_AD403
	#select SPI_NAND
	select MTD_SPI_NAND
	help
	 Select A1 AD403 board config,
	 Use NandFlash and Linux.

config A1_AD409_NOR_RTOS
	bool "A1_AD409_NOR_RTOS"
	select TARGET_A1_AD409
	select MTD_SPI_FLASH
	select SYSTEM_RTOS
	help
	  Select A1 AD409 NOR RTOS board config

config A1_AD409_NAND_RTOS
	bool "A1_AD409_NAND_RTOS"
	select TARGET_A1_AD409
	#select SPI_NAND
	select MTD_SPI_NAND
	select SYSTEM_RTOS
	help
	  Select A1 AD409 NOR RTOS board config

config A1_AD409_NAND_LINUX
	bool "A1_AD409_NAND_LINUX"
	select TARGET_A1_AD409
	#select SPI_NAND
	select MTD_SPI_NAND
	help
	  Select A1 AD409 NOR RTOS board config

endchoice

config TARGET_A1_AD401
	bool "A1 AD401 board"
	depends on A1_AD401_NOR_RTOS || A1_AD401_NAND_RTOS || A1_AD401_NAND_LINUX

config TARGET_A1_AD402
	bool "A1 AD402 board"
	depends on A1_AD402_NOR_RTOS || A1_AD402_NAND_RTOS || A1_AD402_NAND_LINUX

config TARGET_A1_T404
	bool "A1 T404 board"
	depends on A1_T404_NOR_RTOS || A1_T404_NAND_RTOS || A1_T404_NAND_LINUX

config TARGET_A1_AD403
    bool "A1 AD403 board"
	depends on A1_AD403_NOR_RTOS || A1_AD403_NAND_RTOS || A1_AD403_NAND_LINUX

config TARGET_A1_AD409
	bool "A1 AD409 board"
	depends on A1_AD409_NOR_RTOS || A1_AD409_NAND_RTOS || A1_AD409_NAND_LINUX

config SYSTEM_RTOS
	bool "SYSTEM_RTOS_PARTITION"
	default n
	depends on A1_AD401_NOR_RTOS || A1_AD402_NOR_RTOS || A1_AD409_NOR_RTOS || A1_AD401_NAND_RTOS || A1_AD402_NAND_RTOS || A1_AD409_NAND_RTOS || A1_T404_NOR_RTOS || A1_T404_NAND_RTOS || A1_T404_NAND_LINUX || A1_AD403_NOR_RTOS || A1_AD403_NAND_RTOS || A1_AD403_NAND_LINUX
	help
	  Select SYSTEM RTOS partition table

endif


if MESON_C1

config SYS_SOC
	default "c1"

choice
	prompt "C1 Board"

config C1_AE409
	bool "C1_AE409"
	select TARGET_C1_AE409
	help
	  Select C1 SKT(AE409) config

config C1_AE400
	bool "C1_AE400"
	select TARGET_C1_AE400
	help
	  Select C1 AE400 config

config C1_AE401
	bool "C1_AE401"
	select TARGET_C1_AE401
	help
	  Select C1 AE401 config

config C1_AE402
	bool "C1_AE402"
	select TARGET_C1_AE402
	help
	  Select C1 AE402 config

endchoice

config TARGET_C1_AE409
	bool "C1 AE409 board"
	depends on C1_AE409

config TARGET_C1_AE400
	bool "C1 AE400 board"
	depends on C1_AE400

config TARGET_C1_AE401
	bool "C1 AE401 board"
	depends on C1_AE401

config TARGET_C1_AE402
	bool "C1 AE402 board"
	depends on C1_AE402

endif

if MESON_S4

config SYS_SOC
	default "s4"

config DDRFW_TYPE
	string "S4 DDR FW Type"
	default "ddr4"

config CHIPSET_NAME
        string "S4 CHIPSET NAME"
        default "s905y4"

config CHIPSET_VARIANT
        string "S4 CHIPSET VARIANT"
        default ""

config AMLOGIC_KEY_TYPE
        string "S4 AMLOGIC KEY TYPE"
        default "dev-keys"

config BL30_SELECT
	string "S4 BL30 board config"
	default "s4_ap229"

choice
	prompt "S4 Board"

config S4_SKT
	bool "S4_SKT"
	select TARGET_S4_SKT
	help
		Select S4 SKT(XXXX) config

config S4_AP222
	bool "S4_AP222"
	select TARGET_S4_AP222
	help
		Select S4 AP222(XXXX) config

config S4_AP22CB
	bool "S4_AP22CB"
	select TARGET_S4_AP22CB
	help
		Select S4 AP22CB(XXXX) config

config S4_AP223
	bool "S4_AP223"
	select TARGET_S4_AP223
	help
		Select S4 AP223(XXXX) config

config S4_AP229
	bool "S4_AP229"
	select TARGET_S4_AP229
	help
		Select S4 AP229(XXXX) config

config S4_AQ222
	bool "S4_AQ222"
	select TARGET_S4_AQ222
	help
		Select S4 AQ222(XXXX) config

config S4_AQ2432
	bool "S4_AQ2432"
	select TARGET_S4_AQ2432
	help
		Select S4 AQ2432(XXXX) config

config S4_AQ229
	bool "S4_AQ229"
	select TARGET_S4_AQ229
	help
		Select S4 AQ229(XXXX) config

config S4_AP229_S905C3ENG
	bool "S4_AP229_S905C3ENG"
	select TARGET_S4_AP229_S905C3ENG
	help
		Select S4 AP229 S905C3ENG(XXXX) config

config S4_T211
	bool "S4_T211"
	select TARGET_S4_T211
	help
		Select S4 T211(XXXX) config

config S4_AP201
	bool "S4_AP201"
	select TARGET_S4_AP201
	help
		Select S4 AP201(XXXX) config

config S4_AP232
	bool "S4_AP232"
	select TARGET_S4_AP232
	help
		Select S4 AP232(XXXX) config

config S4_AP2327
	bool "S4_AP2327"
	select TARGET_S4_AP2327
	help
		Select S4 AP2327(XXXX) config

config S4_BF201
	bool "S4_BF201"
	select TARGET_S4_BF201
	help
		Select S4 BF201(XXXX) config

endchoice

config TARGET_S4_SKT
	bool "S4 SKT board"
	depends on S4_SKT

config TARGET_S4_AP222
	bool "S4 AP222 board"
	depends on S4_AP222

config TARGET_S4_AP22CB
	bool "S4 AP22CB board"
	depends on S4_AP22CB

config TARGET_S4_AP223
	bool "S4 AP223 board"
	depends on S4_AP223

config TARGET_S4_AP229
	bool "S4 AP229 board"
	depends on S4_AP229

config TARGET_S4_AQ222
	bool "S4 AQ222 board"
	depends on S4_AQ222

config TARGET_S4_AQ2432
	bool "S4 AQ2432 board"
	depends on S4_AQ2432

config TARGET_S4_AQ229
	bool "S4 AQ229 board"
	depends on S4_AQ229

config TARGET_S4_T211
	bool "S4 T211 board"
	depends on S4_T211

config TARGET_S4_AP201
	bool "S4 AP201 board"
	depends on S4_AP201

config TARGET_S4_AP232
	bool "S4 AP232 board"
	depends on S4_AP232

config TARGET_S4_AP2327
	bool "S4 AP2327 board"
	depends on S4_AP2327

config TARGET_S4_BF201
	bool "S4 BF201 board"
	depends on S4_BF201

config TARGET_S4_AP229_S905C3ENG
	bool "S4 AP229 S905C3ENG board"

endif

if MESON_A5

config SYS_SOC
	default "a5"

config DDRFW_TYPE
	string "A5 DDR FW Type"
	default "ddr4"

config CHIPSET_NAME
        string "A5 CHIPSET NAME"
        default ""

config CHIPSET_VARIANT
        string "A5 CHIPSET VARIANT"
        default ""

config AMLOGIC_KEY_TYPE
        string "A5 AMLOGIC KEY TYPE"
        default "dev-keys"

config BL30_SELECT
	string "A5 BL30 board config"
	default "a5_skt"

choice
	prompt "A5 Board"

config A5_SKT
	bool "A5_SKT"
	select TARGET_A5_SKT
	help
		Select A5 SKT(XXXX) config

config A5_AV400
	bool "A5_AV400"
	select TARGET_A5_AV400
	help
		Select A5 AV400 config

config A5_AV400_ZIRCON
	bool "A5_AV400_ZIRCON"
	select TARGET_A5_AV400_ZIRCON
	help
		Select A5 AV400 ZIRCON config

config A5_AV409
	bool "A5_AV409"
	select TARGET_A5_AV409
	help
		Select A5 AV409 config

endchoice

config TARGET_A5_SKT
	bool "A5 SKT board"
	depends on A5_SKT

config TARGET_A5_AV400
	bool "A5 AV400 board"
	depends on A5_AV400

config TARGET_A5_AV400_ZIRCON
	bool "A5 AV400 ZIRCON board"
	depends on A5_AV400_ZIRCON

config TARGET_A5_AV409
	bool "A5 AV409 board"
	depends on A5_AV409

endif

if MESON_A4

config SYS_SOC
	default "a4"

config DDRFW_TYPE
	string "a4 DDR FW Type"
	default "ddr4"

config CHIPSET_NAME
        string "a4 CHIPSET NAME"
        default ""

config CHIPSET_VARIANT
        string "a4 CHIPSET VARIANT"
        default ""

config AMLOGIC_KEY_TYPE
        string "a4 AMLOGIC KEY TYPE"
        default "dev-keys"

config BL30_SELECT
	string "a4 BL30 board config"
		default "a4_pxp"

choice
        prompt "a4 Board"

config A4_SKT
        bool "A4_SKT"
		select TARGET_A4_SKT
		help
		    Select A4 SKT(XXXX) config

config A4_BA400
        bool "A4_BA400"
		select TARGET_A4_BA400
		help
		    Select A4 BA400 config

config A4_BA400_ZIRCON
		bool "A4_BA400_ZIRCON"
		select TARGET_A4_BA400_ZIRCON
		help
			Select A4 BA400 ZIRCON config

config A4_BA409
        bool "A4_BA409"
		select TARGET_A4_BA409
		help
		    Select A4 BA409 config

endchoice

config TARGET_A4_SKT
	bool "A4 SKT board"
	depends on A4_SKT

config TARGET_A4_BA400
	bool "A4 BA409 board"
	depends on A4_BA400

config TARGET_A4_BA400_ZIRCON
	bool "A4 BA400 ZIRCON board"
	depends on A4_BA400_ZIRCON

config TARGET_A4_BA409
	bool "A4 BA409 board"
	depends on A4_BA409

endif

if MESON_C3

config SYS_SOC
	default "c3"

config DDRFW_TYPE
	string "c3 DDR FW Type"
	default "ddr3"

config CHIPSET_NAME
        string "c3 CHIPSET NAME"
        default "c308l"

config CHIPSET_VARIANT
        string "C3 CHIPSET VARIANT"
        default ""

config CHIPSET_VARIANT_MIN
	string "C3 bl32 CHIPSET VARIANT MIN"
	default ""

config AMLOGIC_KEY_TYPE
        string "C3 AMLOGIC KEY TYPE"
        default "dev-keys"

choice
	prompt "C3 Board"

config C3_SKT
	bool "C3_SKT"
	select TARGET_C3_SKT
	help
		Select C3 SKT(XXXX) config

config C3_AW409
	bool "C3_AW409"
	select TARGET_C3_AW409
	help
		Select C3 AW409 config

config C3_AW402
	bool "C3_AW402"
	select TARGET_C3_AW402
	help
		Select C3 AW402 config

config C3_AW419
	bool "C3_AW419"
	select TARGET_C3_AW419
	help
		Select C3 AW419 config

config C3_AW429
	bool "C3_AW429"
	select TARGET_C3_AW429
	help
		Select C3 AW429 config
endchoice

config TARGET_C3_SKT
	bool "C3 SKT board"
	depends on C3_SKT

config TARGET_C3_AW409
	bool "C3 AW409 board"
	depends on C3_AW409

config TARGET_C3_AW402
	bool "C3 AW402 board"
	depends on C3_AW402

config TARGET_C3_AW419
	bool "C3 AW419 board"
	depends on C3_AW419

config TARGET_C3_AW429
	bool "C3 AW429 board"
	depends on C3_AW429
endif

if MESON_SC2

config SYS_SOC
	default "sc2"

config DDRFW_TYPE
	string "SC2 DDR FW Type"
	default "ddr4"

config CHIPSET_NAME
	string "SC2 CHIPSET NAME"
	default "S905X4"

config CHIPSET_VARIANT
	string "SC2 CHIPSET VARIANT"
	default ""

config AMLOGIC_KEY_TYPE
	string "SC2 AMLOGIC KEY TYPE"
	default "dev-keys"

config BL30_SELECT
	string "SC2 BL30 board config"
	default "sc2_ah219"

choice
	prompt "SC2 Board"

config SC2_SKT
	bool "SC2_SKT"
	select TARGET_SC2_SKT
	help
	  Select SC2 SKT(XXXX) config

config SC2_AH219
	bool "SC2_AH219"
	select TARGET_SC2_AH219
	help
	  Select SC2 AH219 config

config SC2_AH212
	bool "SC2_AH212"
	select TARGET_SC2_AH212
	help
	  Select SC2 AH212 config

config SC2_AH232
	bool "SC2_AH232"
	select TARGET_SC2_AH232
	help
	  Select SC2 AH232 config

config SC2_AH221
	bool "SC2_AH221"
	select TARGET_SC2_AH221
	help
	  Select SC2 AH221 config

config SC2_AH212_DDR3
	bool "SC2_AH212_DDR3"
	select TARGET_SC2_AH212_DDR3
	help
	  Select SC2 AH212 DDR3 config

config SC2_AH212_LPDDR3
	bool "SC2_AH212_LPDDR3"
	select TARGET_SC2_AH212_LPDDR3
	help
	  Select SC2 AH212 LPDDR3 config

config SC2_AH212_LPDDR4
	bool "SC2_AH212_LPDDR4"
	select TARGET_SC2_AH212_LPDDR4
	help
	  Select SC2 AH212 LPDDR4 config

endchoice

config TARGET_SC2_SKT
	bool "SC2 SKT board"
	depends on SC2_SKT

config TARGET_SC2_AH219
	bool "SC2 AH219 board"
	depends on SC2_AH219

config TARGET_SC2_AH212
	bool "SC2 AH212 board"
	depends on SC2_AH212

config TARGET_SC2_AH232
	bool "SC2 AH232 board"
	depends on SC2_AH232

config TARGET_SC2_AH221
	bool "SC2 AH221 board"
	depends on SC2_AH221

config TARGET_SC2_AH212_DDR3
	bool "SC2 AH212 ddr3 board"
	depends on SC2_AH212_DDR3

config TARGET_SC2_AH212_LPDDR3
	bool "SC2 AH212 lpddr3 board"
	depends on SC2_AH212_LPDDR3

config TARGET_SC2_AH212_LPDDR4
	bool "SC2 AH212 lpddr4 board"
	depends on SC2_AH212_LPDDR4

endif

if MESON_P1

config SYS_SOC
	default "p1"

config DDRFW_TYPE
	string "P1 DDR FW Type"
	default "ddr4"

config CHIPSET_NAME
	string "P1 CHIPSET NAME"
	default "azp1"

config CHIPSET_VARIANT
	string "P1 CHIPSET VARIANT"
	default ""

config AMLOGIC_KEY_TYPE
	string "P1 AMLOGIC KEY TYPE"
	default "dev-keys"

config BL30_SELECT
	string "P1 BL30 board config"
	default "p1_skt"

choice
	prompt "P1 Board"

config P1_SKT
	bool "P1_SKT"
	select TARGET_P1_SKT
	help
	  Select P1 SKT(XXXX) config

config P1_AS400
	bool "P1_AS400"
	select TARGET_P1_AS400
	help
	  Select P1 AS400 config

config P1_AS408
	bool "P1_AS408"
	select TARGET_P1_AS408
	help
	  Select P1 AS408 config

config P1_AS409
	bool "P1_AS409"
	select TARGET_P1_AS409
	help
	  Select P1 AS409 config

config P1_NINOX_4
	bool "P1_NINOX_4"
	select TARGET_P1_NINOX_4
	help
	  Select P1 NINOX 4 config

endchoice

config TARGET_P1_SKT
	bool "P1 SKT board"
	depends on P1_SKT

config TARGET_P1_AS400
	bool "P1 AS400 board"
	depends on P1_AS400

config TARGET_P1_AS408
	bool "P1 AS408 board"
	depends on P1_AS408

config TARGET_P1_AS409
	bool "P1 AS409 board"
	depends on P1_AS409

config TARGET_P1_NINOX_4
	bool "P1 NINOX 4 board"
	depends on P1_NINOX_4

endif

if MESON_S5

config SYS_SOC
	default "s5"

config DDRFW_TYPE
	string "s5 DDR FW Type"
	default "lpddr4"

config CHIPSET_NAME
        string "S5 CHIPSET NAME"
        default "s928x"

config CHIPSET_VARIANT
        string "S5 CHIPSET VARIANT"
        default ""

config AMLOGIC_KEY_TYPE
        string "S5 AMLOGIC KEY TYPE"
        default "dev-keys"

config BL30_SELECT
	string "S5 BL30 board config"
	default "s5_skt"

choice
	prompt "S5 Board"

config S5_SKT
	bool "S5_SKT"
	select TARGET_S5_SKT
	help
		Select S5 SKT(XXXX) config

config S5_AX201
	bool "S5_AX201"
	select TARGET_S5_AX201
	help
		Select S5 AX201(XXXX) config

config S5_AX208
	bool "S5_AX208"
	select TARGET_S5_AX208
	help
		Select S5 AX208(XXXX) config

config S5_AX209
	bool "S5_AX209"
	select TARGET_S5_AX209
	help
		Select S5 AX209(XXXX) config

endchoice

config TARGET_S5_SKT
	bool "S5 SKT board"
	depends on S5_SKT

config TARGET_S5_AX201
	bool "S5 AX201 board"
	depends on S5_AX201

config TARGET_S5_AX208
	bool "S5 AX208 board"
	depends on S5_AX208

config TARGET_S5_AX209
	bool "S5 AX209 board"
	depends on S5_AX209

endif

if MESON_T7

config SYS_SOC
	default "t7"

config DDRFW_TYPE
	string "T7 DDR FW Type"
	default "ddr4"

config CHIPSET_NAME
	string "T7 CHIPSET NAME"
	default "POP1"

config CHIPSET_VARIANT
	string "T7 CHIPSET VARIANT"
	default ""

config AMLOGIC_KEY_TYPE
	string "T7 AMLOGIC KEY TYPE"
	default "dev-keys"

config BL30_SELECT
	string "T7 BL30 board config"
	default "sc2_ah219"

choice
	prompt "T7 Board"

config T7_SKT
	bool "T7_SKT"
	select TARGET_T7_SKT
	help
	  Select T7 SKT(XXXX) config

config T7_AN408_LPDDR4X
	bool "T7_AN408_LPDDR4X"
	select TARGET_T7_AN408_LPDDR4X
	help
	  Select T7 AN408 LPDDR4X config

config T7_AN409_DDR4
	bool "T7_AN409_DDR4"
	select TARGET_T7_AN409_DDR4
	help
	  Select T7 AN409 DDR4 config

config T7_AN400_LPDDR4X
	bool "T7_AN400_LPDDR4X"
	select TARGET_T7_AN400_LPDDR4X
	help
	  Select T7 AN400 LPDDR4X config

config T7_AN400_LPDDR4X_DEBIAN
	bool "T7_AN400_LPDDR4X_DEBIAN"
	select TARGET_T7_AN400_LPDDR4X
	help
	  Select T7 AN400 LPDDR4X DEBIAN config
	  it's based in T7 AN400 LPDDR4X
	  and add debian configs

config T7_AN400_MERCURY
	bool "T7_AN400_MERCURY"
	select TARGET_T7_AN400_MERCURY
	help
	  Select T7 AN400 MERCURY config
	  MERCURY is for automotive
	  it's based in T7 AN400 LPDDR4X
	  and add car configs

config T7_T319
	bool "T7_T319"
	select TARGET_T7_T319
	help
	  Select T7 T319 config

config T7_AN40A1
	bool "T7_AN40A1"
	select TARGET_T7_AN40A1
	help
	  Select T7 AN40A1 config

config T7_AN400P_LPDDR4X
	bool "T7_AN400P_LPDDR4X"
	select TARGET_T7_AN400P_LPDDR4X
	help
	  Select T7 AN400P LPDDR4X config

config T7_REVC_SKT
	bool "T7_REVC_SKT"
	select TARGET_T7_REVC_SKT
	help
	  Select T7 REVC SKT(XXXX) config

endchoice

config TARGET_T7_SKT
	bool "T7 SKT board"
	depends on T7_SKT

config TARGET_T7_AN408_LPDDR4X
	bool "T7 AN408 lpddr4x board"
	depends on T7_AN408_LPDDR4X

config TARGET_T7_AN409_DDR4
	bool "T7 AN409 ddr4 board"
	depends on T7_AN409_DDR4

config TARGET_T7_AN400_LPDDR4X
	bool "T7 AN400 lpddr4x board"
	depends on T7_AN400_LPDDR4X || T7_AN400_LPDDR4X_DEBIAN

config TARGET_T7_AN400_MERCURY
        bool "T7 AN400 mercury board"
        depends on T7_AN400_MERCURY

config TARGET_T7_T319
	bool "T7 T319 board"
	depends on T7_T319

config TARGET_T7_AN40A1
	bool "T7 AN40A1 board"
	depends on T7_AN40A1

config TARGET_T7_AN400P_LPDDR4X
	bool "T7 AN400P lpddr4x board"
	depends on T7_AN400P_LPDDR4X

config TARGET_T7_REVC_SKT
	bool "T7 REVC SKT board"
	depends on T7_REVC_SKT

endif

if MESON_T3

config SYS_SOC
	default "t3"

config DDRFW_TYPE
	string "T3 DDR FW Type"
	default "ddr4"

config CHIPSET_NAME
	string "T3 CHIPSET NAME"
	default "t982"

config CHIPSET_VARIANT
	string "T3 CHIPSET VARIANT"
	default ""

config AMLOGIC_KEY_TYPE
	string "T3 AMLOGIC KEY TYPE"
	default "dev-keys"

config BL30_SELECT
	string "T3 BL30 board config"
	default "t3_skt"

choice
	prompt "T3 Board"

config T3_SKT
	bool "T3_SKT"
	select TARGET_T3_SKT
	help
	  Select T3 SKT(XXXX) config

config T3_T982
	bool "T3_T982"
	select TARGET_T3_T982
	help
	  Select T3 T982(XXXX) config

config T3_T965D4
	bool "T3_t965d4"
	select TARGET_T3_T965D4
	help
	  Select T3 T965D4(XXXX) config

endchoice

config TARGET_T3_SKT
	bool "T3 SKT board"
	depends on T3_SKT

config TARGET_T3_T982
	bool "T3 T982 board"
	depends on T3_T982

config TARGET_T3_T965D4
	bool "T3 T965D4 board"
	depends on T3_T965D4

endif

if MESON_T3X

config SYS_SOC
	default "t3x"

config DDRFW_TYPE
	string "t3x FW Type"
	default "ddr4"

config CHIPSET_NAME
        string "T3X CHIPSET NAME"
        default "t968d4"

config CHIPSET_VARIANT
        string "T3X CHIPSET VARIANT"
        default ""

config AMLOGIC_KEY_TYPE
        string "T3X AMLOGIC KEY TYPE"
        default "dev-keys"

config BL30_SELECT
	string "T3X BL30 board config"
	default "t3x_bc309"

choice
	prompt "T3X Board"

config T3X_SKY
	bool "T3X_SKY"
	select TARGET_T3X_SKY
	help
		Select T3X SKY(XXXX) config

config T3X_BC302
	bool "T3X_BC302"
	select TARGET_T3X_BC302
	help
		Select T3X BC302 config

config T3X_BC309
	bool "T3X_BC309"
	select TARGET_T3X_BC309
	help
		Select T3X BC309 config
endchoice

config TARGET_T3X_SKY
	bool "T3X SKY board"
	depends on T3X_SKY

config TARGET_T3X_BC302
	bool "T3X BC302 board"
	depends on T3X_BC302

config TARGET_T3X_BC309
	bool "T3X BC309 board"
	depends on T3X_BC309
endif

if MESON_T5M

config SYS_SOC
	default "t5m"

config DDRFW_TYPE
	string "t5m DDR FW Type"
	default "ddr4"

config CHIPSET_NAME
        string "T5M CHIPSET NAME"
        default "t963d4"

config CHIPSET_VARIANT
        string "T5M CHIPSET VARIANT"
        default ""

config AMLOGIC_KEY_TYPE
        string "T5M AMLOGIC KEY TYPE"
        default "dev-keys"

config BL30_SELECT
	string "T5M BL30 board config"
	default "t5m_skt"

choice
	prompt "T5M Board"

config T5M_SKT
	bool "T5M_SKT"
	select TARGET_T5M_SKT
	help
		Select T5M SKT(XXXX) config

config T5M_AY301
	bool "T5M_AY301"
	select TARGET_T5M_AY301
	help
		Select T5M AY301 config

config T5M_AY309
	bool "T5M_AY309"
	select TARGET_T5M_AY309
	help
		Select T5M AY309 config
endchoice

config TARGET_T5M_SKT
	bool "T5M SKT board"
	depends on T5M_SKT

config TARGET_T5M_AY301
	bool "T5M AY301 board"
	depends on T5M_AY301

config TARGET_T5M_AY309
	bool "T5M AY309 board"
	depends on T5M_AY309
endif

if MESON_C2

config SYS_SOC
	default "c2"

choice
	prompt "C2 Board"

config C2_SKT
	bool "C2_SKT"
	select TARGET_C2_SKT
	help
	  Select C2 SKT config mainly for pxp

config C2_AF409
	bool "C2_AF409"
	select TARGET_C2_AF409
	help
	  Select C2_AF409 (SKT) config

config C2_AF400
	bool "C2_AF400"
	select TARGET_C2_AF400
	help
	  Select C2_AF400 config

config C2_AF401
	bool "C2_AF401"
	select TARGET_C2_AF401
	help
	  Select C2_AF401 config

config C2_AF402
	bool "C2_AF402"
	select TARGET_C2_AF402
	help
	  Select C2_AF402 config

config C2_AF419
	bool "C2_AF419"
	select TARGET_C2_AF419
	help
	  Select C2_AF419 config

endchoice

config TARGET_C2_SKT
	bool "C2 SKT board"
	depends on C2_SKT

config TARGET_C2_AF409
	bool "C2 AF409 board"
	depends on C2_AF409


config TARGET_C2_AF400
	bool "C2 AF400 board"
	depends on C2_AF400

config TARGET_C2_AF401
	bool "C2 AF401 board"
	depends on C2_AF401

config TARGET_C2_AF402
	bool "C2 AF402 board"
	depends on C2_AF402

config TARGET_C2_AF419
	bool "C2 AF419 board"
	depends on C2_AF419

endif

if MESON_T5W

config SYS_SOC
	default "t5w"

config BL30_SELECT
	string "T5W BL30 board config"
	default "t5w_at301_v1"

choice
	prompt "T5W Board"

config T5W_AT301_V1
	bool "T5W_AT301_V1"
	select TARGET_T5W_AT301_V1
	help
	  Select T5W AT301 V1(XXXX) config

endchoice

config TARGET_T5W_AT301_V1
	bool "T5W AT301 board"
	depends on T5W_AT301_V1

endif

if MESON_TXHD2

config SYS_SOC
	default "txhd2"

config DDRFW_TYPE
	string "TXHD2 DDR FW Type"
	default "ddr4"

config BL30_SELECT
	string "TXHD2 BL30 board config"
	default "txhd2_skt"

choice
	prompt "TXHD2 Board"

config TXHD2_SKT
	bool "TXHD2_SKT"
	select TARGET_TXHD2_SKT
	help
	  Select TXHD2 SKT(XXXX) config

config TXHD2_BE301
	bool "TXHD2_BE301"
	select TARGET_TXHD2_BE301
	help
	  Select TXHD2 BE301 config

config TXHD2_BE309
	bool "TXHD2_BE309"
	select TARGET_TXHD2_BE309
	help
	  Select TXHD2 BE309 config

config TXHD2_BE311
	bool "TXHD2_BE311"
	select TARGET_TXHD2_BE311
	help
	  Select TXHD2 BE311 config

config TXHD2_BE312
	bool "TXHD2_BE312"
	select TARGET_TXHD2_BE312
	help
		Select TXHD2 BE312 config

config TXHD2_BE319
	bool "TXHD2_BE319"
	select TARGET_TXHD2_BE319
	help
	  Select TXHD2 BE319 config

endchoice

config TARGET_TXHD2_SKT
	bool "TXHD2 SKT board"
	depends on TXHD2_SKT

config TARGET_TXHD2_BE301
	bool "TXHD2 BE301 board"
	depends on TXHD2_BE301

config TARGET_TXHD2_BE309
	bool "TXHD2 BE309 board"
	depends on TXHD2_BE309

config TARGET_TXHD2_BE311
	bool "TXHD2 BE311 board"
	depends on TXHD2_BE311

config TARGET_TXHD2_BE312
	bool "TXHD2 BE312 board"
	depends on TXHD2_BE312

config TARGET_TXHD2_BE319
	bool "TXHD2 BE319 board"
	depends on TXHD2_BE319

endif

if MESON_G12A

config SYS_SOC
	default "g12a"

config TARGET_G12A_U200_V1
	bool "G12A_U200_V1"

config TARGET_G12A_U211_V1
	bool "G12A_U211_V1"

config TARGET_SM1_AC200_V1
	bool "SM1_AC200_V1"

endif

if MESON_G12B

config SYS_SOC
	default "g12b"

config TARGET_G12B_W400_V1
	bool "G12B_W400_V1"

endif

# Amlogic boards

source "board/amlogic/a1_ad409/Kconfig"

source "board/amlogic/a1_ad401/Kconfig"

source "board/amlogic/a1_ad402/Kconfig"

source "board/amlogic/a1_t404/Kconfig"

source "board/amlogic/a1_ad403/Kconfig"

source "board/amlogic/c1_ae400/Kconfig"

source "board/amlogic/c1_ae401/Kconfig"

source "board/amlogic/c1_ae402/Kconfig"

source "board/amlogic/c1_ae409/Kconfig"

source "board/amlogic/s4_skt/Kconfig"

source "board/amlogic/s4_ap222/Kconfig"

source "board/amlogic/s4_ap22cb/Kconfig"

source "board/amlogic/s4_ap223/Kconfig"

source "board/amlogic/s4_ap229/Kconfig"

source "board/amlogic/s4_aq222/Kconfig"

source "board/amlogic/s4_aq2432/Kconfig"

source "board/amlogic/s4_bf201/Kconfig"

source "board/amlogic/s4_aq229/Kconfig"

source "board/amlogic/s4_t211/Kconfig"

source "board/amlogic/s4_ap201/Kconfig"

source "board/amlogic/s4_ap232/Kconfig"

source "board/amlogic/s4_ap2327/Kconfig"

source "board/amlogic/s4_ap229_s905c3eng/Kconfig"

source "board/amlogic/a5_skt/Kconfig"

source "board/amlogic/a5_av400/Kconfig"

source "board/amlogic/a5_av400_zircon/Kconfig"

source "board/amlogic/a5_av409/Kconfig"

source "board/amlogic/sc2_skt/Kconfig"

source "board/amlogic/sc2_ah219/Kconfig"

source "board/amlogic/sc2_ah212/Kconfig"

source "board/amlogic/sc2_ah232/Kconfig"

source "board/amlogic/sc2_ah221/Kconfig"

source "board/amlogic/sc2_ah212_ddr3/Kconfig"

source "board/amlogic/sc2_ah212_lpddr3/Kconfig"

source "board/amlogic/sc2_ah212_lpddr4/Kconfig"

source "board/amlogic/c2_skt/Kconfig"

source "board/amlogic/c2_af409/Kconfig"

source "board/amlogic/c2_af400/Kconfig"

source "board/amlogic/c2_af401/Kconfig"

source "board/amlogic/c2_af402/Kconfig"

source "board/amlogic/c2_af419/Kconfig"

source "board/amlogic/g12a_u200_v1/Kconfig"

source "board/amlogic/g12b_w400_v1/Kconfig"

source "board/amlogic/sm1_ac200_v1/Kconfig"

source "board/amlogic/p1_skt/Kconfig"

source "board/amlogic/p1_as400/Kconfig"

source "board/amlogic/p1_as408/Kconfig"

source "board/amlogic/p1_as409/Kconfig"

source "board/amlogic/p1_ninox_4/Kconfig"

source "board/amlogic/s5_skt/Kconfig"

source "board/amlogic/s5_ax201/Kconfig"

source "board/amlogic/s5_ax208/Kconfig"

source "board/amlogic/s5_ax209/Kconfig"

source "board/amlogic/t7_skt/Kconfig"

source "board/amlogic/t7_revc_skt/Kconfig"

source "board/amlogic/t7_an408_lpddr4x/Kconfig"

source "board/amlogic/t7_an409_ddr4/Kconfig"

if T7_AN400_LPDDR4X
source "board/amlogic/t7_an400_lpddr4x/Kconfig"
endif

if T7_AN400_LPDDR4X_DEBIAN
source "board/amlogic/t7_an400_lpddr4x_debian/Kconfig"
endif

source "board/amlogic/t7_an400_mercury/Kconfig"

source "board/amlogic/t7_t319/Kconfig"

source "board/amlogic/t7_an40a1/Kconfig"

source "board/amlogic/t7_an400p_lpddr4x/Kconfig"

source "board/amlogic/t3_skt/Kconfig"

source "board/amlogic/t3_t982/Kconfig"

source "board/amlogic/t3_t965d4/Kconfig"

source "board/amlogic/c3_skt/Kconfig"

source "board/amlogic/c3_aw409/Kconfig"

source "board/amlogic/c3_aw402/Kconfig"

source "board/amlogic/c3_aw419/Kconfig"

source "board/amlogic/c3_aw429/Kconfig"

source "board/amlogic/t5w_at301_v1/Kconfig"

source "board/amlogic/t5m_skt/Kconfig"

source "board/amlogic/t5m_ay301/Kconfig"

source "board/amlogic/t5m_ay309/Kconfig"

source "board/amlogic/a4_skt/Kconfig"

source "board/amlogic/a4_ba400/Kconfig"

source "board/amlogic/a4_ba400_zircon/Kconfig"

source "board/amlogic/a4_ba409/Kconfig"

source "board/amlogic/t3x_sky/Kconfig"

source "board/amlogic/t3x_bc302/Kconfig"

source "board/amlogic/t3x_bc309/Kconfig"

source "board/amlogic/txhd2_skt/Kconfig"

source "board/amlogic/txhd2_be301/Kconfig"

source "board/amlogic/txhd2_be309/Kconfig"

source "board/amlogic/txhd2_be311/Kconfig"

source "board/amlogic/txhd2_be312/Kconfig"

source "board/amlogic/txhd2_be319/Kconfig"
