serial: add VR41xx SIU setup for serial console
Add VR41xx SIU setup for serial console. Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
baac58955d
commit
fc3f341b5a
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* init.c, Common initialization routines for NEC VR4100 series.
|
* init.c, Common initialization routines for NEC VR4100 series.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2005 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
|
* Copyright (C) 2003-2008 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -53,6 +53,8 @@ void __init plat_time_init(void)
|
||||||
void __init plat_mem_setup(void)
|
void __init plat_mem_setup(void)
|
||||||
{
|
{
|
||||||
iomem_resource_init();
|
iomem_resource_init();
|
||||||
|
|
||||||
|
vr41xx_siu_setup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init prom_init(void)
|
void __init prom_init(void)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* NEC VR4100 series SIU platform device.
|
* NEC VR4100 series SIU platform device.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
|
* Copyright (C) 2007-2008 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -118,3 +118,37 @@ err_free_device:
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
device_initcall(vr41xx_siu_add);
|
device_initcall(vr41xx_siu_add);
|
||||||
|
|
||||||
|
void __init vr41xx_siu_setup(void)
|
||||||
|
{
|
||||||
|
struct uart_port port;
|
||||||
|
struct resource *res;
|
||||||
|
unsigned int *type;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
switch (current_cpu_type()) {
|
||||||
|
case CPU_VR4111:
|
||||||
|
case CPU_VR4121:
|
||||||
|
type = siu_type1_ports;
|
||||||
|
res = siu_type1_resource;
|
||||||
|
break;
|
||||||
|
case CPU_VR4122:
|
||||||
|
case CPU_VR4131:
|
||||||
|
case CPU_VR4133:
|
||||||
|
type = siu_type2_ports;
|
||||||
|
res = siu_type2_resource;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < SIU_PORTS_MAX; i++) {
|
||||||
|
port.line = i;
|
||||||
|
port.type = type[i];
|
||||||
|
if (port.type == PORT_UNKNOWN)
|
||||||
|
break;
|
||||||
|
port.mapbase = res[i].start;
|
||||||
|
port.membase = (unsigned char __iomem *)KSEG1ADDR(res[i].start);
|
||||||
|
vr41xx_siu_early_setup(&port);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Include file for NEC VR4100 series Serial Interface Unit.
|
* Include file for NEC VR4100 series Serial Interface Unit.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2005 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
|
* Copyright (C) 2005-2008 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -49,4 +49,10 @@ typedef enum {
|
||||||
|
|
||||||
extern void vr41xx_select_irda_module(irda_module_t module, irda_speed_t speed);
|
extern void vr41xx_select_irda_module(irda_module_t module, irda_speed_t speed);
|
||||||
|
|
||||||
|
#ifdef CONFIG_SERIAL_VR41XX_CONSOLE
|
||||||
|
extern void vr41xx_siu_early_setup(struct uart_port *port);
|
||||||
|
#else
|
||||||
|
static inline void vr41xx_siu_early_setup(struct uart_port *port) {}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* __NEC_VR41XX_SIU_H */
|
#endif /* __NEC_VR41XX_SIU_H */
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
* Copyright (C) 2001, 2002 Paul Mundt
|
* Copyright (C) 2001, 2002 Paul Mundt
|
||||||
* Copyright (C) 2002 MontaVista Software, Inc.
|
* Copyright (C) 2002 MontaVista Software, Inc.
|
||||||
* Copyright (C) 2002 TimeSys Corp.
|
* Copyright (C) 2002 TimeSys Corp.
|
||||||
* Copyright (C) 2003-2005 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
|
* Copyright (C) 2003-2008 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms of the GNU General Public License as published by the
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
@ -143,4 +143,10 @@ extern void vr41xx_disable_csiint(uint16_t mask);
|
||||||
extern void vr41xx_enable_bcuint(void);
|
extern void vr41xx_enable_bcuint(void);
|
||||||
extern void vr41xx_disable_bcuint(void);
|
extern void vr41xx_disable_bcuint(void);
|
||||||
|
|
||||||
|
#ifdef CONFIG_SERIAL_VR41XX_CONSOLE
|
||||||
|
extern void vr41xx_siu_setup(void);
|
||||||
|
#else
|
||||||
|
static inline void vr41xx_siu_setup(void) {}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* __NEC_VR41XX_H */
|
#endif /* __NEC_VR41XX_H */
|
||||||
|
|
Loading…
Reference in New Issue