From ce2757b66a040702250845e7887e3503adfd8ce0 Mon Sep 17 00:00:00 2001 From: Lukasz Majewski Date: Tue, 8 Oct 2013 14:30:45 +0200 Subject: [PATCH] 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 --- board/samsung/common/Makefile | 1 + board/samsung/common/thor.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 board/samsung/common/thor.c diff --git a/board/samsung/common/Makefile b/board/samsung/common/Makefile index 9e48a7b6e5..ad7564cddf 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 0000000000..1c7630df08 --- /dev/null +++ b/board/samsung/common/thor.c @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2013 Samsung Electronics + * Lukasz Majewski + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include + +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; +} -- GitLab