2005-04-16 15:20:36 -07:00
/*
* Carsten Langgaard , carstenl @ mips . com
* Copyright ( C ) 2002 MIPS Technologies , Inc . All rights reserved .
*
* This program is free software ; you can distribute it and / or modify it
* under the terms of the GNU General Public License ( Version 2 ) as
* published by the Free Software Foundation .
*
* This program is distributed in the hope it will be useful , but WITHOUT
* ANY WARRANTY ; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE . See the GNU General Public License
* for more details .
*
* You should have received a copy of the GNU General Public License along
* with this program ; if not , write to the Free Software Foundation , Inc . ,
* 59 Temple Place - Suite 330 , Boston MA 02111 - 1307 , USA .
*
* SEAD specific setup .
*/
# include <linux/init.h>
# include <linux/sched.h>
# include <linux/ioport.h>
# include <linux/tty.h>
# include <linux/serial.h>
# include <linux/serial_core.h>
2007-07-18 00:49:10 -07:00
# include <linux/serial_8250.h>
2005-04-16 15:20:36 -07:00
# include <asm/cpu.h>
# include <asm/bootinfo.h>
# include <asm/irq.h>
# include <asm/mips-boards/generic.h>
# include <asm/mips-boards/prom.h>
# include <asm/mips-boards/sead.h>
# include <asm/mips-boards/seadint.h>
# include <asm/time.h>
static void __init serial_init ( void ) ;
const char * get_system_type ( void )
{
return " MIPS SEAD " ;
}
2007-05-16 17:54:08 +02:00
const char display_string [ ] = " LINUX ON SEAD " ;
2006-06-18 01:32:22 +01:00
void __init plat_mem_setup ( void )
2005-04-16 15:20:36 -07:00
{
ioport_resource . end = 0x7fffffff ;
2007-10-11 23:46:15 +01:00
serial_init ( ) ;
2005-04-16 15:20:36 -07:00
mips_reboot_setup ( ) ;
}
static void __init serial_init ( void )
{
# ifdef CONFIG_SERIAL_8250
struct uart_port s ;
memset ( & s , 0 , sizeof ( s ) ) ;
# ifdef CONFIG_CPU_LITTLE_ENDIAN
s . iobase = SEAD_UART0_REGS_BASE ;
# else
s . iobase = SEAD_UART0_REGS_BASE + 3 ;
# endif
2007-06-20 22:27:10 +01:00
s . irq = MIPS_CPU_IRQ_BASE + MIPSCPU_INT_UART0 ;
2005-04-16 15:20:36 -07:00
s . uartclk = SEAD_BASE_BAUD * 16 ;
2006-02-05 10:52:29 +00:00
s . flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_AUTO_IRQ ;
2006-02-05 10:48:10 +00:00
s . iotype = UPIO_PORT ;
2005-04-16 15:20:36 -07:00
s . regshift = 3 ;
if ( early_serial_setup ( & s ) ! = 0 ) {
printk ( KERN_ERR " Serial setup failed! \n " ) ;
}
# endif
}