Add the "baikal,bt1-sys-i2c" compatible string to the DW I2C binding and
make sure the reg property isn't required in this case because the
controller is embedded into the Baikal-T1 System Controller. The rest of
the DW APB I2C properties are compatible and can be freely used to describe
the Baikal-T1 I2C controller dts-node.

Signed-off-by: Serge Semin <[email protected]>
Cc: Alexey Malahov <[email protected]>
Cc: Thomas Bogendoerfer <[email protected]>
Cc: Paul Burton <[email protected]>
Cc: Ralf Baechle <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: Mika Westerberg <[email protected]>
Cc: Wolfram Sang <[email protected]>
Cc: Frank Rowand <[email protected]>
Cc: [email protected]

---

Rob, I had to remove your acked-by tag because of the changes introduced
in v2 of the patch.

Changelog v2:
- Make the reg property being optional if it's Baikal-T1 System I2C DT
  node.
---
 .../devicetree/bindings/i2c/snps,designware-i2c.yaml | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml 
b/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml
index 8d4e5fccbd1c..579964098eb9 100644
--- a/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml
+++ b/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml
@@ -21,6 +21,15 @@ allOf:
       properties:
         reg:
           maxItems: 1
+  - if:
+      properties:
+        compatible:
+          not:
+            contains:
+              const: baikal,bt1-sys-i2c
+    then:
+      required:
+        - reg
 
 properties:
   compatible:
@@ -31,6 +40,8 @@ properties:
         items:
           - const: mscc,ocelot-i2c
           - const: snps,designware-i2c
+      - description: Baikal-T1 SoC System I2C controller
+        const: baikal,bt1-sys-i2c
 
   reg:
     minItems: 1
@@ -98,7 +109,6 @@ unevaluatedProperties: false
 
 required:
   - compatible
-  - reg
   - "#address-cells"
   - "#size-cells"
   - interrupts
-- 
2.25.1

Reply via email to