diff options
author | Sergey Ryazanov <ryazanov.s.a@gmail.com> | 2014-10-29 03:18:43 +0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-11-24 07:45:27 +0100 |
commit | 1ac91b1f686e9d819b16525baf2e8db3c282edba (patch) | |
tree | 22175fa726fe35b52f562f114a41a5eb80bcb6b6 /arch/mips/ath25/devices.c | |
parent | 8aaa7278c0c98a77ec36e1fed7d9bede58164a26 (diff) | |
download | linux-1ac91b1f686e9d819b16525baf2e8db3c282edba.tar.bz2 |
MIPS: ath25: add UART support
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Cc: Linux MIPS <linux-mips@linux-mips.org>
Patchwork: https://patchwork.linux-mips.org/patch/8242/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/ath25/devices.c')
-rw-r--r-- | arch/mips/ath25/devices.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/mips/ath25/devices.c b/arch/mips/ath25/devices.c index 049ab4477954..400419d8e7d9 100644 --- a/arch/mips/ath25/devices.c +++ b/arch/mips/ath25/devices.c @@ -1,10 +1,41 @@ #include <linux/kernel.h> #include <linux/init.h> +#include <linux/serial_8250.h> #include <asm/bootinfo.h> #include "devices.h" +#include "ar5312.h" +#include "ar2315.h" const char *get_system_type(void) { return "Atheros (unknown)"; } + +void __init ath25_serial_setup(u32 mapbase, int irq, unsigned int uartclk) +{ + struct uart_port s; + + memset(&s, 0, sizeof(s)); + + s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP; + s.iotype = UPIO_MEM32; + s.irq = irq; + s.regshift = 2; + s.mapbase = mapbase; + s.uartclk = uartclk; + + early_serial_setup(&s); +} + +static int __init ath25_arch_init(void) +{ + if (is_ar5312()) + ar5312_arch_init(); + else + ar2315_arch_init(); + + return 0; +} + +arch_initcall(ath25_arch_init); |