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

Commit 06f1b971 authored by Tomoya MORINAGA's avatar Tomoya MORINAGA Committed by Greg Kroah-Hartman
Browse files

USB: pch_udc: support new device ML7213 IOH



Support new device OKI SEMICONDUCTOR's ML7213 IOH(Input/Output Hub) which is for
IVI(In-Vehicle Infotainment) use.
The ML7213 is companion chip for Intel Atom E6xx series.
The ML7213 is completely compatible for Intel EG20T PCH.

Signed-off-by: default avatarTomoya MORINAGA <tomoya-linux@dsn.okisemi.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent abab0c67
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -509,7 +509,7 @@ config USB_LANGWELL
	select USB_GADGET_SELECTED
	select USB_GADGET_SELECTED


config USB_GADGET_EG20T
config USB_GADGET_EG20T
	boolean "Intel EG20T(Topcliff) USB Device controller"
	boolean "Intel EG20T PCH/OKI SEMICONDUCTOR ML7213 IOH UDC"
	depends on PCI
	depends on PCI
	select USB_GADGET_DUALSPEED
	select USB_GADGET_DUALSPEED
	help
	help
@@ -525,6 +525,11 @@ config USB_GADGET_EG20T
	  This driver dose not support interrupt transfer or isochronous
	  This driver dose not support interrupt transfer or isochronous
	  transfer modes.
	  transfer modes.


	  This driver also can be used for OKI SEMICONDUCTOR's ML7213 which is
	  for IVI(In-Vehicle Infotainment) use.
	  ML7213 is companion chip for Intel Atom E6xx series.
	  ML7213 is completely compatible for Intel EG20T PCH.

config USB_EG20T
config USB_EG20T
	tristate
	tristate
	depends on USB_GADGET_EG20T
	depends on USB_GADGET_EG20T
+7 −0
Original line number Original line Diff line number Diff line
@@ -361,6 +361,8 @@ struct pch_udc_dev {


#define PCH_UDC_PCI_BAR			1
#define PCH_UDC_PCI_BAR			1
#define PCI_DEVICE_ID_INTEL_EG20T_UDC	0x8808
#define PCI_DEVICE_ID_INTEL_EG20T_UDC	0x8808
#define PCI_VENDOR_ID_ROHM		0x10DB
#define PCI_DEVICE_ID_ML7213_IOH_UDC	0x801D


static const char	ep0_string[] = "ep0in";
static const char	ep0_string[] = "ep0in";
static DEFINE_SPINLOCK(udc_stall_spinlock);	/* stall spin lock */
static DEFINE_SPINLOCK(udc_stall_spinlock);	/* stall spin lock */
@@ -2931,6 +2933,11 @@ static DEFINE_PCI_DEVICE_TABLE(pch_udc_pcidev_id) = {
		.class = (PCI_CLASS_SERIAL_USB << 8) | 0xfe,
		.class = (PCI_CLASS_SERIAL_USB << 8) | 0xfe,
		.class_mask = 0xffffffff,
		.class_mask = 0xffffffff,
	},
	},
	{
		PCI_DEVICE(PCI_VENDOR_ID_ROHM, PCI_DEVICE_ID_ML7213_IOH_UDC),
		.class = (PCI_CLASS_SERIAL_USB << 8) | 0xfe,
		.class_mask = 0xffffffff,
	},
	{ 0 },
	{ 0 },
};
};