mbox series

[v17,0/7] Add support for Maxim Integrated MAX77705 PMIC

Message ID 20250123-starqltechn_integration_upstream-v17-0-8b06685b6612@gmail.com
Headers show
Series Add support for Maxim Integrated MAX77705 PMIC | expand

Message

Dzmitry Sankouski Jan. 23, 2025, 3:04 p.m. UTC
The Maxim MAX77705 is a Companion Power Management and Type-C
interface IC which includes charger, fuelgauge, LED, haptic motor driver and
Type-C management IC. It's used in Samsung S series smart phones
starting from S9 model.

Add features:
  - charger
  - fuelgauge
  - haptic
  - led

Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
---
Changes in v17:
- update trailers
- fix led driver regmap creation
- rebase on latest linux-power-supply
- Link to v16: https://lore.kernel.org/r/20250117-starqltechn_integration_upstream-v16-0-11afa877276c@gmail.com

Changes in v16:
- cleanup review fixes
- Link to v15: https://lore.kernel.org/r/20250116-starqltechn_integration_upstream-v15-0-cf229de9f758@gmail.com

Changes in v15:
- update copyright year
- fix mA/mV in charing driver
- rebase on latest linux-power-supply tree
- various formatting and optimization review comments fixes
- Link to v14: https://lore.kernel.org/r/20250108-starqltechn_integration_upstream-v14-0-f6e84ec20d96@gmail.com

Changes in v14:
- binding review fixes
- add trailers
- Link to v13: https://lore.kernel.org/r/20241223-starqltechn_integration_upstream-v13-0-fbc610c70832@gmail.com

Changes in v13:
- revert: max17042 binding: split in 2 files, so its binding code can be reused
- include previously removed patch:
  'dt-bindings: power: supply: max17042: add max77705 support'
- use same of_node for matching simple-mfd-i2c and setting max17042
  driver
- Link to v12: https://lore.kernel.org/r/20241217-starqltechn_integration_upstream-v12-0-ed840944f948@gmail.com

Changes in v12:
- charger: move out of mfd because separate device
- charger: add it's own binding file
- fuel gauge: move to simple-mfd-i2c along with additional measurement
  capabilities, which will be implemented in max77705-hwmon driver
- fix review comments
- reorder commits to stick mfd together
- Link to v11: https://lore.kernel.org/r/20241209-starqltechn_integration_upstream-v11-0-dc0598828e01@gmail.com

Changes in v11:
- charger: code review fixes
- max17042 binding: split in 2 files, so its binding code can be reused
  in MFD bindings
- Link to v10: https://lore.kernel.org/r/20241204-starqltechn_integration_upstream-v10-0-7de85e48e562@gmail.com

Changes in v10:
- drop NACKed 'dt-bindings: power: supply: max17042: remove reg from
  required' patch
- review fixes
- use dev_err_probe for errors in probe functions
- Link to v9: https://lore.kernel.org/r/20241202-starqltechn_integration_upstream-v9-0-a1adc3bae2b8@gmail.com

Changes in v9:
- fuel gauge: use max17042 driver instead of separate max77705
- fix kernel bot error
- charger: enable interrupt after power supply registration
- add dependency on max17042 patch series
- Link to v8: https://lore.kernel.org/r/20241031-starqltechn_integration_upstream-v8-0-2fa666c2330e@gmail.com

Changes in v8:
- Fix comment style
- join line where possible to fit in 100 chars
- Link to v7: https://lore.kernel.org/r/20241023-starqltechn_integration_upstream-v7-0-9bfaa3f4a1a0@gmail.com

Changes in v7:
- Fix review comments
- Link to v6: https://lore.kernel.org/r/20241007-starqltechn_integration_upstream-v6-0-0d38b5090c57@gmail.com

Changes in v6:
- fix binding review comments
- update trailers
- Link to v5: https://lore.kernel.org/r/20240617-starqltechn_integration_upstream-v5-0-e0033f141d17@gmail.com

Changes in v5:
- Split patchset per subsystem
- Link to v4: https://lore.kernel.org/r/20240913-starqltechn_integration_upstream-v4-0-2d2efd5c5877@gmail.com

Changes in v4:
- Rewrite max77705, max77705_charger, max77705_fuel_gauge from scratch
- Reorder patches:
  - squash max77705 subdevice bindings in core file because
    no resources there
  - split device tree changes
- Use _ as space for filenames in power/supply like the majority
- Link to v3: https://lore.kernel.org/r/20240618-starqltechn_integration_upstream-v3-0-e3f6662017ac@gmail.com

---
Dzmitry Sankouski (7):
      dt-bindings: power: supply: add maxim,max77705 charger
      dt-bindings: mfd: add maxim,max77705
      power: supply: max77705: Add charger driver for Maxim 77705
      mfd: simple-mfd-i2c: Add MAX77705 support
      mfd: Add new driver for MAX77705 PMIC
      input: max77693: add max77705 haptic support
      leds: max77705: Add LEDs support

 Documentation/devicetree/bindings/mfd/maxim,max77705.yaml          | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Documentation/devicetree/bindings/power/supply/maxim,max77705.yaml |  50 ++++++++++++++++++++++++
 MAINTAINERS                                                        |   4 ++
 drivers/input/misc/Kconfig                                         |   6 +--
 drivers/input/misc/max77693-haptic.c                               |  13 ++++++-
 drivers/leds/Kconfig                                               |   8 ++++
 drivers/leds/Makefile                                              |   1 +
 drivers/leds/leds-max77705.c                                       | 275 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/mfd/Kconfig                                                |  13 +++++++
 drivers/mfd/Makefile                                               |   1 +
 drivers/mfd/max77705.c                                             | 182 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/mfd/simple-mfd-i2c.c                                       |  11 ++++++
 drivers/power/supply/Kconfig                                       |   6 +++
 drivers/power/supply/Makefile                                      |   1 +
 drivers/power/supply/max77705_charger.c                            | 581 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 include/linux/mfd/max77693-common.h                                |   4 +-
 include/linux/mfd/max77705-private.h                               | 195 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 include/linux/power/max77705_charger.h                             | 195 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 18 files changed, 1699 insertions(+), 5 deletions(-)
---
base-commit: b4a95b8fd3e67c1222c76bdd1078d43c9a11d132
change-id: 20240617-starqltechn_integration_upstream-bc86850b2fe3

Best regards,

Comments

Lee Jones Feb. 10, 2025, 5:08 p.m. UTC | #1
On Thu, 23 Jan 2025, Dzmitry Sankouski wrote:

> The Maxim MAX77705 is a Companion Power Management and Type-C
> interface IC which includes charger, fuelgauge, LED, haptic motor driver and
> Type-C management IC. It's used in Samsung S series smart phones
> starting from S9 model.
> 
> Add features:
>   - charger
>   - fuelgauge
>   - haptic
>   - led

LGTM.

Once Sebastian provides an ACK, I can take the set.
Lee Jones Feb. 20, 2025, 4:40 p.m. UTC | #2
On Thu, 23 Jan 2025 18:04:25 +0300, Dzmitry Sankouski wrote:
> The Maxim MAX77705 is a Companion Power Management and Type-C
> interface IC which includes charger, fuelgauge, LED, haptic motor driver and
> Type-C management IC. It's used in Samsung S series smart phones
> starting from S9 model.
> 
> Add features:
>   - charger
>   - fuelgauge
>   - haptic
>   - led
> 
> [...]

Applied, thanks!

[1/7] dt-bindings: power: supply: add maxim,max77705 charger
      commit: af280f29f32c885942f67edacfeae7d9b6e897a4
[2/7] dt-bindings: mfd: add maxim,max77705
      commit: 2ae4ffff28bf48a7144591eed7081f746b98e130
[3/7] power: supply: max77705: Add charger driver for Maxim 77705
      commit: a6a494c8e3ce1fe84aac538b087a4cab868ed83f
[4/7] mfd: simple-mfd-i2c: Add MAX77705 support
      commit: 7b591ef98b3fc1ce20c3ccb86715429b72e2e6f0
[5/7] mfd: Add new driver for MAX77705 PMIC
      commit: c8d50f029748b73313838b64b829992b66ccb704
[6/7] input: max77693: add max77705 haptic support
      commit: eb79f3a5a51a1f484e2570d983dc9d8217e8f912
[7/7] leds: max77705: Add LEDs support
      commit: aebb5fc9a0d87916133b911e1ef2cc04a7996335

--
Lee Jones [李琼斯]
Lee Jones Feb. 20, 2025, 4:43 p.m. UTC | #3
On Thu, 20 Feb 2025, Lee Jones wrote:

> On Thu, 23 Jan 2025 18:04:25 +0300, Dzmitry Sankouski wrote:
> > The Maxim MAX77705 is a Companion Power Management and Type-C
> > interface IC which includes charger, fuelgauge, LED, haptic motor driver and
> > Type-C management IC. It's used in Samsung S series smart phones
> > starting from S9 model.
> > 
> > Add features:
> >   - charger
> >   - fuelgauge
> >   - haptic
> >   - led
> > 
> > [...]
> 
> Applied, thanks!
> 
> [1/7] dt-bindings: power: supply: add maxim,max77705 charger
>       commit: af280f29f32c885942f67edacfeae7d9b6e897a4
> [2/7] dt-bindings: mfd: add maxim,max77705
>       commit: 2ae4ffff28bf48a7144591eed7081f746b98e130
> [3/7] power: supply: max77705: Add charger driver for Maxim 77705
>       commit: a6a494c8e3ce1fe84aac538b087a4cab868ed83f
> [4/7] mfd: simple-mfd-i2c: Add MAX77705 support
>       commit: 7b591ef98b3fc1ce20c3ccb86715429b72e2e6f0
> [5/7] mfd: Add new driver for MAX77705 PMIC
>       commit: c8d50f029748b73313838b64b829992b66ccb704
> [6/7] input: max77693: add max77705 haptic support
>       commit: eb79f3a5a51a1f484e2570d983dc9d8217e8f912
> [7/7] leds: max77705: Add LEDs support
>       commit: aebb5fc9a0d87916133b911e1ef2cc04a7996335

I'll send out a PR once the build tests are complete.

Note to self: ib-mfd-input-leds-power-6.15
Rob Herring March 17, 2025, 5:02 p.m. UTC | #4
On Fri, Feb 21, 2025 at 10:03 AM Lee Jones <lee@kernel.org> wrote:
>
> Enjoy!
>
> The following changes since commit 2014c95afecee3e76ca4a56956a936e23283f05b:
>
>   Linux 6.14-rc1 (2025-02-02 15:39:26 -0800)
>
> are available in the Git repository at:
>
>   ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git tags/ib-mfd-input-leds-power-v6.15
>
> for you to fetch changes up to aebb5fc9a0d87916133b911e1ef2cc04a7996335:
>
>   leds: max77705: Add LEDs support (2025-02-20 16:38:37 +0000)
>
> ----------------------------------------------------------------
> Immutable branch between MFD, Input, LEDs and Power due for the v6.15 merge window
>
> ----------------------------------------------------------------
> Dzmitry Sankouski (7):
>       dt-bindings: power: supply: add maxim,max77705 charger
>       dt-bindings: mfd: Add maxim,max77705
>       power: supply: max77705: Add charger driver for Maxim 77705
>       mfd: simple-mfd-i2c: Add MAX77705 support
>       mfd: Add new driver for MAX77705 PMIC
>       Input: max77693 - add max77705 haptic support
>       leds: max77705: Add LEDs support

None of this seems to be in linux-next, but now we have users in .dts files.

Rob
Lee Jones March 20, 2025, 3:55 p.m. UTC | #5
On Mon, 17 Mar 2025, Rob Herring wrote:

> On Fri, Feb 21, 2025 at 10:03 AM Lee Jones <lee@kernel.org> wrote:
> >
> > Enjoy!
> >
> > The following changes since commit 2014c95afecee3e76ca4a56956a936e23283f05b:
> >
> >   Linux 6.14-rc1 (2025-02-02 15:39:26 -0800)
> >
> > are available in the Git repository at:
> >
> >   ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git tags/ib-mfd-input-leds-power-v6.15
> >
> > for you to fetch changes up to aebb5fc9a0d87916133b911e1ef2cc04a7996335:
> >
> >   leds: max77705: Add LEDs support (2025-02-20 16:38:37 +0000)
> >
> > ----------------------------------------------------------------
> > Immutable branch between MFD, Input, LEDs and Power due for the v6.15 merge window
> >
> > ----------------------------------------------------------------
> > Dzmitry Sankouski (7):
> >       dt-bindings: power: supply: add maxim,max77705 charger
> >       dt-bindings: mfd: Add maxim,max77705
> >       power: supply: max77705: Add charger driver for Maxim 77705
> >       mfd: simple-mfd-i2c: Add MAX77705 support
> >       mfd: Add new driver for MAX77705 PMIC
> >       Input: max77693 - add max77705 haptic support
> >       leds: max77705: Add LEDs support
> 
> None of this seems to be in linux-next, but now we have users in .dts files.

None of what is in -next?  All of these patches are applied and pushed.
Krzysztof Kozlowski March 20, 2025, 4:14 p.m. UTC | #6
On 20/03/2025 16:55, Lee Jones wrote:
> On Mon, 17 Mar 2025, Rob Herring wrote:
> 
>> On Fri, Feb 21, 2025 at 10:03 AM Lee Jones <lee@kernel.org> wrote:
>>>
>>> Enjoy!
>>>
>>> The following changes since commit 2014c95afecee3e76ca4a56956a936e23283f05b:
>>>
>>>   Linux 6.14-rc1 (2025-02-02 15:39:26 -0800)
>>>
>>> are available in the Git repository at:
>>>
>>>   ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git tags/ib-mfd-input-leds-power-v6.15
>>>
>>> for you to fetch changes up to aebb5fc9a0d87916133b911e1ef2cc04a7996335:
>>>
>>>   leds: max77705: Add LEDs support (2025-02-20 16:38:37 +0000)
>>>
>>> ----------------------------------------------------------------
>>> Immutable branch between MFD, Input, LEDs and Power due for the v6.15 merge window
>>>
>>> ----------------------------------------------------------------
>>> Dzmitry Sankouski (7):
>>>       dt-bindings: power: supply: add maxim,max77705 charger
>>>       dt-bindings: mfd: Add maxim,max77705
>>>       power: supply: max77705: Add charger driver for Maxim 77705
>>>       mfd: simple-mfd-i2c: Add MAX77705 support
>>>       mfd: Add new driver for MAX77705 PMIC
>>>       Input: max77693 - add max77705 haptic support
>>>       leds: max77705: Add LEDs support
>>
>> None of this seems to be in linux-next, but now we have users in .dts files.
> 
> None of what is in -next?  All of these patches are applied and pushed.


Next from 17th March has them. Next from 14th Match did not have them,
even though you sent this pull request on 21st Feb.

So report was correct - you did not update for-next that time.


Best regards,
Krzysztof
Lee Jones March 20, 2025, 4:29 p.m. UTC | #7
On Thu, 20 Mar 2025, Krzysztof Kozlowski wrote:

> On 20/03/2025 16:55, Lee Jones wrote:
> > On Mon, 17 Mar 2025, Rob Herring wrote:
> > 
> >> On Fri, Feb 21, 2025 at 10:03 AM Lee Jones <lee@kernel.org> wrote:
> >>>
> >>> Enjoy!
> >>>
> >>> The following changes since commit 2014c95afecee3e76ca4a56956a936e23283f05b:
> >>>
> >>>   Linux 6.14-rc1 (2025-02-02 15:39:26 -0800)
> >>>
> >>> are available in the Git repository at:
> >>>
> >>>   ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git tags/ib-mfd-input-leds-power-v6.15
> >>>
> >>> for you to fetch changes up to aebb5fc9a0d87916133b911e1ef2cc04a7996335:
> >>>
> >>>   leds: max77705: Add LEDs support (2025-02-20 16:38:37 +0000)
> >>>
> >>> ----------------------------------------------------------------
> >>> Immutable branch between MFD, Input, LEDs and Power due for the v6.15 merge window
> >>>
> >>> ----------------------------------------------------------------
> >>> Dzmitry Sankouski (7):
> >>>       dt-bindings: power: supply: add maxim,max77705 charger
> >>>       dt-bindings: mfd: Add maxim,max77705
> >>>       power: supply: max77705: Add charger driver for Maxim 77705
> >>>       mfd: simple-mfd-i2c: Add MAX77705 support
> >>>       mfd: Add new driver for MAX77705 PMIC
> >>>       Input: max77693 - add max77705 haptic support
> >>>       leds: max77705: Add LEDs support
> >>
> >> None of this seems to be in linux-next, but now we have users in .dts files.
> > 
> > None of what is in -next?  All of these patches are applied and pushed.
> 
> 
> Next from 17th March has them. Next from 14th Match did not have them,
> even though you sent this pull request on 21st Feb.
> 
> So report was correct - you did not update for-next that time.

Ah, gotcha.  Yes, that's entirely possible.

The point of the PR is that anyone can pull and apply it.

In the worse case, all would have come good during the merge-window.