Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd3ca290 authored by Guang Jian Zeng's avatar Guang Jian Zeng
Browse files

HSIC: Add support for product id 909C,909D,and 909E



Product id 0x909c includes DIAG,SER3(System monitor),SER4(
EFS sync),DUN,CSVT.
Product id 0x909D includes DIAG,SER3(System monitor),SER4(
EFS sync),DUN,CSVT,IPCR(IPC router).
Product id 0x909E includes DIAG,DCI,SER3(System monitor),
SER4(EFS sync),QDSS trace(Bulk In only),DUN,CSVT,IPCR

Change-Id: Idf5451f3ff19df3cc418bbdb9259bc84bb67950b
Signed-off-by: default avatarGuang Jian Zeng <gzeng@codeaurora.org>
parent fdc49c46
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -26,7 +26,6 @@
#include <soc/qcom/hsic_sysmon.h>
#include <soc/qcom/sysmon.h>


#define DRIVER_DESC	"HSIC System monitor driver"

enum hsic_sysmon_op {
@@ -409,6 +408,10 @@ static const struct usb_device_id hsic_sysmon_ids[] = {
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9075, 1), .driver_info = 0, },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x9079, 1), .driver_info = 1, },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908A, 1), .driver_info = 0, },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909C, 1), .driver_info = 0, },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909D, 1), .driver_info = 0, },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909E, 2), .driver_info = 0, },

	{} /* terminating entry */
};
MODULE_DEVICE_TABLE(usb, hsic_sysmon_ids);
+10 −1
Original line number Diff line number Diff line
/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved.
/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -574,6 +574,15 @@ static const struct usb_device_id diag_bridge_ids[] = {
	/* 908E, ifc#1 refers to diag client interface */
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908E, 1),
	.driver_info =  DEV_ID(1), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909C, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909D, 0),
	.driver_info =  DEV_ID(0), },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909E, 0),
	.driver_info =  DEV_ID(0), },
	/* 909E, ifc#1 refers to diag client interface */
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909E, 1),
	.driver_info =  DEV_ID(1), },

	{} /* terminating entry */
};
+3 −1
Original line number Diff line number Diff line
/* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved.
/* Copyright (c) 2011-2014, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -679,6 +679,8 @@ static void ipc_bridge_disconnect(struct usb_interface *intf)
static const struct usb_device_id ipc_bridge_ids[] = {
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908A, 7) },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908E, 9) },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909D, 5) },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909E, 7) },

	{} /* terminating entry */
};
+9 −0
Original line number Diff line number Diff line
@@ -443,6 +443,12 @@ static const struct usb_device_id ksb_usb_ids[] = {
	.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908E, 3),
	.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909C, 2),
	.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909D, 2),
	.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909E, 3),
	.driver_info = (unsigned long)&ksb_efs_hsic_dev, },
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x90A0, 2),
	.driver_info = (unsigned long)&ksb_efs_hsic_dev, },

@@ -653,6 +659,9 @@ ksb_usb_probe(struct usb_interface *ifc, const struct usb_device_id *id)
	case 0x908A:
	case 0x908E:
	case 0x90A0:
	case 0x909C:
	case 0x909D:
	case 0x909E:
		ksb = __ksb[EFS_HSIC_BRIDGE_INDEX];
		break;
	case 0x9079:
+10 −1
Original line number Diff line number Diff line
/* Copyright (c) 2011-2013, Linux Foundation. All rights reserved.
/* Copyright (c) 2011-2014, Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -1097,6 +1097,15 @@ static const struct usb_device_id bridge_ids[] = {
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x908E, 7),
	.driver_info = (unsigned long)rmnet_hsic_bridge_names,
	},
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909C, 3),
	.driver_info = (unsigned long)serial_hsic_bridge_names,
	},
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909D, 3),
	.driver_info = (unsigned long)serial_hsic_bridge_names,
	},
	{ USB_DEVICE_INTERFACE_NUMBER(0x5c6, 0x909E, 5),
	.driver_info = (unsigned long)serial_hsic_bridge_names,
	},

	{ } /* Terminating entry */
};
Loading