Since max77705 has a register, which indicates interrupt source, it acts
as an interrupt controller.
Use max77705 as an interrupt controller for charger and fuelgauge
subdevices.
Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
---
Changes for v2:
- fix commit msg header prefix to 'arm64: dts: qcom: sdm845-starqltechn:'
- remove binding header for interrupt numbers
- make interrupt-cells 1, because irq trigger type is not used
---
arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
index 8a1e4c76914c..597e25d27d76 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
@@ -584,13 +584,15 @@ &uart9 {
&i2c14 {
status = "okay";
- pmic@66 {
+ max77705: pmic@66 {
compatible = "maxim,max77705";
reg = <0x66>;
interrupt-parent = <&pm8998_gpios>;
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-controller;
pinctrl-0 = <&pmic_int_default>;
pinctrl-names = "default";
+ #interrupt-cells = <1>;
leds {
compatible = "maxim,max77705-rgb";
@@ -629,8 +631,8 @@ max77705_charger: charger@69 {
reg = <0x69>;
compatible = "maxim,max77705-charger";
monitored-battery = <&battery>;
- interrupt-parent = <&pm8998_gpios>;
- interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-parent = <&max77705>;
+ interrupts = <0>;
};
fuel-gauge@36 {
@@ -638,8 +640,8 @@ fuel-gauge@36 {
compatible = "maxim,max77705-battery";
power-supplies = <&max77705_charger>;
maxim,rsns-microohm = <5000>;
- interrupt-parent = <&pm8998_gpios>;
- interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-parent = <&max77705>;
+ interrupts = <2>;
};
};
--
2.39.5
On 9/9/25 9:22 PM, Dzmitry Sankouski wrote: > Since max77705 has a register, which indicates interrupt source, it acts > as an interrupt controller. > > Use max77705 as an interrupt controller for charger and fuelgauge > subdevices. """ Direct MAX77705's subdevices to use the IC's internal interrupt controller, instead of listening to every interrupt fired by the chip towards the host device. """ Fixes: 7a88a931d095 ("arm64: dts: qcom: sdm845-starqltechn: add max77705 PMIC") Konrad> > Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com> > --- > Changes for v2: > - fix commit msg header prefix to 'arm64: dts: qcom: sdm845-starqltechn:' > - remove binding header for interrupt numbers > - make interrupt-cells 1, because irq trigger type is not used > --- > arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts > index 8a1e4c76914c..597e25d27d76 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts > @@ -584,13 +584,15 @@ &uart9 { > &i2c14 { > status = "okay"; > > - pmic@66 { > + max77705: pmic@66 { > compatible = "maxim,max77705"; > reg = <0x66>; > interrupt-parent = <&pm8998_gpios>; > interrupts = <11 IRQ_TYPE_LEVEL_LOW>; > + interrupt-controller; > pinctrl-0 = <&pmic_int_default>; > pinctrl-names = "default"; > + #interrupt-cells = <1>; > > leds { > compatible = "maxim,max77705-rgb"; > @@ -629,8 +631,8 @@ max77705_charger: charger@69 { > reg = <0x69>; > compatible = "maxim,max77705-charger"; > monitored-battery = <&battery>; > - interrupt-parent = <&pm8998_gpios>; > - interrupts = <11 IRQ_TYPE_LEVEL_LOW>; > + interrupt-parent = <&max77705>; > + interrupts = <0>; > }; > > fuel-gauge@36 { > @@ -638,8 +640,8 @@ fuel-gauge@36 { > compatible = "maxim,max77705-battery"; > power-supplies = <&max77705_charger>; > maxim,rsns-microohm = <5000>; > - interrupt-parent = <&pm8998_gpios>; > - interrupts = <11 IRQ_TYPE_LEVEL_LOW>; > + interrupt-parent = <&max77705>; > + interrupts = <2>; > }; > }; > >
© 2016 - 2025 Red Hat, Inc.