From 9eaa978feb942497c4542cc82e63d5468dc8f184 Mon Sep 17 00:00:00 2001 From: Wang Huan Date: Thu, 25 Feb 2010 15:27:21 +0800 Subject: [PATCH 05/23] Add common serial driver and add IRDA support for m547x_8x Add common serial driver for mcf5445x board and mcf547x, mcf548x boards. Also add IRDA support for mcf547x, mcf548x boards. Signed-off-by: Shrek Wu Signed-off-by: Jason Jin Signed-off-by: Chengju-Cai --- arch/m68k/include/asm/mcfuart.h | 35 +++++++++++++--- drivers/serial/Kconfig | 13 ++++++ drivers/serial/mcf.c | 88 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 130 insertions(+), 6 deletions(-) --- a/arch/m68k/include/asm/mcfuart.h +++ b/arch/m68k/include/asm/mcfuart.h @@ -47,18 +48,35 @@ #define MCFUART_BASE1 0xfc060000 /* Base address of UART1 */ #define MCFUART_BASE2 0xfc064000 /* Base address of UART2 */ #define MCFUART_BASE3 0xfc068000 /* Base address of UART3 */ +#elif defined(CONFIG_M5445X) +#include +#define MCFUART_BASE1 0xfc060000 /* Base address of UART1 */ +#define MCFUART_BASE2 0xfc064000 /* Base address of UART2 */ +#define MCFUART_BASE3 0xfc068000 /* Base address of UART3 */ +#define MCFINT_VECBASE 64 +#define MCFINT_UART0 26 +#elif defined(CONFIG_M547X_8X) +#define MCFUART_BASE1 0x8600 /* Base address of UART1 */ +#define MCFUART_BASE2 0x8700 /* Base address of UART2 */ +#define MCFUART_BASE3 0x8800 /* Base address of UART3 */ +#define MCFUART_BASE4 0x8900 /* Base address of UART4 */ +#define MCFINT_VECBASE 64 +#define MCFINT_UART0 35 +#define MCFINT_UART1 34 +#define MCFINT_UART2 33 +#define MCFINT_UART3 32 #endif - +#ifndef __ASSEMBLY__ #include #include - struct mcf_platform_uart { - unsigned long mapbase; /* Physical address base */ - void __iomem *membase; /* Virtual address if mapped */ - unsigned int irq; /* Interrupt vector */ - unsigned int uartclk; /* UART clock rate */ + unsigned long mapbase; /* Physical address base */ + void __iomem *membase; /* Virtual address if mapped */ + unsigned int irq; /* Interrupt vector */ + unsigned int uartclk; /* UART clock rate */ }; +#endif /* * Define the ColdFire UART register set addresses.