[PATCH v3 1/3] dt-bindings: i2c: dw: Add ti,tda54-i2c compatible
From: Aniket Limaye
Date: Fri Sep 25 2026 - 03:00:19 EST
Add the "ti,tda54-i2c" compatible for Synopsys Advanced I2C Controller
(DWC_i2c) present on TDA54 SoC. Compared to the existing
"snps,designware-i2c" (DW_apb_i2c), it broadly differs in its register
offsets and some bit fields, requiring changes to interrupt handling,
timing handling, etc.
Unlike DW_apb_i2c, this IP has no COMP_PARAM_1 register to autodetect
the FIFO depth from, so add snps,tx-fifo-depth and
snps,rx-fifo-depth as required properties.
Signed-off-by: Aniket Limaye <a-limaye@xxxxxx>
---
Changes in v2:
- Rename snps,dwc-i2c to ti,tda54-i2c
- Link to v1: https://lore.kernel.org/r/20260919-tda54-upstream-i2c-v1-1-b0b9f77be18b@xxxxxx/
---
.../bindings/i2c/snps,designware-i2c.yaml | 33 ++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml b/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml
index 467bdcbb8538..80a9376d6de7 100644
--- a/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml
+++ b/Documentation/devicetree/bindings/i2c/snps,designware-i2c.yaml
@@ -21,12 +21,23 @@ allOf:
properties:
reg:
maxItems: 1
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: ti,tda54-i2c
+ then:
+ required:
+ - snps,tx-fifo-depth
+ - snps,rx-fifo-depth
properties:
compatible:
oneOf:
- description: Generic Synopsys DesignWare I2C controller
const: snps,designware-i2c
+ - description: TI TDA54 SoC I2C controller (Synopsys DWC_i2c IP)
+ const: ti,tda54-i2c
- description: Renesas RZ/N1D I2C controller
items:
- const: renesas,r9a06g032-i2c # RZ/N1D
@@ -121,6 +132,18 @@ properties:
low period of SCL line.
type: boolean
+ snps,tx-fifo-depth:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ The depth of the hardware TX FIFO. Required on the ti,tda54-i2c
+ variant, where fifo depth cannot be autodetected.
+
+ snps,rx-fifo-depth:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ The depth of the hardware RX FIFO. Required on the ti,tda54-i2c
+ variant, where fifo depth cannot be autodetected.
+
unevaluatedProperties: false
required:
@@ -172,4 +195,14 @@ examples:
interrupts = <8>;
clocks = <&ahb_clk>;
};
+ - |
+ i2c@53b00000 {
+ compatible = "ti,tda54-i2c";
+ reg = <0x53b00000 0x1000>;
+ interrupts = <166>;
+ clocks = <&sysclk>;
+ clock-frequency = <100000>;
+ snps,tx-fifo-depth = <32>;
+ snps,rx-fifo-depth = <32>;
+ };
...
--
2.53.0