[PATCH v3 1/3] dt-bindings: max77705: add interrupt-controller node

Dzmitry Sankouski posted 3 patches 2 weeks, 6 days ago
There is a newer version of this series
[PATCH v3 1/3] dt-bindings: max77705: add interrupt-controller node
Posted by Dzmitry Sankouski 2 weeks, 6 days ago
Add interrupt-controller node, because it has dedicated interrupt source
register, to determine which sub device triggered an interrupt.

Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
---
 Documentation/devicetree/bindings/mfd/maxim,max77705.yaml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml b/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml
index 0ec89f0adc64..d265c8213a08 100644
--- a/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml
+++ b/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml
@@ -26,6 +26,18 @@ properties:
   interrupts:
     maxItems: 1
 
+  interrupt-controller:
+    description:
+      The driver implements an interrupt controller for the sub devices.
+      The interrupt number mapping is as follows
+      0 - charger
+      1 - topsys
+      2 - fuelgauge
+      3 - usb type-c management block.
+
+  '#interrupt-cells':
+    const: 1
+
   haptic:
     type: object
     additionalProperties: false
@@ -120,8 +132,10 @@ examples:
             reg = <0x66>;
             interrupt-parent = <&pm8998_gpios>;
             interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+            interrupt-controller;
             pinctrl-0 = <&chg_int_default>;
             pinctrl-names = "default";
+            #interrupt-cells = <1>;
 
             leds {
                 compatible = "maxim,max77705-rgb";

-- 
2.39.5
Re: [PATCH v3 1/3] dt-bindings: max77705: add interrupt-controller node
Posted by Rob Herring 1 week, 3 days ago
On Fri, Sep 12, 2025 at 07:47:01PM +0300, Dzmitry Sankouski wrote:
> Add interrupt-controller node, because it has dedicated interrupt source
> register, to determine which sub device triggered an interrupt.

The subject and commit msg are wrong. You aren't adding a node.

> 
> Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
> ---
>  Documentation/devicetree/bindings/mfd/maxim,max77705.yaml | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml b/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml
> index 0ec89f0adc64..d265c8213a08 100644
> --- a/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml
> +++ b/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml
> @@ -26,6 +26,18 @@ properties:
>    interrupts:
>      maxItems: 1
>  
> +  interrupt-controller:
> +    description:
> +      The driver implements an interrupt controller for the sub devices.
> +      The interrupt number mapping is as follows
> +      0 - charger
> +      1 - topsys
> +      2 - fuelgauge
> +      3 - usb type-c management block.
> +
> +  '#interrupt-cells':
> +    const: 1
> +
>    haptic:
>      type: object
>      additionalProperties: false
> @@ -120,8 +132,10 @@ examples:
>              reg = <0x66>;
>              interrupt-parent = <&pm8998_gpios>;
>              interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
> +            interrupt-controller;
>              pinctrl-0 = <&chg_int_default>;
>              pinctrl-names = "default";
> +            #interrupt-cells = <1>;
>  
>              leds {
>                  compatible = "maxim,max77705-rgb";
> 
> -- 
> 2.39.5
>
Re: [PATCH v3 1/3] dt-bindings: max77705: add interrupt-controller node
Posted by Konrad Dybcio 2 weeks, 3 days ago
On 9/12/25 6:47 PM, Dzmitry Sankouski wrote:
> Add interrupt-controller node, because it has dedicated interrupt source
> register, to determine which sub device triggered an interrupt.
> 
> Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
> ---
>  Documentation/devicetree/bindings/mfd/maxim,max77705.yaml | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml b/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml
> index 0ec89f0adc64..d265c8213a08 100644
> --- a/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml
> +++ b/Documentation/devicetree/bindings/mfd/maxim,max77705.yaml
> @@ -26,6 +26,18 @@ properties:
>    interrupts:
>      maxItems: 1
>  
> +  interrupt-controller:
> +    description:
> +      The driver implements an interrupt controller for the sub devices.
> +      The interrupt number mapping is as follows
> +      0 - charger
> +      1 - topsys
> +      2 - fuelgauge
> +      3 - usb type-c management block.

The MFD driver registers one more interrupt, and these don't seem
to be what you say here:

static const struct regmap_irq max77705_topsys_irqs[] = {
        { .mask = MAX77705_SYSTEM_IRQ_BSTEN_INT, },
        { .mask = MAX77705_SYSTEM_IRQ_SYSUVLO_INT, },
        { .mask = MAX77705_SYSTEM_IRQ_SYSOVLO_INT, },
        { .mask = MAX77705_SYSTEM_IRQ_TSHDN_INT, },
        { .mask = MAX77705_SYSTEM_IRQ_TM_INT, },
};

Konrad
Re: [PATCH v3 1/3] dt-bindings: max77705: add interrupt-controller node
Posted by Dzmitry Sankouski 2 weeks, 3 days ago
пн, 15 сент. 2025 г. в 10:49, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>:
>
> > +      The driver implements an interrupt controller for the sub devices.
> > +      The interrupt number mapping is as follows
> > +      0 - charger
> > +      1 - topsys
> > +      2 - fuelgauge
> > +      3 - usb type-c management block.
>
> The MFD driver registers one more interrupt, and these don't seem
> to be what you say here:
>
> static const struct regmap_irq max77705_topsys_irqs[] = {
>         { .mask = MAX77705_SYSTEM_IRQ_BSTEN_INT, },
>         { .mask = MAX77705_SYSTEM_IRQ_SYSUVLO_INT, },
>         { .mask = MAX77705_SYSTEM_IRQ_SYSOVLO_INT, },
>         { .mask = MAX77705_SYSTEM_IRQ_TSHDN_INT, },
>         { .mask = MAX77705_SYSTEM_IRQ_TM_INT, },
> };

MAX77705_SYSTEM_IRQ_TM_INT(and others you mentioned) is a part of 'topsys' irqs,
which is kinda MFD own irqs. They are unused at the moment.

See also [max77705 rework interrupt patches](https://lkml.org/lkml/2025/8/31/27)

-- 
Best regards and thanks for review,
Dzmitry
Re: [PATCH v3 1/3] dt-bindings: max77705: add interrupt-controller node
Posted by Konrad Dybcio 1 week ago
On 9/15/25 5:46 PM, Dzmitry Sankouski wrote:
> пн, 15 сент. 2025 г. в 10:49, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>:
>>
>>> +      The driver implements an interrupt controller for the sub devices.
>>> +      The interrupt number mapping is as follows
>>> +      0 - charger
>>> +      1 - topsys
>>> +      2 - fuelgauge
>>> +      3 - usb type-c management block.
>>
>> The MFD driver registers one more interrupt, and these don't seem
>> to be what you say here:
>>
>> static const struct regmap_irq max77705_topsys_irqs[] = {
>>         { .mask = MAX77705_SYSTEM_IRQ_BSTEN_INT, },
>>         { .mask = MAX77705_SYSTEM_IRQ_SYSUVLO_INT, },
>>         { .mask = MAX77705_SYSTEM_IRQ_SYSOVLO_INT, },
>>         { .mask = MAX77705_SYSTEM_IRQ_TSHDN_INT, },
>>         { .mask = MAX77705_SYSTEM_IRQ_TM_INT, },
>> };
> 
> MAX77705_SYSTEM_IRQ_TM_INT(and others you mentioned) is a part of 'topsys' irqs,
> which is kinda MFD own irqs. They are unused at the moment.
> 
> See also [max77705 rework interrupt patches](https://lkml.org/lkml/2025/8/31/27)

This would be useful to mention as a dependency..

Perhaps >this< patch should be part of that series you referenced, too
(or they could come together with this DT change even)

Konrad

Re: [PATCH v3 1/3] dt-bindings: max77705: add interrupt-controller node
Posted by Dzmitry Sankouski 6 days, 22 hours ago
чт, 25 сент. 2025 г. в 16:11, Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>:
>
> >
> > See also [max77705 rework interrupt patches](https://lkml.org/lkml/2025/8/31/27)
>
> This would be useful to mention as a dependency..
>
> Perhaps >this< patch should be part of that series you referenced, too
> (or they could come together with this DT change even)
>

Referenced series is already applied, so I'll keep that in mind for later
patches.

-- 
Best regards and thanks for review,
Dzmitry