Merge "USB: EHCI: msm: Add support for EHCI based Host Controller" into msm-3.0

This commit is contained in:
Linux Build Service Account
2012-02-26 16:33:32 -08:00
committed by QuIC Gerrit Code Review
8 changed files with 1060 additions and 4 deletions
+3 -3
View File
@@ -42,8 +42,6 @@ VREG_CONSUMERS(L3) = {
VREG_CONSUMERS(L4) = {
REGULATOR_SUPPLY("8921_l4", NULL),
REGULATOR_SUPPLY("HSUSB_1p8", "msm_otg"),
REGULATOR_SUPPLY("HSUSB_1p8", "msm_ehci_host.0"),
REGULATOR_SUPPLY("HSUSB_1p8", "msm_ehci_host.1"),
REGULATOR_SUPPLY("iris_vddxo", "wcnss_wlan.0"),
};
VREG_CONSUMERS(L5) = {
@@ -104,7 +102,8 @@ VREG_CONSUMERS(L23) = {
REGULATOR_SUPPLY("8921_l23", NULL),
REGULATOR_SUPPLY("pll_vdd", "pil_qdsp6v4.1"),
REGULATOR_SUPPLY("pll_vdd", "pil_qdsp6v4.2"),
REGULATOR_SUPPLY("HSUSB_1p8", "msm_ehci_host.0"),
REGULATOR_SUPPLY("HSUSB_1p8", "msm_ehci_host.1"),
};
VREG_CONSUMERS(L24) = {
REGULATOR_SUPPLY("8921_l24", NULL),
@@ -219,6 +218,7 @@ VREG_CONSUMERS(8821_S1) = {
};
VREG_CONSUMERS(EXT_5V) = {
REGULATOR_SUPPLY("ext_5v", NULL),
REGULATOR_SUPPLY("vbus", "msm_ehci_host.0"),
};
VREG_CONSUMERS(EXT_MPP8) = {
REGULATOR_SUPPLY("ext_mpp8", NULL),
+14
View File
@@ -475,6 +475,19 @@ static struct msm_otg_platform_data msm_otg_pdata = {
.power_budget = 750,
};
static struct msm_usb_host_platform_data msm_ehci_host_pdata = {
.power_budget = 500,
};
static void __init apq8064_ehci_host_init(void)
{
if (machine_is_apq8064_liquid()) {
apq8064_device_ehci_host3.dev.platform_data =
&msm_ehci_host_pdata;
platform_device_register(&apq8064_device_ehci_host3);
}
}
#define TABLA_INTERRUPT_BASE (NR_MSM_IRQS + NR_GPIO_IRQS + NR_PM8921_IRQS)
/* Micbias setting is based on 8660 CDP/MTP/FLUID requirement
@@ -1861,6 +1874,7 @@ static void __init apq8064_common_init(void)
if (machine_is_apq8064_liquid())
msm_otg_pdata.mhl_enable = true;
apq8064_device_otg.dev.platform_data = &msm_otg_pdata;
apq8064_ehci_host_init();
apq8064_init_buses();
platform_add_devices(common_devices, ARRAY_SIZE(common_devices));
if (machine_is_apq8064_mtp()) {
+28
View File
@@ -68,6 +68,10 @@
#define MSM_HSUSB1_PHYS 0x12500000
#define MSM_HSUSB1_SIZE SZ_4K
/* Address of HS USB3 */
#define MSM_HSUSB3_PHYS 0x12520000
#define MSM_HSUSB3_SIZE SZ_4K
static struct msm_watchdog_pdata msm_watchdog_pdata = {
.pet_time = 10000,
.bark_time = 11000,
@@ -650,6 +654,30 @@ struct platform_device apq8064_device_hsic_host = {
},
};
static struct resource resources_ehci_host3[] = {
{
.start = MSM_HSUSB3_PHYS,
.end = MSM_HSUSB3_PHYS + MSM_HSUSB3_SIZE - 1,
.flags = IORESOURCE_MEM,
},
{
.start = USB3_HS_IRQ,
.end = USB3_HS_IRQ,
.flags = IORESOURCE_IRQ,
},
};
struct platform_device apq8064_device_ehci_host3 = {
.name = "msm_ehci_host",
.id = 0,
.num_resources = ARRAY_SIZE(resources_ehci_host3),
.resource = resources_ehci_host3,
.dev = {
.dma_mask = &dma_mask,
.coherent_dma_mask = 0xffffffff,
},
};
/* MSM Video core device */
#ifdef CONFIG_MSM_BUS_SCALING
static struct msm_bus_vectors vidc_init_vectors[] = {
+1
View File
@@ -110,6 +110,7 @@ extern struct platform_device apq8064_usb_diag_device;
extern struct platform_device apq8064_device_gadget_peripheral;
extern struct platform_device apq8064_device_hsusb_host;
extern struct platform_device apq8064_device_hsic_host;
extern struct platform_device apq8064_device_ehci_host3;
extern struct platform_device msm_device_i2c;
+6 -1
View File
@@ -1274,6 +1274,7 @@ MODULE_LICENSE ("GPL");
#ifdef CONFIG_USB_EHCI_MSM
#include "ehci-msm.c"
#include "ehci-msm2.c"
#define PLATFORM_DRIVER_PRESENT
#endif
@@ -1391,7 +1392,11 @@ static struct platform_driver *plat_drivers[] = {
#endif
#ifdef CONFIG_USB_EHCI_MSM_HSIC
&ehci_msm_hsic_driver
&ehci_msm_hsic_driver,
#endif
#ifdef CONFIG_USB_EHCI_MSM
&ehci_msm2_driver,
#endif
};
File diff suppressed because it is too large Load Diff
+4
View File
@@ -277,6 +277,10 @@ struct msm_hsic_host_platform_data {
unsigned hub_reset;
};
struct msm_usb_host_platform_data {
unsigned int power_budget;
};
struct usb_bam_pipe_connect {
u32 src_phy_addr;
int src_pipe_index;
+1
View File
@@ -145,6 +145,7 @@
#define ULPI_INT_SESS_VALID (1 << 2)
#define ULPI_INT_SESS_END (1 << 3)
#define ULPI_INT_IDGRD (1 << 4)
#define ULPI_INT_DP (1 << 7)
/* Debug */
#define ULPI_DEBUG_LINESTATE0 (1 << 0)