From: Artur Weber <aweber.kernel@gmail.com>
To: Lee Jones <lee@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Ray Jui <rjui@broadcom.com>,
Scott Branden <sbranden@broadcom.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@broadcom.com>
Cc: Stanislav Jakubek <stano.jakubek@gmail.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
~postmarketos/upstreaming@lists.sr.ht,
Artur Weber <aweber.kernel@gmail.com>
Subject: [PATCH v7 00/10] mfd: bcm590xx: Add support for BCM59054
Date: Sun, 16 Mar 2025 19:18:48 +0100 [thread overview]
Message-ID: <20250316-bcm59054-v7-0-4281126be1b8@gmail.com> (raw)
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 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 (10):
dt-bindings: mfd: brcm,bcm59056: Convert to YAML
dt-bindings: mfd: brcm,bcm59056: Add compatible for BCM59054
ARM: dts: Drop DTS for BCM59056 PMU
mfd: bcm590xx: Drop unused "id" member of bcm590xx MFD struct
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 +
arch/arm/boot/dts/broadcom/bcm28155-ap.dts | 68 +-
arch/arm/boot/dts/broadcom/bcm59056.dtsi | 91 --
drivers/mfd/bcm590xx.c | 75 +-
drivers/regulator/bcm590xx-regulator.c | 1289 ++++++++++++++++----
include/linux/mfd/bcm590xx.h | 28 +-
9 files changed, 1366 insertions(+), 407 deletions(-)
---
base-commit: ffd294d346d185b70e28b1a28abe367bbfe53c04
change-id: 20240816-bcm59054-a880695e41e8
Best regards,
--
Artur Weber <aweber.kernel@gmail.com>
next reply other threads:[~2025-03-16 18:19 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-16 18:18 Artur Weber [this message]
2025-03-16 18:18 ` [PATCH v7 01/10] dt-bindings: mfd: brcm,bcm59056: Convert to YAML Artur Weber
2025-03-16 18:18 ` [PATCH v7 02/10] dt-bindings: mfd: brcm,bcm59056: Add compatible for BCM59054 Artur Weber
2025-03-16 18:18 ` [PATCH v7 03/10] ARM: dts: Drop DTS for BCM59056 PMU Artur Weber
2025-03-16 18:18 ` [PATCH v7 04/10] mfd: bcm590xx: Drop unused "id" member of bcm590xx MFD struct Artur Weber
2025-04-04 15:37 ` (subset) " Lee Jones
2025-03-16 18:18 ` [PATCH v7 05/10] mfd: bcm590xx: Add support for multiple device types + BCM59054 compatible Artur Weber
2025-04-04 15:38 ` Lee Jones
2025-03-16 18:18 ` [PATCH v7 06/10] mfd: bcm590xx: Add PMU ID/revision parsing function Artur Weber
2025-04-01 12:50 ` Lee Jones
2025-03-16 18:18 ` [PATCH v7 07/10] regulator: bcm590xx: Use dev_err_probe for regulator register error Artur Weber
2025-03-16 18:18 ` [PATCH v7 08/10] regulator: bcm590xx: Store regulator descriptions in table Artur Weber
2025-03-16 18:18 ` [PATCH v7 09/10] regulator: bcm590xx: Rename BCM59056-specific data as such Artur Weber
2025-03-16 18:18 ` [PATCH v7 10/10] regulator: bcm590xx: Add support for BCM59054 regulators Artur Weber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250316-bcm59054-v7-0-4281126be1b8@gmail.com \
--to=aweber.kernel@gmail.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=florian.fainelli@broadcom.com \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rjui@broadcom.com \
--cc=robh@kernel.org \
--cc=sbranden@broadcom.com \
--cc=stano.jakubek@gmail.com \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).