[PATCH v5 2/2] mfd: simple-mfd-i2c: add a reboot cell for the SpacemiT P1 chip

Aurelien Jarno aurelien at aurel32.net
Sun Mar 1 14:16:37 PST 2026


On 2026-02-27 13:29, Yanko Kaneti wrote:
> On Thu, 2026-02-26 at 22:32 +0100, Aurelien Jarno wrote:
> > Hi,
> > 
> > On 2026-02-26 16:32, Yanko Kaneti wrote:
> > > Hello,
> > > 
> > > On Mon, 2025-11-03 at 00:02 +0100, Aurelien Jarno wrote:
> > > > Add a "spacemit-p1-reboot" cell for the SpacemiT P1 chip.
> > > > 
> > > > Signed-off-by: Aurelien Jarno <aurelien at aurel32.net>
> > > > ---
> > > > v5: no changes
> > > > 
> > > >  drivers/mfd/simple-mfd-i2c.c | 1 +
> > > >  1 file changed, 1 insertion(+)
> > > > 
> > > > diff --git a/drivers/mfd/simple-mfd-i2c.c b/drivers/mfd/simple-mfd-i2c.c
> > > > index 0a607a1e3ca1d..542d378cdcd1f 100644
> > > > --- a/drivers/mfd/simple-mfd-i2c.c
> > > > +++ b/drivers/mfd/simple-mfd-i2c.c
> > > > @@ -99,6 +99,7 @@ static const struct regmap_config spacemit_p1_regmap_config = {
> > > >  };
> > > >  
> > > >  static const struct mfd_cell spacemit_p1_cells[] = {
> > > > +	{ .name = "spacemit-p1-reboot", },
> > > >  	{ .name = "spacemit-p1-regulator", },
> > > >  	{ .name = "spacemit-p1-rtc", },
> > > >  };
> > > 
> > > Perhaps its safe to merge this one now that everything P1 and I2C is
> > > already in linus tip ?
> > 
> > Unfortunately, this patchset is still missing:
> > https://lore.kernel.org/all/20260207-b4-k3-i2c-pio-v7-0-626942d94d91@linux.spacemit.com/
> > 
> > This means the reboots work most of the time, but are not 100% reliable, 
> > and that's the reason why this patch got blocked from merging.
> 
> I see. Thanks. Sounds to me like sometimes working compared to never
> working is better , but anyway..

I agree with that, but the decision was to hold on this patch until the 
I2C PIO part got merged.

> FWIW  with this patch and the pio patcheset I get this rcu splat on
> reboot (which is still working). Similar splat is there without the pio
> patcheset.

I haven't been able to reproduce the issue here after 10+ reboots on a 
BPI-F3 board, but I tried the patch on top of 6.19. I'll try to build a 
7.0.0-rc2 kernel and report back.

At a first glance the problem seems to happen in the I2C PIO code. On 
which hardware is that happening?

Regards
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien at aurel32.net                     http://aurel32.net



More information about the linux-riscv mailing list