[PATCH v9 0/8] mfd: bcm590xx: Add support for BCM59054

Artur Weber posted 8 patches 7 months ago
.../devicetree/bindings/mfd/brcm,bcm59056.txt      |   39 -
.../devicetree/bindings/mfd/brcm,bcm59056.yaml     |   76 ++
.../bindings/regulator/brcm,bcm59054.yaml          |   56 +
.../bindings/regulator/brcm,bcm59056.yaml          |   51 +
drivers/mfd/bcm590xx.c                             |   66 +-
drivers/regulator/bcm590xx-regulator.c             | 1289 ++++++++++++++++----
include/linux/mfd/bcm590xx.h                       |   27 +
7 files changed, 1325 insertions(+), 279 deletions(-)
[PATCH v9 0/8] mfd: bcm590xx: Add support for BCM59054
Posted by Artur Weber 7 months ago
Add support for the BCM59054 MFD to the bcm590xx driver and fix a
couple of small bugs in it that also affected the already supported
BCM59056.

While we're at it - convert the devicetree bindings to YAML format
and drop the bcm59056 DTS in favor of describing the PMU in users'
DTS files, as is done for most other MFDs.

The BCM59054 is fairly similar to the BCM59056, with the primary
difference being the different number and layout of regulators.
It is primarily used in devices using the BCM21664 and BCM23550
chipsets.

This patchset has been tested on a Samsung Galaxy Grand Neo
(baffinlite rev02; DTS not in mainline yet) with a BCM59054 PMIC.
Testing on a BCM59056 would be appreciated.

Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
---
Changes in v9:
- Rebase on mfd/for-mfd-next again
- Drop "ARM: dts: Drop DTS for BCM59056 PMU" as it has been applied
- Address another style nitpick on "mfd: bcm590xx: Add PMU ID/revision parsing function"
- Pick up Reviewed-by tag from Stanislav
- Link to v8: https://lore.kernel.org/r/20250430-bcm59054-v8-0-e4cf638169a4@gmail.com

Changes in v8:
- Rebase on mfd/for-mfd-next
- Drop "mfd: bcm590xx: Drop unused "id" member of bcm590xx MFD struct"
  as it has been applied
- Address style nitpicks on "mfd: bcm590xx: Add PMU ID/revision parsing function"
- Link to v7: https://lore.kernel.org/r/20250316-bcm59054-v7-0-4281126be1b8@gmail.com

Changes in v7:
- Return -ENODEV on PMU ID mismatch
- Drop "Check your DT compatible" from ID mismatch error message
- Pick up Reviewed-by trailers from Rob on DT bindings
- Link to v6: https://lore.kernel.org/r/20250304-bcm59054-v6-0-ae8302358443@gmail.com

Changes in v6:
- Rename mfd/brcm,bcm590xx.yaml to mfd/brcm,bcm59056.yaml again
- Use PMU ID value as device type
- Rename rev_dig and rev_ana to rev_digital and rev_analog
- Link to v5: https://lore.kernel.org/r/20250221-bcm59054-v5-0-065f516a9042@gmail.com

Changes in v5:
- Make regulator binding descriptions reference mfd/brcm,bcm590xx.yaml
  instead of mfd/brcm,bcm59056.yaml
- Move regmap type enum to common MFD header
- Link to v4: https://lore.kernel.org/r/20250215-bcm59054-v4-0-dbfb2d76a855@gmail.com

Changes in v4:
- Fix yamllint warnings in DT bindings
- Address miscelaneous review comments related to DT bindings
  - Note that I did not end up moving the regulator refs from
    allOf compatible matches; I explained my reasoning in [1].
    [1] https://lore.kernel.org/lkml/ab853605-859d-44c6-8cbd-44391cd677e6@gmail.com/
- Add PMU ID/revision parsing to MFD driver
- Fix instances of regulator data not matching vendor kernel for
  BCM59054
- Use different voltage table for BCM59054 VSR reg based on PMU
  revision
- Link to v3: https://lore.kernel.org/r/20250131-bcm59054-v3-0-bbac52a84787@gmail.com

Changes in v3:
- Split out regulator DT bindings into separate YAML
- Use tables of regulator info instead of get_XXX_register, reg_is_XXX
  functions
- Drop "regulator: bcm590xx: Add proper handling for PMMODE registers";
  it adds unnecessary noise to the series and will be submitted separately
- Link to v2: https://lore.kernel.org/r/20231030-bcm59054-v2-0-5fa4011aa5ba@gmail.com

Changes in v2:
- Fixed BCM59054 ID being passed to BCM59056 function in the
  regulator driver
- Dropped linux-rpi-kernel from the CC list
- Link to v1: https://lore.kernel.org/r/20231030-bcm59054-v1-0-3517f980c1e3@gmail.com

---
Artur Weber (8):
      dt-bindings: mfd: brcm,bcm59056: Convert to YAML
      dt-bindings: mfd: brcm,bcm59056: Add compatible for BCM59054
      mfd: bcm590xx: Add support for multiple device types + BCM59054 compatible
      mfd: bcm590xx: Add PMU ID/revision parsing function
      regulator: bcm590xx: Use dev_err_probe for regulator register error
      regulator: bcm590xx: Store regulator descriptions in table
      regulator: bcm590xx: Rename BCM59056-specific data as such
      regulator: bcm590xx: Add support for BCM59054 regulators

 .../devicetree/bindings/mfd/brcm,bcm59056.txt      |   39 -
 .../devicetree/bindings/mfd/brcm,bcm59056.yaml     |   76 ++
 .../bindings/regulator/brcm,bcm59054.yaml          |   56 +
 .../bindings/regulator/brcm,bcm59056.yaml          |   51 +
 drivers/mfd/bcm590xx.c                             |   66 +-
 drivers/regulator/bcm590xx-regulator.c             | 1289 ++++++++++++++++----
 include/linux/mfd/bcm590xx.h                       |   27 +
 7 files changed, 1325 insertions(+), 279 deletions(-)
---
base-commit: 6103b87af895954882de162cc652d02a6f65c074
change-id: 20240816-bcm59054-a880695e41e8

Best regards,
-- 
Artur Weber <aweber.kernel@gmail.com>
Re: [PATCH v9 0/8] mfd: bcm590xx: Add support for BCM59054
Posted by Lee Jones 6 months, 4 weeks ago
On Thu, 15 May 2025 16:16:27 +0200, Artur Weber wrote:
> Add support for the BCM59054 MFD to the bcm590xx driver and fix a
> couple of small bugs in it that also affected the already supported
> BCM59056.
> 
> While we're at it - convert the devicetree bindings to YAML format
> and drop the bcm59056 DTS in favor of describing the PMU in users'
> DTS files, as is done for most other MFDs.
> 
> [...]

Applied, thanks!

[1/8] dt-bindings: mfd: brcm,bcm59056: Convert to YAML
      commit: 9d56594f3ebf6ea4b23884412d3fde11f39518d2
[2/8] dt-bindings: mfd: brcm,bcm59056: Add compatible for BCM59054
      commit: 13980ebf8e9431975fe834df9df31dea39cb9a45
[3/8] mfd: bcm590xx: Add support for multiple device types + BCM59054 compatible
      commit: 6adf48a3aa316ce360e02dd10222e96da9a0eff5
[4/8] mfd: bcm590xx: Add PMU ID/revision parsing function
      commit: d310cdbb4ee6285f374d4dfc32173c35f8a2273e
[5/8] regulator: bcm590xx: Use dev_err_probe for regulator register error
      commit: 37512643e1f889549e4f9632d6bccef6804cb776
[6/8] regulator: bcm590xx: Store regulator descriptions in table
      commit: 75dc12b4450269821fca4c8634f5185d28cf2117
[7/8] regulator: bcm590xx: Rename BCM59056-specific data as such
      commit: d92f474420e5bb2c8b773a4fe9cf93b6051dc1ff
[8/8] regulator: bcm590xx: Add support for BCM59054 regulators
      commit: ef7f3631a44b8e0990ab8ffcbed4b2c3a4270883

--
Lee Jones [李琼斯]

[GIT PULL] Immutable branch between MFD and Regulator due for the v6.16 merge window
Posted by Lee Jones 6 months, 3 weeks ago
Enjoy!

The following changes since commit 0af2f6be1b4281385b618cb86ad946eded089ac8:

  Linux 6.15-rc1 (2025-04-06 13:11:33 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git ib-mfd-regulator-v6.16-1

for you to fetch changes up to ef7f3631a44b8e0990ab8ffcbed4b2c3a4270883:

  regulator: bcm590xx: Add support for BCM59054 regulators (2025-05-22 10:57:46 +0100)

----------------------------------------------------------------
Immutable branch between MFD and Regulator due for the v6.16 merge window

----------------------------------------------------------------
Artur Weber (8):
      dt-bindings: mfd: brcm,bcm59056: Convert to YAML
      dt-bindings: mfd: brcm,bcm59056: Add compatible for BCM59054
      mfd: bcm590xx: Add support for multiple device types + BCM59054 compatible
      mfd: bcm590xx: Add PMU ID/revision parsing function
      regulator: bcm590xx: Use dev_err_probe for regulator register error
      regulator: bcm590xx: Store regulator descriptions in table
      regulator: bcm590xx: Rename BCM59056-specific data as such
      regulator: bcm590xx: Add support for BCM59054 regulators

 .../devicetree/bindings/mfd/brcm,bcm59056.txt      |   39 -
 .../devicetree/bindings/mfd/brcm,bcm59056.yaml     |   76 ++
 .../bindings/regulator/brcm,bcm59054.yaml          |   56 +
 .../bindings/regulator/brcm,bcm59056.yaml          |   51 +
 drivers/mfd/bcm590xx.c                             |   66 +-
 drivers/regulator/bcm590xx-regulator.c             | 1289 ++++++++++++++++----
 include/linux/mfd/bcm590xx.h                       |   27 +
 7 files changed, 1325 insertions(+), 279 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt
 create mode 100644 Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/brcm,bcm59054.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/brcm,bcm59056.yaml

-- 
Lee Jones [李琼斯]