USB device driver of Topcliff PCH
This patch adds the USB device driver of EG20T(Topcliff) PCH. EG20T PCH is the platform controller hub that is going to be used in Intel's upcoming general embedded platform. All IO peripherals in EG20T PCH are actually devices sitting on AMBA bus. EG20T PCH has USB device I/F. Using this I/F, it is able to access system devices connected to USB device. Signed-off-by: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com> Acked-by: Michał Nazarewicz <m.nazarewicz@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
d8df0b611c
commit
f646cf9452
|
@ -495,6 +495,28 @@ config USB_LANGWELL
|
||||||
default USB_GADGET
|
default USB_GADGET
|
||||||
select USB_GADGET_SELECTED
|
select USB_GADGET_SELECTED
|
||||||
|
|
||||||
|
config USB_GADGET_EG20T
|
||||||
|
boolean "Intel EG20T(Topcliff) USB Device controller"
|
||||||
|
depends on PCI
|
||||||
|
select USB_GADGET_DUALSPEED
|
||||||
|
help
|
||||||
|
This is a USB device driver for EG20T PCH.
|
||||||
|
EG20T PCH is the platform controller hub that is used in Intel's
|
||||||
|
general embedded platform. EG20T PCH has USB device interface.
|
||||||
|
Using this interface, it is able to access system devices connected
|
||||||
|
to USB device.
|
||||||
|
This driver enables USB device function.
|
||||||
|
USB device is a USB peripheral controller which
|
||||||
|
supports both full and high speed USB 2.0 data transfers.
|
||||||
|
This driver supports both control transfer and bulk transfer modes.
|
||||||
|
This driver dose not support interrupt transfer or isochronous
|
||||||
|
transfer modes.
|
||||||
|
|
||||||
|
config USB_EG20T
|
||||||
|
tristate
|
||||||
|
depends on USB_GADGET_EG20T
|
||||||
|
default USB_GADGET
|
||||||
|
select USB_GADGET_SELECTED
|
||||||
|
|
||||||
#
|
#
|
||||||
# LAST -- dummy/emulated controller
|
# LAST -- dummy/emulated controller
|
||||||
|
|
|
@ -24,6 +24,7 @@ obj-$(CONFIG_USB_FSL_QE) += fsl_qe_udc.o
|
||||||
obj-$(CONFIG_USB_CI13XXX) += ci13xxx_udc.o
|
obj-$(CONFIG_USB_CI13XXX) += ci13xxx_udc.o
|
||||||
obj-$(CONFIG_USB_S3C_HSOTG) += s3c-hsotg.o
|
obj-$(CONFIG_USB_S3C_HSOTG) += s3c-hsotg.o
|
||||||
obj-$(CONFIG_USB_LANGWELL) += langwell_udc.o
|
obj-$(CONFIG_USB_LANGWELL) += langwell_udc.o
|
||||||
|
obj-$(CONFIG_USB_EG20T) += pch_udc.o
|
||||||
|
|
||||||
#
|
#
|
||||||
# USB gadget drivers
|
# USB gadget drivers
|
||||||
|
|
|
@ -142,6 +142,11 @@
|
||||||
#define gadget_is_s3c_hsotg(g) 0
|
#define gadget_is_s3c_hsotg(g) 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_USB_GADGET_EG20T
|
||||||
|
#define gadget_is_pch(g) (!strcmp("pch_udc", (g)->name))
|
||||||
|
#else
|
||||||
|
#define gadget_is_pch(g) 0
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* usb_gadget_controller_number - support bcdDevice id convention
|
* usb_gadget_controller_number - support bcdDevice id convention
|
||||||
|
@ -200,6 +205,8 @@ static inline int usb_gadget_controller_number(struct usb_gadget *gadget)
|
||||||
return 0x25;
|
return 0x25;
|
||||||
else if (gadget_is_s3c_hsotg(gadget))
|
else if (gadget_is_s3c_hsotg(gadget))
|
||||||
return 0x26;
|
return 0x26;
|
||||||
|
else if (gadget_is_pch(gadget))
|
||||||
|
return 0x27;
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue