[PATCH 3/4] ARM: OMAP: Make FS USB omap1 only

Felipe Balbi balbi at ti.com
Tue May 22 03:08:25 EDT 2012


On Mon, May 21, 2012 at 12:01:09PM -0700, Tony Lindgren wrote:
> As the FS USB code is not being actively used for omap2+
> there's no point keeping it around for omap2+.
> 
> Let's make the FS USB platform init code omap1 only so
> we can remove the last user of omap_read/write for omap2+,
> and simplify things for further USB, DMA, and device tree
> related work.
> 
> While at it, also group the mach includes for the related
> drivers.
> 
> Cc: linux-usb at vger.kernel.org
> Cc: Felipe Balbi <balbi at ti.com>
> Cc: Kyungmin Park <kyungmin.park at samsung.com>
> Signed-off-by: Tony Lindgren <tony at atomide.com>

Acked-by: Felipe Balbi <balbi at ti.com>

Are you planning to send this on v3.5 or v3.6 ? I guess it's too late
for v3.5 ?!?

> ---
>  arch/arm/mach-omap1/board-ams-delta.c   |    2 
>  arch/arm/mach-omap1/board-generic.c     |    4 -
>  arch/arm/mach-omap1/board-h2.c          |    2 
>  arch/arm/mach-omap1/board-h3.c          |    2 
>  arch/arm/mach-omap1/board-htcherald.c   |    2 
>  arch/arm/mach-omap1/board-innovator.c   |    2 
>  arch/arm/mach-omap1/board-nokia770.c    |    2 
>  arch/arm/mach-omap1/board-osk.c         |    2 
>  arch/arm/mach-omap1/board-palmte.c      |    2 
>  arch/arm/mach-omap1/board-palmtt.c      |    2 
>  arch/arm/mach-omap1/board-palmz71.c     |    2 
>  arch/arm/mach-omap1/board-sx1.c         |    2 
>  arch/arm/mach-omap1/board-voiceblue.c   |    3 
>  arch/arm/mach-omap1/clock_data.c        |    3 
>  arch/arm/mach-omap1/include/mach/usb.h  |  165 ++++++++++++++++++++++++++
>  arch/arm/mach-omap1/usb.c               |  116 ++++++++++++++++++
>  arch/arm/plat-omap/Makefile             |    2 
>  arch/arm/plat-omap/include/plat/board.h |   38 ------
>  arch/arm/plat-omap/include/plat/usb.h   |  196 -------------------------------
>  arch/arm/plat-omap/usb.c                |  145 -----------------------
>  drivers/usb/gadget/Kconfig              |    2 
>  drivers/usb/gadget/omap_udc.c           |    3 
>  drivers/usb/host/Kconfig                |    2 
>  drivers/usb/host/ohci-omap.c            |    7 +
>  drivers/usb/otg/isp1301_omap.c          |    2 
>  25 files changed, 310 insertions(+), 400 deletions(-)
>  create mode 100644 arch/arm/mach-omap1/include/mach/usb.h
>  delete mode 100644 arch/arm/plat-omap/usb.c
> 
> diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c
> index f2f8a58..c534698 100644
> --- a/arch/arm/mach-omap1/board-ams-delta.c
> +++ b/arch/arm/mach-omap1/board-ams-delta.c
> @@ -37,12 +37,12 @@
>  #include <plat/board-ams-delta.h>
>  #include <plat/keypad.h>
>  #include <plat/mux.h>
> -#include <plat/usb.h>
>  #include <plat/board.h>
>  
>  #include <mach/hardware.h>
>  #include <mach/ams-delta-fiq.h>
>  #include <mach/camera.h>
> +#include <mach/usb.h>
>  
>  #include "iomap.h"
>  #include "common.h"
> diff --git a/arch/arm/mach-omap1/board-generic.c b/arch/arm/mach-omap1/board-generic.c
> index e75e2d5..6ec385e 100644
> --- a/arch/arm/mach-omap1/board-generic.c
> +++ b/arch/arm/mach-omap1/board-generic.c
> @@ -23,8 +23,10 @@
>  #include <asm/mach/map.h>
>  
>  #include <plat/mux.h>
> -#include <plat/usb.h>
>  #include <plat/board.h>
> +
> +#include <mach/usb.h>
> +
>  #include "common.h"
>  
>  /* assume no Mini-AB port */
> diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c
> index a28e989..44a4ab1 100644
> --- a/arch/arm/mach-omap1/board-h2.c
> +++ b/arch/arm/mach-omap1/board-h2.c
> @@ -40,11 +40,11 @@
>  #include <plat/dma.h>
>  #include <plat/tc.h>
>  #include <plat/irda.h>
> -#include <plat/usb.h>
>  #include <plat/keypad.h>
>  #include <plat/flash.h>
>  
>  #include <mach/hardware.h>
> +#include <mach/usb.h>
>  
>  #include "common.h"
>  #include "board-h2.h"
> diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c
> index 108a864..86cb5a0 100644
> --- a/arch/arm/mach-omap1/board-h3.c
> +++ b/arch/arm/mach-omap1/board-h3.c
> @@ -40,13 +40,13 @@
>  
>  #include <plat/mux.h>
>  #include <plat/tc.h>
> -#include <plat/usb.h>
>  #include <plat/keypad.h>
>  #include <plat/dma.h>
>  #include <plat/flash.h>
>  
>  #include <mach/hardware.h>
>  #include <mach/irqs.h>
> +#include <mach/usb.h>
>  
>  #include "common.h"
>  #include "board-h3.h"
> diff --git a/arch/arm/mach-omap1/board-htcherald.c b/arch/arm/mach-omap1/board-htcherald.c
> index 118a9d4..b3f6e94 100644
> --- a/arch/arm/mach-omap1/board-htcherald.c
> +++ b/arch/arm/mach-omap1/board-htcherald.c
> @@ -44,10 +44,10 @@
>  #include <plat/omap7xx.h>
>  #include <plat/board.h>
>  #include <plat/keypad.h>
> -#include <plat/usb.h>
>  #include <plat/mmc.h>
>  
>  #include <mach/irqs.h>
> +#include <mach/usb.h>
>  
>  #include "common.h"
>  
> diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c
> index 7970223..f21c296 100644
> --- a/arch/arm/mach-omap1/board-innovator.c
> +++ b/arch/arm/mach-omap1/board-innovator.c
> @@ -35,11 +35,11 @@
>  #include <plat/flash.h>
>  #include <plat/fpga.h>
>  #include <plat/tc.h>
> -#include <plat/usb.h>
>  #include <plat/keypad.h>
>  #include <plat/mmc.h>
>  
>  #include <mach/hardware.h>
> +#include <mach/usb.h>
>  
>  #include "iomap.h"
>  #include "common.h"
> diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c
> index 7212ae9..4007a372 100644
> --- a/arch/arm/mach-omap1/board-nokia770.c
> +++ b/arch/arm/mach-omap1/board-nokia770.c
> @@ -26,7 +26,6 @@
>  #include <asm/mach/map.h>
>  
>  #include <plat/mux.h>
> -#include <plat/usb.h>
>  #include <plat/board.h>
>  #include <plat/keypad.h>
>  #include <plat/lcd_mipid.h>
> @@ -34,6 +33,7 @@
>  #include <plat/clock.h>
>  
>  #include <mach/hardware.h>
> +#include <mach/usb.h>
>  
>  #include "common.h"
>  
> diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c
> index da8d872..8784705 100644
> --- a/arch/arm/mach-omap1/board-osk.c
> +++ b/arch/arm/mach-omap1/board-osk.c
> @@ -45,11 +45,11 @@
>  #include <asm/mach/map.h>
>  
>  #include <plat/flash.h>
> -#include <plat/usb.h>
>  #include <plat/mux.h>
>  #include <plat/tc.h>
>  
>  #include <mach/hardware.h>
> +#include <mach/usb.h>
>  
>  #include "common.h"
>  
> diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c
> index 949b62a..26bcb9d 100644
> --- a/arch/arm/mach-omap1/board-palmte.c
> +++ b/arch/arm/mach-omap1/board-palmte.c
> @@ -35,7 +35,6 @@
>  
>  #include <plat/flash.h>
>  #include <plat/mux.h>
> -#include <plat/usb.h>
>  #include <plat/tc.h>
>  #include <plat/dma.h>
>  #include <plat/board.h>
> @@ -43,6 +42,7 @@
>  #include <plat/keypad.h>
>  
>  #include <mach/hardware.h>
> +#include <mach/usb.h>
>  
>  #include "common.h"
>  
> diff --git a/arch/arm/mach-omap1/board-palmtt.c b/arch/arm/mach-omap1/board-palmtt.c
> index 7f1e1cf..4d09944 100644
> --- a/arch/arm/mach-omap1/board-palmtt.c
> +++ b/arch/arm/mach-omap1/board-palmtt.c
> @@ -35,7 +35,6 @@
>  #include <plat/led.h>
>  #include <plat/flash.h>
>  #include <plat/mux.h>
> -#include <plat/usb.h>
>  #include <plat/dma.h>
>  #include <plat/tc.h>
>  #include <plat/board.h>
> @@ -43,6 +42,7 @@
>  #include <plat/keypad.h>
>  
>  #include <mach/hardware.h>
> +#include <mach/usb.h>
>  
>  #include "common.h"
>  
> diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c
> index 3c71c6b..cc71a26 100644
> --- a/arch/arm/mach-omap1/board-palmz71.c
> +++ b/arch/arm/mach-omap1/board-palmz71.c
> @@ -37,7 +37,6 @@
>  
>  #include <plat/flash.h>
>  #include <plat/mux.h>
> -#include <plat/usb.h>
>  #include <plat/dma.h>
>  #include <plat/tc.h>
>  #include <plat/board.h>
> @@ -45,6 +44,7 @@
>  #include <plat/keypad.h>
>  
>  #include <mach/hardware.h>
> +#include <mach/usb.h>
>  
>  #include "common.h"
>  
> diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c
> index 3b7b82b..8c665bd 100644
> --- a/arch/arm/mach-omap1/board-sx1.c
> +++ b/arch/arm/mach-omap1/board-sx1.c
> @@ -37,13 +37,13 @@
>  #include <plat/mux.h>
>  #include <plat/dma.h>
>  #include <plat/irda.h>
> -#include <plat/usb.h>
>  #include <plat/tc.h>
>  #include <plat/board.h>
>  #include <plat/keypad.h>
>  #include <plat/board-sx1.h>
>  
>  #include <mach/hardware.h>
> +#include <mach/usb.h>
>  
>  #include "common.h"
>  
> diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c
> index afd67f0..3497769 100644
> --- a/arch/arm/mach-omap1/board-voiceblue.c
> +++ b/arch/arm/mach-omap1/board-voiceblue.c
> @@ -35,9 +35,10 @@
>  #include <plat/flash.h>
>  #include <plat/mux.h>
>  #include <plat/tc.h>
> -#include <plat/usb.h>
> +#include <plat/board.h>
>  
>  #include <mach/hardware.h>
> +#include <mach/usb.h>
>  
>  #include "common.h"
>  
> diff --git a/arch/arm/mach-omap1/clock_data.c b/arch/arm/mach-omap1/clock_data.c
> index c6ce93f..c007d80 100644
> --- a/arch/arm/mach-omap1/clock_data.c
> +++ b/arch/arm/mach-omap1/clock_data.c
> @@ -25,10 +25,11 @@
>  #include <plat/clock.h>
>  #include <plat/cpu.h>
>  #include <plat/clkdev_omap.h>
> +#include <plat/board.h>
>  #include <plat/sram.h>	/* for omap_sram_reprogram_clock() */
> -#include <plat/usb.h>   /* for OTG_BASE */
>  
>  #include <mach/hardware.h>
> +#include <mach/usb.h>   /* for OTG_BASE */
>  
>  #include "iomap.h"
>  #include "clock.h"
> diff --git a/arch/arm/mach-omap1/include/mach/usb.h b/arch/arm/mach-omap1/include/mach/usb.h
> new file mode 100644
> index 0000000..753cd5c
> --- /dev/null
> +++ b/arch/arm/mach-omap1/include/mach/usb.h
> @@ -0,0 +1,165 @@
> +/*
> + * FIXME correct answer depends on hmc_mode,
> + * as does (on omap1) any nonzero value for config->otg port number
> + */
> +#ifdef	CONFIG_USB_GADGET_OMAP
> +#define	is_usb0_device(config)	1
> +#else
> +#define	is_usb0_device(config)	0
> +#endif
> +
> +struct omap_usb_config {
> +	/* Configure drivers according to the connectors on your board:
> +	 *  - "A" connector (rectagular)
> +	 *	... for host/OHCI use, set "register_host".
> +	 *  - "B" connector (squarish) or "Mini-B"
> +	 *	... for device/gadget use, set "register_dev".
> +	 *  - "Mini-AB" connector (very similar to Mini-B)
> +	 *	... for OTG use as device OR host, initialize "otg"
> +	 */
> +	unsigned	register_host:1;
> +	unsigned	register_dev:1;
> +	u8		otg;	/* port number, 1-based:  usb1 == 2 */
> +
> +	u8		hmc_mode;
> +
> +	/* implicitly true if otg:  host supports remote wakeup? */
> +	u8		rwc;
> +
> +	/* signaling pins used to talk to transceiver on usbN:
> +	 *  0 == usbN unused
> +	 *  2 == usb0-only, using internal transceiver
> +	 *  3 == 3 wire bidirectional
> +	 *  4 == 4 wire bidirectional
> +	 *  6 == 6 wire unidirectional (or TLL)
> +	 */
> +	u8		pins[3];
> +
> +	struct platform_device *udc_device;
> +	struct platform_device *ohci_device;
> +	struct platform_device *otg_device;
> +
> +	u32 (*usb0_init)(unsigned nwires, unsigned is_device);
> +	u32 (*usb1_init)(unsigned nwires);
> +	u32 (*usb2_init)(unsigned nwires, unsigned alt_pingroup);
> +
> +	int (*ocpi_enable)(void);
> +};
> +
> +void omap_otg_init(struct omap_usb_config *config);
> +
> +#if defined(CONFIG_USB) || defined(CONFIG_USB_MODULE)
> +void omap1_usb_init(struct omap_usb_config *pdata);
> +#else
> +static inline void omap1_usb_init(struct omap_usb_config *pdata)
> +{
> +}
> +#endif
> +
> +#define OMAP1_OTG_BASE			0xfffb0400
> +#define OMAP1_UDC_BASE			0xfffb4000
> +#define OMAP1_OHCI_BASE			0xfffba000
> +
> +#define OMAP2_OHCI_BASE			0x4805e000
> +#define OMAP2_UDC_BASE			0x4805e200
> +#define OMAP2_OTG_BASE			0x4805e300
> +#define OTG_BASE			OMAP1_OTG_BASE
> +#define UDC_BASE			OMAP1_UDC_BASE
> +#define OMAP_OHCI_BASE			OMAP1_OHCI_BASE
> +
> +/*
> + * OTG and transceiver registers, for OMAPs starting with ARM926
> + */
> +#define OTG_REV				(OTG_BASE + 0x00)
> +#define OTG_SYSCON_1			(OTG_BASE + 0x04)
> +#	define	 USB2_TRX_MODE(w)	(((w)>>24)&0x07)
> +#	define	 USB1_TRX_MODE(w)	(((w)>>20)&0x07)
> +#	define	 USB0_TRX_MODE(w)	(((w)>>16)&0x07)
> +#	define	 OTG_IDLE_EN		(1 << 15)
> +#	define	 HST_IDLE_EN		(1 << 14)
> +#	define	 DEV_IDLE_EN		(1 << 13)
> +#	define	 OTG_RESET_DONE		(1 << 2)
> +#	define	 OTG_SOFT_RESET		(1 << 1)
> +#define OTG_SYSCON_2			(OTG_BASE + 0x08)
> +#	define	 OTG_EN			(1 << 31)
> +#	define	 USBX_SYNCHRO		(1 << 30)
> +#	define	 OTG_MST16		(1 << 29)
> +#	define	 SRP_GPDATA		(1 << 28)
> +#	define	 SRP_GPDVBUS		(1 << 27)
> +#	define	 SRP_GPUVBUS(w)		(((w)>>24)&0x07)
> +#	define	 A_WAIT_VRISE(w)	(((w)>>20)&0x07)
> +#	define	 B_ASE_BRST(w)		(((w)>>16)&0x07)
> +#	define	 SRP_DPW		(1 << 14)
> +#	define	 SRP_DATA		(1 << 13)
> +#	define	 SRP_VBUS		(1 << 12)
> +#	define	 OTG_PADEN		(1 << 10)
> +#	define	 HMC_PADEN		(1 << 9)
> +#	define	 UHOST_EN		(1 << 8)
> +#	define	 HMC_TLLSPEED		(1 << 7)
> +#	define	 HMC_TLLATTACH		(1 << 6)
> +#	define	 OTG_HMC(w)		(((w)>>0)&0x3f)
> +#define OTG_CTRL			(OTG_BASE + 0x0c)
> +#	define	 OTG_USB2_EN		(1 << 29)
> +#	define	 OTG_USB2_DP		(1 << 28)
> +#	define	 OTG_USB2_DM		(1 << 27)
> +#	define	 OTG_USB1_EN		(1 << 26)
> +#	define	 OTG_USB1_DP		(1 << 25)
> +#	define	 OTG_USB1_DM		(1 << 24)
> +#	define	 OTG_USB0_EN		(1 << 23)
> +#	define	 OTG_USB0_DP		(1 << 22)
> +#	define	 OTG_USB0_DM		(1 << 21)
> +#	define	 OTG_ASESSVLD		(1 << 20)
> +#	define	 OTG_BSESSEND		(1 << 19)
> +#	define	 OTG_BSESSVLD		(1 << 18)
> +#	define	 OTG_VBUSVLD		(1 << 17)
> +#	define	 OTG_ID			(1 << 16)
> +#	define	 OTG_DRIVER_SEL		(1 << 15)
> +#	define	 OTG_A_SETB_HNPEN	(1 << 12)
> +#	define	 OTG_A_BUSREQ		(1 << 11)
> +#	define	 OTG_B_HNPEN		(1 << 9)
> +#	define	 OTG_B_BUSREQ		(1 << 8)
> +#	define	 OTG_BUSDROP		(1 << 7)
> +#	define	 OTG_PULLDOWN		(1 << 5)
> +#	define	 OTG_PULLUP		(1 << 4)
> +#	define	 OTG_DRV_VBUS		(1 << 3)
> +#	define	 OTG_PD_VBUS		(1 << 2)
> +#	define	 OTG_PU_VBUS		(1 << 1)
> +#	define	 OTG_PU_ID		(1 << 0)
> +#define OTG_IRQ_EN			(OTG_BASE + 0x10)	/* 16-bit */
> +#	define	 DRIVER_SWITCH		(1 << 15)
> +#	define	 A_VBUS_ERR		(1 << 13)
> +#	define	 A_REQ_TMROUT		(1 << 12)
> +#	define	 A_SRP_DETECT		(1 << 11)
> +#	define	 B_HNP_FAIL		(1 << 10)
> +#	define	 B_SRP_TMROUT		(1 << 9)
> +#	define	 B_SRP_DONE		(1 << 8)
> +#	define	 B_SRP_STARTED		(1 << 7)
> +#	define	 OPRT_CHG		(1 << 0)
> +#define OTG_IRQ_SRC			(OTG_BASE + 0x14)	/* 16-bit */
> +	// same bits as in IRQ_EN
> +#define OTG_OUTCTRL			(OTG_BASE + 0x18)	/* 16-bit */
> +#	define	 OTGVPD			(1 << 14)
> +#	define	 OTGVPU			(1 << 13)
> +#	define	 OTGPUID		(1 << 12)
> +#	define	 USB2VDR		(1 << 10)
> +#	define	 USB2PDEN		(1 << 9)
> +#	define	 USB2PUEN		(1 << 8)
> +#	define	 USB1VDR		(1 << 6)
> +#	define	 USB1PDEN		(1 << 5)
> +#	define	 USB1PUEN		(1 << 4)
> +#	define	 USB0VDR		(1 << 2)
> +#	define	 USB0PDEN		(1 << 1)
> +#	define	 USB0PUEN		(1 << 0)
> +#define OTG_TEST			(OTG_BASE + 0x20)	/* 16-bit */
> +#define OTG_VENDOR_CODE			(OTG_BASE + 0xfc)	/* 16-bit */
> +
> +/*-------------------------------------------------------------------------*/
> +
> +/* OMAP1 */
> +#define	USB_TRANSCEIVER_CTRL		(0xfffe1000 + 0x0064)
> +#	define	CONF_USB2_UNI_R		(1 << 8)
> +#	define	CONF_USB1_UNI_R		(1 << 7)
> +#	define	CONF_USB_PORT0_R(x)	(((x)>>4)&0x7)
> +#	define	CONF_USB0_ISOLATE_R	(1 << 3)
> +#	define	CONF_USB_PWRDN_DM_R	(1 << 2)
> +#	define	CONF_USB_PWRDN_DP_R	(1 << 1)
> diff --git a/arch/arm/mach-omap1/usb.c b/arch/arm/mach-omap1/usb.c
> index e61afd9..65f8817 100644
> --- a/arch/arm/mach-omap1/usb.c
> +++ b/arch/arm/mach-omap1/usb.c
> @@ -27,7 +27,8 @@
>  #include <asm/irq.h>
>  
>  #include <plat/mux.h>
> -#include <plat/usb.h>
> +
> +#include <mach/usb.h>
>  
>  #include "common.h"
>  
> @@ -55,6 +56,119 @@
>  #define INT_USB_IRQ_HGEN	INT_USB_HHC_1
>  #define INT_USB_IRQ_OTG		IH2_BASE + 8
>  
> +#ifdef	CONFIG_ARCH_OMAP_OTG
> +
> +void __init
> +omap_otg_init(struct omap_usb_config *config)
> +{
> +	u32		syscon;
> +	int		alt_pingroup = 0;
> +
> +	/* NOTE:  no bus or clock setup (yet?) */
> +
> +	syscon = omap_readl(OTG_SYSCON_1) & 0xffff;
> +	if (!(syscon & OTG_RESET_DONE))
> +		pr_debug("USB resets not complete?\n");
> +
> +	//omap_writew(0, OTG_IRQ_EN);
> +
> +	/* pin muxing and transceiver pinouts */
> +	if (config->pins[0] > 2)	/* alt pingroup 2 */
> +		alt_pingroup = 1;
> +	syscon |= config->usb0_init(config->pins[0], is_usb0_device(config));
> +	syscon |= config->usb1_init(config->pins[1]);
> +	syscon |= config->usb2_init(config->pins[2], alt_pingroup);
> +	pr_debug("OTG_SYSCON_1 = %08x\n", omap_readl(OTG_SYSCON_1));
> +	omap_writel(syscon, OTG_SYSCON_1);
> +
> +	syscon = config->hmc_mode;
> +	syscon |= USBX_SYNCHRO | (4 << 16) /* B_ASE0_BRST */;
> +#ifdef	CONFIG_USB_OTG
> +	if (config->otg)
> +		syscon |= OTG_EN;
> +#endif
> +	if (cpu_class_is_omap1())
> +		pr_debug("USB_TRANSCEIVER_CTRL = %03x\n",
> +			 omap_readl(USB_TRANSCEIVER_CTRL));
> +	pr_debug("OTG_SYSCON_2 = %08x\n", omap_readl(OTG_SYSCON_2));
> +	omap_writel(syscon, OTG_SYSCON_2);
> +
> +	printk("USB: hmc %d", config->hmc_mode);
> +	if (!alt_pingroup)
> +		printk(", usb2 alt %d wires", config->pins[2]);
> +	else if (config->pins[0])
> +		printk(", usb0 %d wires%s", config->pins[0],
> +			is_usb0_device(config) ? " (dev)" : "");
> +	if (config->pins[1])
> +		printk(", usb1 %d wires", config->pins[1]);
> +	if (!alt_pingroup && config->pins[2])
> +		printk(", usb2 %d wires", config->pins[2]);
> +	if (config->otg)
> +		printk(", Mini-AB on usb%d", config->otg - 1);
> +	printk("\n");
> +
> +	if (cpu_class_is_omap1()) {
> +		u16 w;
> +
> +		/* leave USB clocks/controllers off until needed */
> +		w = omap_readw(ULPD_SOFT_REQ);
> +		w &= ~SOFT_USB_CLK_REQ;
> +		omap_writew(w, ULPD_SOFT_REQ);
> +
> +		w = omap_readw(ULPD_CLOCK_CTRL);
> +		w &= ~USB_MCLK_EN;
> +		w |= DIS_USB_PVCI_CLK;
> +		omap_writew(w, ULPD_CLOCK_CTRL);
> +	}
> +	syscon = omap_readl(OTG_SYSCON_1);
> +	syscon |= HST_IDLE_EN|DEV_IDLE_EN|OTG_IDLE_EN;
> +
> +#ifdef	CONFIG_USB_GADGET_OMAP
> +	if (config->otg || config->register_dev) {
> +		struct platform_device *udc_device = config->udc_device;
> +		int status;
> +
> +		syscon &= ~DEV_IDLE_EN;
> +		udc_device->dev.platform_data = config;
> +		status = platform_device_register(udc_device);
> +		if (status)
> +			pr_debug("can't register UDC device, %d\n", status);
> +	}
> +#endif
> +
> +#if	defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
> +	if (config->otg || config->register_host) {
> +		struct platform_device *ohci_device = config->ohci_device;
> +		int status;
> +
> +		syscon &= ~HST_IDLE_EN;
> +		ohci_device->dev.platform_data = config;
> +		status = platform_device_register(ohci_device);
> +		if (status)
> +			pr_debug("can't register OHCI device, %d\n", status);
> +	}
> +#endif
> +
> +#ifdef	CONFIG_USB_OTG
> +	if (config->otg) {
> +		struct platform_device *otg_device = config->otg_device;
> +		int status;
> +
> +		syscon &= ~OTG_IDLE_EN;
> +		otg_device->dev.platform_data = config;
> +		status = platform_device_register(otg_device);
> +		if (status)
> +			pr_debug("can't register OTG device, %d\n", status);
> +	}
> +#endif
> +	pr_debug("OTG_SYSCON_1 = %08x\n", omap_readl(OTG_SYSCON_1));
> +	omap_writel(syscon, OTG_SYSCON_1);
> +}
> +
> +#else
> +void omap_otg_init(struct omap_usb_config *config) {}
> +#endif
> +
>  #ifdef	CONFIG_USB_GADGET_OMAP
>  
>  static struct resource udc_resources[] = {
> diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
> index ed8605f..6d87532 100644
> --- a/arch/arm/plat-omap/Makefile
> +++ b/arch/arm/plat-omap/Makefile
> @@ -4,7 +4,7 @@
>  
>  # Common support
>  obj-y := common.o sram.o clock.o devices.o dma.o mux.o \
> -	 usb.o fb.o counter_32k.o
> +	 fb.o counter_32k.o
>  obj-m :=
>  obj-n :=
>  obj-  :=
> diff --git a/arch/arm/plat-omap/include/plat/board.h b/arch/arm/plat-omap/include/plat/board.h
> index 4814c5b..e62f20a 100644
> --- a/arch/arm/plat-omap/include/plat/board.h
> +++ b/arch/arm/plat-omap/include/plat/board.h
> @@ -57,44 +57,6 @@ struct omap_camera_sensor_config {
>  	int (*power_off)(void * data);
>  };
>  
> -struct omap_usb_config {
> -	/* Configure drivers according to the connectors on your board:
> -	 *  - "A" connector (rectagular)
> -	 *	... for host/OHCI use, set "register_host".
> -	 *  - "B" connector (squarish) or "Mini-B"
> -	 *	... for device/gadget use, set "register_dev".
> -	 *  - "Mini-AB" connector (very similar to Mini-B)
> -	 *	... for OTG use as device OR host, initialize "otg"
> -	 */
> -	unsigned	register_host:1;
> -	unsigned	register_dev:1;
> -	u8		otg;	/* port number, 1-based:  usb1 == 2 */
> -
> -	u8		hmc_mode;
> -
> -	/* implicitly true if otg:  host supports remote wakeup? */
> -	u8		rwc;
> -
> -	/* signaling pins used to talk to transceiver on usbN:
> -	 *  0 == usbN unused
> -	 *  2 == usb0-only, using internal transceiver
> -	 *  3 == 3 wire bidirectional
> -	 *  4 == 4 wire bidirectional
> -	 *  6 == 6 wire unidirectional (or TLL)
> -	 */
> -	u8		pins[3];
> -
> -	struct platform_device *udc_device;
> -	struct platform_device *ohci_device;
> -	struct platform_device *otg_device;
> -
> -	u32 (*usb0_init)(unsigned nwires, unsigned is_device);
> -	u32 (*usb1_init)(unsigned nwires);
> -	u32 (*usb2_init)(unsigned nwires, unsigned alt_pingroup);
> -
> -	int (*ocpi_enable)(void);
> -};
> -
>  struct omap_lcd_config {
>  	char panel_name[16];
>  	char ctrl_name[16];
> diff --git a/arch/arm/plat-omap/include/plat/usb.h b/arch/arm/plat-omap/include/plat/usb.h
> index 762eeb0..548a4c8 100644
> --- a/arch/arm/plat-omap/include/plat/usb.h
> +++ b/arch/arm/plat-omap/include/plat/usb.h
> @@ -44,6 +44,8 @@ struct usbhs_omap_board_data {
>  	struct regulator		*regulator[OMAP3_HS_USB_PORTS];
>  };
>  
> +#ifdef CONFIG_ARCH_OMAP2PLUS
> +
>  struct ehci_hcd_omap_platform_data {
>  	enum usbhs_omap_port_mode	port_mode[OMAP3_HS_USB_PORTS];
>  	int				reset_gpio_port[OMAP3_HS_USB_PORTS];
> @@ -64,26 +66,6 @@ struct usbhs_omap_platform_data {
>  };
>  /*-------------------------------------------------------------------------*/
>  
> -#define OMAP1_OTG_BASE			0xfffb0400
> -#define OMAP1_UDC_BASE			0xfffb4000
> -#define OMAP1_OHCI_BASE			0xfffba000
> -
> -#define OMAP2_OHCI_BASE			0x4805e000
> -#define OMAP2_UDC_BASE			0x4805e200
> -#define OMAP2_OTG_BASE			0x4805e300
> -
> -#ifdef CONFIG_ARCH_OMAP1
> -
> -#define OTG_BASE			OMAP1_OTG_BASE
> -#define UDC_BASE			OMAP1_UDC_BASE
> -#define OMAP_OHCI_BASE			OMAP1_OHCI_BASE
> -
> -#else
> -
> -#define OTG_BASE			OMAP2_OTG_BASE
> -#define UDC_BASE			OMAP2_UDC_BASE
> -#define OMAP_OHCI_BASE			OMAP2_OHCI_BASE
> -
>  struct omap_musb_board_data {
>  	u8	interface_type;
>  	u8	mode;
> @@ -107,44 +89,6 @@ extern int omap4430_phy_init(struct device *dev);
>  extern int omap4430_phy_exit(struct device *dev);
>  extern int omap4430_phy_suspend(struct device *dev, int suspend);
>  
> -/*
> - * NOTE: Please update omap USB drivers to use ioremap + read/write
> - */
> -
> -#define OMAP2_L4_IO_OFFSET	0xb2000000
> -#define OMAP2_L4_IO_ADDRESS(pa)	IOMEM((pa) + OMAP2_L4_IO_OFFSET)
> -
> -static inline u8 omap_readb(u32 pa)
> -{
> -	return __raw_readb(OMAP2_L4_IO_ADDRESS(pa));
> -}
> -
> -static inline u16 omap_readw(u32 pa)
> -{
> -	return __raw_readw(OMAP2_L4_IO_ADDRESS(pa));
> -}
> -
> -static inline u32 omap_readl(u32 pa)
> -{
> -	return __raw_readl(OMAP2_L4_IO_ADDRESS(pa));
> -}
> -
> -static inline void omap_writeb(u8 v, u32 pa)
> -{
> -	__raw_writeb(v, OMAP2_L4_IO_ADDRESS(pa));
> -}
> -
> -
> -static inline void omap_writew(u16 v, u32 pa)
> -{
> -	__raw_writew(v, OMAP2_L4_IO_ADDRESS(pa));
> -}
> -
> -static inline void omap_writel(u32 v, u32 pa)
> -{
> -	__raw_writel(v, OMAP2_L4_IO_ADDRESS(pa));
> -}
> -
>  #endif
>  
>  extern void am35x_musb_reset(void);
> @@ -153,142 +97,6 @@ extern void am35x_musb_clear_irq(void);
>  extern void am35x_set_mode(u8 musb_mode);
>  extern void ti81xx_musb_phy_power(u8 on);
>  
> -/*
> - * FIXME correct answer depends on hmc_mode,
> - * as does (on omap1) any nonzero value for config->otg port number
> - */
> -#ifdef	CONFIG_USB_GADGET_OMAP
> -#define	is_usb0_device(config)	1
> -#else
> -#define	is_usb0_device(config)	0
> -#endif
> -
> -void omap_otg_init(struct omap_usb_config *config);
> -
> -#if defined(CONFIG_USB) || defined(CONFIG_USB_MODULE)
> -void omap1_usb_init(struct omap_usb_config *pdata);
> -#else
> -static inline void omap1_usb_init(struct omap_usb_config *pdata)
> -{
> -}
> -#endif
> -
> -#if defined(CONFIG_ARCH_OMAP_OTG) || defined(CONFIG_ARCH_OMAP_OTG_MODULE)
> -void omap2_usbfs_init(struct omap_usb_config *pdata);
> -#else
> -static inline void omap2_usbfs_init(struct omap_usb_config *pdata)
> -{
> -}
> -#endif
> -
> -/*-------------------------------------------------------------------------*/
> -
> -/*
> - * OTG and transceiver registers, for OMAPs starting with ARM926
> - */
> -#define OTG_REV				(OTG_BASE + 0x00)
> -#define OTG_SYSCON_1			(OTG_BASE + 0x04)
> -#	define	 USB2_TRX_MODE(w)	(((w)>>24)&0x07)
> -#	define	 USB1_TRX_MODE(w)	(((w)>>20)&0x07)
> -#	define	 USB0_TRX_MODE(w)	(((w)>>16)&0x07)
> -#	define	 OTG_IDLE_EN		(1 << 15)
> -#	define	 HST_IDLE_EN		(1 << 14)
> -#	define	 DEV_IDLE_EN		(1 << 13)
> -#	define	 OTG_RESET_DONE		(1 << 2)
> -#	define	 OTG_SOFT_RESET		(1 << 1)
> -#define OTG_SYSCON_2			(OTG_BASE + 0x08)
> -#	define	 OTG_EN			(1 << 31)
> -#	define	 USBX_SYNCHRO		(1 << 30)
> -#	define	 OTG_MST16		(1 << 29)
> -#	define	 SRP_GPDATA		(1 << 28)
> -#	define	 SRP_GPDVBUS		(1 << 27)
> -#	define	 SRP_GPUVBUS(w)		(((w)>>24)&0x07)
> -#	define	 A_WAIT_VRISE(w)	(((w)>>20)&0x07)
> -#	define	 B_ASE_BRST(w)		(((w)>>16)&0x07)
> -#	define	 SRP_DPW		(1 << 14)
> -#	define	 SRP_DATA		(1 << 13)
> -#	define	 SRP_VBUS		(1 << 12)
> -#	define	 OTG_PADEN		(1 << 10)
> -#	define	 HMC_PADEN		(1 << 9)
> -#	define	 UHOST_EN		(1 << 8)
> -#	define	 HMC_TLLSPEED		(1 << 7)
> -#	define	 HMC_TLLATTACH		(1 << 6)
> -#	define	 OTG_HMC(w)		(((w)>>0)&0x3f)
> -#define OTG_CTRL			(OTG_BASE + 0x0c)
> -#	define	 OTG_USB2_EN		(1 << 29)
> -#	define	 OTG_USB2_DP		(1 << 28)
> -#	define	 OTG_USB2_DM		(1 << 27)
> -#	define	 OTG_USB1_EN		(1 << 26)
> -#	define	 OTG_USB1_DP		(1 << 25)
> -#	define	 OTG_USB1_DM		(1 << 24)
> -#	define	 OTG_USB0_EN		(1 << 23)
> -#	define	 OTG_USB0_DP		(1 << 22)
> -#	define	 OTG_USB0_DM		(1 << 21)
> -#	define	 OTG_ASESSVLD		(1 << 20)
> -#	define	 OTG_BSESSEND		(1 << 19)
> -#	define	 OTG_BSESSVLD		(1 << 18)
> -#	define	 OTG_VBUSVLD		(1 << 17)
> -#	define	 OTG_ID			(1 << 16)
> -#	define	 OTG_DRIVER_SEL		(1 << 15)
> -#	define	 OTG_A_SETB_HNPEN	(1 << 12)
> -#	define	 OTG_A_BUSREQ		(1 << 11)
> -#	define	 OTG_B_HNPEN		(1 << 9)
> -#	define	 OTG_B_BUSREQ		(1 << 8)
> -#	define	 OTG_BUSDROP		(1 << 7)
> -#	define	 OTG_PULLDOWN		(1 << 5)
> -#	define	 OTG_PULLUP		(1 << 4)
> -#	define	 OTG_DRV_VBUS		(1 << 3)
> -#	define	 OTG_PD_VBUS		(1 << 2)
> -#	define	 OTG_PU_VBUS		(1 << 1)
> -#	define	 OTG_PU_ID		(1 << 0)
> -#define OTG_IRQ_EN			(OTG_BASE + 0x10)	/* 16-bit */
> -#	define	 DRIVER_SWITCH		(1 << 15)
> -#	define	 A_VBUS_ERR		(1 << 13)
> -#	define	 A_REQ_TMROUT		(1 << 12)
> -#	define	 A_SRP_DETECT		(1 << 11)
> -#	define	 B_HNP_FAIL		(1 << 10)
> -#	define	 B_SRP_TMROUT		(1 << 9)
> -#	define	 B_SRP_DONE		(1 << 8)
> -#	define	 B_SRP_STARTED		(1 << 7)
> -#	define	 OPRT_CHG		(1 << 0)
> -#define OTG_IRQ_SRC			(OTG_BASE + 0x14)	/* 16-bit */
> -	// same bits as in IRQ_EN
> -#define OTG_OUTCTRL			(OTG_BASE + 0x18)	/* 16-bit */
> -#	define	 OTGVPD			(1 << 14)
> -#	define	 OTGVPU			(1 << 13)
> -#	define	 OTGPUID		(1 << 12)
> -#	define	 USB2VDR		(1 << 10)
> -#	define	 USB2PDEN		(1 << 9)
> -#	define	 USB2PUEN		(1 << 8)
> -#	define	 USB1VDR		(1 << 6)
> -#	define	 USB1PDEN		(1 << 5)
> -#	define	 USB1PUEN		(1 << 4)
> -#	define	 USB0VDR		(1 << 2)
> -#	define	 USB0PDEN		(1 << 1)
> -#	define	 USB0PUEN		(1 << 0)
> -#define OTG_TEST			(OTG_BASE + 0x20)	/* 16-bit */
> -#define OTG_VENDOR_CODE			(OTG_BASE + 0xfc)	/* 16-bit */
> -
> -/*-------------------------------------------------------------------------*/
> -
> -/* OMAP1 */
> -#define	USB_TRANSCEIVER_CTRL		(0xfffe1000 + 0x0064)
> -#	define	CONF_USB2_UNI_R		(1 << 8)
> -#	define	CONF_USB1_UNI_R		(1 << 7)
> -#	define	CONF_USB_PORT0_R(x)	(((x)>>4)&0x7)
> -#	define	CONF_USB0_ISOLATE_R	(1 << 3)
> -#	define	CONF_USB_PWRDN_DM_R	(1 << 2)
> -#	define	CONF_USB_PWRDN_DP_R	(1 << 1)
> -
> -/* OMAP2 */
> -#	define	USB_UNIDIR			0x0
> -#	define	USB_UNIDIR_TLL			0x1
> -#	define	USB_BIDIR			0x2
> -#	define	USB_BIDIR_TLL			0x3
> -#	define	USBTXWRMODEI(port, x)	((x) << (22 - (port * 2)))
> -#	define	USBT2TLL5PI		(1 << 17)
> -#	define	USB0PUENACTLOI		(1 << 16)
> -#	define	USBSTANDBYCTRL		(1 << 15)
>  /* AM35x */
>  /* USB 2.0 PHY Control */
>  #define CONF2_PHY_GPIOMODE	(1 << 23)
> diff --git a/arch/arm/plat-omap/usb.c b/arch/arm/plat-omap/usb.c
> deleted file mode 100644
> index daa0327..0000000
> --- a/arch/arm/plat-omap/usb.c
> +++ /dev/null
> @@ -1,145 +0,0 @@
> - /*
> - * arch/arm/plat-omap/usb.c -- platform level USB initialization
> - *
> - * Copyright (C) 2004 Texas Instruments, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * 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.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
> - */
> -
> -#undef	DEBUG
> -
> -#include <linux/module.h>
> -#include <linux/kernel.h>
> -#include <linux/init.h>
> -#include <linux/platform_device.h>
> -#include <linux/io.h>
> -
> -#include <plat/usb.h>
> -#include <plat/board.h>
> -
> -#include <mach/hardware.h>
> -
> -#ifdef	CONFIG_ARCH_OMAP_OTG
> -
> -void __init
> -omap_otg_init(struct omap_usb_config *config)
> -{
> -	u32		syscon;
> -	int		alt_pingroup = 0;
> -
> -	/* NOTE:  no bus or clock setup (yet?) */
> -
> -	syscon = omap_readl(OTG_SYSCON_1) & 0xffff;
> -	if (!(syscon & OTG_RESET_DONE))
> -		pr_debug("USB resets not complete?\n");
> -
> -	//omap_writew(0, OTG_IRQ_EN);
> -
> -	/* pin muxing and transceiver pinouts */
> -	if (config->pins[0] > 2)	/* alt pingroup 2 */
> -		alt_pingroup = 1;
> -	syscon |= config->usb0_init(config->pins[0], is_usb0_device(config));
> -	syscon |= config->usb1_init(config->pins[1]);
> -	syscon |= config->usb2_init(config->pins[2], alt_pingroup);
> -	pr_debug("OTG_SYSCON_1 = %08x\n", omap_readl(OTG_SYSCON_1));
> -	omap_writel(syscon, OTG_SYSCON_1);
> -
> -	syscon = config->hmc_mode;
> -	syscon |= USBX_SYNCHRO | (4 << 16) /* B_ASE0_BRST */;
> -#ifdef	CONFIG_USB_OTG
> -	if (config->otg)
> -		syscon |= OTG_EN;
> -#endif
> -	if (cpu_class_is_omap1())
> -		pr_debug("USB_TRANSCEIVER_CTRL = %03x\n",
> -			 omap_readl(USB_TRANSCEIVER_CTRL));
> -	pr_debug("OTG_SYSCON_2 = %08x\n", omap_readl(OTG_SYSCON_2));
> -	omap_writel(syscon, OTG_SYSCON_2);
> -
> -	printk("USB: hmc %d", config->hmc_mode);
> -	if (!alt_pingroup)
> -		printk(", usb2 alt %d wires", config->pins[2]);
> -	else if (config->pins[0])
> -		printk(", usb0 %d wires%s", config->pins[0],
> -			is_usb0_device(config) ? " (dev)" : "");
> -	if (config->pins[1])
> -		printk(", usb1 %d wires", config->pins[1]);
> -	if (!alt_pingroup && config->pins[2])
> -		printk(", usb2 %d wires", config->pins[2]);
> -	if (config->otg)
> -		printk(", Mini-AB on usb%d", config->otg - 1);
> -	printk("\n");
> -
> -	if (cpu_class_is_omap1()) {
> -		u16 w;
> -
> -		/* leave USB clocks/controllers off until needed */
> -		w = omap_readw(ULPD_SOFT_REQ);
> -		w &= ~SOFT_USB_CLK_REQ;
> -		omap_writew(w, ULPD_SOFT_REQ);
> -
> -		w = omap_readw(ULPD_CLOCK_CTRL);
> -		w &= ~USB_MCLK_EN;
> -		w |= DIS_USB_PVCI_CLK;
> -		omap_writew(w, ULPD_CLOCK_CTRL);
> -	}
> -	syscon = omap_readl(OTG_SYSCON_1);
> -	syscon |= HST_IDLE_EN|DEV_IDLE_EN|OTG_IDLE_EN;
> -
> -#ifdef	CONFIG_USB_GADGET_OMAP
> -	if (config->otg || config->register_dev) {
> -		struct platform_device *udc_device = config->udc_device;
> -		int status;
> -
> -		syscon &= ~DEV_IDLE_EN;
> -		udc_device->dev.platform_data = config;
> -		status = platform_device_register(udc_device);
> -		if (status)
> -			pr_debug("can't register UDC device, %d\n", status);
> -	}
> -#endif
> -
> -#if	defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)
> -	if (config->otg || config->register_host) {
> -		struct platform_device *ohci_device = config->ohci_device;
> -		int status;
> -
> -		syscon &= ~HST_IDLE_EN;
> -		ohci_device->dev.platform_data = config;
> -		status = platform_device_register(ohci_device);
> -		if (status)
> -			pr_debug("can't register OHCI device, %d\n", status);
> -	}
> -#endif
> -
> -#ifdef	CONFIG_USB_OTG
> -	if (config->otg) {
> -		struct platform_device *otg_device = config->otg_device;
> -		int status;
> -
> -		syscon &= ~OTG_IDLE_EN;
> -		otg_device->dev.platform_data = config;
> -		status = platform_device_register(otg_device);
> -		if (status)
> -			pr_debug("can't register OTG device, %d\n", status);
> -	}
> -#endif
> -	pr_debug("OTG_SYSCON_1 = %08x\n", omap_readl(OTG_SYSCON_1));
> -	omap_writel(syscon, OTG_SYSCON_1);
> -}
> -
> -#else
> -void omap_otg_init(struct omap_usb_config *config) {}
> -#endif
> diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
> index bddc8fd..271ca16 100644
> --- a/drivers/usb/gadget/Kconfig
> +++ b/drivers/usb/gadget/Kconfig
> @@ -185,7 +185,7 @@ config USB_FUSB300
>  
>  config USB_OMAP
>  	tristate "OMAP USB Device Controller"
> -	depends on ARCH_OMAP
> +	depends on ARCH_OMAP1
>  	select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_H4_OTG
>  	select USB_OTG_UTILS if ARCH_OMAP
>  	help
> diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c
> index 7ba3246..2acf06c 100644
> --- a/drivers/usb/gadget/omap_udc.c
> +++ b/drivers/usb/gadget/omap_udc.c
> @@ -44,7 +44,8 @@
>  #include <asm/mach-types.h>
>  
>  #include <plat/dma.h>
> -#include <plat/usb.h>
> +
> +#include <mach/usb.h>
>  
>  #include "omap_udc.h"
>  
> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> index 83e58df..dcfaaa9 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
> @@ -308,7 +308,7 @@ config USB_OHCI_HCD
>  
>  config USB_OHCI_HCD_OMAP1
>  	bool "OHCI support for OMAP1/2 chips"
> -	depends on USB_OHCI_HCD && (ARCH_OMAP1 || ARCH_OMAP2)
> +	depends on USB_OHCI_HCD && ARCH_OMAP1
>  	default y
>  	---help---
>  	  Enables support for the OHCI controller on OMAP1/2 chips.
> diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c
> index 9ce35d0..b02c344 100644
> --- a/drivers/usb/host/ohci-omap.c
> +++ b/drivers/usb/host/ohci-omap.c
> @@ -20,14 +20,15 @@
>  #include <linux/clk.h>
>  #include <linux/gpio.h>
>  
> -#include <mach/hardware.h>
>  #include <asm/io.h>
>  #include <asm/mach-types.h>
>  
>  #include <plat/mux.h>
> -#include <mach/irqs.h>
>  #include <plat/fpga.h>
> -#include <plat/usb.h>
> +
> +#include <mach/hardware.h>
> +#include <mach/irqs.h>
> +#include <mach/usb.h>
>  
>  
>  /* OMAP-1510 OHCI has its own MMU for DMA */
> diff --git a/drivers/usb/otg/isp1301_omap.c b/drivers/usb/otg/isp1301_omap.c
> index 70cf5d7..e0558df 100644
> --- a/drivers/usb/otg/isp1301_omap.c
> +++ b/drivers/usb/otg/isp1301_omap.c
> @@ -36,9 +36,9 @@
>  #include <asm/irq.h>
>  #include <asm/mach-types.h>
>  
> -#include <plat/usb.h>
>  #include <plat/mux.h>
>  
> +#include <mach/usb.h>
>  
>  #ifndef	DEBUG
>  #undef	VERBOSE
> 

-- 
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120522/230da5a6/attachment-0001.sig>


More information about the linux-arm-kernel mailing list