aboutsummaryrefslogtreecommitdiff
path: root/board/samsung/common/gadget.c
blob: c1b4342f4e229cd5bb3bc1923efb2c4a63f87f61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// SPDX-License-Identifier: GPL-2.0+
/*
 *  Copyright (C) 2013 Samsung Electronics
 *  Lukasz Majewski <l.majewski@samsung.com>
 */

#include <linux/string.h>
#include <linux/usb/ch9.h>

#define EXYNOS_G_DNL_THOR_VENDOR_NUM	0x04E8
#define EXYNOS_G_DNL_THOR_PRODUCT_NUM	0x685D

#define EXYNOS_G_DNL_UMS_VENDOR_NUM	0x0525
#define EXYNOS_G_DNL_UMS_PRODUCT_NUM	0xA4A5

int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
{
	if (!strcmp(name, "usb_dnl_thor")) {
		put_unaligned(EXYNOS_G_DNL_THOR_VENDOR_NUM, &dev->idVendor);
		put_unaligned(EXYNOS_G_DNL_THOR_PRODUCT_NUM, &dev->idProduct);
	} else if (!strcmp(name, "usb_dnl_ums")) {
		put_unaligned(EXYNOS_G_DNL_UMS_VENDOR_NUM, &dev->idVendor);
		put_unaligned(EXYNOS_G_DNL_UMS_PRODUCT_NUM, &dev->idProduct);
	} else {
		put_unaligned(CONFIG_USB_GADGET_VENDOR_NUM, &dev->idVendor);
		put_unaligned(CONFIG_USB_GADGET_PRODUCT_NUM, &dev->idProduct);
	}
	return 0;
}