Message ID | 20250215-bcm59054-v4-2-dbfb2d76a855@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mfd: bcm590xx: Add support for BCM59054 | expand |
On Sat, 15 Feb 2025 10:39:37 +0100, Artur Weber wrote: > The BCM59054 MFD is fairly similar to the BCM59056, and will use > the same driver. Add compatible and specify the allowed regulator > nodes. > > Signed-off-by: Artur Weber <aweber.kernel@gmail.com> > --- > Changes in v4: > - Fix yamllint errors (missing unevaluatedProperties) > - Drop comment with regulator name list > - Use full schema paths for $reg > - Change description of regulator binding to mention BCM59054 > explicitly > - Drop quotes around vbus reg name > - Change "Power Management IC" to "Power Management Unit" to match > official Broadcom naming > > 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/ > > Changes in v3: > - Split regulator node into separate file > - Removed quotes around compatible > --- > .../devicetree/bindings/mfd/brcm,bcm590xx.yaml | 26 +++++++++- > .../bindings/regulator/brcm,bcm59054.yaml | 56 ++++++++++++++++++++++ > 2 files changed, 80 insertions(+), 2 deletions(-) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: doc reference errors (make refcheckdocs): Warning: Documentation/devicetree/bindings/regulator/brcm,bcm59054.yaml references a file that doesn't exist: Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml Documentation/devicetree/bindings/regulator/brcm,bcm59054.yaml: Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250215-bcm59054-v4-2-dbfb2d76a855@gmail.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm590xx.yaml b/Documentation/devicetree/bindings/mfd/brcm,bcm590xx.yaml index ec02486978efdc66846b33963f075b79184425fb..d9977091e9da2055c7ee1187210aa03844385971 100644 --- a/Documentation/devicetree/bindings/mfd/brcm,bcm590xx.yaml +++ b/Documentation/devicetree/bindings/mfd/brcm,bcm590xx.yaml @@ -11,7 +11,9 @@ maintainers: properties: compatible: - const: brcm,bcm59056 + enum: + - brcm,bcm59054 + - brcm,bcm59056 reg: maxItems: 1 @@ -21,7 +23,6 @@ properties: regulators: type: object - $ref: /schemas/regulator/brcm,bcm59056.yaml# required: - compatible @@ -30,6 +31,27 @@ required: additionalProperties: false +allOf: + - if: + properties: + compatible: + contains: + const: brcm,bcm59054 + then: + properties: + regulators: + $ref: /schemas/regulator/brcm,bcm59054.yaml# + + - if: + properties: + compatible: + contains: + const: brcm,bcm59056 + then: + properties: + regulators: + $ref: /schemas/regulator/brcm,bcm59056.yaml# + examples: - | #include <dt-bindings/interrupt-controller/arm-gic.h> diff --git a/Documentation/devicetree/bindings/regulator/brcm,bcm59054.yaml b/Documentation/devicetree/bindings/regulator/brcm,bcm59054.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5b46d7fca05e21aa1eae991b5f9f60b444f20c1c --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/brcm,bcm59054.yaml @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/brcm,bcm59054.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Broadcom BCM59054 Power Management Unit regulators + +description: | + This is a part of device tree bindings for the BCM59054 power + management unit. + + See Documentation/devicetree/bindings/mfd/brcm,bcm59056.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|tcx)ldo$": + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + + "^(c|mm|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-3]$": + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + + "^lvldo[1-2]$": + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + +properties: + vbus: + type: object + $ref: /schemas/regulator/regulator.yaml# + unevaluatedProperties: false + +additionalProperties: false
The BCM59054 MFD is fairly similar to the BCM59056, and will use the same driver. Add compatible and specify the allowed regulator nodes. Signed-off-by: Artur Weber <aweber.kernel@gmail.com> --- Changes in v4: - Fix yamllint errors (missing unevaluatedProperties) - Drop comment with regulator name list - Use full schema paths for $reg - Change description of regulator binding to mention BCM59054 explicitly - Drop quotes around vbus reg name - Change "Power Management IC" to "Power Management Unit" to match official Broadcom naming 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/ Changes in v3: - Split regulator node into separate file - Removed quotes around compatible --- .../devicetree/bindings/mfd/brcm,bcm590xx.yaml | 26 +++++++++- .../bindings/regulator/brcm,bcm59054.yaml | 56 ++++++++++++++++++++++ 2 files changed, 80 insertions(+), 2 deletions(-)