[U-Boot] [RFC] toradex: imx6: Move g_dnl_bind_fixup() into common SPL code

Łukasz Majewski lukma at denx.de
Sun Sep 3 15:23:55 UTC 2017


On 09/03/2017 04:56 PM, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam at 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 at denx.de>

> Signed-off-by: Fabio Estevam <fabio.estevam at 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)
>   {
> 


-- 
Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de


More information about the U-Boot mailing list