diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2014-07-11 14:48:50 +0200 |
---|---|---|
committer | Stefan Agner <stefan.agner@toradex.com> | 2014-07-11 14:48:50 +0200 |
commit | 07efcf5218e6f4751b22af63337e6179f269cc89 (patch) | |
tree | 99c5dfe94d191e8f9f9d5b46be7408c56da83bcb | |
parent | ce65db1a5727dbf6d0dafa44e77fe51980d1653f (diff) | |
parent | 62d8d94a83ffbd5e1c8e99ffefc84811a3947ec9 (diff) |
Merge tag '3.0-vybrid-ts2.17' into colibri_vf_next
3.0-vybrid-ts2.17
Conflicts:
arch/arm/plat-mxc/include/mach/iomux-mvf.h
-rw-r--r-- | arch/arm/common/gic.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-mvf/board-twr-vf700.c | 4 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/iomux-mvf.h | 80 | ||||
-rw-r--r-- | drivers/tty/serial/mvf.c | 3 |
4 files changed, 74 insertions, 15 deletions
diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c index ab8c07d48a26..a03e56eeecb7 100644 --- a/arch/arm/common/gic.c +++ b/arch/arm/common/gic.c @@ -376,7 +376,7 @@ void __cpuinit gic_secondary_init(unsigned int gic_nr) gic_cpu_init(&gic_data[gic_nr]); } -void __cpuinit gic_enable_ppi(unsigned int irq) +void gic_enable_ppi(unsigned int irq) { unsigned long flags; diff --git a/arch/arm/mach-mvf/board-twr-vf700.c b/arch/arm/mach-mvf/board-twr-vf700.c index 576233588dde..3c19b1c70ec9 100644 --- a/arch/arm/mach-mvf/board-twr-vf700.c +++ b/arch/arm/mach-mvf/board-twr-vf700.c @@ -249,13 +249,13 @@ static struct platform_device mvf_twr_audio_device = { }; static struct imxuart_platform_data mvf_uart1_pdata = { - .flags = IMXUART_FIFO, + .flags = IMXUART_FIFO | IMXUART_EDMA, .dma_req_rx = DMA_MUX03_UART1_RX, .dma_req_tx = DMA_MUX03_UART1_TX, }; static struct imxuart_platform_data mvf_uart0_pdata = { - .flags = IMXUART_FIFO, + .flags = IMXUART_FIFO | IMXUART_EDMA, .dma_req_rx = DMA_MUX03_UART0_RX, .dma_req_tx = DMA_MUX03_UART0_TX, }; diff --git a/arch/arm/plat-mxc/include/mach/iomux-mvf.h b/arch/arm/plat-mxc/include/mach/iomux-mvf.h index 4022ee0469bc..3e69c593535f 100644 --- a/arch/arm/plat-mxc/include/mach/iomux-mvf.h +++ b/arch/arm/plat-mxc/include/mach/iomux-mvf.h @@ -394,7 +394,15 @@ typedef enum iomux_config { #define MVF600_PAD133_PTE28_DCU0_B7 \ IOMUX_PAD(0x0214, 0x0214, 1, 0x0000, 0, MVF600_DCU_PAD_CTRL) -/*UART1*/ +/* UART0: PTB10, PTB11 – ALT1 */ +#define MVF600_PAD32_PTB10_UART0_TX \ + IOMUX_PAD(0x0080, 0x0080, 1, 0x0000, 0, \ + MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE) +#define MVF600_PAD33_PTB11_UART0_RX \ + IOMUX_PAD(0x0084, 0x0084, 1, 0x0000, 0, \ + MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE) + +/* UART1: PTB4, PTB5 – ALT2 */ #define MVF600_PAD26_PTB4_UART1_TX \ IOMUX_PAD(0x0068, 0x0068, 2, 0x0380, 0, \ MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE) @@ -406,8 +414,56 @@ typedef enum iomux_config { #define MVF600_PAD32_PTB10_UART0_TX \ IOMUX_PAD(0x0080, 0x0080, 1, 0x0000, 0, \ MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE) -#define MVF600_PAD33_PTB11_UART0_RX \ - IOMUX_PAD(0x0084, 0x0084, 1, 0x0000, 0, \ +#define MVF600_PAD48_PTC3_UART1_RX \ + IOMUX_PAD(0x00c0, 0x00co, 2, 0x037C, 1, \ + MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE) + +/* UART1: PTB23, PTB24 – ALT2 */ +#define MVF600_PAD93_PTB23_UART1_TX \ + IOMUX_PAD(0x0174, 0x0174, 2, 0x0380, 2, \ + MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE) +#define MVF600_PAD94_PTB24_UART1_RX \ + IOMUX_PAD(0x0178, 0x0178, 2, 0x037C, 2, \ + MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE) + +/* UART2: PTB6, PTB7 – ALT7 */ +#define MVF600_PAD28_PTB6_UART2_TX \ + IOMUX_PAD( 0x0070, 0x0070, 7, 0x038C, 0, \ + MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE) +#define MVF600_PAD29_PTB7_UART2_RX \ + IOMUX_PAD( 0x0074, 0x0074, 7, 0x0388, 0, \ + MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE) + +/* UART2: PTD23, PTD22 – ALT6 */ +#define MVF600_PAD71_PTD23_UART2_TX \ + IOMUX_PAD(0x011C, 0x011C, 6, 0x038C, 1, \ + MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE) +#define MVF600_PAD72_PTD22_UART2_RX \ + IOMUX_PAD(0x0120, 0x0120, 6, 0x0388, 1, \ + MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE) + +/* UART2: PTD0, PTD1 – ALT2 */ +#define MVF600_PAD79_PTD0_UART2_TX \ + IOMUX_PAD(0x013C, 0x013C, 2, 0x038C, 2, \ + MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE) +#define MVF600_PAD80_PTD1_UART2_RX \ + IOMUX_PAD(0x0140, 0x0140, 2, 0x0388, 2, \ + MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE) + +/* UART3: PTA20, PTA21 – ALT6 */ +#define MVF600_PAD10_PTA20_UART3_TX \ + IOMUX_PAD( 0x0028, 0x0028, 6, 0x0394, 0, \ + MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE) +#define MVF600_PAD11_PTA21_UART3_RX \ + IOMUX_PAD( 0x002c, 0x002c, 6, 0x0390, 0, \ + MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE) + +/* UART3: PTA30, PTA31 – ALT7 */ +#define MVF600_PAD20_PTA30_UART3_TX \ + IOMUX_PAD( 0x0050, 0x0050, 7, 0x0394, 1, \ + MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE) +#define MVF600_PAD21_PTA31_UART3_RX \ + IOMUX_PAD( 0x0054, 0x0054, 7, 0x0390, 1, \ MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE) #define MVF600_PAD34_PTB12_UART0_RTS \ IOMUX_PAD(0x0088, 0x0088, 1, 0x0000, 0, \ @@ -452,18 +508,20 @@ typedef enum iomux_config { #define MVF600_PAD30_PTB8_INT \ IOMUX_PAD(0x0078, 0x0078, 0, 0x032C, 0, MVF600_FTM1_CH_CTRL) -#define MVF600_PAD28_PTB6_UART2_TX \ - IOMUX_PAD(0x0070, 0x0070, 7, 0x038C, 0, \ +/* UART4: PTA28, PTA29 – ALT4 */ +#define MVF600_PAD18_PTA28_UART4_TX \ + IOMUX_PAD( 0x0048, 0x0048, 4, 0x0000, 0, \ MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE) -#define MVF600_PAD29_PTB7_UART2_RX \ - IOMUX_PAD(0x0074, 0x0074, 7, 0x0388, 0, \ +#define MVF600_PAD19_PTA29_UART4_RX \ + IOMUX_PAD( 0x004c, 0x004c, 4, 0x0000, 0, \ MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE) -#define MVF600_PAD10_PTA20_UART3_TX \ - IOMUX_PAD(0x0028, 0x0028, 6, 0x0394, 0, \ +/* UART5: PTC14, PTC15 – ALT4 */ +#define MVF600_PAD59_PTC14_UART5_TX \ + IOMUX_PAD( 0x00ec, 0x00ec, 4, 0x0000, 0, \ MVF600_UART_PAD_CTRL | PAD_CTL_OBE_ENABLE) -#define MVF600_PAD11_PTA21_UART3_RX \ - IOMUX_PAD(0x002C, 0x002C, 6, 0x0390, 0, \ +#define MVF600_PAD60_PTC15_UART5_RX \ + IOMUX_PAD( 0x00f0, 0x00f0, 4, 0x0000, 0, \ MVF600_UART_PAD_CTRL | PAD_CTL_IBE_ENABLE) /* GPIO Input (disabled in case of 2nd Ethernet) */ diff --git a/drivers/tty/serial/mvf.c b/drivers/tty/serial/mvf.c index a174b63e2225..5bf18fe5e3dc 100644 --- a/drivers/tty/serial/mvf.c +++ b/drivers/tty/serial/mvf.c @@ -788,7 +788,7 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios, brfa = ((sport->port.uartclk - (16 * sbr * baud)) * 2)/baud; bdh &= ~MXC_UARTBDH_SBR_MASK; - bdh |= (sbr >> 8) & 0x1F; + bdh |= (sbr >> 8) & MXC_UARTBDH_SBR_MASK; cr4 &= ~MXC_UARTCR4_BRFA_MASK; brfa &= MXC_UARTCR4_BRFA_MASK; @@ -1250,6 +1250,7 @@ static int serial_imx_probe(struct platform_device *pdev) if (pdata && (pdata->flags & IMXUART_EDMA)) { sport->enable_dma = 1; + sport->dma_tx_ch = -1; printk("IMX UART EDMA enabled\n"); } if (pdata && (pdata->flags & IMXUART_FIFO)) |