2005-09-09 03:32:14 +04:00
/***************************************************************************/
2005-04-17 02:20:36 +04:00
/*
2012-12-05 03:04:49 +04:00
* m68EZ328 . c - 68 EZ328 specific config
2005-04-17 02:20:36 +04:00
*
* Copyright ( C ) 1993 Hamish Macdonald
* Copyright ( C ) 1999 D . Jeff Dionne
*
* This file is subject to the terms and conditions of the GNU General Public
* License . See the file COPYING in the main directory of this archive
* for more details .
*/
2005-09-09 03:32:14 +04:00
/***************************************************************************/
2013-06-30 13:58:40 +04:00
# include <linux/init.h>
2005-04-17 02:20:36 +04:00
# include <linux/types.h>
# include <linux/kernel.h>
2012-01-23 07:25:56 +04:00
# include <linux/rtc.h>
2005-04-17 02:20:36 +04:00
# include <asm/pgtable.h>
# include <asm/machdep.h>
# include <asm/MC68EZ328.h>
# ifdef CONFIG_UCSIMM
# include <asm/bootstd.h>
# endif
2005-09-09 03:32:14 +04:00
/***************************************************************************/
2005-04-17 02:20:36 +04:00
2012-01-23 07:25:56 +04:00
int m68328_hwclk ( int set , struct rtc_time * t ) ;
2005-04-17 02:20:36 +04:00
2005-09-09 03:32:14 +04:00
/***************************************************************************/
2005-04-17 02:20:36 +04:00
2005-09-09 03:32:14 +04:00
void m68ez328_reset ( void )
2005-04-17 02:20:36 +04:00
{
local_irq_disable ( ) ;
2006-06-28 10:23:14 +04:00
asm volatile (
" moveal #0x10c00000, %a0; \n "
" moveb #0, 0xFFFFF300; \n "
" moveal 0(%a0), %sp; \n "
" moveal 4(%a0), %a0; \n "
" jmp (%a0); \n "
) ;
2005-04-17 02:20:36 +04:00
}
2005-09-09 03:32:14 +04:00
/***************************************************************************/
2005-04-17 02:20:36 +04:00
unsigned char * cs8900a_hwaddr ;
static int errno ;
# ifdef CONFIG_UCSIMM
_bsc0 ( char * , getserialnum )
_bsc1 ( unsigned char * , gethwaddr , int , a )
_bsc1 ( char * , getbenv , char * , a )
# endif
2013-06-30 13:58:40 +04:00
void __init config_BSP ( char * command , int len )
2005-04-17 02:20:36 +04:00
{
unsigned char * p ;
2016-12-06 19:00:33 +03:00
pr_info ( " 68EZ328 DragonBallEZ support (C) 1999 Rt-Control, Inc \n " ) ;
2005-04-17 02:20:36 +04:00
# ifdef CONFIG_UCSIMM
2016-12-06 19:00:33 +03:00
pr_info ( " uCsimm serial string [%s] \n " , getserialnum ( ) ) ;
2005-04-17 02:20:36 +04:00
p = cs8900a_hwaddr = gethwaddr ( 0 ) ;
2016-12-06 19:00:33 +03:00
pr_info ( " uCsimm hwaddr %pM \n " , p ) ;
2005-04-17 02:20:36 +04:00
p = getbenv ( " APPEND " ) ;
if ( p ) strcpy ( p , command ) ;
else command [ 0 ] = 0 ;
# endif
2014-04-02 18:43:12 +04:00
mach_sched_init = hw_timer_init ;
2012-01-23 07:25:56 +04:00
mach_hwclk = m68328_hwclk ;
2007-10-24 06:03:28 +04:00
mach_reset = m68ez328_reset ;
2005-04-17 02:20:36 +04:00
}
2005-09-09 03:32:14 +04:00
/***************************************************************************/