summaryrefslogtreecommitdiff
path: root/board/samsung/common/gadget.c
diff options
context:
space:
mode:
authorLukasz Majewski <l.majewski@samsung.com>2014-07-29 11:10:44 +0200
committerMarek Vasut <marex@denx.de>2014-08-20 13:10:32 +0200
commit8fc171318e352ae191cdf527252e9166a56851ab (patch)
tree890e105c434cbff8bcf2a55e761086fce32e785e /board/samsung/common/gadget.c
parente49f14af1349eef94e41b636320bbfcace7403b5 (diff)
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>
Diffstat (limited to 'board/samsung/common/gadget.c')
-rw-r--r--board/samsung/common/gadget.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/board/samsung/common/gadget.c b/board/samsung/common/gadget.c
new file mode 100644
index 0000000000..6a1e57f164
--- /dev/null
+++ b/board/samsung/common/gadget.c
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2013 Samsung Electronics
+ * Lukasz Majewski <l.majewski@samsung.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#include <common.h>
+#include <linux/usb/ch9.h>
+
+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;
+}