On Fri, Sep 25, 2026 at 12:26:28PM +0530, Aniket Limaye wrote: > 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 <[email protected]> > > --- > > Changes in v2: > - Rename snps,dwc-i2c to ti,tda54-i2c > - Link to v1: > https://lore.kernel.org/r/[email protected]/ > --- > .../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.
Why is the compatible not sufficient to get this information from?
Does it vary across controllers on the same device?
> +
> + 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
>
signature.asc
Description: PGP signature
