mirror of https://gitee.com/openkylin/linux.git
USB: option: add support for SIM7100E
$ lsusb: Bus 001 Device 101: ID 1e0e:9001 Qualcomm / Option $ usb-devices: T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=101 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 2 P: Vendor=1e0e ProdID=9001 Rev= 2.32 S: Manufacturer=SimTech, Incorporated S: Product=SimTech, Incorporated S: SerialNumber=0123456789ABCDEF C:* #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none) The last interface (6) is used for Android Composite ADB interface. Serial port layout: 0: QCDM/DIAG 1: NMEA 2: AT 3: AT/PPP 4: audio Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Johan Hovold <johan@kernel.org>
This commit is contained in:
parent
18558cae02
commit
3158a8d416
|
@ -315,6 +315,7 @@ static void option_instat_callback(struct urb *urb);
|
||||||
#define TOSHIBA_PRODUCT_G450 0x0d45
|
#define TOSHIBA_PRODUCT_G450 0x0d45
|
||||||
|
|
||||||
#define ALINK_VENDOR_ID 0x1e0e
|
#define ALINK_VENDOR_ID 0x1e0e
|
||||||
|
#define SIMCOM_PRODUCT_SIM7100E 0x9001 /* Yes, ALINK_VENDOR_ID */
|
||||||
#define ALINK_PRODUCT_PH300 0x9100
|
#define ALINK_PRODUCT_PH300 0x9100
|
||||||
#define ALINK_PRODUCT_3GU 0x9200
|
#define ALINK_PRODUCT_3GU 0x9200
|
||||||
|
|
||||||
|
@ -607,6 +608,10 @@ static const struct option_blacklist_info zte_1255_blacklist = {
|
||||||
.reserved = BIT(3) | BIT(4),
|
.reserved = BIT(3) | BIT(4),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct option_blacklist_info simcom_sim7100e_blacklist = {
|
||||||
|
.reserved = BIT(5) | BIT(6),
|
||||||
|
};
|
||||||
|
|
||||||
static const struct option_blacklist_info telit_le910_blacklist = {
|
static const struct option_blacklist_info telit_le910_blacklist = {
|
||||||
.sendsetup = BIT(0),
|
.sendsetup = BIT(0),
|
||||||
.reserved = BIT(1) | BIT(2),
|
.reserved = BIT(1) | BIT(2),
|
||||||
|
@ -1645,6 +1650,8 @@ static const struct usb_device_id option_ids[] = {
|
||||||
{ USB_DEVICE(ALINK_VENDOR_ID, 0x9000) },
|
{ USB_DEVICE(ALINK_VENDOR_ID, 0x9000) },
|
||||||
{ USB_DEVICE(ALINK_VENDOR_ID, ALINK_PRODUCT_PH300) },
|
{ USB_DEVICE(ALINK_VENDOR_ID, ALINK_PRODUCT_PH300) },
|
||||||
{ USB_DEVICE_AND_INTERFACE_INFO(ALINK_VENDOR_ID, ALINK_PRODUCT_3GU, 0xff, 0xff, 0xff) },
|
{ USB_DEVICE_AND_INTERFACE_INFO(ALINK_VENDOR_ID, ALINK_PRODUCT_3GU, 0xff, 0xff, 0xff) },
|
||||||
|
{ USB_DEVICE(ALINK_VENDOR_ID, SIMCOM_PRODUCT_SIM7100E),
|
||||||
|
.driver_info = (kernel_ulong_t)&simcom_sim7100e_blacklist },
|
||||||
{ USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X060S_X200),
|
{ USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X060S_X200),
|
||||||
.driver_info = (kernel_ulong_t)&alcatel_x200_blacklist
|
.driver_info = (kernel_ulong_t)&alcatel_x200_blacklist
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue