# Copyright 2022-2024 NXP
# SPDX-License-Identifier: Apache-2.0

if SOC_FAMILY_NXP_S32

config NXP_S32_FUNC_RESET_THRESHOLD
	int "Functional Reset Escalation threshold"
	default 15
	range 0 15
	help
	  If the value of this option is 0, the Functional reset escalation
	  function is disabled. Any other value is the number of Functional
	  resets that causes a Destructive reset, if the FRET register isn't
	  written to beforehand.
	  Default to maximum threshold (hardware reset value).

config NXP_S32_DEST_RESET_THRESHOLD
	int "Destructive Reset Escalation threshold"
	default 0
	range 0 15
	help
	  If the value of this field is 0, the Destructive reset escalation
	  function is disabled. Any other value is the number of Destructive
	  resets which keeps the chip in the reset state until the next power-on
	  reset triggers a new reset sequence, if the DRET register isn't
	  written to beforehand.
	  Default to disabled (hardware reset value).

rsource "*/Kconfig"

endif # SOC_FAMILY_NXP_S32
