From c3093c46d4add2604d01d9527dd77eeaac8ceb47 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 26 Apr 2011 19:37:34 +0800 Subject: [PATCH] xxm FIH:update gps && UART3 --- arch/arm/mach-rk29/board-rk29-fih.c | 27 +++++++++++++++++++++++++++ drivers/serial/rk29_serial.c | 2 -- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-rk29/board-rk29-fih.c b/arch/arm/mach-rk29/board-rk29-fih.c index 0188bc5e0f19..dc918b6d4f3c 100755 --- a/arch/arm/mach-rk29/board-rk29-fih.c +++ b/arch/arm/mach-rk29/board-rk29-fih.c @@ -1901,6 +1901,29 @@ static struct platform_device rk29sdk_wifi_device = { }; #endif +#ifdef CONFIG_RK29_GPS +static int rk29_gps_bcm4751_gpio_init(void) +{ + rk29_mux_api_set(GPIO2B3_UART3SOUT_NAME, GPIO2L_GPIO2B3); + rk29_mux_api_set(GPIO2B2_UART3SIN_NAME, GPIO2L_GPIO2B2); + + if (gpio_request(RK29_PIN2_PB3, "uart3_sout")) { + pr_info("%s: request uart3_sout gpio failed\n", __func__); + return -1; + } + + if (gpio_request(RK29_PIN2_PB2, "uart3_sin")) { + pr_info("%s: request uart3_sin gpio failed\n", __func__); + gpio_free(RK29_PIN2_PB3); + return -1; + } + + gpio_pull_updown(RK29_PIN2_PB3, PullDisable); + gpio_pull_updown(RK29_PIN2_PB2, PullDisable); + + return 0; +} +#endif /* bluetooth rfkill device */ static struct platform_device rk29sdk_rfkill = { @@ -2403,6 +2426,10 @@ static void __init machine_rk29_board_init(void) rk29sdk_init_wifi_mem(); #endif +#ifdef CONFIG_RK29_GPS + rk29_gps_bcm4751_gpio_init(); +#endif + board_usb_detect_init(RK29_PIN0_PA0); } diff --git a/drivers/serial/rk29_serial.c b/drivers/serial/rk29_serial.c index a1d927a7ea3a..5bfcaa2f7e89 100755 --- a/drivers/serial/rk29_serial.c +++ b/drivers/serial/rk29_serial.c @@ -335,8 +335,6 @@ static int rk29_serial_startup(struct uart_port *port) { rk29_mux_api_set(GPIO2B3_UART3SOUT_NAME, GPIO2L_UART3_SOUT); rk29_mux_api_set(GPIO2B2_UART3SIN_NAME, GPIO2L_UART3_SIN); - gpio_pull_updown(RK29_PIN2_PB2, NULL); - gpio_pull_updown(RK29_PIN2_PB3, NULL); } retval = request_irq(port->irq,rk29_uart_interrupt,IRQF_SHARED, -- 2.34.1