Message ID | 20250523-b4-gs101_max77759_fg-v4-5-b49904e35a34@uclouvain.be |
---|---|
State | New |
Headers | show |
Series | Google Pixel 6 (oriole): max77759 fuel gauge enablement and driver support | expand |
Hi Thomas, Thanks for your patch and work to enable fuel gauge on Pixel 6! On Fri, 23 May 2025 at 13:52, Thomas Antoine via B4 Relay <devnull+t.antoine.uclouvain.be@kernel.org> wrote: > > From: Thomas Antoine <t.antoine@uclouvain.be> > > Add the node for the Maxim MAX77759 fuel gauge as a slave of the i2c. > > The TODO is still applicable given there are other slaves on the > bus (e.g. PCA9468, other MAX77759 functions and the MAX20339 OVP). > > Signed-off-by: Thomas Antoine <t.antoine@uclouvain.be> > --- > arch/arm64/boot/dts/exynos/google/gs101-pixel-common.dtsi | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/arch/arm64/boot/dts/exynos/google/gs101-pixel-common.dtsi b/arch/arm64/boot/dts/exynos/google/gs101-pixel-common.dtsi > index b25230495c64dce60916b7cd5dcb9a7cce5d0e4e..84fc10c3562958ab1621f24644709e85a9433b9b 100644 > --- a/arch/arm64/boot/dts/exynos/google/gs101-pixel-common.dtsi > +++ b/arch/arm64/boot/dts/exynos/google/gs101-pixel-common.dtsi > @@ -10,6 +10,7 @@ > > #include <dt-bindings/gpio/gpio.h> > #include <dt-bindings/input/input.h> > +#include <dt-bindings/interrupt-controller/irq.h> > #include <dt-bindings/usb/pd.h> > #include "gs101-pinctrl.h" > #include "gs101.dtsi" > @@ -188,6 +189,15 @@ usbc0_role_sw: endpoint { > }; > }; > }; > + > + fuel-gauge@36 { > + compatible = "maxim,max77759-fg"; > + reg = <0x36>; > + reg-names = "m5"; > + interrupt-parent = <&gpa9>; > + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; > + shunt-resistor-micro-ohms = <5000>; > + }; > }; > If gpa-9-3 is being used for the interrupt I think we should also add the pinctrl configuration for it. Taking a look at downstream the pin is defined as &pinctrl_0 { /* [MAX77759: FG_INTB] > FG_INT_L > [XEINT_23 : SC59845XWE] */ if_pmic_fg_irq: if-pmic-fg-irq { samsung,pins = "gpa9-3"; /* XEINT_23 */ samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; }; }; and then the fuel-gauge node declares /* FG_INT_L -> XEINT_23 */ pinctrl-names = "default"; pinctrl-0 = <&if_pmic_fg_irq>; regards, Peter
diff --git a/arch/arm64/boot/dts/exynos/google/gs101-pixel-common.dtsi b/arch/arm64/boot/dts/exynos/google/gs101-pixel-common.dtsi index b25230495c64dce60916b7cd5dcb9a7cce5d0e4e..84fc10c3562958ab1621f24644709e85a9433b9b 100644 --- a/arch/arm64/boot/dts/exynos/google/gs101-pixel-common.dtsi +++ b/arch/arm64/boot/dts/exynos/google/gs101-pixel-common.dtsi @@ -10,6 +10,7 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/input/input.h> +#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/usb/pd.h> #include "gs101-pinctrl.h" #include "gs101.dtsi" @@ -188,6 +189,15 @@ usbc0_role_sw: endpoint { }; }; }; + + fuel-gauge@36 { + compatible = "maxim,max77759-fg"; + reg = <0x36>; + reg-names = "m5"; + interrupt-parent = <&gpa9>; + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; + shunt-resistor-micro-ohms = <5000>; + }; }; &pinctrl_far_alive {