From: Alejandro Sierra Date: Thu, 22 Dec 2011 15:29:55 +0000 (-0600) Subject: ENGR00170817 UART2 iomux fix configuration X-Git-Tag: v3.0.35-fsl_4.1.0~1814 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7412b6ff20f907c8f7d6e84868128b564c58a1d5;p=karo-tx-linux.git ENGR00170817 UART2 iomux fix configuration Added iomux configuration pads to support UART2 through GPIO 7 and GPIO 8 Add flag to enable uart2. This flag avoids configure GPIO7 as CAN mode when the uart2 is used. The flag is passed through bootargs and is called uart2. Signed-off-by: Alejandro Sierra --- diff --git a/arch/arm/mach-mx6/board-mx6q_sabreauto.c b/arch/arm/mach-mx6/board-mx6q_sabreauto.c index c82bfb8991fd..3f8fc04d27ec 100644 --- a/arch/arm/mach-mx6/board-mx6q_sabreauto.c +++ b/arch/arm/mach-mx6/board-mx6q_sabreauto.c @@ -132,6 +132,7 @@ void __init early_console_setup(unsigned long base, struct clk *clk); static struct clk *sata_clk; static int esai_record; static int mipi_sensor; +static int uart2_en; extern struct regulator *(*get_cpu_regulator)(void); extern void (*put_cpu_regulator)(void); @@ -319,8 +320,22 @@ static iomux_v3_cfg_t mx6q_sabreauto_pads[] = { /* VIDEO adv7180 INTRQ */ MX6Q_PAD_ENET_RXD0__GPIO_1_27, + /* UART 2 */ + MX6Q_PAD_GPIO_7__UART2_TXD, + MX6Q_PAD_GPIO_8__UART2_RXD, + MX6Q_PAD_SD4_DAT6__UART2_CTS, + MX6Q_PAD_SD4_DAT5__UART2_RTS, + }; +static int __init uart2_enable(char *p) +{ + uart2_en = 1; + return 0; +} +early_param("uart2", uart2_enable); + + static iomux_v3_cfg_t mx6q_sabreauto_i2c3_pads[] = { MX6Q_PAD_GPIO_3__I2C3_SCL, MX6Q_PAD_GPIO_16__I2C3_SDA, @@ -1378,7 +1393,8 @@ static void __init mx6_board_init(void) mxc_iomux_v3_setup_multiple_pads(mx6q_sabreauto_i2c3_pads, ARRAY_SIZE(mx6q_sabreauto_i2c3_pads)); - mxc_iomux_v3_setup_multiple_pads(mx6q_sabreauto_can_pads, + if (!uart2_en) + mxc_iomux_v3_setup_multiple_pads(mx6q_sabreauto_can_pads, ARRAY_SIZE(mx6q_sabreauto_can_pads)); /* assert i2c-rst */