# NXP S32K3XX MCU series

# Copyright 2023 NXP
# SPDX-License-Identifier: Apache-2.0

choice
	prompt "NXP S32K3XX MCU selection"
	depends on SOC_SERIES_S32K3XX

config SOC_S32K344
	bool "s32k344"

endchoice

if SOC_SERIES_S32K3XX

config SOC_PART_NUMBER_PS32K344EHVPBS
	bool

config SOC_PART_NUMBER
	string
	default "PS32K344EHVPBS" if SOC_PART_NUMBER_PS32K344EHVPBS
	help
	  This string holds the full part number of the SoC. It is a hidden option
	  that you should not set directly. The part number selection choice defines
	  the default value for this string.

config IVT_HEADER_OFFSET
	hex
	depends on XIP
	default $(dt_node_reg_addr_hex,$(dt_nodelabel_path,ivt_header))
	help
	  The offset address from flash base address for ivt header

config IVT_HEADER_SIZE
	hex
	depends on XIP
	default $(dt_node_reg_size_hex,$(dt_nodelabel_path,ivt_header))
	help
	  Size of ivt header region

config NXP_S32_PMC_LMEN
	bool "Last Mile regulator"
	default y if CLOCK_CONTROL
	help
	  Enables the Last Mile regulator, which regulates an external 1.5V
	  voltage on V15 down to the core and logic supply (V11 power domain),
	  which is typically 1.1V.
	  When enabling PLL as system clock, the PMC last mile regulator should
	  be enabled.

config NXP_S32_PMC_LMBCTLEN
	bool "External BCTL regulator for V15"
	depends on NXP_S32_PMC_LMEN
	help
	  This option must be selected if an external BJT between VDD_HV_A and
	  V15 is used on the PCB. The base of this BJT must be connected to the
	  VRC_CTRL pin and is controlled by the PMC to regulate a voltage of
	  1.5V on V15 pin.

endif
