Merge branch 'omap-for-v3.8/cleanup-headers-usb' into omap-for-v3.8/cleanup-headers
Conflicts: arch/arm/mach-omap1/clock.c arch/arm/mach-omap2/board-2430sdp.c arch/arm/mach-omap2/board-4430sdp.c arch/arm/mach-omap2/board-cm-t35.c arch/arm/mach-omap2/board-igep0020.c arch/arm/mach-omap2/board-ldp.c arch/arm/mach-omap2/board-omap3beagle.c arch/arm/mach-omap2/board-omap3logic.c arch/arm/mach-omap2/board-omap4panda.c arch/arm/mach-omap2/board-overo.c arch/arm/mach-omap2/board-rm680.c arch/arm/mach-omap2/board-rx51.c arch/arm/mach-omap2/twl-common.c arch/arm/mach-omap2/usb-host.c arch/arm/mach-omap2/usb-musb.c
This commit is contained in:
commit
6d02643d64
42 changed files with 201 additions and 237 deletions
|
@ -22,13 +22,11 @@
|
|||
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include "soc.h"
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
|
||||
#include "../plat-omap/sram.h"
|
||||
|
||||
#include "soc.h"
|
||||
#include "iomap.h"
|
||||
#include "clock.h"
|
||||
#include "opp.h"
|
||||
|
|
|
@ -35,7 +35,6 @@
|
|||
|
||||
#include "common.h"
|
||||
#include "gpmc.h"
|
||||
#include <plat/usb.h>
|
||||
#include "gpmc-smc91x.h"
|
||||
|
||||
#include <video/omapdss.h>
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
#include <plat/usb.h>
|
||||
#include "common.h"
|
||||
#include <plat-omap/dma-omap.h>
|
||||
#include <video/omapdss.h>
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
|
||||
#include "common.h"
|
||||
#include "gpmc-smc91x.h"
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include "board-zoom.h"
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include <linux/leds.h>
|
||||
#include <linux/leds_pwm.h>
|
||||
#include <linux/platform_data/omap4-keypad.h>
|
||||
#include <linux/usb/musb.h>
|
||||
|
||||
#include <asm/hardware/gic.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
@ -34,7 +35,6 @@
|
|||
#include <asm/mach/map.h>
|
||||
|
||||
#include "common.h"
|
||||
#include <plat/usb.h>
|
||||
#include "omap4-keypad.h"
|
||||
#include <video/omapdss.h>
|
||||
#include <video/omap-panel-nokia-dsi.h>
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
#include <asm/mach/map.h>
|
||||
|
||||
#include "common.h"
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include "am35xx-emac.h"
|
||||
#include "mux.h"
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#include <linux/can/platform/ti_hecc.h>
|
||||
#include <linux/davinci_emac.h>
|
||||
#include <linux/mmc/host.h>
|
||||
#include <linux/usb/musb.h>
|
||||
#include <linux/platform_data/gpio-omap.h>
|
||||
|
||||
#include "am35xx.h"
|
||||
|
@ -33,7 +34,6 @@
|
|||
#include <asm/mach/map.h>
|
||||
|
||||
#include "common.h"
|
||||
#include <plat/usb.h>
|
||||
#include <video/omapdss.h>
|
||||
#include <video/omap-panel-generic-dpi.h>
|
||||
#include <video/omap-panel-tfp410.h>
|
||||
|
|
|
@ -38,10 +38,7 @@
|
|||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
#include "common.h"
|
||||
#include <linux/platform_data/mtd-nand-omap2.h>
|
||||
#include "gpmc.h"
|
||||
#include <plat/usb.h>
|
||||
#include <video/omapdss.h>
|
||||
#include <video/omap-panel-generic-dpi.h>
|
||||
#include <video/omap-panel-tfp410.h>
|
||||
|
@ -49,10 +46,12 @@
|
|||
|
||||
#include <mach/hardware.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "mux.h"
|
||||
#include "sdram-micron-mt46h32m32lf-6.h"
|
||||
#include "hsmmc.h"
|
||||
#include "common-board-devices.h"
|
||||
#include "gpmc.h"
|
||||
#include "gpmc-nand.h"
|
||||
|
||||
#define CM_T35_GPIO_PENDOWN 57
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
#include <asm/mach/map.h>
|
||||
|
||||
#include "common.h"
|
||||
#include <plat/usb.h>
|
||||
#include <linux/platform_data/mtd-nand-omap2.h>
|
||||
#include "gpmc.h"
|
||||
|
||||
|
|
|
@ -41,7 +41,6 @@
|
|||
#include "common.h"
|
||||
#include "gpmc.h"
|
||||
#include <linux/platform_data/mtd-nand-omap2.h>
|
||||
#include <plat/usb.h>
|
||||
#include <video/omapdss.h>
|
||||
#include <video/omap-panel-generic-dpi.h>
|
||||
#include <video/omap-panel-tfp410.h>
|
||||
|
|
|
@ -29,14 +29,12 @@
|
|||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "gpmc.h"
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include <video/omapdss.h>
|
||||
#include <video/omap-panel-tfp410.h>
|
||||
#include <linux/platform_data/mtd-onenand-omap2.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "gpmc.h"
|
||||
#include "mux.h"
|
||||
#include "hsmmc.h"
|
||||
#include "sdram-numonyx-m65kxxxxam.h"
|
||||
|
|
|
@ -35,9 +35,8 @@
|
|||
#include <asm/mach/map.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "gpmc.h"
|
||||
#include "board-zoom.h"
|
||||
#include <plat/usb.h>
|
||||
#include "gpmc.h"
|
||||
#include "gpmc-smsc911x.h"
|
||||
|
||||
#include <video/omapdss.h>
|
||||
|
|
|
@ -38,14 +38,13 @@
|
|||
#include <asm/mach/map.h>
|
||||
#include <asm/mach/flash.h>
|
||||
|
||||
#include "common.h"
|
||||
#include <video/omapdss.h>
|
||||
#include <video/omap-panel-tfp410.h>
|
||||
#include "gpmc.h"
|
||||
#include <linux/platform_data/mtd-nand-omap2.h>
|
||||
#include <plat/usb.h>
|
||||
#include "omap_device.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "omap_device.h"
|
||||
#include "gpmc.h"
|
||||
#include "soc.h"
|
||||
#include "mux.h"
|
||||
#include "hsmmc.h"
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <linux/spi/ads7846.h>
|
||||
#include <linux/i2c/twl.h>
|
||||
#include <linux/usb/otg.h>
|
||||
#include <linux/usb/musb.h>
|
||||
#include <linux/usb/nop-usb-xceiv.h>
|
||||
#include <linux/smsc911x.h>
|
||||
|
||||
|
@ -45,7 +46,6 @@
|
|||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
#include <plat/usb.h>
|
||||
#include <linux/platform_data/mtd-nand-omap2.h>
|
||||
#include "common.h"
|
||||
#include <linux/platform_data/spi-omap2-mcspi.h>
|
||||
|
|
|
@ -34,8 +34,6 @@
|
|||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "mux.h"
|
||||
#include "hsmmc.h"
|
||||
|
|
|
@ -42,7 +42,6 @@
|
|||
#include <asm/mach/map.h>
|
||||
|
||||
#include "common.h"
|
||||
#include <plat/usb.h>
|
||||
#include <video/omapdss.h>
|
||||
#include <linux/platform_data/mtd-nand-omap2.h>
|
||||
|
||||
|
|
|
@ -42,7 +42,6 @@
|
|||
#include "common.h"
|
||||
#include "gpmc.h"
|
||||
#include <linux/platform_data/mtd-nand-omap2.h>
|
||||
#include <plat/usb.h>
|
||||
#include <video/omapdss.h>
|
||||
#include <video/omap-panel-generic-dpi.h>
|
||||
#include <video/omap-panel-tfp410.h>
|
||||
|
|
|
@ -46,7 +46,6 @@
|
|||
#include "common.h"
|
||||
#include "gpmc.h"
|
||||
#include <linux/platform_data/mtd-nand-omap2.h>
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include "mux.h"
|
||||
#include "hsmmc.h"
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include <linux/regulator/machine.h>
|
||||
#include <linux/regulator/fixed.h>
|
||||
#include <linux/ti_wilink_st.h>
|
||||
#include <linux/usb/musb.h>
|
||||
#include <linux/wl12xx.h>
|
||||
#include <linux/platform_data/omap-abe-twl6040.h>
|
||||
|
||||
|
@ -38,10 +39,9 @@
|
|||
#include <asm/mach/map.h>
|
||||
#include <video/omapdss.h>
|
||||
|
||||
#include "common.h"
|
||||
#include <plat/usb.h>
|
||||
#include <video/omap-panel-tfp410.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "soc.h"
|
||||
#include "mmc.h"
|
||||
#include "hsmmc.h"
|
||||
|
|
|
@ -49,11 +49,11 @@
|
|||
#include <video/omapdss.h>
|
||||
#include <video/omap-panel-generic-dpi.h>
|
||||
#include <video/omap-panel-tfp410.h>
|
||||
#include "gpmc.h"
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "mux.h"
|
||||
#include "sdram-micron-mt46h32m32lf-6.h"
|
||||
#include "gpmc.h"
|
||||
#include "hsmmc.h"
|
||||
#include "board-flash.h"
|
||||
#include "common-board-devices.h"
|
||||
|
|
|
@ -22,11 +22,9 @@
|
|||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include <plat/usb.h>
|
||||
#include "gpmc.h"
|
||||
#include "common.h"
|
||||
|
||||
#include "mux.h"
|
||||
#include "gpmc.h"
|
||||
#include "mmc.h"
|
||||
#include "hsmmc.h"
|
||||
#include "sdram-nokia.h"
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include <linux/io.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/leds.h>
|
||||
#include <linux/usb/musb.h>
|
||||
#include <linux/platform_data/spi-omap2-mcspi.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
|
@ -24,7 +25,6 @@
|
|||
#include <asm/mach/map.h>
|
||||
|
||||
#include <plat-omap/dma-omap.h>
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "mux.h"
|
||||
|
|
|
@ -14,13 +14,14 @@
|
|||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/usb/musb.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
#include "common.h"
|
||||
#include <plat/usb.h>
|
||||
|
||||
static struct omap_musb_board_data musb_board_data = {
|
||||
.set_phy_power = ti81xx_musb_phy_power,
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
#include <asm/mach/map.h>
|
||||
|
||||
#include "common.h"
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include "board-zoom.h"
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
#include <asm/mach/arch.h>
|
||||
|
||||
#include "common.h"
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include "board-zoom.h"
|
||||
|
||||
|
|
|
@ -39,6 +39,8 @@
|
|||
#include "i2c.h"
|
||||
#include "serial.h"
|
||||
|
||||
#include "usb.h"
|
||||
|
||||
#define OMAP_INTC_START NR_IRQS
|
||||
|
||||
#ifdef CONFIG_SOC_OMAP2420
|
||||
|
|
|
@ -27,11 +27,11 @@
|
|||
#include <linux/io.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/usb.h>
|
||||
|
||||
#include <plat/usb.h>
|
||||
#include <linux/usb/musb.h>
|
||||
|
||||
#include "soc.h"
|
||||
#include "control.h"
|
||||
#include "usb.h"
|
||||
|
||||
void am35x_musb_reset(void)
|
||||
{
|
||||
|
|
|
@ -26,8 +26,6 @@
|
|||
#include <linux/regulator/machine.h>
|
||||
#include <linux/regulator/fixed.h>
|
||||
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include "soc.h"
|
||||
#include "twl-common.h"
|
||||
#include "pm.h"
|
||||
|
|
|
@ -25,11 +25,10 @@
|
|||
|
||||
#include <asm/io.h>
|
||||
|
||||
#include <plat/usb.h>
|
||||
#include "soc.h"
|
||||
#include "omap_device.h"
|
||||
|
||||
#include "mux.h"
|
||||
#include "usb.h"
|
||||
|
||||
#ifdef CONFIG_MFD_OMAP_USB_HOST
|
||||
|
||||
|
|
|
@ -25,11 +25,10 @@
|
|||
#include <linux/io.h>
|
||||
#include <linux/usb/musb.h>
|
||||
|
||||
#include <plat/usb.h>
|
||||
#include "omap_device.h"
|
||||
|
||||
#include "soc.h"
|
||||
#include "mux.h"
|
||||
#include "usb.h"
|
||||
|
||||
static struct musb_hdrc_config musb_config = {
|
||||
.multipoint = 1,
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include <linux/platform_device.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/platform_data/usb-omap.h>
|
||||
|
||||
#include <linux/usb/musb.h>
|
||||
|
||||
|
|
82
arch/arm/mach-omap2/usb.h
Normal file
82
arch/arm/mach-omap2/usb.h
Normal file
|
@ -0,0 +1,82 @@
|
|||
#include <linux/platform_data/usb-omap.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);
|
||||
|
|
@ -1,179 +0,0 @@
|
|||
// include/asm-arm/mach-omap/usb.h
|
||||
|
||||
#ifndef __ASM_ARCH_OMAP_USB_H
|
||||
#define __ASM_ARCH_OMAP_USB_H
|
||||
|
||||
#include <linux/io.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/usb/musb.h>
|
||||
|
||||
#define OMAP3_HS_USB_PORTS 3
|
||||
|
||||
enum usbhs_omap_port_mode {
|
||||
OMAP_USBHS_PORT_MODE_UNUSED,
|
||||
OMAP_EHCI_PORT_MODE_PHY,
|
||||
OMAP_EHCI_PORT_MODE_TLL,
|
||||
OMAP_EHCI_PORT_MODE_HSIC,
|
||||
OMAP_OHCI_PORT_MODE_PHY_6PIN_DATSE0,
|
||||
OMAP_OHCI_PORT_MODE_PHY_6PIN_DPDM,
|
||||
OMAP_OHCI_PORT_MODE_PHY_3PIN_DATSE0,
|
||||
OMAP_OHCI_PORT_MODE_PHY_4PIN_DPDM,
|
||||
OMAP_OHCI_PORT_MODE_TLL_6PIN_DATSE0,
|
||||
OMAP_OHCI_PORT_MODE_TLL_6PIN_DPDM,
|
||||
OMAP_OHCI_PORT_MODE_TLL_3PIN_DATSE0,
|
||||
OMAP_OHCI_PORT_MODE_TLL_4PIN_DPDM,
|
||||
OMAP_OHCI_PORT_MODE_TLL_2PIN_DATSE0,
|
||||
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
|
||||
|
||||
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];
|
||||
struct regulator *regulator[OMAP3_HS_USB_PORTS];
|
||||
unsigned phy_reset:1;
|
||||
};
|
||||
|
||||
struct ohci_hcd_omap_platform_data {
|
||||
enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
|
||||
unsigned es2_compatibility:1;
|
||||
};
|
||||
|
||||
struct usbhs_omap_platform_data {
|
||||
enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
|
||||
|
||||
struct ehci_hcd_omap_platform_data *ehci_data;
|
||||
struct ohci_hcd_omap_platform_data *ohci_data;
|
||||
};
|
||||
|
||||
struct usbtll_omap_platform_data {
|
||||
enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
|
||||
};
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
struct omap_musb_board_data {
|
||||
u8 interface_type;
|
||||
u8 mode;
|
||||
u16 power;
|
||||
unsigned extvbus:1;
|
||||
void (*set_phy_power)(u8 on);
|
||||
void (*clear_irq)(void);
|
||||
void (*set_mode)(u8 mode);
|
||||
void (*reset)(void);
|
||||
};
|
||||
|
||||
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_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 /* __ASM_ARCH_OMAP_USB_H */
|
|
@ -26,9 +26,12 @@
|
|||
#include <linux/spinlock.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <plat/cpu.h>
|
||||
#include <plat/usb.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/platform_data/usb-omap.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
|
||||
#include "omap-usb.h"
|
||||
|
||||
#define USBHS_DRIVER_NAME "usbhs_omap"
|
||||
#define OMAP_EHCI_DEVICE "ehci-omap"
|
||||
#define OMAP_OHCI_DEVICE "ohci-omap3"
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
#include <linux/clk.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/err.h>
|
||||
#include <plat/usb.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/platform_data/usb-omap.h>
|
||||
|
||||
#define USBTLL_DRIVER_NAME "usbhs_tll"
|
||||
|
||||
|
|
2
drivers/mfd/omap-usb.h
Normal file
2
drivers/mfd/omap-usb.h
Normal file
|
@ -0,0 +1,2 @@
|
|||
extern int omap_tll_enable(void);
|
||||
extern int omap_tll_disable(void);
|
|
@ -39,12 +39,13 @@
|
|||
#include <linux/platform_device.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/usb/ulpi.h>
|
||||
#include <plat/usb.h>
|
||||
#include <linux/regulator/consumer.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <linux/clk.h>
|
||||
|
||||
#include <linux/platform_data/usb-omap.h>
|
||||
|
||||
/* EHCI Register Set */
|
||||
#define EHCI_INSNREG04 (0xA0)
|
||||
#define EHCI_INSNREG04_DISABLE_UNSUSPEND (1 << 5)
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
*/
|
||||
|
||||
#include <linux/platform_device.h>
|
||||
#include <plat/usb.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
|
|
@ -34,8 +34,7 @@
|
|||
#include <linux/platform_device.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/usb/nop-usb-xceiv.h>
|
||||
|
||||
#include <plat/usb.h>
|
||||
#include <linux/platform_data/usb-omap.h>
|
||||
|
||||
#include "musb_core.h"
|
||||
|
||||
|
|
|
@ -38,13 +38,12 @@
|
|||
#include <linux/pm_runtime.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/usb/nop-usb-xceiv.h>
|
||||
#include <linux/platform_data/usb-omap.h>
|
||||
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of_address.h>
|
||||
|
||||
#include <plat/usb.h>
|
||||
|
||||
#include "musb_core.h"
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#ifndef __MUSB_OMAP243X_H__
|
||||
#define __MUSB_OMAP243X_H__
|
||||
|
||||
#include <plat/usb.h>
|
||||
#include <linux/platform_data/usb-omap.h>
|
||||
|
||||
/*
|
||||
* OMAP2430-specific definitions
|
||||
|
|
80
include/linux/platform_data/usb-omap.h
Normal file
80
include/linux/platform_data/usb-omap.h
Normal file
|
@ -0,0 +1,80 @@
|
|||
/*
|
||||
* usb-omap.h - Platform data for the various OMAP USB IPs
|
||||
*
|
||||
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com
|
||||
*
|
||||
* This software is distributed under the terms of the GNU General Public
|
||||
* License ("GPL") version 2, as published by the Free Software Foundation.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#define OMAP3_HS_USB_PORTS 3
|
||||
|
||||
enum usbhs_omap_port_mode {
|
||||
OMAP_USBHS_PORT_MODE_UNUSED,
|
||||
OMAP_EHCI_PORT_MODE_PHY,
|
||||
OMAP_EHCI_PORT_MODE_TLL,
|
||||
OMAP_EHCI_PORT_MODE_HSIC,
|
||||
OMAP_OHCI_PORT_MODE_PHY_6PIN_DATSE0,
|
||||
OMAP_OHCI_PORT_MODE_PHY_6PIN_DPDM,
|
||||
OMAP_OHCI_PORT_MODE_PHY_3PIN_DATSE0,
|
||||
OMAP_OHCI_PORT_MODE_PHY_4PIN_DPDM,
|
||||
OMAP_OHCI_PORT_MODE_TLL_6PIN_DATSE0,
|
||||
OMAP_OHCI_PORT_MODE_TLL_6PIN_DPDM,
|
||||
OMAP_OHCI_PORT_MODE_TLL_3PIN_DATSE0,
|
||||
OMAP_OHCI_PORT_MODE_TLL_4PIN_DPDM,
|
||||
OMAP_OHCI_PORT_MODE_TLL_2PIN_DATSE0,
|
||||
OMAP_OHCI_PORT_MODE_TLL_2PIN_DPDM
|
||||
};
|
||||
|
||||
struct usbtll_omap_platform_data {
|
||||
enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
|
||||
};
|
||||
|
||||
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];
|
||||
struct regulator *regulator[OMAP3_HS_USB_PORTS];
|
||||
unsigned phy_reset:1;
|
||||
};
|
||||
|
||||
struct ohci_hcd_omap_platform_data {
|
||||
enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
|
||||
unsigned es2_compatibility:1;
|
||||
};
|
||||
|
||||
struct usbhs_omap_platform_data {
|
||||
enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS];
|
||||
|
||||
struct ehci_hcd_omap_platform_data *ehci_data;
|
||||
struct ohci_hcd_omap_platform_data *ohci_data;
|
||||
};
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
struct omap_musb_board_data {
|
||||
u8 interface_type;
|
||||
u8 mode;
|
||||
u16 power;
|
||||
unsigned extvbus:1;
|
||||
void (*set_phy_power)(u8 on);
|
||||
void (*clear_irq)(void);
|
||||
void (*set_mode)(u8 mode);
|
||||
void (*reset)(void);
|
||||
};
|
||||
|
||||
enum musb_interface {
|
||||
MUSB_INTERFACE_ULPI,
|
||||
MUSB_INTERFACE_UTMI
|
||||
};
|
Loading…
Reference in a new issue