[PATCH v4 1/2] driver: reset: spacemit-p1: add driver for poweroff/reboot

Yao Zi ziyao at disroot.org
Mon Oct 27 02:24:30 PDT 2025


On Mon, Oct 27, 2025 at 10:03:44AM +0100, Andreas Schwab wrote:
> On Okt 27 2025, Yao Zi wrote:
> 
> > On Mon, Oct 27, 2025 at 11:20:33AM +0800, Troy Mitchell wrote:
> >> On Sun, Oct 26, 2025 at 11:41:14PM +0100, Aurelien Jarno wrote:
> >> > This driver implements poweroff/reboot support for the SpacemiT P1 PMIC
> >> > chip, which is commonly paired with the SpacemiT K1 SoC.
> >> > 
> >> > The SpacemiT P1 support is implemented as a MFD driver, so the access is
> >> > done directly through the regmap interface. Reboot or poweroff is
> >> > triggered by setting a specific bit in a control register, which is
> >> > automatically cleared by the hardware afterwards.
> >> > 
> >> > Signed-off-by: Aurelien Jarno <aurelien at aurel32.net>
> >> > ---
> >> > v2:
> >> >  - Replace the "select" by a "depends on"
> >> >  - Remove outdated Reviewed-by
> >> > 
> >> >  drivers/power/reset/Kconfig              |  9 +++
> >> >  drivers/power/reset/Makefile             |  1 +
> >> >  drivers/power/reset/spacemit-p1-reboot.c | 88 ++++++++++++++++++++++++
> >> >  3 files changed, 98 insertions(+)
> >> >  create mode 100644 drivers/power/reset/spacemit-p1-reboot.c
> >> > 
> >> > diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
> >> > index 8248895ca9038..61c16f3d5abc7 100644
> >> > --- a/drivers/power/reset/Kconfig
> >> > +++ b/drivers/power/reset/Kconfig
> >> > @@ -283,6 +283,15 @@ config POWER_RESET_KEYSTONE
> >> >  	help
> >> >  	  Reboot support for the KEYSTONE SoCs.
> >> >  
> >> > +config POWER_RESET_SPACEMIT_P1
> >> > +	tristate "SpacemiT P1 poweroff and reset driver"
> >> > +	depends on ARCH_SPACEMIT || COMPILE_TEST
> >> > +	depends on MFD_SPACEMIT_P1
> >> > +	default m
> >> default m if ARCH_SPACEMIT? Or default ARCH_SPACEMIT?
> >> I believe that reboot and shutdown are actually essential functionalities,
> >> so it might make more sense: default ARCH_SPACEMIT?
> >
> > I don't think there's anything preventing it to be built as module by
> > default: even though it's "essential", it's unnecessary during kernel
> > and userspace startup, thus I see no reason to build it in the image.
> 
> Wouldn't it be needed in a reboot-on-panic situation?

Oops, yeah, I missed this stuff. Seems systemd automatic boot assessment
could switch to another boot option if one fails to boot. And if it's
caused by a (very early) kernel panic, then reboot support does play a
part here.

So my statement, maybe as well as the module's default value, should be
re-evaluated. Yixun, Emil, what do you think about it?

Best regards,
Yao Zi

> -- 
> Andreas Schwab, SUSE Labs, schwab at suse.de
> GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
> "And now for something completely different."
> 
> _______________________________________________
> linux-riscv mailing list
> linux-riscv at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv



More information about the linux-riscv mailing list