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

config MACH_S32
	bool
	select ARM64
	select DM

config NXP_S32CC
	bool
	imply CLK_SCMI
	imply CMD_DHCP
	imply CMD_EXT2
	imply CMD_EXT4
	imply CMD_FAT
	imply CMD_MDIO
	imply CMD_MII
	imply CMD_MTD
	imply CMD_MEMTEST
	imply CMD_PART
	imply CMD_PING
	imply DM_ETH
	imply DM_SPI
	imply DM_SPI_FLASH
	imply DM_I2C
	imply DOS_PARTITION
	imply DWC_ETH_QOS
	imply DWC_ETH_QOS_S32CC
	imply E1000
	imply EFI_LOADER
	imply EFI_LOADER_BOUNCE_BUFFER
	imply FSL_DSPI
	imply FSL_QSPI
	imply FSL_QSPI_AHB_FULL_MAP
	imply FSL_USDHC
	imply FS_FAT
	imply LOG
	imply MISC
	imply MMC_HS400_ES_SUPPORT
	imply MMC_HS400_SUPPORT
	imply MMC_IO_VOLTAGE
	imply MP
	imply NET_RANDOM_ETHADDR
	imply NVME_PCI
	imply NXP_S32CC_PIT_TIMER
	imply PCI
	imply PCI_ENDPOINT
	imply PCI_INIT_R
	imply PCI_S32CC
	imply PHY_S32CC_SERDES
	imply PINCTRL
	imply PINCTRL_FULL
	imply PINCTRL_S32CC
	imply PINCTRL_SCMI
	imply RESET_SCMI
	imply S32CC_CMU
	imply SCMI_FIRMWARE
	imply SCMI_GPIO
	imply SCMI_NVMEM
	imply SPI
	imply SPI_FLASH
	imply SPI_FLASH_MTD
	imply SPI_FLASH_SFDP_SUPPORT
	imply SYS_I2C_MXC
	imply S32CC_GPIO
	imply TIMER
	select CLK
	select CLK_CCF
	select CPU
	select DM_DEVICE_REMOVE
	select DM_GPIO
	select DM_MTD
	select DM_RESET
	select DM_SERIAL
	select ENABLE_ARM_SOC_BOOT0_HOOK
	select FSL_LINFLEXUART
	select HUSH_PARSER
	select MACH_S32
	select MTD
	select NVMEM
	select OF_BOARD
	select OF_BOARD_FIXUP
	select OF_CONTROL
	select OF_LIVE
	select OF_SYSTEM_SETUP
	select PHY
	select POSITION_INDEPENDENT
	select REGMAP
	select SYSCON
	select SOC_DEVICE
	select SYSRESET
	select SYSRESET_PSCI
	select SPECIFY_CONSOLE_INDEX
	imply OF_STDOUT_VIA_ALIAS

config NXP_S32N
	bool
	imply ARCH_MISC_INIT
	imply CMD_DM
	imply CMD_EXT4
	imply CMD_FAT
	imply CMD_MMC
	imply CMD_MMC_REG
	imply CMD_MTD
	imply CMD_PART
	imply CMD_PING
	imply CMD_PCI
	imply CMD_UFS
	imply CMD_GPT
	imply CMD_I2C
	imply CMD_SPI
	imply CONS_INDEX_0
	imply DEBUG_UART
	imply DEBUG_UART_SKIP_INIT
	imply DM_ETH
	imply DM_I2C
	imply DM_MDIO
	imply DM_SCSI
	imply DM_SPI
	imply DM_SPI_FLASH
	imply FS_FAT
	imply FSL_DSPI
	imply LOG
	imply MISC
	imply MMC_HS400_ES_SUPPORT
	imply MMC_HS400_SUPPORT
	imply NET_RANDOM_ETHADDR
	imply NXP_XSPI
	imply OF_HAS_PRIOR_STAGE
	imply PANIC_HANG
	imply PCI
	imply PCI_INIT_R
	imply PCIE_ECAM_GENERIC
	imply PHYLIB
	imply NXP_MISC_SCMI
	imply S32N_CMD_DDR_INIT
	imply SCMI_FIRMWARE
	imply SCSI
	imply SPI
	imply SPI_FLASH
	imply SPI_FLASH_MTD
	imply SPI_FLASH_SFDP_SUPPORT
	imply SPI_MEM
	imply UFS
	select CLK
	select CLK_CCF
	select CLK_SCMI
	select CPU
	select DM_DEVICE_REMOVE
	select DM_MTD
	select DM_SERIAL
	select ENABLE_ARM_SOC_BOOT0_HOOK
	select FSL_ENETC
	select FSL_USDHC
	select HUSH_PARSER
	select MACH_S32
	select MTD
	select OF_BOARD
	select OF_CONTROL
	select OF_LIVE
	select OF_SYSTEM_SETUP
	select POSITION_INDEPENDENT
	select SOC_DEVICE
	select SYSRESET
	select PL01X_SERIAL
	select S32N_UFS
	select SPECIFY_CONSOLE_INDEX
	select SYS_I2C_IMX_LPI2C

config DEFAULT_DEVICE_TREE
	default "s32"

config DTB_FILE
	string "Path to the DTB file used by the OS"
	help
	  Defines the path to the Device Tree Blob (DTB) file,
	  which is used to populate the `fdt_file` environment variable.

config SYS_LOAD_ADDR
	default 0 if ARCH_S32N79
	default 0x80000000

config SYS_MALLOC_F_LEN
	default 0x60000

config ENV_OFFSET
	default 0x280000 if !ENV_IS_IN_FAT

config XEN_SUPPORT
	bool "Enable Xen Hypervisor boot support"
	default n
	help
	  Set U-Boot environment in order for U-Boot to boot Xen Hypervisor
	  based on a boot script generated by Imagebuilder. The script loads
	  all the necessary binaries (kernel image, Xen image, DTB) from
	  storage and sets the DT '/chosen' node accordingly.

source "arch/arm/mach-s32/s32-cc/Kconfig"
source "arch/arm/mach-s32/s32n/Kconfig"
source "board/nxp/s32/Kconfig"
