Rockchip RK3399 targets build TPL. If CONFIG_SPL_USB_DWC3_GENERIC and CONFIG_SPL_USB_GADGET are enabled, linking u-boot-tpl will fail.
LD tpl/u-boot-tpl ld.bfd: drivers/usb/dwc3/dwc3-generic.o: in function `dwc3_glue_bind_common': /home/radxa/u-boot/drivers/usb/dwc3/dwc3-generic.c:527:(.text.dwc3_glue_bind_common+0x20): undefined reference to `usb_get_dr_mode' /home/radxa/u-boot/drivers/usb/dwc3/dwc3-generic.c:527:(.text.dwc3_glue_bind_common+0x20): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `usb_get_dr_mode' ld.bfd: /home/radxa/u-boot/drivers/usb/dwc3/dwc3-generic.c:529:(.text.dwc3_glue_bind_common+0x2c): undefined reference to `usb_get_dr_mode' /home/radxa/u-boot/drivers/usb/dwc3/dwc3-generic.c:529:(.text.dwc3_glue_bind_common+0x2c): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `usb_get_dr_mode' ld.bfd: drivers/usb/dwc3/dwc3-generic.o: in function `dwc3_glue_probe': /home/radxa/u-boot/drivers/usb/dwc3/dwc3-generic.c:683:(.text.dwc3_glue_probe+0xb0): undefined reference to `usb_get_dr_mode' /home/radxa/u-boot/drivers/usb/dwc3/dwc3-generic.c:683:(.text.dwc3_glue_probe+0xb0): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `usb_get_dr_mode' Do not compile drivers/usb/ for TPL. Signed-off-by: FUKAUMI Naoki <na...@radxa.com> --- Changes in v2: - Move drivers/usb/{dwc,cdns}3 from scripts/Makefeile.xpl to drivers/Makefile - Suppress unused warnings --- drivers/Makefile | 2 ++ drivers/usb/dwc3/dwc3-generic.c | 2 ++ scripts/Makefile.xpl | 2 -- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/Makefile b/drivers/Makefile index 0e1f58c515b..3ec05b942de 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -62,6 +62,8 @@ obj-$(CONFIG_ARCH_IMX9) += ddr/imx/imx9/ obj-$(CONFIG_DRAM_SUN20I_D1) += ram/ obj-$(CONFIG_SPL_DM_RESET) += reset/ obj-$(CONFIG_SPL_MUSB_NEW) += usb/musb-new/ +obj-$(CONFIG_SPL_USB_GADGET) += usb/dwc3/ +obj-$(CONFIG_SPL_USB_GADGET) += usb/cdns3/ obj-$(CONFIG_SPL_USB_GADGET) += usb/gadget/ obj-$(CONFIG_SPL_USB_GADGET) += usb/common/ obj-$(CONFIG_SPL_USB_GADGET) += usb/gadget/udc/ diff --git a/drivers/usb/dwc3/dwc3-generic.c b/drivers/usb/dwc3/dwc3-generic.c index 55e62b35c61..8c2545bc2ec 100644 --- a/drivers/usb/dwc3/dwc3-generic.c +++ b/drivers/usb/dwc3/dwc3-generic.c @@ -50,6 +50,7 @@ struct dwc3_generic_host_priv { struct udevice *vbus_supply; }; +#if !CONFIG_IS_ENABLED(SPL_BUILD) || CONFIG_IS_ENABLED(SPL_USB_DWC3_GENERIC) static int dwc3_generic_probe(struct udevice *dev, struct dwc3_generic_priv *priv, enum usb_dr_mode mode) @@ -192,6 +193,7 @@ static int dwc3_generic_of_to_plat(struct udevice *dev) return 0; } +#endif #if CONFIG_IS_ENABLED(DM_USB_GADGET) static int dwc3_generic_peripheral_probe(struct udevice *dev) diff --git a/scripts/Makefile.xpl b/scripts/Makefile.xpl index abc49fbe6c9..a819af8a9b7 100644 --- a/scripts/Makefile.xpl +++ b/scripts/Makefile.xpl @@ -125,8 +125,6 @@ endif libs-y += drivers/ libs-$(CONFIG_SPL_MEMORY) += drivers/memory/ -libs-$(CONFIG_SPL_USB_GADGET) += drivers/usb/dwc3/ -libs-$(CONFIG_SPL_USB_GADGET) += drivers/usb/cdns3/ libs-y += dts/ libs-y += fs/ libs-$(CONFIG_SPL_POST_MEM_SUPPORT) += post/drivers/ -- 2.43.0