Message ID | 20250215-bcm59054-v4-0-dbfb2d76a855@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | mfd: bcm590xx: Add support for BCM59054 | expand |
On Sat, 15 Feb 2025 10:39:35 +0100, 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. > > 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 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 (9): > 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: 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,bcm590xx.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 | 86 +- > drivers/regulator/bcm590xx-regulator.c | 1294 ++++++++++++++++---- > include/linux/mfd/bcm590xx.h | 22 + > 9 files changed, 1377 insertions(+), 406 deletions(-) > --- > base-commit: 0c3836482481200ead7b416ca80c68a29cfdaabd > change-id: 20240816-bcm59054-a880695e41e8 > > Best regards, > -- > Artur Weber <aweber.kernel@gmail.com> > > > My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade New warnings running 'make CHECK_DTBS=y for arch/arm/boot/dts/broadcom/' for 20250215-bcm59054-v4-0-dbfb2d76a855@gmail.com: arch/arm/boot/dts/broadcom/bcm53340-ubnt-unifi-switch8.dtb: mpcore@19000000: $nodename:0: 'mpcore@19000000' does not match '^([a-z][a-z0-9\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$' from schema $id: http://devicetree.org/schemas/simple-bus.yaml#
On 19.02.2025 01:42, Rob Herring (Arm) wrote: > > On Sat, 15 Feb 2025 10:39:35 +0100, 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. >> >> 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 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 (9): >> 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: 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,bcm590xx.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 | 86 +- >> drivers/regulator/bcm590xx-regulator.c | 1294 ++++++++++++++++---- >> include/linux/mfd/bcm590xx.h | 22 + >> 9 files changed, 1377 insertions(+), 406 deletions(-) >> --- >> base-commit: 0c3836482481200ead7b416ca80c68a29cfdaabd >> change-id: 20240816-bcm59054-a880695e41e8 >> >> Best regards, >> -- >> Artur Weber <aweber.kernel@gmail.com> >> >> >> > > > My bot found new DTB warnings on the .dts files added or changed in this > series. > > Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings > are fixed by another series. Ultimately, it is up to the platform > maintainer whether these warnings are acceptable or not. No need to reply > unless the platform maintainer has comments. > > If you already ran DT checks and didn't see these error(s), then > make sure dt-schema is up to date: > > pip3 install dtschema --upgrade > > > New warnings running 'make CHECK_DTBS=y for arch/arm/boot/dts/broadcom/' for 20250215-bcm59054-v4-0-dbfb2d76a855@gmail.com: > > arch/arm/boot/dts/broadcom/bcm53340-ubnt-unifi-switch8.dtb: mpcore@19000000: $nodename:0: 'mpcore@19000000' does not match '^([a-z][a-z0-9\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$' > from schema $id: http://devicetree.org/schemas/simple-bus.yaml# > Looks like a false-positive; this patchset does not modify this DTS at all. Best regards Artur
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 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 (9): 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: 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,bcm590xx.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 | 86 +- drivers/regulator/bcm590xx-regulator.c | 1294 ++++++++++++++++---- include/linux/mfd/bcm590xx.h | 22 + 9 files changed, 1377 insertions(+), 406 deletions(-) --- base-commit: 0c3836482481200ead7b416ca80c68a29cfdaabd change-id: 20240816-bcm59054-a880695e41e8 Best regards,