103981f2427c767cfcd917cb51197c43fe68ba5dbGreg Ungerer/***************************************************************************/
203981f2427c767cfcd917cb51197c43fe68ba5dbGreg Ungerer
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/*
499e083747df366eb4689a550c4344bae63082de8Luis Alves *  m68EZ328.c - 68EZ328 specific config
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  Copyright (C) 1993 Hamish Macdonald
71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *  Copyright (C) 1999 D. Jeff Dionne
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * This file is subject to the terms and conditions of the GNU General Public
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * License.  See the file COPYING in the main directory of this archive
111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * for more details.
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
1403981f2427c767cfcd917cb51197c43fe68ba5dbGreg Ungerer/***************************************************************************/
1503981f2427c767cfcd917cb51197c43fe68ba5dbGreg Ungerer
16df592eb5dc07c5df26a16318ed4bf2f96fa38a4dGeert Uytterhoeven#include <linux/init.h>
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/types.h>
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <linux/kernel.h>
199517746131f62294ddd922bcd288415be5104c23Greg Ungerer#include <linux/rtc.h>
201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <asm/pgtable.h>
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <asm/machdep.h>
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <asm/MC68EZ328.h>
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifdef CONFIG_UCSIMM
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#include <asm/bootstd.h>
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
2703981f2427c767cfcd917cb51197c43fe68ba5dbGreg Ungerer/***************************************************************************/
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
299517746131f62294ddd922bcd288415be5104c23Greg Ungererint m68328_hwclk(int set, struct rtc_time *t);
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3103981f2427c767cfcd917cb51197c43fe68ba5dbGreg Ungerer/***************************************************************************/
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
3303981f2427c767cfcd917cb51197c43fe68ba5dbGreg Ungerervoid m68ez328_reset(void)
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  local_irq_disable();
363448ff8967a00067cbc3b6ebe9a3741b4e72f6d0Greg Ungerer  asm volatile (
373448ff8967a00067cbc3b6ebe9a3741b4e72f6d0Greg Ungerer    "moveal #0x10c00000, %a0;\n"
383448ff8967a00067cbc3b6ebe9a3741b4e72f6d0Greg Ungerer    "moveb #0, 0xFFFFF300;\n"
393448ff8967a00067cbc3b6ebe9a3741b4e72f6d0Greg Ungerer    "moveal 0(%a0), %sp;\n"
403448ff8967a00067cbc3b6ebe9a3741b4e72f6d0Greg Ungerer    "moveal 4(%a0), %a0;\n"
413448ff8967a00067cbc3b6ebe9a3741b4e72f6d0Greg Ungerer    "jmp (%a0);\n"
423448ff8967a00067cbc3b6ebe9a3741b4e72f6d0Greg Ungerer    );
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
4503981f2427c767cfcd917cb51197c43fe68ba5dbGreg Ungerer/***************************************************************************/
4603981f2427c767cfcd917cb51197c43fe68ba5dbGreg Ungerer
471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsunsigned char *cs8900a_hwaddr;
481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsstatic int errno;
491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifdef CONFIG_UCSIMM
511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds_bsc0(char *, getserialnum)
521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds_bsc1(unsigned char *, gethwaddr, int, a)
531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds_bsc1(char *, getbenv, char *, a)
541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif
551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
56df592eb5dc07c5df26a16318ed4bf2f96fa38a4dGeert Uytterhoevenvoid __init config_BSP(char *command, int len)
571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds{
581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  unsigned char *p;
591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  printk(KERN_INFO "\n68EZ328 DragonBallEZ support (C) 1999 Rt-Control, Inc\n");
611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifdef CONFIG_UCSIMM
631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  printk(KERN_INFO "uCsimm serial string [%s]\n",getserialnum());
641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  p = cs8900a_hwaddr = gethwaddr(0);
651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  printk(KERN_INFO "uCsimm hwaddr %.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n",
661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds         p[0], p[1], p[2], p[3], p[4], p[5]);
671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  p = getbenv("APPEND");
691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  if (p) strcpy(p,command);
701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds  else command[0] = 0;
711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif
720b1755160cbb17c01fceba42d55c49ec7a63671dDaniel Palmer
730b1755160cbb17c01fceba42d55c49ec7a63671dDaniel Palmer  mach_sched_init = hw_timer_init;
749517746131f62294ddd922bcd288415be5104c23Greg Ungerer  mach_hwclk = m68328_hwclk;
75f1353707b79cb863a7f081c77067db6280e8ce64Greg Ungerer  mach_reset = m68ez328_reset;
761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}
7703981f2427c767cfcd917cb51197c43fe68ba5dbGreg Ungerer
7803981f2427c767cfcd917cb51197c43fe68ba5dbGreg Ungerer/***************************************************************************/
79