* [PATCH 1/2] dt-bindings: usb: renesas,usbhs: Add RZ/T2H and RZ/N2H support
2025-08-05 11:47 [PATCH 0/2] Add USBHS support for RZ/T2H and RZ/N2H SoCs Prabhakar
@ 2025-08-05 11:47 ` Prabhakar
2025-08-05 17:10 ` Conor Dooley
2025-08-05 11:47 ` [PATCH 2/2] usb: renesas_usbhs: Add support for RZ/T2H SoC Prabhakar
1 sibling, 1 reply; 4+ messages in thread
From: Prabhakar @ 2025-08-05 11:47 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, Magnus Damm, Yoshihiro Shimoda
Cc: linux-usb, devicetree, linux-kernel, linux-renesas-soc, Prabhakar,
Biju Das, Fabrizio Castro, Lad Prabhakar
From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Document the USBHS controller for the Renesas RZ/T2H (r9a09g077) and
RZ/N2H (r9a09g087) SoCs. While the USBHS block is similar to the one found
on the RZ/G2L SoC, it differs slightly in terms of interrupt configuration,
clock/reset requirements, and register bit definitions. Due to these
differences, a new compatible string `renesas,usbhs-r9a09g077` is
introduced for the RZ/T2H SoC.
The USBHS controller on the RZ/N2H (r9a09g087) SoC is identical to that on
the RZ/T2H, so it uses the `renesas,usbhs-r9a09g077` compatible string as
a fallback.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
.../bindings/usb/renesas,usbhs.yaml | 28 +++++++++++++++++--
1 file changed, 25 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/renesas,usbhs.yaml b/Documentation/devicetree/bindings/usb/renesas,usbhs.yaml
index a19816bbb1fd..0b8b90dd1951 100644
--- a/Documentation/devicetree/bindings/usb/renesas,usbhs.yaml
+++ b/Documentation/devicetree/bindings/usb/renesas,usbhs.yaml
@@ -59,6 +59,12 @@ properties:
- renesas,usbhs-r8a77995 # R-Car D3
- const: renesas,rcar-gen3-usbhs
+ - const: renesas,usbhs-r9a09g077 # RZ/T2H
+
+ - items:
+ - const: renesas,usbhs-r9a09g087 # RZ/N2H
+ - const: renesas,usbhs-r9a09g077 # RZ/T2H
+
reg:
maxItems: 1
@@ -141,9 +147,25 @@ allOf:
required:
- resets
else:
- properties:
- interrupts:
- maxItems: 1
+ if:
+ properties:
+ compatible:
+ contains:
+ const: renesas,usbhs-r9a09g077
+ then:
+ properties:
+ resets: false
+ clocks:
+ maxItems: 1
+ interrupts:
+ items:
+ - description: USB function interrupt USB_FI
+ - description: USB function DMA0 transmit completion interrupt USB_FDMA0
+ - description: USB function DMA1 transmit completion interrupt USB_FDMA1
+ else:
+ properties:
+ interrupts:
+ maxItems: 1
additionalProperties: false
--
2.50.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 2/2] usb: renesas_usbhs: Add support for RZ/T2H SoC
2025-08-05 11:47 [PATCH 0/2] Add USBHS support for RZ/T2H and RZ/N2H SoCs Prabhakar
2025-08-05 11:47 ` [PATCH 1/2] dt-bindings: usb: renesas,usbhs: Add RZ/T2H and RZ/N2H support Prabhakar
@ 2025-08-05 11:47 ` Prabhakar
1 sibling, 0 replies; 4+ messages in thread
From: Prabhakar @ 2025-08-05 11:47 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, Magnus Damm, Yoshihiro Shimoda
Cc: linux-usb, devicetree, linux-kernel, linux-renesas-soc, Prabhakar,
Biju Das, Fabrizio Castro, Lad Prabhakar
From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Add support for the Renesas RZ/T2H (r9a09g077) SoC by adding a compatible
string to the usbhs_of_match table. The USBHS controller on the RZ/T2H is
functionally similar to the one found on the RZ/G2L. While there are minor
differences in register fields (for example, the AWAIT[8:13] bits in
SYSCFG1 register), the current driver does not configure these, allowing
reuse of the existing usbhs_rzg2l_plat_info for the RZ/T2H.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
drivers/usb/renesas_usbhs/common.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c
index 18a6ef4dce51..8f536f2c500f 100644
--- a/drivers/usb/renesas_usbhs/common.c
+++ b/drivers/usb/renesas_usbhs/common.c
@@ -579,6 +579,10 @@ static const struct of_device_id usbhs_of_match[] = {
.compatible = "renesas,usbhs-r9a07g054",
.data = &usbhs_rzg2l_plat_info,
},
+ {
+ .compatible = "renesas,usbhs-r9a09g077",
+ .data = &usbhs_rzg2l_plat_info,
+ },
{
.compatible = "renesas,rcar-gen2-usbhs",
.data = &usbhs_rcar_gen2_plat_info,
--
2.50.1
^ permalink raw reply related [flat|nested] 4+ messages in thread