diff --git a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.dts b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.dts index 8143c055258..528c2f4357b 100644 --- a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.dts +++ b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33.dts @@ -85,3 +85,15 @@ zephyr_udc0: &usb1 { tx-cal-45-dp-ohms = <6>; tx-cal-45-dm-ohms = <6>; }; + +zephyr_udc1: &usb2{ + status = "okay"; + phy-handle = <&usbphy2>; +}; + +&usbphy2 { + status = "okay"; + tx-d-cal = <7>; + tx-cal-45-dp-ohms = <6>; + tx-cal-45-dm-ohms = <6>; +}; diff --git a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.dts b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.dts index 81bd3a21247..c6a3499c778 100644 --- a/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.dts +++ b/boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm7.dts @@ -84,3 +84,15 @@ zephyr_udc0: &usb1 { tx-cal-45-dp-ohms = <6>; tx-cal-45-dm-ohms = <6>; }; + +zephyr_udc1: &usb2{ + status = "okay"; + phy-handle = <&usbphy2>; +}; + +&usbphy2 { + status = "okay"; + tx-d-cal = <7>; + tx-cal-45-dp-ohms = <6>; + tx-cal-45-dm-ohms = <6>; +}; diff --git a/soc/nxp/imxrt/imxrt118x/soc.c b/soc/nxp/imxrt/imxrt118x/soc.c index be509054f5d..5106e647749 100644 --- a/soc/nxp/imxrt/imxrt118x/soc.c +++ b/soc/nxp/imxrt/imxrt118x/soc.c @@ -571,6 +571,13 @@ __weak void clock_init(void) DT_PROP_BY_PHANDLE(DT_NODELABEL(usb1), clocks, clock_frequency)); #endif +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(usb2)) && CONFIG_UDC_NXP_EHCI + CLOCK_EnableUsbhs1PhyPllClock(kCLOCK_Usb480M, + DT_PROP_BY_PHANDLE(DT_NODELABEL(usb2), clocks, clock_frequency)); + CLOCK_EnableUsbhs1Clock(kCLOCK_Usb480M, + DT_PROP_BY_PHANDLE(DT_NODELABEL(usb2), clocks, clock_frequency)); +#endif + #ifdef CONFIG_IMX_USDHC #if DT_NODE_HAS_STATUS(DT_NODELABEL(usdhc1), okay)