Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
All X-Powers PMICs described by this binding have an IRQ pin, and so
far (almost) all boards connected this to some NMI pin or GPIO on the SoC
they are connected to.
However we start to see boards that omit this connection, and technically
the IRQ pin is not essential to the basic PMIC operation.
The existing Linux driver allows skipping an IRQ pin setup for some
chips already, so update the binding to also make the DT property
optional for these chips, so that we can actually have DTs describing
boards with the PMIC interrupt not wired up.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
Hi,
arguably the IRQ functionality is optional for many more PMICs,
especially if a board doesn't use GPIOs or a power key.
So I wonder if the interrupts property should become optional for all?
After all it's more a board designer's decision to wire up the IRQ pin
or not, and nothing that's really related to a particular PMIC.
Cheers,
Andre
Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
index 9ad55746133b5..06f1779835a1e 100644
--- a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
+++ b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
@@ -67,7 +67,10 @@ allOf:
properties:
compatible:
contains:
- const: x-powers,axp305
+ enum:
+ - x-powers,axp15060
+ - x-powers,axp305
+ - x-powers,axp313a
then:
required:
--
2.25.1
Hi Andre, No, you can't only add the binding stuff. The PEK driver would crash when there's no IRQ config in dts. Best regards, Shengyu > All X-Powers PMICs described by this binding have an IRQ pin, and so > far (almost) all boards connected this to some NMI pin or GPIO on the SoC > they are connected to. > However we start to see boards that omit this connection, and technically > the IRQ pin is not essential to the basic PMIC operation. > The existing Linux driver allows skipping an IRQ pin setup for some > chips already, so update the binding to also make the DT property > optional for these chips, so that we can actually have DTs describing > boards with the PMIC interrupt not wired up. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > --- > Hi, > > arguably the IRQ functionality is optional for many more PMICs, > especially if a board doesn't use GPIOs or a power key. > So I wonder if the interrupts property should become optional for all? > After all it's more a board designer's decision to wire up the IRQ pin > or not, and nothing that's really related to a particular PMIC. > > Cheers, > Andre > > Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > index 9ad55746133b5..06f1779835a1e 100644 > --- a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > +++ b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > @@ -67,7 +67,10 @@ allOf: > properties: > compatible: > contains: > - const: x-powers,axp305 > + enum: > + - x-powers,axp15060 > + - x-powers,axp305 > + - x-powers,axp313a > > then: > required:
On Wed, Aug 02, 2023 at 03:18:29PM +0100, Andre Przywara wrote: > All X-Powers PMICs described by this binding have an IRQ pin, and so > far (almost) all boards connected this to some NMI pin or GPIO on the SoC > they are connected to. > However we start to see boards that omit this connection, and technically > the IRQ pin is not essential to the basic PMIC operation. > The existing Linux driver allows skipping an IRQ pin setup for some > chips already, so update the binding to also make the DT property > optional for these chips, so that we can actually have DTs describing > boards with the PMIC interrupt not wired up. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > --- > Hi, > > arguably the IRQ functionality is optional for many more PMICs, > especially if a board doesn't use GPIOs or a power key. > So I wonder if the interrupts property should become optional for all? > After all it's more a board designer's decision to wire up the IRQ pin > or not, and nothing that's really related to a particular PMIC. I would say yes. Particularly if it gets rid of a conditional schema. Rob
On Fri, 4 Aug 2023 09:34:32 -0600 Rob Herring <robh@kernel.org> wrote: Hi, > On Wed, Aug 02, 2023 at 03:18:29PM +0100, Andre Przywara wrote: > > All X-Powers PMICs described by this binding have an IRQ pin, and so > > far (almost) all boards connected this to some NMI pin or GPIO on the SoC > > they are connected to. > > However we start to see boards that omit this connection, and technically > > the IRQ pin is not essential to the basic PMIC operation. > > The existing Linux driver allows skipping an IRQ pin setup for some > > chips already, so update the binding to also make the DT property > > optional for these chips, so that we can actually have DTs describing > > boards with the PMIC interrupt not wired up. > > > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > > --- > > Hi, > > > > arguably the IRQ functionality is optional for many more PMICs, > > especially if a board doesn't use GPIOs or a power key. > > So I wonder if the interrupts property should become optional for all? > > After all it's more a board designer's decision to wire up the IRQ pin > > or not, and nothing that's really related to a particular PMIC. > > I would say yes. Particularly if it gets rid of a conditional schema. I see your point, and we might get there, but after some digging extending this to more/all PMICs needs more work, see below. Given that I was wondering if we can merge this patch now, as this blocks multiple DTs from being merged (and Connor already ACKed it). I sent an MFD driver fix to make this actually work for the AXP313a: https://lore.kernel.org/lkml/20230807133930.94309-1-andre.przywara@arm.com/ For supporting this on more PMICs: Currently many Linux (sub-)drivers registered by the MFD driver crash when there is no valid interrupt registered, and we so far just special cased the very simple PMICs to skip just the power key driver registration, which works for those chips. However this affects more drivers (I tested ac-power-supply), so it's not clear if that's really something useful for the other PMICs providing more functionality. I guess we can postpone this until either there is actually a use case for those other PMICs (boards without the IRQ line connected), or when this list of exceptions grows too large. Cheers, Andre
On Mon, Aug 7, 2023 at 9:42 PM Andre Przywara <andre.przywara@arm.com> wrote: > > On Fri, 4 Aug 2023 09:34:32 -0600 > Rob Herring <robh@kernel.org> wrote: > > Hi, > > > On Wed, Aug 02, 2023 at 03:18:29PM +0100, Andre Przywara wrote: > > > All X-Powers PMICs described by this binding have an IRQ pin, and so > > > far (almost) all boards connected this to some NMI pin or GPIO on the SoC > > > they are connected to. > > > However we start to see boards that omit this connection, and technically > > > the IRQ pin is not essential to the basic PMIC operation. > > > The existing Linux driver allows skipping an IRQ pin setup for some > > > chips already, so update the binding to also make the DT property > > > optional for these chips, so that we can actually have DTs describing > > > boards with the PMIC interrupt not wired up. > > > > > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > > > --- > > > Hi, > > > > > > arguably the IRQ functionality is optional for many more PMICs, > > > especially if a board doesn't use GPIOs or a power key. > > > So I wonder if the interrupts property should become optional for all? > > > After all it's more a board designer's decision to wire up the IRQ pin > > > or not, and nothing that's really related to a particular PMIC. > > > > I would say yes. Particularly if it gets rid of a conditional schema. > > I see your point, and we might get there, but after some digging extending > this to more/all PMICs needs more work, see below. > Given that I was wondering if we can merge this patch now, as this > blocks multiple DTs from being merged (and Connor already ACKed it). > I sent an MFD driver fix to make this actually work for the AXP313a: > https://lore.kernel.org/lkml/20230807133930.94309-1-andre.przywara@arm.com/ Question is which tree we merge it through. We can't merge the DTs without this guaranteed to go in the same cycle without causing DT validation errors. ChenYu > For supporting this on more PMICs: > Currently many Linux (sub-)drivers registered by the MFD driver crash when > there is no valid interrupt registered, and we so far just special cased > the very simple PMICs to skip just the power key driver registration, > which works for those chips. However this affects more drivers (I tested > ac-power-supply), so it's not clear if that's really something useful for > the other PMICs providing more functionality. I guess we can postpone this > until either there is actually a use case for those other PMICs (boards > without the IRQ line connected), or when this list of exceptions grows too > large. > > Cheers, > Andre
On Wed, Aug 02, 2023 at 03:18:29PM +0100, Andre Przywara wrote: > All X-Powers PMICs described by this binding have an IRQ pin, and so > far (almost) all boards connected this to some NMI pin or GPIO on the SoC > they are connected to. > However we start to see boards that omit this connection, and technically > the IRQ pin is not essential to the basic PMIC operation. > The existing Linux driver allows skipping an IRQ pin setup for some > chips already, so update the binding to also make the DT property > optional for these chips, so that we can actually have DTs describing > boards with the PMIC interrupt not wired up. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> > --- > Hi, > > arguably the IRQ functionality is optional for many more PMICs, > especially if a board doesn't use GPIOs or a power key. > So I wonder if the interrupts property should become optional for all? > After all it's more a board designer's decision to wire up the IRQ pin > or not, and nothing that's really related to a particular PMIC. No ack for this, but if the things function without the interrupts wired up, it seems like it'd make sense to drop others too. Cheers, Conor. > > Cheers, > Andre > > Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > index 9ad55746133b5..06f1779835a1e 100644 > --- a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > +++ b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > @@ -67,7 +67,10 @@ allOf: > properties: > compatible: > contains: > - const: x-powers,axp305 > + enum: > + - x-powers,axp15060 > + - x-powers,axp305 > + - x-powers,axp313a > > then: > required: > -- > 2.25.1 >
Tested-by: Martin Botka <martin@biqu3d.com> On 8/2/23 4:18 PM, Andre Przywara wrote: > All X-Powers PMICs described by this binding have an IRQ pin, and so > far (almost) all boards connected this to some NMI pin or GPIO on the SoC > they are connected to. > However we start to see boards that omit this connection, and technically > the IRQ pin is not essential to the basic PMIC operation. > The existing Linux driver allows skipping an IRQ pin setup for some > chips already, so update the binding to also make the DT property > optional for these chips, so that we can actually have DTs describing > boards with the PMIC interrupt not wired up. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > --- > Hi, > > arguably the IRQ functionality is optional for many more PMICs, > especially if a board doesn't use GPIOs or a power key. > So I wonder if the interrupts property should become optional for all? > After all it's more a board designer's decision to wire up the IRQ pin > or not, and nothing that's really related to a particular PMIC. > > Cheers, > Andre > > Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > index 9ad55746133b5..06f1779835a1e 100644 > --- a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > +++ b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml > @@ -67,7 +67,10 @@ allOf: > properties: > compatible: > contains: > - const: x-powers,axp305 > + enum: > + - x-powers,axp15060 > + - x-powers,axp305 > + - x-powers,axp313a > > then: > required:
© 2016 - 2026 Red Hat, Inc.