mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
usb: fotg210: Collect pieces of dual mode controller
The Faraday FOTG210 is a dual-mode OTG USB controller that can act as host, peripheral or both. To be able to probe from one hardware description and to follow the pattern of other dual- mode controllers such as MUSB or MTU3 we need to collect the two, currently completely separate drivers in the same directory. After this, users need to select the main symbol USB_FOTG210 and then each respective subdriver. We pave the road to compile both drivers into the same kernel and select the one we want to use at probe() time, and possibly add OTG support in the end. This patch doesn't do much more than create the new symbol and collect the drivers in one place. We also add a comment for the section of dual-mode controllers in the Kconfig file so people can see what these selections are about. Also add myself as maintainer as there has been little response on my patches to these drivers. Cc: Fabian Vogt <fabian@ritter-vogt.de> Cc: Yuan-Hsin Chen <yhchen@faraday-tech.com> Cc: Felipe Balbi <balbi@kernel.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20221023144708.3596563-1-linus.walleij@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c5edb757ba
commit
1dd33a9f1b
13 changed files with 53 additions and 26 deletions
|
@ -7873,6 +7873,12 @@ F: fs/notify/fanotify/
|
|||
F: include/linux/fanotify.h
|
||||
F: include/uapi/linux/fanotify.h
|
||||
|
||||
FARADAY FOTG210 USB2 DUAL-ROLE CONTROLLER
|
||||
M: Linus Walleij <linus.walleij@linaro.org>
|
||||
L: linux-usb@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/usb/fotg210/
|
||||
|
||||
FARSYNC SYNCHRONOUS DRIVER
|
||||
M: Kevin Curtis <kevin.curtis@farsite.co.uk>
|
||||
S: Supported
|
||||
|
|
|
@ -111,8 +111,12 @@ source "drivers/usb/usbip/Kconfig"
|
|||
|
||||
endif
|
||||
|
||||
comment "USB dual-mode controller drivers"
|
||||
|
||||
source "drivers/usb/cdns3/Kconfig"
|
||||
|
||||
source "drivers/usb/fotg210/Kconfig"
|
||||
|
||||
source "drivers/usb/mtu3/Kconfig"
|
||||
|
||||
source "drivers/usb/musb/Kconfig"
|
||||
|
|
|
@ -17,6 +17,8 @@ obj-$(CONFIG_USB_CDNS_SUPPORT) += cdns3/
|
|||
obj-$(CONFIG_USB_CDNS3) += cdns3/
|
||||
obj-$(CONFIG_USB_CDNSP_PCI) += cdns3/
|
||||
|
||||
obj-$(CONFIG_USB_FOTG210) += fotg210/
|
||||
|
||||
obj-$(CONFIG_USB_MON) += mon/
|
||||
obj-$(CONFIG_USB_MTU3) += mtu3/
|
||||
|
||||
|
|
36
drivers/usb/fotg210/Kconfig
Normal file
36
drivers/usb/fotg210/Kconfig
Normal file
|
@ -0,0 +1,36 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
config USB_FOTG210
|
||||
tristate "Faraday FOTG210 USB2 Dual Role controller"
|
||||
depends on USB || USB_GADGET
|
||||
depends on HAS_DMA && HAS_IOMEM
|
||||
default ARCH_GEMINI
|
||||
help
|
||||
Faraday FOTG210 is a dual-mode USB controller that can act
|
||||
in both host controller and peripheral controller mode.
|
||||
|
||||
if USB_FOTG210
|
||||
|
||||
config USB_FOTG210_HCD
|
||||
tristate "Faraday FOTG210 USB Host Controller support"
|
||||
depends on USB
|
||||
help
|
||||
Faraday FOTG210 is an OTG controller which can be configured as
|
||||
an USB2.0 host. It is designed to meet USB2.0 EHCI specification
|
||||
with minor modification.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called fotg210-hcd.
|
||||
|
||||
config USB_FOTG210_UDC
|
||||
depends on USB_GADGET
|
||||
tristate "Faraday FOTG210 USB Peripheral Controller support"
|
||||
help
|
||||
Faraday USB2.0 OTG controller which can be configured as
|
||||
high speed or full speed USB device. This driver suppports
|
||||
Bulk Transfer so far.
|
||||
|
||||
Say "y" to link the driver statically, or "m" to build a
|
||||
dynamically linked module called "fotg210-udc".
|
||||
|
||||
endif
|
3
drivers/usb/fotg210/Makefile
Normal file
3
drivers/usb/fotg210/Makefile
Normal file
|
@ -0,0 +1,3 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
obj-$(CONFIG_USB_FOTG210_HCD) += fotg210-hcd.o
|
||||
obj-$(CONFIG_USB_FOTG210_UDC) += fotg210-udc.o
|
|
@ -77,7 +77,7 @@ MODULE_PARM_DESC(hird, "host initiated resume duration, +1 for each 75us");
|
|||
|
||||
#define INTR_MASK (STS_IAA | STS_FATAL | STS_PCD | STS_ERR | STS_INT)
|
||||
|
||||
#include "fotg210.h"
|
||||
#include "fotg210-hcd.h"
|
||||
|
||||
#define fotg210_dbg(fotg210, fmt, args...) \
|
||||
dev_dbg(fotg210_to_hcd(fotg210)->self.controller, fmt, ## args)
|
|
@ -16,7 +16,7 @@
|
|||
#include <linux/usb/ch9.h>
|
||||
#include <linux/usb/gadget.h>
|
||||
|
||||
#include "fotg210.h"
|
||||
#include "fotg210-udc.h"
|
||||
|
||||
#define DRIVER_DESC "FOTG210 USB Device Controller Driver"
|
||||
#define DRIVER_VERSION "30-April-2013"
|
|
@ -108,17 +108,6 @@ config USB_FUSB300
|
|||
help
|
||||
Faraday usb device controller FUSB300 driver
|
||||
|
||||
config USB_FOTG210_UDC
|
||||
depends on HAS_DMA
|
||||
tristate "Faraday FOTG210 USB Peripheral Controller"
|
||||
help
|
||||
Faraday USB2.0 OTG controller which can be configured as
|
||||
high speed or full speed USB device. This driver supppors
|
||||
Bulk Transfer so far.
|
||||
|
||||
Say "y" to link the driver statically, or "m" to build a
|
||||
dynamically linked module called "fotg210_udc".
|
||||
|
||||
config USB_GR_UDC
|
||||
tristate "Aeroflex Gaisler GRUSBDC USB Peripheral Controller Driver"
|
||||
depends on HAS_DMA
|
||||
|
|
|
@ -34,7 +34,6 @@ obj-$(CONFIG_USB_EG20T) += pch_udc.o
|
|||
obj-$(CONFIG_USB_MV_UDC) += mv_udc.o
|
||||
mv_udc-y := mv_udc_core.o
|
||||
obj-$(CONFIG_USB_FUSB300) += fusb300_udc.o
|
||||
obj-$(CONFIG_USB_FOTG210_UDC) += fotg210-udc.o
|
||||
obj-$(CONFIG_USB_MV_U3D) += mv_u3d_core.o
|
||||
obj-$(CONFIG_USB_GR_UDC) += gr_udc.o
|
||||
obj-$(CONFIG_USB_GADGET_XILINX) += udc-xilinx.o
|
||||
|
|
|
@ -389,17 +389,6 @@ config USB_ISP1362_HCD
|
|||
To compile this driver as a module, choose M here: the
|
||||
module will be called isp1362-hcd.
|
||||
|
||||
config USB_FOTG210_HCD
|
||||
tristate "FOTG210 HCD support"
|
||||
depends on USB && HAS_DMA && HAS_IOMEM
|
||||
help
|
||||
Faraday FOTG210 is an OTG controller which can be configured as
|
||||
an USB2.0 host. It is designed to meet USB2.0 EHCI specification
|
||||
with minor modification.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called fotg210-hcd.
|
||||
|
||||
config USB_MAX3421_HCD
|
||||
tristate "MAX3421 HCD (USB-over-SPI) support"
|
||||
depends on USB && SPI
|
||||
|
|
|
@ -84,6 +84,5 @@ obj-$(CONFIG_USB_EHCI_FSL) += ehci-fsl.o
|
|||
obj-$(CONFIG_USB_EHCI_MV) += ehci-mv.o
|
||||
obj-$(CONFIG_USB_HCD_BCMA) += bcma-hcd.o
|
||||
obj-$(CONFIG_USB_HCD_SSB) += ssb-hcd.o
|
||||
obj-$(CONFIG_USB_FOTG210_HCD) += fotg210-hcd.o
|
||||
obj-$(CONFIG_USB_MAX3421_HCD) += max3421-hcd.o
|
||||
obj-$(CONFIG_USB_XEN_HCD) += xen-hcd.o
|
||||
|
|
Loading…
Reference in a new issue