[U-Boot] [PATCH] ARM: imx6: Enable UMS and DFU on DHCOM i.MX6 PDK

Lukasz Majewski lukma at denx.de
Sat Oct 21 22:38:10 UTC 2017


Hi Marek,

> Enable UMS and DFU, so that the eMMC can be accessed via the
> USB gadget port on the board.
> 
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Stefano Babic <sbabic at denx.de>
> ---
>  board/dhelectronics/dh_imx6/dh_imx6.c | 10 ++--------
>  configs/dh_imx6_defconfig             |  8 ++++++++
>  include/configs/dh_imx6.h             | 12 ++++++++++++
>  3 files changed, 22 insertions(+), 8 deletions(-)
> 
> diff --git a/board/dhelectronics/dh_imx6/dh_imx6.c
> b/board/dhelectronics/dh_imx6/dh_imx6.c index e372fbad32..f730e5febd
> 100644 --- a/board/dhelectronics/dh_imx6/dh_imx6.c
> +++ b/board/dhelectronics/dh_imx6/dh_imx6.c
> @@ -253,16 +253,10 @@ static void setup_usb(void)
>  
>  int board_usb_phy_mode(int port)
>  {
> -	return USB_INIT_HOST;
> -}
> -
> -/* Use only Port 1 == DHCOM USB Host 1 */
> -int board_ehci_hcd_init(int port)
> -{
>  	if (port == 1)
> -		return 0;
> +		return USB_INIT_HOST;
>  	else
> -		return -ENODEV;
> +		return USB_INIT_DEVICE;
>  }
>  
>  int board_ehci_power(int port, int on)
> diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig
> index 5125260ee4..ef6dc564d1 100644
> --- a/configs/dh_imx6_defconfig
> +++ b/configs/dh_imx6_defconfig
> @@ -20,6 +20,7 @@ CONFIG_CMD_BOOTZ=y
>  # CONFIG_CMD_IMLS is not set
>  CONFIG_CMD_MEMTEST=y
>  CONFIG_CMD_UNZIP=y
> +CONFIG_CMD_DFU=y
>  # CONFIG_CMD_FLASH is not set
>  CONFIG_CMD_GPIO=y
>  CONFIG_CMD_I2C=y
> @@ -28,6 +29,7 @@ CONFIG_CMD_PART=y
>  CONFIG_CMD_SATA=y
>  CONFIG_CMD_SF=y
>  CONFIG_CMD_USB=y
> +CONFIG_CMD_USB_MASS_STORAGE=y
>  CONFIG_CMD_DHCP=y
>  CONFIG_CMD_MII=y
>  CONFIG_CMD_PING=y
> @@ -48,4 +50,10 @@ CONFIG_NETDEVICES=y
>  CONFIG_FEC_MXC=y
>  CONFIG_USB=y
>  CONFIG_USB_STORAGE=y
> +CONFIG_USB_GADGET=y
> +CONFIG_CI_UDC=y
> +CONFIG_USB_GADGET_DOWNLOAD=y
> +CONFIG_G_DNL_MANUFACTURER="dh"
> +CONFIG_G_DNL_VENDOR_NUM=0x0525
> +CONFIG_G_DNL_PRODUCT_NUM=0xa4a5

Newest mainline has switched from G_DNL -> USB_GADGET

>  CONFIG_OF_LIBFDT=y
> diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h
> index 0595f60e32..11a01d476f 100644
> --- a/include/configs/dh_imx6.h
> +++ b/include/configs/dh_imx6.h
> @@ -115,6 +115,18 @@
>  #define CONFIG_MXC_USB_PORTSC		(PORT_PTS_UTMI |
> PORT_PTS_PTW) #define CONFIG_MXC_USB_FLAGS		0
>  #define CONFIG_USB_MAX_CONTROLLER_COUNT	2 /* Enabled USB
> controller number */ +
> +/* USB Gadget (DFU, UMS) */
> +#if defined(CONFIG_CMD_DFU) || defined(CONFIG_CMD_USB_MASS_STORAGE)
> +#define CONFIG_USB_FUNCTION_MASS_STORAGE
> +
> +#define CONFIG_SYS_DFU_DATA_BUF_SIZE	(16 * 1024 * 1024)
> +#define DFU_DEFAULT_POLL_TIMEOUT	300
> +
> +/* USB IDs */
> +#define CONFIG_G_DNL_UMS_VENDOR_NUM	0x0525
> +#define CONFIG_G_DNL_UMS_PRODUCT_NUM	0xA4A5
> +#endif
>  #endif
>  
>  /* Watchdog */




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