
On 09/03/2017 04:56 PM, Fabio Estevam wrote:
From: Fabio Estevam fabio.estevam@nxp.com
Instead of having every board file to add its own g_dnl_bind_fixup() implementation, move it to the common imx6 SPL code.
Reviewed-by: Łukasz Majewski lukma@denx.de
Signed-off-by: Fabio Estevam fabio.estevam@nxp.com
Stefan,
I don't have access to Toradex board to test it, hence marking it as RFC.
I have tested it with imx6q-sabresd and it works fine on this board.
arch/arm/mach-imx/spl.c | 10 ++++++++++ board/toradex/apalis_imx6/apalis_imx6.c | 13 ------------- board/toradex/colibri_imx6/colibri_imx6.c | 13 ------------- board/toradex/common/tdx-common.c | 13 ------------- 4 files changed, 10 insertions(+), 39 deletions(-)
diff --git a/arch/arm/mach-imx/spl.c b/arch/arm/mach-imx/spl.c index 8e8e2f7..e350bc9 100644 --- a/arch/arm/mach-imx/spl.c +++ b/arch/arm/mach-imx/spl.c @@ -14,6 +14,7 @@ #include <asm/spl.h> #include <spl.h> #include <asm/mach-imx/hab.h> +#include <g_dnl.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -86,6 +87,15 @@ u32 spl_boot_device(void) } return BOOT_DEVICE_NONE; }
+#ifdef CONFIG_SPL_USB_GADGET_SUPPORT +int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) +{
- put_unaligned(CONFIG_G_DNL_PRODUCT_NUM + 0xfff, &dev->idProduct);
- return 0;
+} +#endif #endif
#if defined(CONFIG_SPL_MMC_SUPPORT) diff --git a/board/toradex/apalis_imx6/apalis_imx6.c b/board/toradex/apalis_imx6/apalis_imx6.c index ebc6c12..628a61d 100644 --- a/board/toradex/apalis_imx6/apalis_imx6.c +++ b/board/toradex/apalis_imx6/apalis_imx6.c @@ -29,7 +29,6 @@ #include <dm/platform_data/serial_mxc.h> #include <dm/platdata.h> #include <fsl_esdhc.h> -#include <g_dnl.h> #include <i2c.h> #include <imx_thermal.h> #include <linux/errno.h> @@ -1224,18 +1223,6 @@ void reset_cpu(ulong addr) { }
-#ifdef CONFIG_SPL_USB_GADGET_SUPPORT -int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) -{
- unsigned short usb_pid;
- usb_pid = TORADEX_USB_PRODUCT_NUM_OFFSET + 0xfff;
- put_unaligned(usb_pid, &dev->idProduct);
- return 0;
-} -#endif
#endif
static struct mxc_serial_platdata mxc_serial_plat = {
diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/colibri_imx6/colibri_imx6.c index 669d912..756e3f3 100644 --- a/board/toradex/colibri_imx6/colibri_imx6.c +++ b/board/toradex/colibri_imx6/colibri_imx6.c @@ -28,7 +28,6 @@ #include <dm/platform_data/serial_mxc.h> #include <dm/platdata.h> #include <fsl_esdhc.h> -#include <g_dnl.h> #include <i2c.h> #include <imx_thermal.h> #include <linux/errno.h> @@ -1108,18 +1107,6 @@ void reset_cpu(ulong addr) { }
-#ifdef CONFIG_SPL_USB_GADGET_SUPPORT -int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) -{
- unsigned short usb_pid;
- usb_pid = TORADEX_USB_PRODUCT_NUM_OFFSET + 0xfff;
- put_unaligned(usb_pid, &dev->idProduct);
- return 0;
-} -#endif
#endif
static struct mxc_serial_platdata mxc_serial_plat = {
diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c index b4e4727..a7efeb8 100644 --- a/board/toradex/common/tdx-common.c +++ b/board/toradex/common/tdx-common.c @@ -5,7 +5,6 @@ */
#include <common.h> -#include <g_dnl.h> #include <libfdt.h>
#include "tdx-cfg-block.h" @@ -109,18 +108,6 @@ int show_board_info(void) return 0; }
-#ifdef CONFIG_USB_GADGET_DOWNLOAD -int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name) -{
- unsigned short usb_pid;
- usb_pid = TORADEX_USB_PRODUCT_NUM_OFFSET + tdx_hw_tag.prodid;
- put_unaligned(usb_pid, &dev->idProduct);
- return 0;
-} -#endif
- #if defined(CONFIG_OF_LIBFDT) int ft_common_board_setup(void *blob, bd_t *bd) {