소스 검색

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 <l.majewski@samsung.com>
Acked-by: Minkyu Kang <mk7.kang@samsung.com>
Lukasz Majewski 11 년 전
부모
커밋
8fc171318e
3개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      board/samsung/common/Makefile
  2. 3 0
      board/samsung/common/gadget.c
  3. 2 0
      include/configs/exynos4-dt.h

+ 1 - 1
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

+ 3 - 0
board/samsung/common/thor.c → 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);

+ 2 - 0
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 */