[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250916150255.4231-1-biju.das.jz@bp.renesas.com>
Date: Tue, 16 Sep 2025 16:02:36 +0100
From: Biju <biju.das.au@...il.com>
To: Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Vinod Koul <vkoul@...nel.org>,
Kishon Vijay Abraham I <kishon@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Mathias Nyman <mathias.nyman@...el.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Magnus Damm <magnus.damm@...il.com>
Cc: Biju Das <biju.das.jz@...renesas.com>,
linux-clk@...r.kernel.org,
linux-phy@...ts.infradead.org,
linux-usb@...r.kernel.org,
devicetree@...r.kernel.org,
Wesley Cheng <quic_wcheng@...cinc.com>,
linux-kernel@...r.kernel.org,
linux-renesas-soc@...r.kernel.org,
Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@...renesas.com>,
Biju Das <biju.das.au@...il.com>
Subject: [PATCH v3 0/9] Add RZ/G3E USB3.2 Gen1 Host Controller support
From: Biju Das <biju.das.jz@...renesas.com>
Add RZ/G3E USB3.2 Gen1 Host Controller and PHY support. The USB3HOST
is compliant with the Universal Serial Bus 3.2 Specification Revision 1.0.
- Supports 1 downstream USB receptacles
- Number of SSP Gen2 or SS ports: 1
- Number of HS or FS or LS ports: 1
- Supports Super Speed Plus Gen2x1 (10 Gbps), Super Speed (5 Gbps),
High Speed (480 Mbps), Full Speed (12Mbps), and Low Speed (1.5 Mbps).
- Supports all transfer-types: Control, Bulk, Interrupt, Isochronous, and
these split-transactions.
- Supports Power Control and Over Current Detection.
Merge strategy:
Patch #1-#2: PHY subsystem
Patch #3-#6: USB subsystem
Patch #7-#9: SoC/DT subsystem
v2->v3:
* Dropped clock patches #1 and #2 from this series as it is accepted.
* Replaced devm_reset_control_get_{shared}->{shared_deasserted} in phy
driver
* Dropped remove() callback from phy driver
* Added Rb tag from Rob for USB3 host binding patch
v1->v2:
* Collected tags.
* Replaced usb30->usb3_0 for clocks and resets.
* Replaced magic numbers with macros iphy driver.
* Added ref to usb-xhci.yaml in USB3 binding patch.
Logs:
root@...rc-rzg3e:~# cat /proc/interrupts | grep SLEEP
131: 0 0 0 0 rzv2h-icu 0 Edge SLEEP
root@...rc-rzg3e:~# [ 29.148305] PM: suspend entry (deep)
[ 29.152121] Filesystems sync: 0.000 seconds
[ 29.157698] Freezing user space processes
[ 29.163594] Freezing user space processes completed (elapsed 0.001 seconds)
[ 29.170591] OOM killer disabled.
[ 29.173827] Freezing remaining freezable tasks
[ 29.179559] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[ 29.186946] printk: Suspending console(s) (use no_console_suspend to debug)
NOTICE: BL2: v2.10.5(release):2.10.5/rz_soc_dev-169-g1410189b0
NOTICE: BL2: Built : 12:53:12, Jul 15 2025
NOTICE: BL2: SYS_LSI_MODE: 0x13e06
NOTICE: BL2: SYS_LSI_DEVID: 0x8679447
NOTICE: BL2: SYS_LSI_PRR: 0x0
NOTICE: BL2: Booting BL31
[ 29.219734] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 29.286013] renesas-gbeth 15c30000.ethernet end0: Link is Down
[ 29.299538] Disabling non-boot CPUs ...
[ 29.303577] psci: CPU3 killed (polled 4 ms)
[ 29.311334] psci: CPU2 killed (polled 0 ms)
[ 29.318406] psci: CPU1 killed (polled 0 ms)
[ 29.323605] Enabling non-boot CPUs ...
[ 29.323818] Detected VIPT I-cache on CPU1
[ 29.323865] GICv3: CPU1: found redistributor 100 region 0:0x0000000014960000
[ 29.323903] CPU1: Booted secondary processor 0x0000000100 [0x412fd050]
[ 29.324761] CPU1 is up
[ 29.324861] Detected VIPT I-cache on CPU2
[ 29.324883] GICv3: CPU2: found redistributor 200 region 0:0x0000000014980000
[ 29.324904] CPU2: Booted secondary processor 0x0000000200 [0x412fd050]
[ 29.325495] CPU2 is up
[ 29.325597] Detected VIPT I-cache on CPU3
[ 29.325620] GICv3: CPU3: found redistributor 300 region 0:0x00000000149a0000
[ 29.325641] CPU3: Booted secondary processor 0x0000000300 [0x412fd050]
[ 29.326324] CPU3 is up
[ 29.351355] dwmac4: Master AXI performs any burst length
[ 29.352252] renesas-gbeth 15c30000.ethernet end0: No Safety Features support found
[ 29.354015] renesas-gbeth 15c30000.ethernet end0: IEEE 1588-2008 Advanced Timestamp supported
[ 29.355802] renesas-gbeth 15c30000.ethernet end0: configuring for phy/rgmii-id link mode
[ 29.373186] dwmac4: Master AXI performs any burst length
[ 29.374076] renesas-gbeth 15c40000.ethernet end1: No Safety Features support found
[ 29.375796] renesas-gbeth 15c40000.ethernet end1: IEEE 1588-2008 Advanced Timestamp supported
[ 29.377581] renesas-gbeth 15c40000.ethernet end1: configuring for phy/rgmii-id link mode
[ 29.424034] usb usb1: root hub lost power or was reset
[ 29.424043] usb usb2: root hub lost power or was reset
[ 31.583523] usb 2-1: reset SuperSpeed Plus Gen 2x1 USB device number 2 using xhci-renesas-hcd
[ 31.770398] OOM killer enabled.
[ 31.773535] Restarting tasks: Starting
[ 31.778136] Restarting tasks: Done
[ 31.781617] random: crng reseeded on system resumption
[ 31.786887] PM: suspend exit
root@...rc-rzg3e:~# [ 32.135468] renesas-gbeth 15c30000.ethernet end0: Link is Up - 1Gbps/Full - flow control rx/tx
root@...rc-rzg3e:~# cat /proc/interrupts | grep SLEEP
131: 1 0 0 0 rzv2h-icu 0 Edge SLEEP
root@...rc-rzg3e:~#
root@...rc-rzg3e:~# cd /cip-test-scripts/py/
root@...rc-rzg3e:/cip-test-scripts/py# ./run_pytests.sh tests/test_xhci.py -k test_xhci_005
INFO root:spl2_test_helpers.py:2261 DD performance with bs=32M count=32 is
Write= 401 MB/s
Read= 605 MB/s
INFO root:spl2_test_helpers.py:2301 fio performance with bs=32m for Sequential and bs=4m for random access are
INFO root:spl2_test_helpers.py:2306 b' READ: bw=617MiB/s (647MB/s), 617MiB/s-617MiB/s (647MB/s-647MB/s), io=5024MiB (5268MB), run=8146-8146msec'
INFO root:spl2_test_helpers.py:2306 b' WRITE: bw=575MiB/s (603MB/s), 575MiB/s-575MiB/s (603MB/s-603MB/s), io=5024MiB (5268MB), run=8743-8743msec'
INFO root:spl2_test_helpers.py:2306 b' READ: bw=583MiB/s (612MB/s), 583MiB/s-583MiB/s (612MB/s-612MB/s), io=5000MiB (5243MB), run=8572-8572msec'
INFO root:spl2_test_helpers.py:2306 b' WRITE: bw=525MiB/s (550MB/s), 525MiB/s-525MiB/s (550MB/s-550MB/s), io=5000MiB (5243MB), run=9528-9528msec'
Biju Das (9):
dt-bindings: phy: renesas: Document Renesas RZ/G3E USB3.0 PHY
phy: renesas: Add Renesas RZ/G3E USB3.0 PHY driver
dt-bindings: usb: Document Renesas RZ/G3E USB3HOST
usb: host: xhci-rcar: Move R-Car reg definitions
usb: host: xhci-plat: Add .post_resume_quirk for struct xhci_plat_priv
usb: host: xhci-rcar: Add Renesas RZ/G3E USB3 Host driver support
arm64: dts: renesas: r9a09g047: Add USB3 PHY/Host nodes
arm64: dts: renesas: r9a09g047e57-smarc: Enable USB3HOST
arm64: defconfig: Enable RZ/G3E USB3 PHY driver
.../bindings/phy/renesas,rzg3e-usb3-phy.yaml | 63 +++++
.../bindings/usb/renesas,rzg3e-xhci.yaml | 87 ++++++
arch/arm64/boot/dts/renesas/r9a09g047.dtsi | 30 ++
.../boot/dts/renesas/r9a09g047e57-smarc.dts | 10 +
.../boot/dts/renesas/renesas-smarc2.dtsi | 8 +
arch/arm64/configs/defconfig | 1 +
drivers/phy/renesas/Kconfig | 7 +
drivers/phy/renesas/Makefile | 1 +
drivers/phy/renesas/phy-rzg3e-usb3.c | 259 ++++++++++++++++++
drivers/usb/host/Kconfig | 2 +-
drivers/usb/host/xhci-plat.c | 14 +
drivers/usb/host/xhci-plat.h | 1 +
drivers/usb/host/xhci-rcar-regs.h | 49 ++++
drivers/usb/host/xhci-rcar.c | 100 ++++---
drivers/usb/host/xhci-rzg3e-regs.h | 12 +
15 files changed, 599 insertions(+), 45 deletions(-)
create mode 100644 Documentation/devicetree/bindings/phy/renesas,rzg3e-usb3-phy.yaml
create mode 100644 Documentation/devicetree/bindings/usb/renesas,rzg3e-xhci.yaml
create mode 100644 drivers/phy/renesas/phy-rzg3e-usb3.c
create mode 100644 drivers/usb/host/xhci-rcar-regs.h
create mode 100644 drivers/usb/host/xhci-rzg3e-regs.h
--
2.43.0
Powered by blists - more mailing lists