arm: tegra: pluto: use PMIC vbus detection
Xin Xie [Tue, 14 May 2013 20:01:03 +0000 (13:01 -0700)]
Currently we are using the charging IC max77665 for the VBUS detection.
but max77665 has a HW bug which cause VBUS detection failure during the
high current charging.

Using PMIC vbus detection will seperate the VBUS detection and charging
on Pluto platform.

bug 1281009

Change-Id: Iaa91621e9fc83238698466078f5f05e41133b0d7
Signed-off-by: Xin Xie <xxie@nvidia.com>
Reviewed-on: http://git-master/r/229134
Reviewed-by: Riham Haidar <rhaidar@nvidia.com>
Tested-by: Riham Haidar <rhaidar@nvidia.com>

arch/arm/mach-tegra/board-pluto-power.c
arch/arm/mach-tegra/board-pluto.c

index 55c34f6..2bda237 100644 (file)
@@ -644,6 +644,12 @@ static struct palmas_pinctrl_platform_data palmas_pinctrl_pdata = {
        .dvfs2_enable = true,
 };
 
+static struct palmas_extcon_platform_data palmas_extcon_pdata = {
+       .connection_name = "palmas-extcon",
+       .enable_vbus_detection = true,
+       .enable_id_pin_detection = false,
+};
+
 static struct palmas_platform_data palmas_pdata = {
        .gpio_base = PALMAS_TEGRA_GPIO_BASE,
        .irq_base = PALMAS_TEGRA_IRQ_BASE,
@@ -653,6 +659,7 @@ static struct palmas_platform_data palmas_pdata = {
        .irq_type = IRQ_TYPE_LEVEL_HIGH,
        .use_power_off = true,
        .pinctrl_pdata = &palmas_pinctrl_pdata,
+       .extcon_pdata = &palmas_extcon_pdata,
 };
 
 static struct i2c_board_info palma_device[] = {
index 3cc8821..553a84f 100644 (file)
@@ -683,6 +683,7 @@ static struct tegra_usb_platform_data tegra_ehci3_hsic_smsc_hub_pdata = {
 static struct tegra_usb_platform_data tegra_udc_pdata = {
        .port_otg = true,
        .has_hostpc = true,
+       .support_pmu_vbus = true,
        .id_det_type = TEGRA_USB_PMU_ID,
        .unaligned_dma_buf_supported = false,
        .phy_intf = TEGRA_USB_PHY_INTF_UTMI,
@@ -709,6 +710,7 @@ static struct tegra_usb_platform_data tegra_udc_pdata = {
 static struct tegra_usb_platform_data tegra_ehci1_utmi_pdata = {
        .port_otg = true,
        .has_hostpc = true,
+       .support_pmu_vbus = true,
        .id_det_type = TEGRA_USB_PMU_ID,
        .unaligned_dma_buf_supported = false,
        .phy_intf = TEGRA_USB_PHY_INTF_UTMI,
@@ -737,6 +739,7 @@ static struct tegra_usb_otg_data tegra_otg_pdata = {
        .ehci_device = &tegra_ehci1_device,
        .ehci_pdata = &tegra_ehci1_utmi_pdata,
        .id_extcon_dev_name = "MAX77665_MUIC_ID",
+       .vbus_extcon_dev_name = "palmas-extcon",
 };
 
 static struct regulator *baseband_reg;