Skip to contentSkip to conversation

starqltechn: fix max77705 device irqs

PATCH Applied Dzmitry Sankouski 5 participants 8 messages Sep 26, 2025 – Oct 27, 2025

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

v5 cover starqltechn: fix max77705 device irqs

For max77705 charger and fuelgauge subdevice, use max77705 interrupt controller.

---
Changes in v5:
- group interrupt properties together, including #interrupt-cells
- update trailers
- Link to v4: https://lore.kernel.org/r/20250925-starqltechn-correct_max77705_nodes-v4-0-93b706bdda58@gmail.com

Changes in v4:
- update trailers
- fix commit message
- reorder patches - Fixes should go first
- rebase on latest linux-next
- Link to v3: https://lore.kernel.org/r/20250912-starqltechn-correct_max77705_nodes-v3-0-4ce9f694ecd9@gmail.com

Changes in v3:
- fix commit messages to be more clear
- Link to v2: https://lore.kernel.org/r/20250909-starqltechn-correct_max77705_nodes-v2-0-e4174d374074@gmail.com

Changes in v2:
- run dt_binding_check, dtbs_check
- make interrupt-cells 1
- add patch to delete unused address-cells and size-cells
- add binding patch for interrupt-cells
- Link to v1: https://lore.kernel.org/r/20250831-starqltechn-correct_max77705_nodes-v1-0-5f2af9d13dad@gmail.com

---
Dzmitry Sankouski (3):
arm64: dts: qcom: sdm845-starqltechn: remove (address|size)-cells
arch: arm64: dts: qcom: sdm845-starqltechn: fix max77705 interrupts
dt-bindings: max77705: add interrupt-controller property

 Documentation/devicetree/bindings/mfd/maxim,max77705.yaml | 14 ++++++++++++++
 arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts   | 14 +++++++-------
 2 files changed, 21 insertions(+), 7 deletions(-)

---
base-commit: 8e2755d7779a95dd61d8997ebce33ff8b1efd3fb
change-id: 20250830-starqltechn-correct_max77705_nodes-1162dc2d9fe7

Best regards,

Signature · 1 line
Dzmitry Sankouski <[email protected]>
#1 lore raw

PATCH v5 1/3 arm64: dts: qcom: sdm845-starqltechn: remove (address|size)-cells

Drop the unused address/size-cells properties to silence the DT checker warning:

pmic@66 (maxim,max77705): '#address-cells', '#size-cells' do not match any of the regexes: '^pinctrl-[0-9]+$'

Fixes 7a88a931d095 ("arm64: dts: qcom: sdm845-starqltechn: add max77705 PMIC")

---
Changes in v3:
- fix commit message to be more clear

---
 arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts | 2 --
 1 file changed, 2 deletions(-)
arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts +0 -2
index 75a53f0bbebd..45c7aa0f602d 100644
@@ -606,8 +606,6 @@ pmic@66 {
 		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-0 = <&pmic_int_default>;
 		pinctrl-names = "default";
-		#address-cells = <1>;
-		#size-cells = <0>;
 
 		leds {
 			compatible = "maxim,max77705-rgb";
Signature · 1 line
2.39.5
#2 lore raw

PATCH v5 2/3 arch: arm64: dts: qcom: sdm845-starqltechn: fix max77705 interrupts

In reply to Dzmitry Sankouski

Since max77705 has a register, which indicates interrupt source, it acts as an interrupt controller.

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")

---
Changes for v5:
- group interrupt properties together, including #interrupt-cells

Changes for v2:
- fix commit message to be more clear

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(-)
arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts +7 -5
index 45c7aa0f602d..215e1491f3e9 100644
@@ -599,11 +599,13 @@ &uart9 {
 &i2c14 {
 	status = "okay";
 
-	pmic@66 {
+	max77705: pmic@66 {
 		compatible = "maxim,max77705";
 		reg = <0x66>;
+		#interrupt-cells = <1>;
 		interrupt-parent = <&pm8998_gpios>;
 		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+		interrupt-controller;
 		pinctrl-0 = <&pmic_int_default>;
 		pinctrl-names = "default";
 
@@ -644,8 +646,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 {
@@ -653,8 +655,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>;
 	};
 };
 
Signature · 1 line
2.39.5
Reviewed-by on v5 2/3
#3 lore raw

Re: [PATCH v5 2/3] arch: arm64: dts: qcom: sdm845-starqltechn: fix max77705 interrupts

Quoted 11 lines · Dzmitry Sankouski

Since max77705 has a register, which indicates interrupt source, it acts as an interrupt controller.

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

#4 lore raw

PATCH v5 3/3 dt-bindings: max77705: add interrupt-controller property

In reply to Dzmitry Sankouski

Add interrupt-controller property, because max77705 has dedicated interrupt source register to determine which sub device triggered an interrupt.

---
Changes for v5:
- group interrupt properties together, including #interrupt-cells

Changes in v4:
- fix commit message: node -> property
- fix commit message: minor reword and punctuation

---
 Documentation/devicetree/bindings/mfd/maxim,max77705.yaml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
Documentation/devicetree/bindings/mfd/maxim,max77705.yaml +14 -0
index 0ec89f0adc64..8b62aadb4213 100644
@@ -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
@@ -118,8 +130,10 @@ examples:
         pmic@66 {
             compatible = "maxim,max77705";
             reg = <0x66>;
+            #interrupt-cells = <1>;
             interrupt-parent = <&pm8998_gpios>;
             interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+            interrupt-controller;
             pinctrl-0 = <&chg_int_default>;
             pinctrl-names = "default";
 
Signature · 1 line
2.39.5
maintainer Reviewed-by on v5 3/3
#5 lore raw

Re: [PATCH v5 3/3] dt-bindings: max77705: add interrupt-controller property

Quoted 8 lines · Dzmitry Sankouski

Add interrupt-controller property, because max77705 has dedicated interrupt source register to determine which sub device triggered an interrupt.

---
Changes for v5:
- group interrupt properties together, including #interrupt-cells

Quoted 7 lines

Changes in v4:
- fix commit message: node -> property
- fix commit message: minor reword and punctuation

---
 Documentation/devicetree/bindings/mfd/maxim,max77705.yaml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
maintainer Applied
#6 lore raw

Re: [PATCH v5 3/3] dt-bindings: max77705: add interrupt-controller property

In reply to Dzmitry Sankouski
Quoted 8 lines · Dzmitry Sankouski

Add interrupt-controller property, because max77705 has dedicated interrupt source register to determine which sub device triggered an interrupt.

---
Changes for v5:
- group interrupt properties together, including #interrupt-cells

Quoted 6 lines

Changes in v4:
- fix commit message: node -> property
- fix commit message: minor reword and punctuation

---
 Documentation/devicetree/bindings/mfd/maxim,max77705.yaml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Applied, thanks

Signature · 1 line
Lee Jones [李琼斯]
maintainer Applied
#7 lore raw

Re: (subset) [PATCH v5 0/3] starqltechn: fix max77705 device irqs

In reply to Dzmitry Sankouski
Quoted 4 lines · Dzmitry Sankouski

For max77705 charger and fuelgauge subdevice, use max77705 interrupt controller.

Applied, thanks!

[1/3] arm64: dts: qcom: sdm845-starqltechn: remove (address|size)-cells

      commit: 4133486382364f60ea7e4f2c9070555689d9606e
[2/3] arch: arm64: dts: qcom: sdm845-starqltechn: fix max77705 interrupts
      commit: 4372b15d89e253e40816f0bde100890cddd25a81

Best regards,

Signature · 1 line
Bjorn Andersson <[email protected]>