sysreset: diverge GPIO reset and poweroff configs per-phase

GPIO reset and power-off functionality depends on device tree data, which
is often absent in SPL or TPL. To address this, incorporate PHASE_ into the
config option and add Kconfig option or each phase.

Adjust SYSRESET_GPIO and POWEROFF_GPIO uses to address possible
regressions.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
This commit is contained in:
Svyatoslav Ryhel 2025-03-29 13:02:03 +02:00
parent 212757af3a
commit 782bd104b6
6 changed files with 51 additions and 2 deletions

View file

@ -49,6 +49,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
imply SPI_FLASH_ISSI
imply SYSRESET
imply SYSRESET_GPIO
imply SPL_SYSRESET_GPIO if SPL
imply CMD_I2C
endif

View file

@ -48,6 +48,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
imply PHY_MSCC
imply SYSRESET
imply SYSRESET_GPIO
imply SPL_SYSRESET_GPIO if SPL
imply CMD_I2C
endif

View file

@ -116,6 +116,7 @@ CONFIG_MXC_SPI=y
CONFIG_SYSRESET=y
CONFIG_SYSRESET_CMD_POWEROFF=y
CONFIG_POWEROFF_GPIO=y
CONFIG_SPL_POWEROFF_GPIO=y
CONFIG_SYSRESET_WATCHDOG=y
CONFIG_IMX_THERMAL=y
CONFIG_USB=y

View file

@ -97,6 +97,7 @@ CONFIG_SYS_NS16550=y
CONFIG_XILINX_UARTLITE=y
CONFIG_XILINX_SPI=y
CONFIG_SYSRESET_GPIO=y
CONFIG_SPL_SYSRESET_GPIO=y
CONFIG_SYSRESET_MICROBLAZE=y
CONFIG_WDT=y
CONFIG_XILINX_TB_WATCHDOG=y

View file

@ -71,6 +71,27 @@ config POWEROFF_GPIO
Support for system poweroff using a GPIO pin. This can be used
for systems having a single GPIO to trigger a system poweroff.
config SPL_POWEROFF_GPIO
bool "Enable support for GPIO poweroff driver in SPL"
depends on DM_GPIO && SPL
help
Support for system poweroff using a GPIO pin in SPL. This can be used
for systems having a single GPIO to trigger a system poweroff.
config TPL_POWEROFF_GPIO
bool "Enable support for GPIO poweroff driver in TPL"
depends on DM_GPIO && TPL
help
Support for system poweroff using a GPIO pin in TPL. This can be used
for systems having a single GPIO to trigger a system poweroff.
config VPL_POWEROFF_GPIO
bool "Enable support for GPIO poweroff driver in VPL"
depends on DM_GPIO && VPL
help
Support for system poweroff using a GPIO pin in VPL. This can be used
for systems having a single GPIO to trigger a system poweroff.
config SYSRESET_GPIO
bool "Enable support for GPIO reset driver"
depends on DM_GPIO
@ -79,6 +100,30 @@ config SYSRESET_GPIO
example on Microblaze where reset logic can be controlled via GPIO
pin which triggers cpu reset.
config SPL_SYSRESET_GPIO
bool "Enable support for GPIO reset driver in SPL"
depends on DM_GPIO && SPL
help
Reset support via GPIO pin connected reset logic in SPL. This is used
for example on Microblaze where reset logic can be controlled via
GPIO pin which triggers cpu reset.
config TPL_SYSRESET_GPIO
bool "Enable support for GPIO reset driver in TPL"
depends on DM_GPIO && TPL
help
Reset support via GPIO pin connected reset logic in TPL. This is used
for example on Microblaze where reset logic can be controlled via
GPIO pin which triggers cpu reset.
config VPL_SYSRESET_GPIO
bool "Enable support for GPIO reset driver in VPL"
depends on DM_GPIO && VPL
help
Reset support via GPIO pin connected reset logic in VPL. This is used
for example on Microblaze where reset logic can be controlled via
GPIO pin which triggers cpu reset.
config SYSRESET_MAX77663
bool "Enable support for MAX77663 PMIC System Reset"
depends on DM_PMIC_MAX77663

View file

@ -8,8 +8,8 @@ obj-$(CONFIG_ARCH_ROCKCHIP) += sysreset_rockchip.o
obj-$(CONFIG_ARCH_STI) += sysreset_sti.o
obj-$(CONFIG_SANDBOX) += sysreset_sandbox.o
obj-$(CONFIG_SYSRESET_CV1800B) += sysreset_cv1800b.o
obj-$(CONFIG_POWEROFF_GPIO) += poweroff_gpio.o
obj-$(CONFIG_SYSRESET_GPIO) += sysreset_gpio.o
obj-$(CONFIG_$(PHASE_)POWEROFF_GPIO) += poweroff_gpio.o
obj-$(CONFIG_$(PHASE_)SYSRESET_GPIO) += sysreset_gpio.o
obj-$(CONFIG_$(PHASE_)SYSRESET_MAX77663) += sysreset_max77663.o
obj-$(CONFIG_SYSRESET_MPC83XX) += sysreset_mpc83xx.o
obj-$(CONFIG_SYSRESET_MICROBLAZE) += sysreset_microblaze.o