* [PATCH v7 0/2] arm64: dts: intel: agilex5: enable USB3.1 on SoCDK
@ 2026-09-11 9:09 adrian.ho.yin.ng
2026-09-11 9:09 ` [PATCH v7 1/2] arm64: dts: intel: agilex5: add USB3.1 controller node adrian.ho.yin.ng
2026-09-11 9:09 ` [PATCH v7 2/2] arm64: dts: intel: agilex5: remove usb0 in Agilex5 SoCDK adrian.ho.yin.ng
0 siblings, 2 replies; 4+ messages in thread
From: adrian.ho.yin.ng @ 2026-09-11 9:09 UTC (permalink / raw)
To: Dinh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
devicetree, linux-kernel
Cc: Adrian Ng Ho Yin
From: Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com>
Add the Agilex5 USB3.1 DWC3 controller node and enable it in host mode on
the SoCDK board. Place the controller under a simple-bus with a 40-bit
dma-ranges window so the DMA/IOMMU stack respects the interconnect address
width when SMMU is enabled.
The SoCDK daughter card only exposes the USB3.1 interface, so the unused
USB0 (DWC2) board enablement is removed in a follow-up patch.
This DTS series is posted separately from the USB bindings/driver series
("[PATCH v7 0/2] usb: dwc3: add Altera Agilex5 DWC3 support"). Depends on
compatible "altr,agilex5-dwc3" from that series:
https://lore.kernel.org/all/cover.1789114385.git.adrian.ho.yin.ng@altera.com/
---
changelog:
v6->v7:
* Split out of the USB series into a standalone DTS posting.
USB v7 series:
https://lore.kernel.org/all/cover.1789114385.git.adrian.ho.yin.ng@altera.com/
Previous combined series (v6):
https://lore.kernel.org/all/cover.1788886615.git.adrian.ho.yin.ng@altera.com/
---
Adrian Ng Ho Yin (2):
arm64: dts: intel: agilex5: add USB3.1 controller node
arm64: dts: intel: agilex5: remove usb0 in Agilex5 SoCDK
.../arm64/boot/dts/intel/socfpga_agilex5.dtsi | 35 +++++++++++++++++++
.../boot/dts/intel/socfpga_agilex5_socdk.dts | 4 +--
2 files changed, 37 insertions(+), 2 deletions(-)
base-commit: bc35965f6940a9bf834d54187b6088b8eb09206d
--
2.49.GIT
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v7 1/2] arm64: dts: intel: agilex5: add USB3.1 controller node 2026-09-11 9:09 [PATCH v7 0/2] arm64: dts: intel: agilex5: enable USB3.1 on SoCDK adrian.ho.yin.ng @ 2026-09-11 9:09 ` adrian.ho.yin.ng 2026-09-11 9:19 ` sashiko-bot 2026-09-11 9:09 ` [PATCH v7 2/2] arm64: dts: intel: agilex5: remove usb0 in Agilex5 SoCDK adrian.ho.yin.ng 1 sibling, 1 reply; 4+ messages in thread From: adrian.ho.yin.ng @ 2026-09-11 9:09 UTC (permalink / raw) To: Dinh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel Cc: Adrian Ng Ho Yin From: Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com> Add a DTS node for the Synopsys DWC3 USB3.1 controller on the Agilex5 SoC. Place it under a simple-bus with a 40-bit dma-ranges window (#address-cells = 2) to match the USB DMA address width of the interconnect. Enable it in host mode on the SoCDK board. ref and suspend both use AGILEX5_USB31_SUSPEND_CLK because they share the same hardware clock source on this SoC. Signed-off-by: Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com> --- .../arm64/boot/dts/intel/socfpga_agilex5.dtsi | 35 +++++++++++++++++++ .../boot/dts/intel/socfpga_agilex5_socdk.dts | 5 +++ 2 files changed, 40 insertions(+) diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi index f54767d1526e..523f722a2a64 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi +++ b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi @@ -493,6 +493,41 @@ usb0: usb@10b00000 { status = "disabled"; }; + usb31_bus: usb-bus@11000000 { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <2>; + ranges = <0x0 0x0 0x11000000 0x0 0x100000>; + /* + * USB interconnect DMA is limited to 40-bit addresses + * (1 TiB window from 0). + */ + dma-ranges = <0x0 0x0 0x0 0x100 0x0>; + + usb31: usb@0 { + compatible = "altr,agilex5-dwc3"; + reg = <0x0 0x0 0x0 0x100000>; + interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; + /* + * ref and suspend share the same hardware + * source; reuse the published suspend clock ID. + */ + clocks = <&clkmgr AGILEX5_USB31_BUS_CLK_EARLY>, + <&clkmgr AGILEX5_USB31_SUSPEND_CLK>, + <&clkmgr AGILEX5_USB31_SUSPEND_CLK>; + clock-names = "bus_early", "ref", "suspend"; + resets = <&rst USB1_RESET>, <&rst USB1_OCP_RESET>; + reset-names = "core", "ecc"; + iommus = <&smmu 7>; + phys = <&usbphy0>, <&usbphy0>; + phy-names = "usb2-phy", "usb3-phy"; + maximum-speed = "super-speed"; + snps,dis_u2_susphy_quirk; + snps,dis_u3_susphy_quirk; + status = "disabled"; + }; + }; + watchdog0: watchdog@10d00200 { compatible = "snps,dw-wdt"; reg = <0x10d00200 0x100>; diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts b/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts index 1e9b87d96765..aa9294494421 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts +++ b/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts @@ -109,6 +109,11 @@ &usb0 { disable-over-current; }; +&usb31 { + dr_mode = "host"; + status = "okay"; +}; + &watchdog0 { status = "okay"; }; -- 2.49.GIT ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v7 1/2] arm64: dts: intel: agilex5: add USB3.1 controller node 2026-09-11 9:09 ` [PATCH v7 1/2] arm64: dts: intel: agilex5: add USB3.1 controller node adrian.ho.yin.ng @ 2026-09-11 9:19 ` sashiko-bot 0 siblings, 0 replies; 4+ messages in thread From: sashiko-bot @ 2026-09-11 9:19 UTC (permalink / raw) To: adrian.ho.yin.ng; +Cc: robh, conor+dt, devicetree Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [High] Missing fallback compatible string prevents the DWC3 controller from probing. - [Medium] Devicetree Topology / Address Space Overflow in DMA ranges mapping. -- commit f5eee55ab58207528984fe03c0204fcdede698dd Author: Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com> Date: Fri Sep 11 09:09:24 2026 +0000 arm64: dts: intel: agilex5: add USB3.1 controller node This commit adds a devicetree node for the Synopsys DWC3 USB3.1 controller on the Agilex5 SoC. It places the controller under a simple-bus with a 40-bit dma-ranges window to match the interconnect's DMA address width. The controller is also enabled in host mode for the SoCDK board. > diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi > index f54767d1526e1..523f722a2a642 100644 > --- a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi > +++ b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi > @@ -493,6 +493,41 @@ usb0: usb@10b00000 { > status = "disabled"; > }; > > + usb31_bus: usb-bus@11000000 { > + compatible = "simple-bus"; > + #address-cells = <2>; > + #size-cells = <2>; > + ranges = <0x0 0x0 0x11000000 0x0 0x100000>; > + /* > + * USB interconnect DMA is limited to 40-bit addresses > + * (1 TiB window from 0). > + */ > + dma-ranges = <0x0 0x0 0x0 0x100 0x0>; [Severity: Medium] Does this dma-ranges mapping structurally overflow the parent bus? This property specifies a 1 TiB window (0x100 0x0) and maps it into the parent bus which only has 32-bit address capacity. Since a 32-bit bus can mathematically only address up to 4 GB, could this cause DMA configuration failures or silent truncations depending on how the OF core parses the tree? > + > + usb31: usb@0 { > + compatible = "altr,agilex5-dwc3"; [Severity: High] Will the USB subsystem fail to bind to this device without a generic fallback? This node specifies a SoC-specific compatible string but does not include a generic fallback string like "snps,dwc3". Because there is no matching driver in the kernel for "altr,agilex5-dwc3", won't the DWC3 core driver silently ignore this node and leave the controller unprobed? [ ... ] -- Sashiko AI review · https://sashiko.dev/#/patchset/cover.1789114403.git.adrian.ho.yin.ng@altera.com?part=1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v7 2/2] arm64: dts: intel: agilex5: remove usb0 in Agilex5 SoCDK 2026-09-11 9:09 [PATCH v7 0/2] arm64: dts: intel: agilex5: enable USB3.1 on SoCDK adrian.ho.yin.ng 2026-09-11 9:09 ` [PATCH v7 1/2] arm64: dts: intel: agilex5: add USB3.1 controller node adrian.ho.yin.ng @ 2026-09-11 9:09 ` adrian.ho.yin.ng 1 sibling, 0 replies; 4+ messages in thread From: adrian.ho.yin.ng @ 2026-09-11 9:09 UTC (permalink / raw) To: Dinh Nguyen, Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel Cc: Adrian Ng Ho Yin From: Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com> The Agilex5 SoCDK daughter card only provides a USB3.1 interface (USB1). USB0 is not connected or used on this board. Remove the USB0 node to avoid unnecessary initialization and potential resource conflicts. Signed-off-by: Adrian Ng Ho Yin <adrian.ho.yin.ng@altera.com> --- arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts b/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts index aa9294494421..c48867cc3043 100644 --- a/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts +++ b/arch/arm64/boot/dts/intel/socfpga_agilex5_socdk.dts @@ -104,11 +104,6 @@ &uart0 { status = "okay"; }; -&usb0 { - status = "okay"; - disable-over-current; -}; - &usb31 { dr_mode = "host"; status = "okay"; -- 2.49.GIT ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-09-11 9:19 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-09-11 9:09 [PATCH v7 0/2] arm64: dts: intel: agilex5: enable USB3.1 on SoCDK adrian.ho.yin.ng 2026-09-11 9:09 ` [PATCH v7 1/2] arm64: dts: intel: agilex5: add USB3.1 controller node adrian.ho.yin.ng 2026-09-11 9:19 ` sashiko-bot 2026-09-11 9:09 ` [PATCH v7 2/2] arm64: dts: intel: agilex5: remove usb0 in Agilex5 SoCDK adrian.ho.yin.ng
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox