aboutsummaryrefslogtreecommitdiff
path: root/board/samsung/common
diff options
context:
space:
mode:
authorLukasz Majewski2013-10-08 14:30:45 +0200
committerMarek Vasut2013-10-20 23:42:41 +0200
commitce2757b66a040702250845e7887e3503adfd8ce0 (patch)
tree7f5960ab396b3d3fe02bb5f57b21b56eeb37f128 /board/samsung/common
parent3402b0534353677933ad33eea602bf78b4f8cdb0 (diff)
samsung:common:thor: Define common Samsung code to handle THOR usb descriptor setup
Special, common to Samsung, function for altering usb descriptor's idVendor and idProduct has been added. For compatibility reasons (Win vs Linux) the THOR idProduct must be different than the one for DFU/UMS. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Diffstat (limited to 'board/samsung/common')
-rw-r--r--board/samsung/common/Makefile1
-rw-r--r--board/samsung/common/thor.c21
2 files changed, 22 insertions, 0 deletions
diff --git a/board/samsung/common/Makefile b/board/samsung/common/Makefile
index 9e48a7b6e57..ad7564cddf5 100644
--- a/board/samsung/common/Makefile
+++ b/board/samsung/common/Makefile
@@ -10,6 +10,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)libsamsung.o
COBJS-$(CONFIG_SOFT_I2C_MULTI_BUS) += multi_i2c.o
+COBJS-$(CONFIG_THOR_FUNCTION) += thor.o
SRCS := $(COBJS-y:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS-y))
diff --git a/board/samsung/common/thor.c b/board/samsung/common/thor.c
new file mode 100644
index 00000000000..1c7630df087
--- /dev/null
+++ b/board/samsung/common/thor.c
@@ -0,0 +1,21 @@
+/*
+ * 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 {
+ put_unaligned(CONFIG_G_DNL_VENDOR_NUM, &dev->idVendor);
+ put_unaligned(CONFIG_G_DNL_PRODUCT_NUM, &dev->idProduct);
+ }
+ return 0;
+}