[PATCH] usb: gadget: fsl_udc: add imx7_barebox_(load/start)_usb

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Oct 17 00:10:36 PDT 2022


These can be called from barebox PBL when booted from USB to continue
USB boot. This isn't necessary in the general case when RAM setup is
done via DCD, but for cases where setup is done in PBL, these helpers
come in handy. Tested on i.MX7D revision 1.2.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 drivers/usb/gadget/fsl_udc_pbl.c | 11 +++++++++++
 include/soc/fsl/fsl_udc.h        |  3 +++
 2 files changed, 14 insertions(+)

diff --git a/drivers/usb/gadget/fsl_udc_pbl.c b/drivers/usb/gadget/fsl_udc_pbl.c
index 8b714d4c8b02..d2f2b9e1959e 100644
--- a/drivers/usb/gadget/fsl_udc_pbl.c
+++ b/drivers/usb/gadget/fsl_udc_pbl.c
@@ -5,6 +5,7 @@
 #include <soc/fsl/fsl_udc.h>
 #include <mach/imx8mm-regs.h>
 #include <mach/imx6-regs.h>
+#include <mach/imx7-regs.h>
 
 static void fsl_queue_td(struct usb_dr_device *dr, struct ep_td_struct *dtd,
 			 int ep_is_in)
@@ -210,6 +211,16 @@ int imx6_barebox_start_usb(void *dest)
 	return imx_barebox_start_usb(IOMEM(MX6_OTG_BASE_ADDR), dest);
 }
 
+int imx7_barebox_load_usb(void *dest)
+{
+	return imx_barebox_load_usb(IOMEM(MX7_OTG1_BASE_ADDR), dest);
+}
+
+int imx7_barebox_start_usb(void *dest)
+{
+	return imx_barebox_start_usb(IOMEM(MX7_OTG1_BASE_ADDR), dest);
+}
+
 int imx8mm_barebox_load_usb(void *dest)
 {
 	return imx_barebox_load_usb(IOMEM(MX8MM_USB1_BASE_ADDR), dest);
diff --git a/include/soc/fsl/fsl_udc.h b/include/soc/fsl/fsl_udc.h
index aa1db2fb3816..c1abe222ba2a 100644
--- a/include/soc/fsl/fsl_udc.h
+++ b/include/soc/fsl/fsl_udc.h
@@ -385,6 +385,9 @@ int imx_barebox_start_usb(void __iomem *dr, void *dest);
 int imx6_barebox_load_usb(void *dest);
 int imx6_barebox_start_usb(void *dest);
 
+int imx7_barebox_load_usb(void *dest);
+int imx7_barebox_start_usb(void *dest);
+
 int imx8mm_barebox_load_usb(void *dest);
 int imx8mm_barebox_start_usb(void *dest);
 
-- 
2.30.2




More information about the barebox mailing list