On Sun, Jun 16, 2013 at 04:35:10PM +0300, Aaro Koskinen wrote:
> Transceivers need to manage OTG controller state on OMAP1 to enable
> switching between peripheral and host modes. Provide a driver for that.
> 
> Signed-off-by: Aaro Koskinen <aaro.koski...@iki.fi>
> ---
>  drivers/usb/phy/Kconfig        |  10 +++
>  drivers/usb/phy/Makefile       |   1 +
>  drivers/usb/phy/phy-omap-otg.c | 171 
> +++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 182 insertions(+)
>  create mode 100644 drivers/usb/phy/phy-omap-otg.c
> 
> diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
> index 7ef3eb8..14a50bd 100644
> --- a/drivers/usb/phy/Kconfig
> +++ b/drivers/usb/phy/Kconfig
> @@ -135,6 +135,16 @@ config USB_GPIO_VBUS
>         optionally control of a D+ pullup GPIO as well as a VBUS
>         current limit regulator.
>  
> +config OMAP_OTG
> +     tristate "OMAP USB OTG controller driver"
> +     depends on ARCH_OMAP_OTG && EXTCON
> +     help
> +       Enable this to support some transceivers on OMAP1 platforms. OTG
> +       controller is needed to switch between host and peripheral modes.
> +
> +       This driver can also be built as a module. If so, the module
> +       will be called omap-otg.
> +
>  config USB_ISP1301
>       tristate "NXP ISP1301 USB transceiver support"
>       depends on USB || USB_GADGET
> diff --git a/drivers/usb/phy/Makefile b/drivers/usb/phy/Makefile
> index a9169cb..c7f391b 100644
> --- a/drivers/usb/phy/Makefile
> +++ b/drivers/usb/phy/Makefile
> @@ -15,6 +15,7 @@ obj-$(CONFIG_ISP1301_OMAP)          += phy-isp1301-omap.o
>  obj-$(CONFIG_MV_U3D_PHY)             += phy-mv-u3d-usb.o
>  obj-$(CONFIG_NOP_USB_XCEIV)          += phy-nop.o
>  obj-$(CONFIG_OMAP_CONTROL_USB)               += phy-omap-control.o
> +obj-$(CONFIG_OMAP_OTG)                       += phy-omap-otg.o
>  obj-$(CONFIG_OMAP_USB2)                      += phy-omap-usb2.o
>  obj-$(CONFIG_OMAP_USB3)                      += phy-omap-usb3.o
>  obj-$(CONFIG_SAMSUNG_USBPHY)         += phy-samsung-usb.o
> diff --git a/drivers/usb/phy/phy-omap-otg.c b/drivers/usb/phy/phy-omap-otg.c
> new file mode 100644
> index 0000000..2a8c674
> --- /dev/null
> +++ b/drivers/usb/phy/phy-omap-otg.c
> @@ -0,0 +1,171 @@
> +/*
> + * OMAP OTG controller driver
> + *
> + * Based on code from tahvo-usb.c and isp1301_omap.c drivers.
> + *
> + * Copyright (C) 2005-2006 Nokia Corporation
> + * Copyright (C) 2004 Texas Instruments
> + * Copyright (C) 2004 David Brownell
> + *
> + * This file is subject to the terms and conditions of the GNU General
> + * Public License. See the file "COPYING" in the main directory of this
> + * archive for more details.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + */
> +
> +#include <linux/io.h>
> +#include <linux/err.h>
> +#include <linux/extcon.h>
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/interrupt.h>
> +#include <linux/platform_device.h>
> +#include <linux/platform_data/usb-omap1.h>
> +
> +#include <mach/usb.h>

no mach/* includes under drivers/usb, sorry. It's a pain to fix those up
later.

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to