ARM: imx6: Enable UMS and DFU on DHCOM i.MX6 PDK
authorMarek Vasut <marex@denx.de>
Sun, 22 Oct 2017 08:22:40 +0000 (10:22 +0200)
committerStefano Babic <sbabic@denx.de>
Tue, 31 Oct 2017 10:11:10 +0000 (11:11 +0100)
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@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
board/dhelectronics/dh_imx6/dh_imx6.c
configs/dh_imx6_defconfig
include/configs/dh_imx6.h

index c76da4d2af9b234ec99456183f46fabccc6f0f3d..b00d0e4b6d85ff4834db49863b95c08b7c462165 100644 (file)
@@ -252,17 +252,11 @@ 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)
index 5d9eda8c7db4950c244925edaab1eda793136673..175f9fa28cd905c81d324f187244d0e238d2113e 100644 (file)
@@ -19,6 +19,7 @@ CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
 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
@@ -27,6 +28,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
@@ -47,4 +49,10 @@ CONFIG_NETDEVICES=y
 CONFIG_FEC_MXC=y
 CONFIG_USB=y
 CONFIG_USB_STORAGE=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_MANUFACTURER="dh"
+CONFIG_USB_GADGET_VENDOR_NUM=0x0525
+CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
+CONFIG_CI_UDC=y
+CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_OF_LIBFDT=y
index 0595f60e32db540221c84e084b1b49bd832d4397..11a01d476fbcfbb8e38eefdea6a76f37c8f1cbbc 100644 (file)
 #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 */