ARM: OMAP2+: Introduce local usb.h

Let's move what we can from plat/usb.h to the local usb.h
for ARM common zImage support.

This is needed so we can remove plat/usb.h for ARM common
zImage support.

Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Partha Basak <parthab@india.ti.com>
Cc: Keshava Munegowda <keshava_mgowda@ti.com>
Cc: linux-usb@vger.kernel.org
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
Tony Lindgren 2012-10-24 14:26:18 -07:00
parent 6f0c0580b7
commit 54db6eee06
32 changed files with 88 additions and 136 deletions

View File

@ -22,7 +22,6 @@
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <plat/cpu.h> #include <plat/cpu.h>
#include <plat/usb.h>
#include <plat/clock.h> #include <plat/clock.h>
#include <plat/sram.h> #include <plat/sram.h>
#include <plat/clkdev_omap.h> #include <plat/clkdev_omap.h>

View File

@ -35,7 +35,6 @@
#include "common.h" #include "common.h"
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <plat/usb.h>
#include "gpmc-smc91x.h" #include "gpmc-smc91x.h"
#include <video/omapdss.h> #include <video/omapdss.h>

View File

@ -30,7 +30,6 @@
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include <plat/usb.h>
#include "common.h" #include "common.h"
#include <plat/dma.h> #include <plat/dma.h>
#include <plat/gpmc.h> #include <plat/gpmc.h>

View File

@ -18,7 +18,6 @@
#include "common.h" #include "common.h"
#include "gpmc-smc91x.h" #include "gpmc-smc91x.h"
#include <plat/usb.h>
#include <mach/board-zoom.h> #include <mach/board-zoom.h>

View File

@ -34,7 +34,6 @@
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include "common.h" #include "common.h"
#include <plat/usb.h>
#include <plat/mmc.h> #include <plat/mmc.h>
#include "omap4-keypad.h" #include "omap4-keypad.h"
#include <video/omapdss.h> #include <video/omapdss.h>

View File

@ -26,7 +26,6 @@
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include "common.h" #include "common.h"
#include <plat/usb.h>
#include "am35xx-emac.h" #include "am35xx-emac.h"
#include "mux.h" #include "mux.h"

View File

@ -33,7 +33,6 @@
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include "common.h" #include "common.h"
#include <plat/usb.h>
#include <video/omapdss.h> #include <video/omapdss.h>
#include <video/omap-panel-generic-dpi.h> #include <video/omap-panel-generic-dpi.h>
#include <video/omap-panel-tfp410.h> #include <video/omap-panel-tfp410.h>

View File

@ -41,7 +41,6 @@
#include "common.h" #include "common.h"
#include <linux/platform_data/mtd-nand-omap2.h> #include <linux/platform_data/mtd-nand-omap2.h>
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <plat/usb.h>
#include <video/omapdss.h> #include <video/omapdss.h>
#include <video/omap-panel-generic-dpi.h> #include <video/omap-panel-generic-dpi.h>
#include <video/omap-panel-tfp410.h> #include <video/omap-panel-tfp410.h>

View File

@ -39,7 +39,6 @@
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include "common.h" #include "common.h"
#include <plat/usb.h>
#include <linux/platform_data/mtd-nand-omap2.h> #include <linux/platform_data/mtd-nand-omap2.h>
#include <plat/gpmc.h> #include <plat/gpmc.h>

View File

@ -41,7 +41,6 @@
#include "common.h" #include "common.h"
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <linux/platform_data/mtd-nand-omap2.h> #include <linux/platform_data/mtd-nand-omap2.h>
#include <plat/usb.h>
#include <video/omapdss.h> #include <video/omapdss.h>
#include <video/omap-panel-generic-dpi.h> #include <video/omap-panel-generic-dpi.h>
#include <video/omap-panel-tfp410.h> #include <video/omap-panel-tfp410.h>

View File

@ -31,7 +31,6 @@
#include "common.h" #include "common.h"
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <plat/usb.h>
#include <video/omapdss.h> #include <video/omapdss.h>
#include <video/omap-panel-tfp410.h> #include <video/omap-panel-tfp410.h>

View File

@ -37,7 +37,6 @@
#include "common.h" #include "common.h"
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <mach/board-zoom.h> #include <mach/board-zoom.h>
#include <plat/usb.h>
#include "gpmc-smsc911x.h" #include "gpmc-smsc911x.h"
#include <video/omapdss.h> #include <video/omapdss.h>

View File

@ -43,7 +43,6 @@
#include <video/omap-panel-tfp410.h> #include <video/omap-panel-tfp410.h>
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <linux/platform_data/mtd-nand-omap2.h> #include <linux/platform_data/mtd-nand-omap2.h>
#include <plat/usb.h>
#include <plat/omap_device.h> #include <plat/omap_device.h>
#include "mux.h" #include "mux.h"

View File

@ -45,7 +45,6 @@
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include <plat/usb.h>
#include <linux/platform_data/mtd-nand-omap2.h> #include <linux/platform_data/mtd-nand-omap2.h>
#include "common.h" #include "common.h"
#include <linux/platform_data/spi-omap2-mcspi.h> #include <linux/platform_data/spi-omap2-mcspi.h>

View File

@ -37,7 +37,6 @@
#include "gpmc-smsc911x.h" #include "gpmc-smsc911x.h"
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <plat/sdrc.h> #include <plat/sdrc.h>
#include <plat/usb.h>
#include "common.h" #include "common.h"
#include "mux.h" #include "mux.h"

View File

@ -42,7 +42,6 @@
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include "common.h" #include "common.h"
#include <plat/usb.h>
#include <video/omapdss.h> #include <video/omapdss.h>
#include <linux/platform_data/mtd-nand-omap2.h> #include <linux/platform_data/mtd-nand-omap2.h>

View File

@ -42,7 +42,6 @@
#include "common.h" #include "common.h"
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <linux/platform_data/mtd-nand-omap2.h> #include <linux/platform_data/mtd-nand-omap2.h>
#include <plat/usb.h>
#include <video/omapdss.h> #include <video/omapdss.h>
#include <video/omap-panel-generic-dpi.h> #include <video/omap-panel-generic-dpi.h>
#include <video/omap-panel-tfp410.h> #include <video/omap-panel-tfp410.h>

View File

@ -46,7 +46,6 @@
#include "common.h" #include "common.h"
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <linux/platform_data/mtd-nand-omap2.h> #include <linux/platform_data/mtd-nand-omap2.h>
#include <plat/usb.h>
#include "mux.h" #include "mux.h"
#include "hsmmc.h" #include "hsmmc.h"

View File

@ -39,7 +39,6 @@
#include <video/omapdss.h> #include <video/omapdss.h>
#include "common.h" #include "common.h"
#include <plat/usb.h>
#include <plat/mmc.h> #include <plat/mmc.h>
#include <video/omap-panel-tfp410.h> #include <video/omap-panel-tfp410.h>

View File

@ -50,7 +50,6 @@
#include <video/omap-panel-generic-dpi.h> #include <video/omap-panel-generic-dpi.h>
#include <video/omap-panel-tfp410.h> #include <video/omap-panel-tfp410.h>
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <plat/usb.h>
#include "mux.h" #include "mux.h"
#include "sdram-micron-mt46h32m32lf-6.h" #include "sdram-micron-mt46h32m32lf-6.h"

View File

@ -24,7 +24,6 @@
#include <plat/i2c.h> #include <plat/i2c.h>
#include <plat/mmc.h> #include <plat/mmc.h>
#include <plat/usb.h>
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include "common.h" #include "common.h"
#include <plat/serial.h> #include <plat/serial.h>

View File

@ -26,7 +26,6 @@
#include "common.h" #include "common.h"
#include <plat/dma.h> #include <plat/dma.h>
#include <plat/gpmc.h> #include <plat/gpmc.h>
#include <plat/usb.h>
#include "mux.h" #include "mux.h"
#include "pm.h" #include "pm.h"

View File

@ -20,7 +20,6 @@
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include "common.h" #include "common.h"
#include <plat/usb.h>
static struct omap_musb_board_data musb_board_data = { static struct omap_musb_board_data musb_board_data = {
.set_phy_power = ti81xx_musb_phy_power, .set_phy_power = ti81xx_musb_phy_power,

View File

@ -26,7 +26,6 @@
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include "common.h" #include "common.h"
#include <plat/usb.h>
#include <mach/board-zoom.h> #include <mach/board-zoom.h>

View File

@ -22,7 +22,6 @@
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include "common.h" #include "common.h"
#include <plat/usb.h>
#include <mach/board-zoom.h> #include <mach/board-zoom.h>

View File

@ -36,6 +36,8 @@
#include <plat/serial.h> #include <plat/serial.h>
#include <plat/common.h> #include <plat/common.h>
#include "usb.h"
#define OMAP_INTC_START NR_IRQS #define OMAP_INTC_START NR_IRQS
#ifdef CONFIG_SOC_OMAP2420 #ifdef CONFIG_SOC_OMAP2420

View File

@ -27,11 +27,11 @@
#include <linux/io.h> #include <linux/io.h>
#include <linux/err.h> #include <linux/err.h>
#include <linux/usb.h> #include <linux/usb.h>
#include <linux/usb/musb.h>
#include <plat/usb.h>
#include "soc.h" #include "soc.h"
#include "control.h" #include "control.h"
#include "usb.h"
void am35x_musb_reset(void) void am35x_musb_reset(void)
{ {

View File

@ -27,7 +27,6 @@
#include <linux/regulator/fixed.h> #include <linux/regulator/fixed.h>
#include <plat/i2c.h> #include <plat/i2c.h>
#include <plat/usb.h>
#include "soc.h" #include "soc.h"
#include "twl-common.h" #include "twl-common.h"

View File

@ -25,10 +25,10 @@
#include <asm/io.h> #include <asm/io.h>
#include <plat/usb.h>
#include <plat/omap_device.h> #include <plat/omap_device.h>
#include "mux.h" #include "mux.h"
#include "usb.h"
#ifdef CONFIG_MFD_OMAP_USB_HOST #ifdef CONFIG_MFD_OMAP_USB_HOST

View File

@ -25,12 +25,12 @@
#include <linux/io.h> #include <linux/io.h>
#include <linux/usb/musb.h> #include <linux/usb/musb.h>
#include <plat/usb.h>
#include <plat/omap_device.h> #include <plat/omap_device.h>
#include "am35xx.h" #include "am35xx.h"
#include "mux.h" #include "mux.h"
#include "usb.h"
static struct musb_hdrc_config musb_config = { static struct musb_hdrc_config musb_config = {
.multipoint = 1, .multipoint = 1,

82
arch/arm/mach-omap2/usb.h Normal file
View File

@ -0,0 +1,82 @@
#include <plat/usb.h>
/* AM35x */
/* USB 2.0 PHY Control */
#define CONF2_PHY_GPIOMODE (1 << 23)
#define CONF2_OTGMODE (3 << 14)
#define CONF2_NO_OVERRIDE (0 << 14)
#define CONF2_FORCE_HOST (1 << 14)
#define CONF2_FORCE_DEVICE (2 << 14)
#define CONF2_FORCE_HOST_VBUS_LOW (3 << 14)
#define CONF2_SESENDEN (1 << 13)
#define CONF2_VBDTCTEN (1 << 12)
#define CONF2_REFFREQ_24MHZ (2 << 8)
#define CONF2_REFFREQ_26MHZ (7 << 8)
#define CONF2_REFFREQ_13MHZ (6 << 8)
#define CONF2_REFFREQ (0xf << 8)
#define CONF2_PHYCLKGD (1 << 7)
#define CONF2_VBUSSENSE (1 << 6)
#define CONF2_PHY_PLLON (1 << 5)
#define CONF2_RESET (1 << 4)
#define CONF2_PHYPWRDN (1 << 3)
#define CONF2_OTGPWRDN (1 << 2)
#define CONF2_DATPOL (1 << 1)
/* TI81XX specific definitions */
#define USBCTRL0 0x620
#define USBSTAT0 0x624
/* TI816X PHY controls bits */
#define TI816X_USBPHY0_NORMAL_MODE (1 << 0)
#define TI816X_USBPHY_REFCLK_OSC (1 << 8)
/* TI814X PHY controls bits */
#define USBPHY_CM_PWRDN (1 << 0)
#define USBPHY_OTG_PWRDN (1 << 1)
#define USBPHY_CHGDET_DIS (1 << 2)
#define USBPHY_CHGDET_RSTRT (1 << 3)
#define USBPHY_SRCONDM (1 << 4)
#define USBPHY_SINKONDP (1 << 5)
#define USBPHY_CHGISINK_EN (1 << 6)
#define USBPHY_CHGVSRC_EN (1 << 7)
#define USBPHY_DMPULLUP (1 << 8)
#define USBPHY_DPPULLUP (1 << 9)
#define USBPHY_CDET_EXTCTL (1 << 10)
#define USBPHY_GPIO_MODE (1 << 12)
#define USBPHY_DPOPBUFCTL (1 << 13)
#define USBPHY_DMOPBUFCTL (1 << 14)
#define USBPHY_DPINPUT (1 << 15)
#define USBPHY_DMINPUT (1 << 16)
#define USBPHY_DPGPIO_PD (1 << 17)
#define USBPHY_DMGPIO_PD (1 << 18)
#define USBPHY_OTGVDET_EN (1 << 19)
#define USBPHY_OTGSESSEND_EN (1 << 20)
#define USBPHY_DATA_POLARITY (1 << 23)
struct usbhs_omap_board_data {
enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
/* have to be valid if phy_reset is true and portx is in phy mode */
int reset_gpio_port[OMAP3_HS_USB_PORTS];
/* Set this to true for ES2.x silicon */
unsigned es2_compatibility:1;
unsigned phy_reset:1;
/*
* Regulators for USB PHYs.
* Each PHY can have a separate regulator.
*/
struct regulator *regulator[OMAP3_HS_USB_PORTS];
};
extern void usb_musb_init(struct omap_musb_board_data *board_data);
extern void usbhs_init(const struct usbhs_omap_board_data *pdata);
extern void am35x_musb_reset(void);
extern void am35x_musb_phy_power(u8 on);
extern void am35x_musb_clear_irq(void);
extern void am35x_set_mode(u8 musb_mode);
extern void ti81xx_musb_phy_power(u8 on);

View File

@ -26,24 +26,6 @@ enum usbhs_omap_port_mode {
OMAP_OHCI_PORT_MODE_TLL_2PIN_DPDM OMAP_OHCI_PORT_MODE_TLL_2PIN_DPDM
}; };
struct usbhs_omap_board_data {
enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
/* have to be valid if phy_reset is true and portx is in phy mode */
int reset_gpio_port[OMAP3_HS_USB_PORTS];
/* Set this to true for ES2.x silicon */
unsigned es2_compatibility:1;
unsigned phy_reset:1;
/*
* Regulators for USB PHYs.
* Each PHY can have a separate regulator.
*/
struct regulator *regulator[OMAP3_HS_USB_PORTS];
};
#ifdef CONFIG_ARCH_OMAP2PLUS #ifdef CONFIG_ARCH_OMAP2PLUS
struct ehci_hcd_omap_platform_data { struct ehci_hcd_omap_platform_data {
@ -83,97 +65,9 @@ struct omap_musb_board_data {
enum musb_interface {MUSB_INTERFACE_ULPI, MUSB_INTERFACE_UTMI}; enum musb_interface {MUSB_INTERFACE_ULPI, MUSB_INTERFACE_UTMI};
extern void usb_musb_init(struct omap_musb_board_data *board_data);
extern void usbhs_init(const struct usbhs_omap_board_data *pdata);
extern int omap_tll_enable(void); extern int omap_tll_enable(void);
extern int omap_tll_disable(void); extern int omap_tll_disable(void);
extern int omap4430_phy_power(struct device *dev, int ID, int on);
extern int omap4430_phy_set_clk(struct device *dev, int on);
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);
#endif
extern void am35x_musb_reset(void);
extern void am35x_musb_phy_power(u8 on);
extern void am35x_musb_clear_irq(void);
extern void am35x_set_mode(u8 musb_mode);
extern void ti81xx_musb_phy_power(u8 on);
/* AM35x */
/* USB 2.0 PHY Control */
#define CONF2_PHY_GPIOMODE (1 << 23)
#define CONF2_OTGMODE (3 << 14)
#define CONF2_NO_OVERRIDE (0 << 14)
#define CONF2_FORCE_HOST (1 << 14)
#define CONF2_FORCE_DEVICE (2 << 14)
#define CONF2_FORCE_HOST_VBUS_LOW (3 << 14)
#define CONF2_SESENDEN (1 << 13)
#define CONF2_VBDTCTEN (1 << 12)
#define CONF2_REFFREQ_24MHZ (2 << 8)
#define CONF2_REFFREQ_26MHZ (7 << 8)
#define CONF2_REFFREQ_13MHZ (6 << 8)
#define CONF2_REFFREQ (0xf << 8)
#define CONF2_PHYCLKGD (1 << 7)
#define CONF2_VBUSSENSE (1 << 6)
#define CONF2_PHY_PLLON (1 << 5)
#define CONF2_RESET (1 << 4)
#define CONF2_PHYPWRDN (1 << 3)
#define CONF2_OTGPWRDN (1 << 2)
#define CONF2_DATPOL (1 << 1)
/* TI81XX specific definitions */
#define USBCTRL0 0x620
#define USBSTAT0 0x624
/* TI816X PHY controls bits */
#define TI816X_USBPHY0_NORMAL_MODE (1 << 0)
#define TI816X_USBPHY_REFCLK_OSC (1 << 8)
/* TI814X PHY controls bits */
#define USBPHY_CM_PWRDN (1 << 0)
#define USBPHY_OTG_PWRDN (1 << 1)
#define USBPHY_CHGDET_DIS (1 << 2)
#define USBPHY_CHGDET_RSTRT (1 << 3)
#define USBPHY_SRCONDM (1 << 4)
#define USBPHY_SINKONDP (1 << 5)
#define USBPHY_CHGISINK_EN (1 << 6)
#define USBPHY_CHGVSRC_EN (1 << 7)
#define USBPHY_DMPULLUP (1 << 8)
#define USBPHY_DPPULLUP (1 << 9)
#define USBPHY_CDET_EXTCTL (1 << 10)
#define USBPHY_GPIO_MODE (1 << 12)
#define USBPHY_DPOPBUFCTL (1 << 13)
#define USBPHY_DMOPBUFCTL (1 << 14)
#define USBPHY_DPINPUT (1 << 15)
#define USBPHY_DMINPUT (1 << 16)
#define USBPHY_DPGPIO_PD (1 << 17)
#define USBPHY_DMGPIO_PD (1 << 18)
#define USBPHY_OTGVDET_EN (1 << 19)
#define USBPHY_OTGSESSEND_EN (1 << 20)
#define USBPHY_DATA_POLARITY (1 << 23)
#if defined(CONFIG_ARCH_OMAP1) && defined(CONFIG_USB)
u32 omap1_usb0_init(unsigned nwires, unsigned is_device);
u32 omap1_usb1_init(unsigned nwires);
u32 omap1_usb2_init(unsigned nwires, unsigned alt_pingroup);
#else
static inline u32 omap1_usb0_init(unsigned nwires, unsigned is_device)
{
return 0;
}
static inline u32 omap1_usb1_init(unsigned nwires)
{
return 0;
}
static inline u32 omap1_usb2_init(unsigned nwires, unsigned alt_pingroup)
{
return 0;
}
#endif #endif
#endif /* __ASM_ARCH_OMAP_USB_H */ #endif /* __ASM_ARCH_OMAP_USB_H */