|
@@ -23,10 +23,13 @@
|
|
|
#include <linux/fsl_devices.h>
|
|
|
#include <linux/serial_8250.h>
|
|
|
#include <linux/i2c-tegra.h>
|
|
|
+#include <linux/platform_data/tegra_usb.h>
|
|
|
#include <asm/pmu.h>
|
|
|
#include <mach/irqs.h>
|
|
|
#include <mach/iomap.h>
|
|
|
#include <mach/dma.h>
|
|
|
+#include <mach/usb_phy.h>
|
|
|
+#include "gpio-names.h"
|
|
|
|
|
|
static struct resource i2c_resource1[] = {
|
|
|
[0] = {
|
|
@@ -351,6 +354,28 @@ static struct resource tegra_usb3_resources[] = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
+static struct tegra_ulpi_config tegra_ehci2_ulpi_phy_config = {
|
|
|
+ /* All existing boards use GPIO PV0 for phy reset */
|
|
|
+ .reset_gpio = TEGRA_GPIO_PV0,
|
|
|
+ .clk = "cdev2",
|
|
|
+};
|
|
|
+
|
|
|
+static struct tegra_ehci_platform_data tegra_ehci1_pdata = {
|
|
|
+ .operating_mode = TEGRA_USB_OTG,
|
|
|
+ .power_down_on_bus_suspend = 1,
|
|
|
+};
|
|
|
+
|
|
|
+static struct tegra_ehci_platform_data tegra_ehci2_pdata = {
|
|
|
+ .phy_config = &tegra_ehci2_ulpi_phy_config,
|
|
|
+ .operating_mode = TEGRA_USB_HOST,
|
|
|
+ .power_down_on_bus_suspend = 1,
|
|
|
+};
|
|
|
+
|
|
|
+static struct tegra_ehci_platform_data tegra_ehci3_pdata = {
|
|
|
+ .operating_mode = TEGRA_USB_HOST,
|
|
|
+ .power_down_on_bus_suspend = 1,
|
|
|
+};
|
|
|
+
|
|
|
static u64 tegra_ehci_dmamask = DMA_BIT_MASK(32);
|
|
|
|
|
|
struct platform_device tegra_ehci1_device = {
|
|
@@ -359,6 +384,7 @@ struct platform_device tegra_ehci1_device = {
|
|
|
.dev = {
|
|
|
.dma_mask = &tegra_ehci_dmamask,
|
|
|
.coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ .platform_data = &tegra_ehci1_pdata,
|
|
|
},
|
|
|
.resource = tegra_usb1_resources,
|
|
|
.num_resources = ARRAY_SIZE(tegra_usb1_resources),
|
|
@@ -370,6 +396,7 @@ struct platform_device tegra_ehci2_device = {
|
|
|
.dev = {
|
|
|
.dma_mask = &tegra_ehci_dmamask,
|
|
|
.coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ .platform_data = &tegra_ehci2_pdata,
|
|
|
},
|
|
|
.resource = tegra_usb2_resources,
|
|
|
.num_resources = ARRAY_SIZE(tegra_usb2_resources),
|
|
@@ -381,6 +408,7 @@ struct platform_device tegra_ehci3_device = {
|
|
|
.dev = {
|
|
|
.dma_mask = &tegra_ehci_dmamask,
|
|
|
.coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ .platform_data = &tegra_ehci3_pdata,
|
|
|
},
|
|
|
.resource = tegra_usb3_resources,
|
|
|
.num_resources = ARRAY_SIZE(tegra_usb3_resources),
|