From 8fc171318e352ae191cdf527252e9166a56851ab Mon Sep 17 00:00:00 2001 From: Lukasz Majewski Date: Tue, 29 Jul 2014 11:10:44 +0200 Subject: [PATCH] samsung: dfu: Provide correct Vendor and Product IDs for UMS gadget It is necessary to provide the same Vendor and Product IDs as the one in the original Linux kernel code. Without this change the USB mass storage gadget is not working with Windows7. Signed-off-by: Lukasz Majewski Acked-by: Minkyu Kang --- board/samsung/common/Makefile | 2 +- board/samsung/common/{thor.c => gadget.c} | 3 +++ include/configs/exynos4-dt.h | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) rename board/samsung/common/{thor.c => gadget.c} (77%) diff --git a/board/samsung/common/Makefile b/board/samsung/common/Makefile index 41d0cc3814..93347ef000 100644 --- a/board/samsung/common/Makefile +++ b/board/samsung/common/Makefile @@ -6,7 +6,7 @@ # obj-$(CONFIG_SOFT_I2C_MULTI_BUS) += multi_i2c.o -obj-$(CONFIG_THOR_FUNCTION) += thor.o +obj-$(CONFIG_USBDOWNLOAD_GADGET) += gadget.o obj-$(CONFIG_MISC_COMMON) += misc.o ifndef CONFIG_SPL_BUILD diff --git a/board/samsung/common/thor.c b/board/samsung/common/gadget.c similarity index 77% rename from board/samsung/common/thor.c rename to board/samsung/common/gadget.c index 1c7630df08..6a1e57f164 100644 --- a/board/samsung/common/thor.c +++ b/board/samsung/common/gadget.c @@ -13,6 +13,9 @@ 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); diff --git a/include/configs/exynos4-dt.h b/include/configs/exynos4-dt.h index 44e6ab4ef3..7dac1a3717 100644 --- a/include/configs/exynos4-dt.h +++ b/include/configs/exynos4-dt.h @@ -105,6 +105,8 @@ #define CONFIG_G_DNL_PRODUCT_NUM 0x6601 #define CONFIG_G_DNL_THOR_VENDOR_NUM CONFIG_G_DNL_VENDOR_NUM #define CONFIG_G_DNL_THOR_PRODUCT_NUM 0x685D +#define CONFIG_G_DNL_UMS_VENDOR_NUM 0x0525 +#define CONFIG_G_DNL_UMS_PRODUCT_NUM 0xA4A5 #define CONFIG_G_DNL_MANUFACTURER "Samsung" /* Miscellaneous configurable options */ -- 2.25.1