summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-tegra/Kconfig16
-rw-r--r--arch/arm/mach-tegra/Makefile6
-rw-r--r--arch/arm/mach-tegra/board-cardhu.c4
-rw-r--r--arch/arm/mach-tegra/board-enterprise-pinmux.c2
4 files changed, 25 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index d2ca9e1d9cd7..171a04d1e8d0 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -400,6 +400,21 @@ config TEGRA_USB_MODEM_POWER
This option enables support for out-of_band remote wakeup, selective
suspend and system suspend/resume.
+config TEGRA_BB_XMM_POWER
+ bool "Enable power driver for XMM modem"
+ default n
+ help
+ Enables power driver which controls gpio signals to XMM modem.
+
+config TEGRA_BB_XMM_POWER2
+ tristate "Enable power driver for XMM modem (flashless)"
+ default n
+ help
+ Enables power driver which controls gpio signals to XMM modem
+ (in flashless configuration). User-mode application must
+ insert this LKM to initiate 2nd USB enumeration power sequence
+ - after modem software has been downloaded to flashless device.
+
config TEGRA_THERMAL_SYSFS
bool "Enable Thermal driver to use Thermal Sysfs infrastructure"
depends on THERMAL
@@ -415,3 +430,4 @@ config TEGRA_PLLM_RESTRICTED
disabled, PLLM is used as a clock source with no restrictions (which
may effectively increase lower limit for core voltage).
endif
+
diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile
index 7e2bdfbe876f..5ef2a5173cd3 100644
--- a/arch/arm/mach-tegra/Makefile
+++ b/arch/arm/mach-tegra/Makefile
@@ -156,8 +156,6 @@ obj-${CONFIG_MACH_CARDHU} += board-cardhu-sdhci.o
obj-${CONFIG_MACH_CARDHU} += board-cardhu-sensors.o
obj-${CONFIG_MACH_CARDHU} += board-cardhu-memory.o
obj-${CONFIG_MACH_CARDHU} += board-cardhu-powermon.o
-obj-${CONFIG_MACH_CARDHU} += baseband-xmm-power.o
-obj-m += baseband-xmm-power2.o
obj-${CONFIG_MACH_TEGRA_ENTERPRISE} += board-enterprise.o
obj-${CONFIG_MACH_TEGRA_ENTERPRISE} += board-enterprise-panel.o
@@ -168,3 +166,7 @@ obj-${CONFIG_MACH_TEGRA_ENTERPRISE} += board-enterprise-power.o
obj-${CONFIG_MACH_TEGRA_ENTERPRISE} += board-enterprise-baseband.o
obj-${CONFIG_MACH_TEGRA_ENTERPRISE} += board-enterprise-kbc.o
obj-${CONFIG_MACH_TEGRA_ENTERPRISE} += board-enterprise-sensors.o
+
+obj-${CONFIG_TEGRA_BB_XMM_POWER} += baseband-xmm-power.o
+obj-${CONFIG_TEGRA_BB_XMM_POWER2} += baseband-xmm-power2.o
+
diff --git a/arch/arm/mach-tegra/board-cardhu.c b/arch/arm/mach-tegra/board-cardhu.c
index bb49def7d14f..10267288f805 100644
--- a/arch/arm/mach-tegra/board-cardhu.c
+++ b/arch/arm/mach-tegra/board-cardhu.c
@@ -757,13 +757,17 @@ static struct usb_phy_plat_data tegra_usb_phy_pdata[] = {
static int cardu_usb_hsic_postsupend(void)
{
+#ifdef CONFIG_TEGRA_BB_XMM_POWER
baseband_xmm_set_power_status(BBXMM_PS_L2);
+#endif
return 0;
}
static int cardu_usb_hsic_preresume(void)
{
+#ifdef CONFIG_TEGRA_BB_XMM_POWER
baseband_xmm_set_power_status(BBXMM_PS_L2TOL0);
+#endif
return 0;
}
diff --git a/arch/arm/mach-tegra/board-enterprise-pinmux.c b/arch/arm/mach-tegra/board-enterprise-pinmux.c
index 8fba8248ccd1..6b10ac43c427 100644
--- a/arch/arm/mach-tegra/board-enterprise-pinmux.c
+++ b/arch/arm/mach-tegra/board-enterprise-pinmux.c
@@ -244,7 +244,7 @@ static __initdata struct tegra_pingroup_config enterprise_pinmux[] = {
DEFAULT_PINMUX(GPIO_PU2, UARTA, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(GPIO_PU3, UARTA, NORMAL, NORMAL, OUTPUT),
DEFAULT_PINMUX(GPIO_PU5, PWM2, NORMAL, NORMAL, INPUT),
- DEFAULT_PINMUX(GPIO_PU6, RSVD1, NORMAL, NORMAL, INPUT),
+ DEFAULT_PINMUX(GPIO_PU6, PWM3, NORMAL, NORMAL, OUTPUT),
DEFAULT_PINMUX(DAP4_FS, I2S3, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(DAP4_DIN, I2S3, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(DAP4_DOUT, I2S3, NORMAL, NORMAL, INPUT),