Re: [PATCH 1/2] dt-bindings: mfd: syscon: introduce no-auto-mmio property for syscons
From: Dan Carpenter
Date: Wed Oct 29 2025 - 14:47:48 EST
On Wed, Oct 29, 2025 at 06:37:26PM +0000, Conor Dooley wrote:
> On Wed, Oct 29, 2025 at 08:41:51PM +0300, Dan Carpenter wrote:
> > On Wed, Oct 29, 2025 at 05:33:48PM +0000, Conor Dooley wrote:
> > > On Wed, Oct 29, 2025 at 08:27:05PM +0300, Dan Carpenter wrote:
> > > > Generally, syscons are created automatically and accessed direclty via
> > > > MMIO however sometimes syscons might only be accessible from the secure
> > > > partition or through SCMI etc. Introduce the no-auto-mmio property to
> > > > tell the operating system that the syscon needs to be handled manually.
> > >
> > > "System controller node represents a register region containing a set
> > > of miscellaneous registers."
> > >
> > > If this isn't actually a register region, but is instead an interface
> > > provided by SCMI or whatever "secure partition" is (optee?), why is the
> > > syscon compatible being used for the device in the first place?
> >
> > In the case that I'm looking at, it really is a syscon. So right now
> > we're upstreaming it and it's an MMIO syscon. Very straight forward.
> > But later, I guess, they want to have a new firmware which will only let
> > you access the same registers through SCMI.
>
> When the programming model changes, the compatible should too, no?
>
I wasn't planning on it. I haven't been asked to upstream the SCMI
module but once my thinking was the transition would work like this.
Step 1: It would work as is with an MMIO syscon.
Step 2: We would upstream the SCMI driver which would provide an
MMIO syscon as a fallback. At that stage you would still get an
MMIO yscon regardless of whether the phandle was parsed before
or after the driver loaded.
Step 3: We would set the no-auto-mmio property so you have to use the
driver and update the firmware so only the SCMI interface can
be used.
regards,
dan carpenter