Hi Minkyu, > 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.
Do you have any comments to this patch? Would you consider taking this patch to u-boot-samsung tree or should I take it to u-boot-dfu since it fixes things related to UMS gadget? > > Signed-off-by: Lukasz Majewski <l.majew...@samsung.com> > --- > board/samsung/common/Makefile | 2 +- > board/samsung/common/gadget.c | 24 ++++++++++++++++++++++++ > board/samsung/common/thor.c | 21 --------------------- > include/configs/exynos4-dt.h | 2 ++ > 4 files changed, 27 insertions(+), 22 deletions(-) > create mode 100644 board/samsung/common/gadget.c > delete mode 100644 board/samsung/common/thor.c > > diff --git a/board/samsung/common/Makefile > b/board/samsung/common/Makefile index 41d0cc3..93347ef 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/gadget.c > b/board/samsung/common/gadget.c new file mode 100644 > index 0000000..6a1e57f > --- /dev/null > +++ b/board/samsung/common/gadget.c > @@ -0,0 +1,24 @@ > +/* > + * Copyright (C) 2013 Samsung Electronics > + * Lukasz Majewski <l.majew...@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; > +} > diff --git a/board/samsung/common/thor.c b/board/samsung/common/thor.c > deleted file mode 100644 > index 1c7630d..0000000 > --- a/board/samsung/common/thor.c > +++ /dev/null > @@ -1,21 +0,0 @@ > -/* > - * Copyright (C) 2013 Samsung Electronics > - * Lukasz Majewski <l.majew...@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 { > - put_unaligned(CONFIG_G_DNL_VENDOR_NUM, > &dev->idVendor); > - put_unaligned(CONFIG_G_DNL_PRODUCT_NUM, > &dev->idProduct); > - } > - return 0; > -} > diff --git a/include/configs/exynos4-dt.h > b/include/configs/exynos4-dt.h index 44e6ab4..7dac1a3 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 */ -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot