# SPDX-License-Identifier: GPL-2.0+
# Copyright 2022-2024 NXP

if ARCH_S32G3

choice
	prompt "S32G3 board select"
	default TARGET_S32G399ARDB3

config TARGET_S32G399ARDB3
	bool "Support S32G399ARDB3 board"
	help
	  This board is based on S32G399A SoC. It is equipped with
	  4 GB of RAM, 64MB of QSPI memory, 6 Ethernet Ports, PCIe slot,
	  serial port, 18 CAN ports, I2C and DSPI.
	imply CMD_EEPROM
	imply I2C_EEPROM
	imply MMC_UHS_SUPPORT
	select NXP_S32GRDB_BOARD

config TARGET_S32G3XXAEVB
	bool "Support S32G3-EVB board"
	help
	  This board is based on S32G3 family of SoCs. It is equipped with
	  4 GB of RAM, 64MB of QSPI memory, PCIe slot, USB, serial port,
	  I2C and DSPI.
	imply DM_USB
	imply SAF1508BET_USB_PHY
	imply USB
	imply USB_EHCI_HCD
	imply USB_ULPI
	select NXP_S32GEVB_BOARD

config TARGET_S32G3XXAEVB3
	bool "Support S32G3-EVB3 board"
	help
	  This board is based on S32G3 family of SoCs. It is equipped with
	  4 GB of RAM, 64MB of QSPI memory, PCIe slot, USB, serial port,
	  I2C and DSPI.
	select NXP_S32GEVB3_BOARD

config TARGET_S32G399ASOM
	bool "Support S32G3-VC-SOM board"
	help
	  This board is based on S32G3 family of SoCs. It is equipped with
	  4 GB of RAM, 64MB of QSPI memory, PCIe slot, serial port.
	  It is intended to be used in conjunction with other S32 based SoCs,
	  through PCIe and Ethernet connections.
	imply ADC
	imply CMD_EEPROM
	imply CMD_PMIC
	imply DM_PMIC
	imply DM_PMIC_VR5510
	imply I2C_EEPROM
	imply NXP_S32CC_BOARD_COMMON
	imply PHY
	imply PHY_MICREL
	imply PHY_MICREL_KSZ90X1
	imply SARADC_S32CC
	select SPI_FLASH_MACRONIX
	select SPI_FLASH_MX25UW51245G
	select SPI_FLASH_SOFT_RESET
	select SPI_FLASH_SOFT_RESET_ON_BOOT
	select NXP_S32G3VCSOM_BOARD

config TARGET_S32G399ABASE
	bool "Support S32G3-VC-BASE board"
	help
	  This board is based on S32G3 family of SoCs. It is equipped with
	  4 GB of RAM, 64MB of QSPI memory, 6 Ethernet Ports, 2 Generic PCIe slots,
	  2 M.2 PCIe slots, 8 LLCE CAN ports, serial port, I2C and DSPI.
	  It is intended to be used as a base board in conjunction with
	  up to 4 S32 based SOM boards, connected through dedicated PCIe and Ethernet
	  interfaces.
	imply ADC
	imply CMD_EEPROM
	imply CMD_PMIC
	imply DM_PMIC
	imply DM_PMIC_VR5510
	imply I2C_EEPROM
	imply NXP_S32CC_BOARD_COMMON
	imply PHY
	imply PHY_MICREL
	imply PHY_MICREL_KSZ90X1
	imply SARADC_S32CC
	select SPI_FLASH_MACRONIX
	select SPI_FLASH_MX25UW51245G
	select SPI_FLASH_SOFT_RESET
	select SPI_FLASH_SOFT_RESET_ON_BOOT
	select NXP_S32G3VCBASE_BOARD

config TARGET_S32G399AEMU
	bool "Support S32G399A ZeBu"
	select TARGET_TYPE_S32CC_EMULATOR

endchoice

config NXP_PFENG
	default y if !TARGET_TYPE_S32CC_EMULATOR

source "board/nxp/s32-cc/s32g/Kconfig"
source "board/nxp/s32g399ardb3/Kconfig"
source "board/nxp/s32g3xxaevb/Kconfig"
source "board/nxp/s32g3xxaevb3/Kconfig"
source "board/nxp/s32g399asom/Kconfig"
source "board/nxp/s32g399abase/Kconfig"
source "board/nxp/s32g399aemu/Kconfig"

endif
