Message ID | 20250221-bcm59054-v5-1-065f516a9042@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mfd: bcm590xx: Add support for BCM59054 | expand |
On Fri, Feb 21, 2025 at 09:16:23PM +0100, Artur Weber wrote: > Convert devicetree bindings for the Broadcom BCM59056 PMU MFD from > TXT to YAML format. This patch does not change any functionality; > the bindings remain the same. > > The bindings have been split into two parts: the MFD binding and > a separate binding for the regulator node, to simplify the addition > of other models later (which have different regulators). > > Signed-off-by: Artur Weber <aweber.kernel@gmail.com> > --- > Changes in v5: > - Replace mfd/brcm,bcm59056.yaml with mfd/brcm,bcm590xx.yaml in > regulator binding description > > Changes in v4: > - Made $ref use full schema path > - Cleaned up example > - Dropped regulator name list comment > - Changed description of regulator binding to mention BCM59056 > explicitly > - Changed "Power Management IC" to "Power Management Unit" to match > official Broadcom naming > - Renamed mfd/brcm,bcm59056.yaml to mfd/brcm,bcm590xx.yaml I don't understand why the name became "xx", instead of matching exactly compatible. It wasn't like this when I reviewed it last time and this is really unexpected change. Please follow standard rules: filename must match compatible. Best regards, Krzysztof
On 22.02.2025 10:43, Krzysztof Kozlowski wrote: > On Fri, Feb 21, 2025 at 09:16:23PM +0100, Artur Weber wrote: >> Convert devicetree bindings for the Broadcom BCM59056 PMU MFD from >> TXT to YAML format. This patch does not change any functionality; >> the bindings remain the same. >> >> The bindings have been split into two parts: the MFD binding and >> a separate binding for the regulator node, to simplify the addition >> of other models later (which have different regulators). >> >> Signed-off-by: Artur Weber <aweber.kernel@gmail.com> >> --- >> Changes in v5: >> - Replace mfd/brcm,bcm59056.yaml with mfd/brcm,bcm590xx.yaml in >> regulator binding description >> >> Changes in v4: >> - Made $ref use full schema path >> - Cleaned up example >> - Dropped regulator name list comment >> - Changed description of regulator binding to mention BCM59056 >> explicitly >> - Changed "Power Management IC" to "Power Management Unit" to match >> official Broadcom naming >> - Renamed mfd/brcm,bcm59056.yaml to mfd/brcm,bcm590xx.yaml > > I don't understand why the name became "xx", instead of matching exactly > compatible. It wasn't like this when I reviewed it last time and this is > really unexpected change. > > Please follow standard rules: filename must match compatible. The change was mostly to make it more generic; it felt a bit weird that the BCM59054 regulator binding (added in the next patch) referenced a binding named after BCM59056. But if this is not a problem, and a concrete model number is required (even if it is only one of the supported devices), then I'll switch back to the bcm59056 name. Best regards Artur
diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt deleted file mode 100644 index be51a15e05f926913b3a473648d977b25f1a2fbc..0000000000000000000000000000000000000000 --- a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt +++ /dev/null @@ -1,39 +0,0 @@ -------------------------------- -BCM590xx Power Management Units -------------------------------- - -Required properties: -- compatible: "brcm,bcm59056" -- reg: I2C slave address -- interrupts: interrupt for the PMU. Generic interrupt client node bindings - are described in interrupt-controller/interrupts.txt - ------------------- -Voltage Regulators ------------------- - -Optional child nodes: -- regulators: container node for regulators following the generic - regulator binding in regulator/regulator.txt - - The valid regulator node names for BCM59056 are: - rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo, - mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo, - csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr, - gpldo1, gpldo2, gpldo3, gpldo4, gpldo5, gpldo6, - vbus - -Example: - pmu: bcm59056@8 { - compatible = "brcm,bcm59056"; - reg = <0x08>; - interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>; - regulators { - rfldo_reg: rfldo { - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3300000>; - }; - - ... - }; - }; diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm590xx.yaml b/Documentation/devicetree/bindings/mfd/brcm,bcm590xx.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ec02486978efdc66846b33963f075b79184425fb --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/brcm,bcm590xx.yaml @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/brcm,bcm590xx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Broadcom BCM590xx Power Management Units + +maintainers: + - Artur Weber <aweber.kernel@gmail.com> + +properties: + compatible: + const: brcm,bcm59056 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + regulators: + type: object + $ref: /schemas/regulator/brcm,bcm59056.yaml# + +required: + - compatible + - reg + - interrupts + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/interrupt-controller/irq.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + pmic@8 { + compatible = "brcm,bcm59056"; + reg = <0x08>; + interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>; + + regulators { + rfldo { + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <3300000>; + }; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/regulator/brcm,bcm59056.yaml b/Documentation/devicetree/bindings/regulator/brcm,bcm59056.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9e0cddc0f1116bbf1ec03826ca7758f4311a67c6 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/brcm,bcm59056.yaml @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/brcm,bcm59056.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Broadcom BCM59056 Power Management Unit regulators + +description: | + This is a part of device tree bindings for the BCM59056 power + management unit. + + See Documentation/devicetree/bindings/mfd/brcm,bcm590xx.yaml for + additional information and example. + +maintainers: + - Artur Weber <aweber.kernel@gmail.com> + +patternProperties: + "^(cam|sim|mmc)ldo[1-2]$": + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + + "^(rf|sd|sdx|aud|mic|usb|vib)ldo$": + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + + "^(c|m|v)sr$": + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + + "^(io|sd)sr[1-2]$": + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + + "^gpldo[1-6]$": + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + +properties: + vbus: + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + +additionalProperties: false
Convert devicetree bindings for the Broadcom BCM59056 PMU MFD from TXT to YAML format. This patch does not change any functionality; the bindings remain the same. The bindings have been split into two parts: the MFD binding and a separate binding for the regulator node, to simplify the addition of other models later (which have different regulators). Signed-off-by: Artur Weber <aweber.kernel@gmail.com> --- Changes in v5: - Replace mfd/brcm,bcm59056.yaml with mfd/brcm,bcm590xx.yaml in regulator binding description Changes in v4: - Made $ref use full schema path - Cleaned up example - Dropped regulator name list comment - Changed description of regulator binding to mention BCM59056 explicitly - Changed "Power Management IC" to "Power Management Unit" to match official Broadcom naming - Renamed mfd/brcm,bcm59056.yaml to mfd/brcm,bcm590xx.yaml Changes in v3: - Moved regulator node to separate binding - Removed quotes around compatibles/vbus property - Style fixes for example --- .../devicetree/bindings/mfd/brcm,bcm59056.txt | 39 ---------------- .../devicetree/bindings/mfd/brcm,bcm590xx.yaml | 54 ++++++++++++++++++++++ .../bindings/regulator/brcm,bcm59056.yaml | 51 ++++++++++++++++++++ 3 files changed, 105 insertions(+), 39 deletions(-)