Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: i2c: renesas,riic: Document RZ/T2H and RZ/N2H support

Document support for the I2C Bus Interface (RIIC) found on the Renesas
RZ/T2H (R9A09G077) and RZ/N2H (R9A09G087) SoCs.

The RIIC IP on these parts is similar to that on RZ/V2H(P) but supports
only four interrupts (including a combined error/event), lacks FM+ mode,
and does not require reset. Introduce a new compatible string
`renesas,riic-r9a09g077` for RZ/T2H and use it as a fallback for RZ/N2H.

Unlike earlier SoCs that use eight distinct interrupts, the RZ/T2H uses
only four. Update the binding schema to reflect this interrupt layout
and skip the `resets` property check, as it is not required on these SoCs.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20250625104526.101004-3-prabhakar.mahadev-lad.rj@bp.renesas.com

authored by

Lad Prabhakar and committed by
Andi Shyti
13aa792c be221173

+56 -19
+56 -19
Documentation/devicetree/bindings/i2c/renesas,riic.yaml
··· 29 29 - renesas,riic-r9a09g056 # RZ/V2N 30 30 - const: renesas,riic-r9a09g057 # RZ/V2H(P) 31 31 32 - - const: renesas,riic-r9a09g057 # RZ/V2H(P) 32 + - enum: 33 + - renesas,riic-r9a09g057 # RZ/V2H(P) 34 + - renesas,riic-r9a09g077 # RZ/T2H 35 + 36 + - items: 37 + - const: renesas,riic-r9a09g087 # RZ/N2H 38 + - const: renesas,riic-r9a09g077 # RZ/T2H 33 39 34 40 reg: 35 41 maxItems: 1 36 42 37 43 interrupts: 38 - items: 39 - - description: Transmit End Interrupt 40 - - description: Receive Data Full Interrupt 41 - - description: Transmit Data Empty Interrupt 42 - - description: Stop Condition Detection Interrupt 43 - - description: Start Condition Detection Interrupt 44 - - description: NACK Reception Interrupt 45 - - description: Arbitration-Lost Interrupt 46 - - description: Timeout Interrupt 44 + oneOf: 45 + - items: 46 + - description: Transmit End Interrupt 47 + - description: Receive Data Full Interrupt 48 + - description: Transmit Data Empty Interrupt 49 + - description: Stop Condition Detection Interrupt 50 + - description: Start Condition Detection Interrupt 51 + - description: NACK Reception Interrupt 52 + - description: Arbitration-Lost Interrupt 53 + - description: Timeout Interrupt 54 + - items: 55 + - description: Transfer Error Or Event Generation 56 + - description: Receive Data Full Interrupt 57 + - description: Transmit Data Empty Interrupt 58 + - description: Transmit End Interrupt 47 59 48 60 interrupt-names: 49 - items: 50 - - const: tei 51 - - const: ri 52 - - const: ti 53 - - const: spi 54 - - const: sti 55 - - const: naki 56 - - const: ali 57 - - const: tmoi 61 + oneOf: 62 + - items: 63 + - const: tei 64 + - const: ri 65 + - const: ti 66 + - const: spi 67 + - const: sti 68 + - const: naki 69 + - const: ali 70 + - const: tmoi 71 + - items: 72 + - const: eei 73 + - const: rxi 74 + - const: txi 75 + - const: tei 58 76 59 77 clock-frequency: 60 78 description: ··· 101 83 102 84 allOf: 103 85 - $ref: /schemas/i2c/i2c-controller.yaml# 86 + 87 + - if: 88 + properties: 89 + compatible: 90 + contains: 91 + const: renesas,riic-r9a09g077 92 + then: 93 + properties: 94 + interrupts: 95 + maxItems: 4 96 + interrupt-names: 97 + maxItems: 4 98 + resets: false 99 + else: 100 + properties: 101 + interrupts: 102 + minItems: 8 103 + interrupt-names: 104 + minItems: 8 104 105 105 106 - if: 106 107 properties: