diff options
author | Amlan Kundu <akundu@nvidia.com> | 2012-07-16 15:05:23 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-07-31 14:59:02 -0700 |
commit | 966ba0797dde76a3c7d91f6f2653b382c825bf3d (patch) | |
tree | d67e77166072d6bf037a52e4282f3b822b66324d /arch/arm/mach-tegra/board-p1852.c | |
parent | afb5a244504ac8535aa80781f0faf4d629d6dc32 (diff) |
arm: tegra: p1852: Add USB_G_ANDROID support
+ require for android adb
bug 1005255
Change-Id: If2c8d197f987ddd43a9b6a6cc602ac1e2f4ae2f8
Signed-off-by: Amlan Kundu <akundu@nvidia.com>
Reviewed-on: http://git-master/r/114562
(cherry-picked from 6640721b05059f03325abadfebe2f08026a41a88)
Diffstat (limited to 'arch/arm/mach-tegra/board-p1852.c')
-rw-r--r-- | arch/arm/mach-tegra/board-p1852.c | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board-p1852.c b/arch/arm/mach-tegra/board-p1852.c index e9cf1440b01d..229344799112 100644 --- a/arch/arm/mach-tegra/board-p1852.c +++ b/arch/arm/mach-tegra/board-p1852.c @@ -479,6 +479,32 @@ static int __init p1852_touch_init(void) #endif // CONFIG_TOUCHSCREEN_ATMEL_MXT +#if defined(CONFIG_USB_G_ANDROID) +static struct tegra_usb_platform_data tegra_udc_pdata = { + .port_otg = false, + .has_hostpc = true, + .phy_intf = TEGRA_USB_PHY_INTF_UTMI, + .op_mode = TEGRA_USB_OPMODE_DEVICE, + .u_data.dev = { + .vbus_pmu_irq = 0, + .vbus_gpio = -1, + .charging_supported = false, + .remote_wakeup_supported = false, + }, + .u_cfg.utmi = { + .hssync_start_delay = 0, + .idle_wait_delay = 17, + .elastic_limit = 16, + .term_range_adj = 6, + .xcvr_setup = 63, + .xcvr_setup_offset = 6, + .xcvr_use_fuses = 1, + .xcvr_lsfslew = 2, + .xcvr_lsrslew = 2, + .xcvr_use_lsb = 1, + }, +}; +#else static struct tegra_usb_platform_data tegra_ehci1_utmi_pdata = { .port_otg = false, .has_hostpc = true, @@ -504,6 +530,7 @@ static struct tegra_usb_platform_data tegra_ehci1_utmi_pdata = { .xcvr_use_lsb = 1, }, }; +#endif static struct tegra_usb_platform_data tegra_ehci2_utmi_pdata = { .port_otg = false, @@ -559,9 +586,16 @@ static struct tegra_usb_platform_data tegra_ehci3_utmi_pdata = { static void p1852_usb_init(void) { + /* Need to parse sku info to decide host/device mode */ + + /* G_ANDROID require device mode */ +#if defined(CONFIG_USB_G_ANDROID) + tegra_udc_device.dev.platform_data = &tegra_udc_pdata; + platform_device_register(&tegra_udc_device); +#else tegra_ehci1_device.dev.platform_data = &tegra_ehci1_utmi_pdata; platform_device_register(&tegra_ehci1_device); - +#endif tegra_ehci2_device.dev.platform_data = &tegra_ehci2_utmi_pdata; platform_device_register(&tegra_ehci2_device); |