62 lines
2.5 KiB
Diff
62 lines
2.5 KiB
Diff
From 9eaa978feb942497c4542cc82e63d5468dc8f184 Mon Sep 17 00:00:00 2001
|
|
From: Wang Huan <wanghuan@zch06.freescale.net>
|
|
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 <b16972@freescale.com>
|
|
Signed-off-by: Jason Jin <jason.jin@freescale.com>
|
|
Signed-off-by: Chengju-Cai <b22600@freescale.com>
|
|
---
|
|
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 <asm/mcf5445x_intc.h>
|
|
+#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 <linux/serial_core.h>
|
|
#include <linux/platform_device.h>
|
|
-
|
|
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.
|