Thread (19 messages) 19 messages, 5 authors, 2025-02-10

Re: [PATCH v3 2/7] dt-bindings: mfd: brcm,bcm59056: Add compatible for BCM59054

From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2025-02-02 13:24:26
Also in: linux-devicetree, lkml

On Fri, Jan 31, 2025 at 07:13:50PM +0100, Artur Weber wrote:
quoted hunk ↗ jump to hunk
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 v3:
- Split regulator node into separate file
- Removed quotes around compatible
---
 .../devicetree/bindings/mfd/brcm,bcm59056.yaml     | 26 +++++++++-
 .../bindings/regulator/brcm,bcm59054.yaml          | 55 ++++++++++++++++++++++
 2 files changed, 79 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
index 3296799eb452fca2a4b03699fcb5aa27005a8e8d..87d663416ed9e7f5ec4aa25c1aa2d9e650c42e2c 100644
--- a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
+++ b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
@@ -11,7 +11,9 @@ maintainers:
 
 properties:
   compatible:
-    const: brcm,bcm59056
+    enum:
+      - brcm,bcm59054
+      - brcm,bcm59056
 
   reg:
     maxItems: 1
@@ -22,7 +24,6 @@ properties:
   regulators:
     type: object
     description: Container node for regulators.
-    $ref: ../regulator/brcm,bcm59056.yaml
Refs should rather stay here, so I don't think keeping these devices in
one binding makes it simpler.

Simpler - drop ref and add properties compatible with enum for your
regulator compatibles.

...
+$id: http://devicetree.org/schemas/regulator/brcm,bcm59054.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom BCM59054 Power Management IC regulators
+
+description: |
+  This is a part of device tree bindings for the BCM590XX family of power
+  management ICs.
+
+  See also Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml for
+  additional information and example.
+
+maintainers:
+  - Artur Weber [off-list ref]
+
+# The valid regulator node names for BCM59054 are:
+#   rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
+#   mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
+#   csr, iosr1, iosr2, mmsr, sdsr1, sdsr2, vsr,
+#   gpldo1, gpldo2, gpldo3, tcxldo, lvldo1, lvldo2
+
+patternProperties:
+  "^(cam|sim|mmc)ldo[1-2]$":
+    type: object
Missin unevaluatedProperties everywhere. Look how other bindings do it.
+    $ref: /schemas/regulator/regulator.yaml#
+
+  "^(rf|sd|sdx|aud|mic|usb|vib|tcx)ldo$":
+    type: object
+    $ref: /schemas/regulator/regulator.yaml#
+
+  "^(c|mm|v)sr$":
+    type: object
+    $ref: /schemas/regulator/regulator.yaml#
+
+  "^(io|sd)sr[1-2]$":
+    type: object
+    $ref: /schemas/regulator/regulator.yaml#
+
+  "^gpldo[1-3]$":
+    type: object
+    $ref: /schemas/regulator/regulator.yaml#
+
+  "^lvldo[1-2]$":
+    type: object
+    $ref: /schemas/regulator/regulator.yaml#
+
+properties:
+  "vbus":
No quotes.

Best regards,
Krzysztof

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help