|
|
|
[PATCH 07/14] MIPS: Loongson 3: Add serial port support. | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
Signed-off-by: Hongliang Tao <taohl@xxxxxxxxxx>
Signed-off-by: Hua Yan <yanh@xxxxxxxxxx>
---
arch/mips/include/asm/mach-loongson/loongson.h | 3 ++
arch/mips/loongson/common/serial.c | 27 ++++++++++++++++++++++++
arch/mips/loongson/common/uart_base.c | 5 ++++
3 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/arch/mips/include/asm/mach-loongson/loongson.h b/arch/mips/include/asm/mach-loongson/loongson.h
index fe7d9a6..16d0924 100644
--- a/arch/mips/include/asm/mach-loongson/loongson.h
+++ b/arch/mips/include/asm/mach-loongson/loongson.h
@@ -125,6 +125,9 @@ static inline void do_perfcnt_IRQ(void)
#define LOONGSON_PCICONFIGBASE 0x00
#define LOONGSON_REGBASE 0x100
+/* Loongson-3A cpu uart */
+#define LOONGSON_UART_BASE 0x1fe001e0
+
/* PCI Configuration Registers */
#define LOONGSON_PCI_REG(x) LOONGSON_REG(LOONGSON_PCICONFIGBASE + (x))
diff --git a/arch/mips/loongson/common/serial.c b/arch/mips/loongson/common/serial.c
index 7580873..6bfe9dd 100644
--- a/arch/mips/loongson/common/serial.c
+++ b/arch/mips/loongson/common/serial.c
@@ -47,6 +47,33 @@ static struct plat_serial8250_port uart8250_data[][2] = {
[MACH_DEXXON_GDIUM2F10] {PORT_M(3), {} },
[MACH_LEMOTE_NAS] {PORT_M(3), {} },
[MACH_LEMOTE_LL2F] {PORT(3), {} },
+ [MACH_LEMOTE_A1004] {
+ {
+ .irq = MIPS_CPU_IRQ_BASE + 2,
+ .uartclk = 33177600,
+ .iotype = UPIO_MEM,
+ .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
+ },
+ {}
+ },
+ [MACH_LEMOTE_A1101] {
+ {
+ .irq = MIPS_CPU_IRQ_BASE + 2,
+ .uartclk = 25000000,
+ .iotype = UPIO_MEM,
+ .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
+ },
+ {}
+ },
+ [MACH_LEMOTE_A1205] {
+ {
+ .irq = MIPS_CPU_IRQ_BASE + 2,
+ .uartclk = 25000000,
+ .iotype = UPIO_MEM,
+ .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
+ },
+ {}
+ },
[MACH_LOONGSON_END] {},
};
diff --git a/arch/mips/loongson/common/uart_base.c b/arch/mips/loongson/common/uart_base.c
index d69ea54..ca86c07 100644
--- a/arch/mips/loongson/common/uart_base.c
+++ b/arch/mips/loongson/common/uart_base.c
@@ -30,6 +30,11 @@ void prom_init_loongson_uart_base(void)
case MACH_LEMOTE_LL2F:
loongson_uart_base = LOONGSON_PCIIO_BASE + 0x2f8;
break;
+ case MACH_LEMOTE_A1004:
+ case MACH_LEMOTE_A1101:
+ case MACH_LEMOTE_A1205:
+ loongson_uart_base = LOONGSON_UART_BASE;
+ break;
case MACH_LEMOTE_ML2F7:
case MACH_LEMOTE_YL2F89:
case MACH_DEXXON_GDIUM2F10:
--
1.7.7.3
[Linux MIPS Home] [LKML Archive] [Linux ARM] [Linux] [Git] [Photo] [Yosemite News] [Linux SCSI] [Linux Hams]
![]() |
![]() |