diff options
author | B38613 <B38613@freescale.com> | 2012-02-22 13:34:50 +0800 |
---|---|---|
committer | B38613 <B38613@freescale.com> | 2012-02-22 13:45:41 +0800 |
commit | 89fb45f9dcfc910ed17229d5120c7b66b8bd0c06 (patch) | |
tree | f4e2a5589f52bca9e0b9f93f600335324099223a /arch/arm/mach-mx6 | |
parent | 7dfeb2e543b45a8e33318e1879ef5ba89484a81b (diff) |
ENGR00174615:Enable AH-1613 GPS module
set GPIO config and disable UART3 DMA.
Signed-off-by: Zhou Jianzheng <B38613@freescale.com>
Diffstat (limited to 'arch/arm/mach-mx6')
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_sabresd.c | 22 | ||||
-rw-r--r-- | arch/arm/mach-mx6/serial.h | 4 |
2 files changed, 23 insertions, 3 deletions
diff --git a/arch/arm/mach-mx6/board-mx6q_sabresd.c b/arch/arm/mach-mx6/board-mx6q_sabresd.c index e8595219fd71..3d351d6045e6 100644 --- a/arch/arm/mach-mx6/board-mx6q_sabresd.c +++ b/arch/arm/mach-mx6/board-mx6q_sabresd.c @@ -105,6 +105,8 @@ #define MX6Q_SABRESD_CHARGE_CHG_2_B IMX_GPIO_NR(3, 13) #define MX6Q_SABRESD_CHARGE_UOK_B IMX_GPIO_NR(1, 27) #define MX6Q_SABRESD_CHARGE_DOK_B IMX_GPIO_NR(2, 24) +#define MX6Q_SABRESD_GPS_EN IMX_GPIO_NR(3, 0) +#define MX6Q_SABRESD_AUX_3V15_EN IMX_GPIO_NR(6, 9) void __init early_console_setup(unsigned long base, struct clk *clk); static struct clk *sata_clk; @@ -333,6 +335,9 @@ static iomux_v3_cfg_t mx6q_sabresd_pads[] = { MX6Q_PAD_ENET_RXD0__GPIO_1_27, /* UOK_B */ MX6Q_PAD_EIM_CS1__GPIO_2_24, /* DOK_B */ + + /*GPS AUX_3V15_EN*/ + MX6Q_PAD_NANDF_WP_B__GPIO_6_9, }; static iomux_v3_cfg_t mx6q_sabresd_csi0_sensor_pads[] = { @@ -1013,6 +1018,20 @@ static int imx6q_init_audio(void) return 0; } +static void gps_power_on(bool on) +{ + /* Enable/disable aux_3v15 */ + gpio_request(MX6Q_SABRESD_AUX_3V15_EN, "aux_3v15_en"); + gpio_direction_output(MX6Q_SABRESD_AUX_3V15_EN, 1); + gpio_set_value(MX6Q_SABRESD_AUX_3V15_EN, on); + gpio_free(MX6Q_SABRESD_AUX_3V15_EN); + /*Enable/disable gps_en*/ + gpio_request(MX6Q_SABRESD_GPS_EN, "gps_en"); + gpio_direction_output(MX6Q_SABRESD_GPS_EN, 1); + gpio_set_value(MX6Q_SABRESD_GPS_EN, on); + gpio_free(MX6Q_SABRESD_GPS_EN); + +} #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) #define GPIO_BUTTON(gpio_num, ev_code, act_low, descr, wake) \ { \ @@ -1236,6 +1255,7 @@ static void __init mx6_sabresd_board_init(void) gpio_direction_output(MX6Q_SABRESD_AUX_5V_EN, 1); gpio_set_value(MX6Q_SABRESD_AUX_5V_EN, 1); + gps_power_on(true); /* Register charger chips */ platform_device_register(&sabresd_max8903_charger_1); } @@ -1258,7 +1278,7 @@ static struct sys_timer mx6_sabresd_timer = { .init = mx6_sabresd_timer_init, }; -static void __init mx6q_sabresd_reserve(void) +static void __init mx6q_sabresd_reserve() { phys_addr_t phys; diff --git a/arch/arm/mach-mx6/serial.h b/arch/arm/mach-mx6/serial.h index 16d969fca20a..c510b59b6b7d 100644 --- a/arch/arm/mach-mx6/serial.h +++ b/arch/arm/mach-mx6/serial.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright (C) 2012 Freescale Semiconductor, Inc. All Rights Reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -56,7 +56,7 @@ #define UART2_UFCR_TXTL 16 /* UART 3 configuration */ #define UART3_UCR4_CTSTL 16 -#define UART3_DMA_ENABLE 1 +#define UART3_DMA_ENABLE 0 #define UART3_DMA_RXBUFSIZE 1024 #define UART3_UFCR_RXTL 16 #define UART3_UFCR_TXTL 16 |