dt-bindings: rtc: abx80x: Improve checks on trickle charger constraints
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Tue, 5 Mar 2024 08:09:44 +0000 (10:09 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Fri, 8 Mar 2024 11:03:18 +0000 (12:03 +0100)
The abracon,tc-diode and abracon,tc-resistor DT properties are only
valid for the ABx0804 and ABx0805. Furthermore, they must both be
present, or neither of them must be specified. Add rules to check this.

The generic abracon,abx08x compatible string doesn't indicate which chip
variant is used, but performs auto-detection at runtime. It must this
also allow the two above properties.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20240305080944.17991-1-laurent.pinchart@ideasonboard.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Documentation/devicetree/bindings/rtc/abracon,abx80x.yaml

index 58dbbca27deb89831b461a29466283b9e38f433b..355b0598411a62d1ede58966cb364eb64ee08464 100644 (file)
@@ -9,9 +9,6 @@ title: Abracon ABX80X I2C ultra low power RTC/Alarm chip
 maintainers:
   - linux-rtc@vger.kernel.org
 
-allOf:
-  - $ref: rtc.yaml#
-
 properties:
   compatible:
     description:
@@ -55,10 +52,32 @@ properties:
     $ref: /schemas/types.yaml#/definitions/uint32
     enum: [0, 3, 6, 11]
 
+dependentRequired:
+  abracon,tc-diode: ["abracon,tc-resistor"]
+  abracon,tc-resistor: ["abracon,tc-diode"]
+
 required:
   - compatible
   - reg
 
+allOf:
+  - $ref: rtc.yaml#
+  - if:
+      properties:
+        compatible:
+          not:
+            contains:
+              enum:
+                - abracon,abx80x
+                - abracon,ab0804
+                - abracon,ab1804
+                - abracon,ab0805
+                - abracon,ab1805
+    then:
+      properties:
+        abracon,tc-diode: false
+        abracon,tc-resistor: false
+
 unevaluatedProperties: false
 
 examples: