[ARM] tegra: ventana: Add gps support.
Raj Jayaraman [Fri, 11 Feb 2011 09:13:54 +0000 (01:13 -0800)]
Bug 696035

Original-Change-Id: Iafb02b1d4e6a8784e85cf7a48b1c674b71b4eb15
Reviewed-on: http://git-master/r/12640
Tested-by: Rajkumar Jayaraman <rjayaraman@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>

Rebase-Id: Refb27a8e730c8bb8837dde8233a798d36cd494cd

arch/arm/mach-tegra/board-ventana-pinmux.c
arch/arm/mach-tegra/board-ventana.c

index 0f37568..997873a 100644 (file)
@@ -110,7 +110,7 @@ static __initdata struct tegra_pingroup_config ventana_pinmux[] = {
        {TEGRA_PINGROUP_LPW1,  TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_LPW2,  TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_LSC0,  TEGRA_MUX_DISPLAYA,      TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
-       {TEGRA_PINGROUP_LSC1,  TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
+       {TEGRA_PINGROUP_LSC1,  TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_NORMAL},
        {TEGRA_PINGROUP_LSCK,  TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_LSDA,  TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
        {TEGRA_PINGROUP_LSDI,  TEGRA_MUX_RSVD4,         TEGRA_PUPD_NORMAL,    TEGRA_TRI_TRISTATE},
index 45d06d5..33eacbd 100644 (file)
@@ -250,7 +250,8 @@ static struct platform_device tegra_camera = {
 static struct platform_device *ventana_devices[] __initdata = {
        &tegra_otg_device,
        &debug_uart,
-       &tegra_uart2_device,
+       &tegra_uartb_device,
+       &tegra_uartc_device,
        &pmu_device,
        &tegra_udc_device,
        &tegra_ehci2_device,
@@ -362,6 +363,18 @@ void tegra_usb_otg_host_unregister(struct platform_device *pdev)
        platform_device_unregister(pdev);
 }
 
+static int __init ventana_gps_init(void)
+{
+       struct clk *clk32 = clk_get_sys(NULL, "blink");
+       if (!IS_ERR(clk32)) {
+               clk_set_rate(clk32,clk32->parent->rate);
+               clk_enable(clk32);
+       }
+
+       tegra_gpio_enable(TEGRA_GPIO_PZ3);
+       return 0;
+}
+
 static void __init tegra_ventana_init(void)
 {
        tegra_common_init();
@@ -379,6 +392,7 @@ static void __init tegra_ventana_init(void)
        ventana_touch_init();
        ventana_keys_init();
        ventana_usb_init();
+       ventana_gps_init();
        ventana_panel_init();
        ventana_sensors_init();
        ventana_bt_rfkill();