artik10: usb: gadget: add g_dnl_bind_fixup() function 14/66214/2
authorjino.cho <jino.cho@samsung.com>
Mon, 18 Apr 2016 02:04:07 +0000 (11:04 +0900)
committerjino.cho <jino.cho@samsung.com>
Mon, 18 Apr 2016 02:27:54 +0000 (11:27 +0900)
This patch replaces VID & PID information of the THOR downloader by
adding g_gnl_bind_fixup() function.

Change-Id: I15fe00747ff980f1969018af05bddbefa8936bef
Signed-off-by: jino.cho <jino.cho@samsung.com>
board/samsung/smdk5422/smdk5422.c

index add61d72c626ae2468c49db08176daae289b9efd..17c002416736ffac12b35d4666700d5adfb5a2a7 100644 (file)
@@ -33,6 +33,7 @@
 #include <asm/arch/pinmux.h>
 #include <asm/arch/sromc.h>
 #include <asm/arch/sysreg.h>
+#include <asm/unaligned.h>
 #include <mmc.h>
 #include "pmic.h"
 #ifdef CONFIG_CPU_EXYNOS5422_EVT0
@@ -528,6 +529,24 @@ int board_usb_init(int index, enum usb_init_type init)
        return dwc3_uboot_init(&dwc3_device_data);
 }
 #endif
+
+#ifdef CONFIG_USBDOWNLOAD_GADGET
+int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
+{
+       if (!strcmp(name, "usb_dnl_thor")) {
+               put_unaligned(CONFIG_G_DNL_THOR_VENDOR_NUM, &dev->idVendor);
+               put_unaligned(CONFIG_G_DNL_THOR_PRODUCT_NUM, &dev->idProduct);
+       } else if (!strcmp(name, "usb_dnl_ums")) {
+               put_unaligned(CONFIG_G_DNL_UMS_VENDOR_NUM, &dev->idVendor);
+               put_unaligned(CONFIG_G_DNL_UMS_PRODUCT_NUM, &dev->idProduct);
+       } else {
+               put_unaligned(CONFIG_G_DNL_VENDOR_NUM, &dev->idVendor);
+               put_unaligned(CONFIG_G_DNL_PRODUCT_NUM, &dev->idProduct);
+       }
+       return 0;
+}
+#endif
+
 #ifdef CONFIG_SET_DFU_ALT_INFO
 char *get_dfu_alt_system(char *interface, char *devstr)
 {