Message ID | 20241202-b4-gs101_max77759_fg-v1-2-98d2fa7bfe30@uclouvain.be |
---|---|
State | New |
Headers | show |
Series | Google Pixel 6 (oriole): max77759 fuel gauge enablement and driver support | expand |
On Wed, 2024-12-04 at 14:13 +0100, Thomas Antoine wrote: > On 12/3/24 11:40, André Draszik wrote: > > On Tue, 2024-12-03 at 11:23 +0100, Thomas Antoine wrote: > > > On 12/3/24 08:12, André Draszik wrote: > > > > On Mon, 2024-12-02 at 14:07 +0100, Thomas Antoine via B4 Relay wrote: > > > > > From: Thomas Antoine <t.antoine@uclouvain.be> > > > > > > > > > > As the Maxim max77759 fuel gauge has no non-volatile memory slave address, > > > > > make it non-obligatory. Except for this, the max77759 seems to behave the > > > > > same as the max1720x. > > > > > > > > What about the battery characterization tables? Aren't they needed for > > > > correct reporting? [...] > > > I looked into it. The probe function launches a delay work > max1720x_model_work which will try multiple times to run > max1720x_model_load which leads to > max_m5_load_gauge_model -> max_m5_update_custom_model > > This last function writes 0x0059 to 0x62 and 0x00c4 to 0x63 which unlocks > the addresses from 0x80 to 0xaf. OK. The regmap I had proposed was excluding those based on the datasheet I have, but you probably noticed. [...] > If it is indeed the case and that all of those are equivalent to their > max1720x counterpart, I think the management of those values should be > added in another patch which implements it for both the max1720x (and possibly the > max77759) as the mainline driver does not do anything with those values > currently. Thanks for the analysis! And yes, I agree. Adding new required properties to a DT binding is an ABI break, therefore I was trying to ensure the binding is complete from the start. Cheers, Andre'
diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max17201.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max17201.yaml index fe3dd9bd5585618e45220c51023391a5b21acfd2..417fc2c4a1c1961654bc54ec1ac24602012f3335 100644 --- a/Documentation/devicetree/bindings/power/supply/maxim,max17201.yaml +++ b/Documentation/devicetree/bindings/power/supply/maxim,max17201.yaml @@ -16,6 +16,7 @@ properties: compatible: oneOf: - const: maxim,max17201 + - const: maxim,max77759-fg - items: - enum: - maxim,max17205 @@ -25,11 +26,13 @@ properties: items: - description: ModelGauge m5 registers - description: Nonvolatile registers + minItems: 1 reg-names: items: - const: m5 - const: nvmem + minItems: 1 interrupts: maxItems: 1 @@ -56,3 +59,14 @@ examples: interrupts = <31 IRQ_TYPE_LEVEL_LOW>; }; }; + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + fuel-gauge@36 { + compatible = "maxim,max77759-fg"; + reg = <0x36>; + reg-names = "m5"; + }; + };