diff options
author | Alejandro Sierra <b18039@freescale.com> | 2012-04-02 15:28:38 -0500 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2012-07-20 13:24:48 +0800 |
commit | 8c881c5b6669e381133146838ca66b0ce7faf7a1 (patch) | |
tree | 282e215d78b6bd80af4cc76bf4cbaa1c0843a295 /arch/arm/mach-mx6/board-mx6q_sabreauto.c | |
parent | 7986b07e5eb283c79a04021f21e313204ae5aaab (diff) |
ENGR00178584 uart3 pins configuration
Uart 3 and NFC pins are shared.
Uart 3 enablement is done by passing an early parameter
called "uart3" from uboot. Both interfaces (Uart3 and NFC)
can NOT coexist on the same configuration at the same time.
Signed-off-by: Alejandro Sierra <b18039@freescale.com>
Diffstat (limited to 'arch/arm/mach-mx6/board-mx6q_sabreauto.c')
-rw-r--r-- | arch/arm/mach-mx6/board-mx6q_sabreauto.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/arch/arm/mach-mx6/board-mx6q_sabreauto.c b/arch/arm/mach-mx6/board-mx6q_sabreauto.c index 7ca00f3b475b..8819b45612a1 100644 --- a/arch/arm/mach-mx6/board-mx6q_sabreauto.c +++ b/arch/arm/mach-mx6/board-mx6q_sabreauto.c @@ -136,6 +136,14 @@ static int mma8451_position = 3; static struct clk *sata_clk; static int mipi_sensor; static int can0_enable; +static int uart3_en; + +static int __init uart3_enable(char *p) +{ + uart3_en = 1; + return 0; +} +early_param("uart3", uart3_enable); enum sd_pad_mode { SD_PAD_MODE_LOW_SPEED, @@ -285,8 +293,8 @@ mx6q_sabreauto_anatop_thermal_data __initconst = { static inline void mx6q_sabreauto_init_uart(void) { - imx6q_add_imx_uart(0, NULL); imx6q_add_imx_uart(1, NULL); + imx6q_add_imx_uart(2, NULL); imx6q_add_imx_uart(3, NULL); } @@ -524,9 +532,11 @@ static int max7310_u43_setup(struct i2c_client *client, int max7310_gpio_value[] = { 0, 0, 0, 0, 0, 0, 0, 0, }; - int n; + if (uart3_en) + max7310_gpio_value[3] = 1; + for (n = 0; n < ARRAY_SIZE(max7310_gpio_value); ++n) { gpio_request(gpio_base + n, "MAX7310 U43 GPIO Expander"); if (max7310_gpio_value[n] < 0) @@ -1416,7 +1426,8 @@ static void __init mx6_board_init(void) imx6q_add_viim(); imx6q_add_imx2_wdt(0, NULL); imx6q_add_dma(); - imx6q_add_gpmi(&mx6q_gpmi_nand_platform_data); + if (!uart3_en) + imx6q_add_gpmi(&mx6q_gpmi_nand_platform_data); imx6q_add_dvfs_core(&sabreauto_dvfscore_data); |