diff --git a/boards/renesas/ek_ra8p1/ek_ra8p1-pinctrl.dtsi b/boards/renesas/ek_ra8p1/ek_ra8p1-pinctrl.dtsi index 1b91a51548c58..e4c6382165d2e 100644 --- a/boards/renesas/ek_ra8p1/ek_ra8p1-pinctrl.dtsi +++ b/boards/renesas/ek_ra8p1/ek_ra8p1-pinctrl.dtsi @@ -71,6 +71,22 @@ }; }; + usbhs_default: usbhs_default { + group1 { + psels = ; /* VBUS */ + drive-strength = "high"; + }; + }; + + usbfs_default: usbfs_default { + group1 { + psels = , /* USB_DM */ + , /* USB_DP */ + ; /* VBUS */ + drive-strength = "high"; + }; + }; + sdram_default: sdram_default { group1 { psels = , /* SDRAM_A2 */ diff --git a/boards/renesas/ek_ra8p1/ek_ra8p1.dtsi b/boards/renesas/ek_ra8p1/ek_ra8p1.dtsi index b0f69c3a61f5a..1bff19be24362 100644 --- a/boards/renesas/ek_ra8p1/ek_ra8p1.dtsi +++ b/boards/renesas/ek_ra8p1/ek_ra8p1.dtsi @@ -190,6 +190,22 @@ status = "okay"; }; +&usbfs { + pinctrl-0 = <&usbfs_default>; + pinctrl-names = "default"; + maximum-speed = "full-speed"; +}; + +&usbhs { + pinctrl-0 = <&usbhs_default>; + pinctrl-names = "default"; + maximum-speed = "high-speed"; +}; + +&usbhs_phy { + phys-clock-src = "xtal"; +}; + &sdram { pinctrl-0 = <&sdram_default>; pinctrl-names = "default"; diff --git a/boards/renesas/ek_ra8p1/ek_ra8p1_r7ka8p1kflcac_cm85.dts b/boards/renesas/ek_ra8p1/ek_ra8p1_r7ka8p1kflcac_cm85.dts index bb9d0e890f30a..c94e4d69c07a7 100644 --- a/boards/renesas/ek_ra8p1/ek_ra8p1_r7ka8p1kflcac_cm85.dts +++ b/boards/renesas/ek_ra8p1/ek_ra8p1_r7ka8p1kflcac_cm85.dts @@ -108,3 +108,14 @@ zephyr_lcdif: &lcdif {}; pmod_sd_shield: &sdhc0 {}; + +&usbhs { + pinctrl-0 = <&usbhs_default>; + interrupts = <20 12>; + interrupt-names = "usbhs-ir"; + status = "okay"; + + zephyr_udc0: udc { + status = "okay"; + }; +}; diff --git a/boards/renesas/mck_ra8t2/mck_ra8t2-pinctrl.dtsi b/boards/renesas/mck_ra8t2/mck_ra8t2-pinctrl.dtsi index ff1e2d614753b..835c5809557e2 100644 --- a/boards/renesas/mck_ra8t2/mck_ra8t2-pinctrl.dtsi +++ b/boards/renesas/mck_ra8t2/mck_ra8t2-pinctrl.dtsi @@ -40,6 +40,15 @@ }; }; + usbfs_default: usbfs_default { + group1 { + psels = , /* USB_DM */ + , /* USB_DP */ + ; /* VBUS */ + drive-strength = "high"; + }; + }; + sdhc0_default: sdhc0_default { group1 { psels = , /* SDCD */ diff --git a/boards/renesas/mck_ra8t2/mck_ra8t2.dtsi b/boards/renesas/mck_ra8t2/mck_ra8t2.dtsi index 5b2e2c794aedf..6ec3b157f3b03 100644 --- a/boards/renesas/mck_ra8t2/mck_ra8t2.dtsi +++ b/boards/renesas/mck_ra8t2/mck_ra8t2.dtsi @@ -88,6 +88,10 @@ }; }; +&uclk { + status = "okay"; +}; + &flash { flash0: flash@2000000 { compatible = "soc-nv-flash"; @@ -118,3 +122,9 @@ &ioportb { status = "okay"; }; + +&usbfs { + pinctrl-0 = <&usbfs_default>; + pinctrl-names = "default"; + maximum-speed = "full-speed"; +}; diff --git a/boards/renesas/mck_ra8t2/mck_ra8t2_r7ka8t2lfecac_cm85.dts b/boards/renesas/mck_ra8t2/mck_ra8t2_r7ka8t2lfecac_cm85.dts index 89f4e47c4934a..a93c1a7012921 100644 --- a/boards/renesas/mck_ra8t2/mck_ra8t2_r7ka8t2lfecac_cm85.dts +++ b/boards/renesas/mck_ra8t2/mck_ra8t2_r7ka8t2lfecac_cm85.dts @@ -91,3 +91,14 @@ status = "okay"; }; }; + +&usbfs { + pinctrl-0 = <&usbfs_default>; + interrupts = <16 12>, <17 12>; + interrupt-names = "usbfs-i", "usbfs-r"; + status = "okay"; + + zephyr_udc0: udc { + status = "okay"; + }; +}; diff --git a/dts/arm/renesas/ra/ra8/r7ka8t2xf.dtsi b/dts/arm/renesas/ra/ra8/r7ka8t2xf.dtsi index 99d3fe9fc3f1e..7f7a7f9ef669d 100644 --- a/dts/arm/renesas/ra/ra8/r7ka8t2xf.dtsi +++ b/dts/arm/renesas/ra/ra8/r7ka8t2xf.dtsi @@ -7,6 +7,8 @@ #include #include +/delete-node/ &usbhs; + / { clocks: clocks { #address-cells = <1>; diff --git a/dts/arm/renesas/ra/ra8/ra8x2.dtsi b/dts/arm/renesas/ra/ra8/ra8x2.dtsi index 179e408a685c9..2b4fc29625dea 100644 --- a/dts/arm/renesas/ra/ra8/ra8x2.dtsi +++ b/dts/arm/renesas/ra/ra8/ra8x2.dtsi @@ -734,6 +734,34 @@ }; }; + usbfs: usbfs@40250000 { + compatible = "renesas,ra-usbfs"; + reg = <0x40250000 0x2000>; + num-bidir-endpoints = <10>; + phys = <&usbfs_phy>; + phys-clock = <&uclk>; + status = "disabled"; + + udc { + compatible = "renesas,ra-udc"; + status = "disabled"; + }; + }; + + usbhs: usbhs@40351000 { + compatible = "renesas,ra-usbhs"; + reg = <0x40351000 0x2000>; + num-bidir-endpoints = <10>; + phys = <&usbhs_phy>; + phys-clock = <&uclk>, <&usb60clk>; + status = "disabled"; + + udc { + compatible = "renesas,ra-udc"; + status = "disabled"; + }; + }; + port_irq0: external-interrupt@40006000 { compatible = "renesas,ra-external-interrupt"; reg = <0x40006000 0x1>; @@ -1123,6 +1151,16 @@ }; }; }; + + usbfs_phy: usbfs-phy { + compatible = "usb-nop-xceiv"; + #phy-cells = <0>; + }; + + usbhs_phy: usbhs-phy { + compatible = "renesas,ra-usbphyc"; + #phy-cells = <0>; + }; }; &nvic { diff --git a/west.yml b/west.yml index 81661a984813d..df6a1e83124f6 100644 --- a/west.yml +++ b/west.yml @@ -226,7 +226,7 @@ manifest: - hal - name: hal_renesas path: modules/hal/renesas - revision: d8ee5f18e95b9f4616a481be65e2c9ee0af1779f + revision: pull/152/head groups: - hal - name: hal_rpi_pico