Changes for v1: - Refactor USB PHY register definitions to a common header file to enable code sharing between ehci-mx6.c and ci_udc.c. - Fix the usb_oc_config() function to correctly handle overcurrent configuration on i.MX7/8M/9/7ULP/8/8ULP platforms, where the register layout differs from i.MX6. - Extract PHY initialization code into a reusable function that can be shared between ehci-mx6.c and ci_udc.c. - Convert the ci_udc driver to use driver model. - Updating Kconfig to automatically select DM_USB_GADGET when CI_UDC is enabled. - Add i.MX8ULP platform support.
Tested on i.MX8ULP EVK board with USB mass storage functionality. Signed-off-by: Alice Guo <[email protected]> --- Alice Guo (5): usb: ehci-mx6: Move USB PHY register definitions to common header usb: ehci-mx6: Fix usb_oc_config() for i.MX7/8M/9/7ULP/8 and 8ULP platforms usb: ehci-mx6: Extract PHY initialization into reusable function usb: gadget: ci_udc: Add i.MX8ULP support imx8ulp_evk: Enable USB controller at 0x29920000 in device mode Sherry Sun (2): usb: ci_udc: Convert driver to DM_USB_GADGET usb: Kconfig: imply DM_USB_GADGET arch/arm/dts/imx8ulp-evk-u-boot.dtsi | 17 ++ arch/arm/include/asm/mach-imx/regs-usbphy.h | 3 + configs/imx8ulp_evk_defconfig | 7 + drivers/usb/gadget/Kconfig | 2 +- drivers/usb/gadget/ci_udc.c | 354 +++++++++++++++++++++++++++- drivers/usb/host/ehci-mx6.c | 93 ++++++-- include/usb/ci_udc.h | 9 + 7 files changed, 465 insertions(+), 20 deletions(-) --- base-commit: d21fcfb29ec2871976de8d21ea0e60fb13ce032f change-id: 20251216-imx8ulp-129e9fdc1128 Best regards, -- Alice Guo <[email protected]>

