From 0569293685fdfed8633c4b56b15616ac75ea9896 Mon Sep 17 00:00:00 2001 From: Will McGloughlin Date: Sat, 9 Aug 2025 17:56:48 -0500 Subject: [PATCH 1/2] dts: arm: st: stm32u3: Add USB DTS node Add USB DTS node for STM32U3 series SoCs. Signed-off-by: Will McGloughlin --- dts/arm/st/u3/stm32u3.dtsi | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/dts/arm/st/u3/stm32u3.dtsi b/dts/arm/st/u3/stm32u3.dtsi index 9f3407c976dfa..bdd77abe8684d 100644 --- a/dts/arm/st/u3/stm32u3.dtsi +++ b/dts/arm/st/u3/stm32u3.dtsi @@ -412,6 +412,25 @@ STM32_DMA_16BITS)>; status = "disabled"; }; + + usb: usb@40016000 { + compatible = "st,stm32-usb"; + reg = <0x40016000 0x400>; + interrupts = <73 0>; + interrupt-names = "usb"; + num-bidir-endpoints = <8>; + ram-size = <2048>; + maximum-speed = "full-speed"; + clocks = <&rcc STM32_CLOCK(APB2, 24)>, + <&rcc STM32_SRC_HSI48 ICLK_SEL(0)>; + phys = <&usb_fs_phy>; + status = "disabled"; + }; + }; + + usb_fs_phy: usb_fs_phy { + compatible = "usb-nop-xceiv"; + #phy-cells = <0>; }; }; From 8c00a8f4a45d3c462e74d8d14cc78414cc0684e8 Mon Sep 17 00:00:00 2001 From: Will McGloughlin Date: Sat, 9 Aug 2025 17:57:22 -0500 Subject: [PATCH 2/2] boards: st: nucleo_u385rg_q: USB device support Enable USB for the Nucleo U385RG-Q. Samples in samples/subsys/usb compile and operate as expected. Signed-off-by: Will McGloughlin --- boards/st/nucleo_u385rg_q/nucleo_u385rg_q.dts | 10 ++++++++++ boards/st/nucleo_u385rg_q/nucleo_u385rg_q.yaml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/boards/st/nucleo_u385rg_q/nucleo_u385rg_q.dts b/boards/st/nucleo_u385rg_q/nucleo_u385rg_q.dts index ec52ca142e25f..b112697ffd45f 100644 --- a/boards/st/nucleo_u385rg_q/nucleo_u385rg_q.dts +++ b/boards/st/nucleo_u385rg_q/nucleo_u385rg_q.dts @@ -107,6 +107,10 @@ status = "okay"; }; +&clk_hsi48 { + status = "okay"; +}; + &clk_lse { status = "okay"; }; @@ -190,3 +194,9 @@ &wwdg { status = "okay"; }; + +zephyr_udc0: &usb { + pinctrl-0 = <&usb_dm_pa11 &usb_dp_pa12>; + pinctrl-names = "default"; + status = "okay"; +}; diff --git a/boards/st/nucleo_u385rg_q/nucleo_u385rg_q.yaml b/boards/st/nucleo_u385rg_q/nucleo_u385rg_q.yaml index 00c757ff238b6..913d16abbdf64 100644 --- a/boards/st/nucleo_u385rg_q/nucleo_u385rg_q.yaml +++ b/boards/st/nucleo_u385rg_q/nucleo_u385rg_q.yaml @@ -17,6 +17,8 @@ supported: - spi - uart - usart + - usb_device + - usbd - watchdog ram: 256 flash: 1024