xref: /linux/arch/m68k/68000/m68328.c (revision cdd38c5f1ce4398ec58fec95904b75824daab7b5)
118cb3fafSGreg Ungerer /***************************************************************************/
218cb3fafSGreg Ungerer 
318cb3fafSGreg Ungerer /*
4*8b22820eSArnd Bergmann  *  m68328.c - 68328/68EZ328/68VZ328 specific config
518cb3fafSGreg Ungerer  *
618cb3fafSGreg Ungerer  *  Copyright (C) 1993 Hamish Macdonald
718cb3fafSGreg Ungerer  *  Copyright (C) 1999 D. Jeff Dionne
8*8b22820eSArnd Bergmann  *  Copyright (C) 2001 Georges Menie, Ken Desmet
918cb3fafSGreg Ungerer  *
1018cb3fafSGreg Ungerer  * This file is subject to the terms and conditions of the GNU General Public
1118cb3fafSGreg Ungerer  * License.  See the file COPYING in the main directory of this archive
1218cb3fafSGreg Ungerer  * for more details.
1318cb3fafSGreg Ungerer  *
1418cb3fafSGreg Ungerer  * VZ Support/Fixes             Evan Stawnyczy <e@lineo.ca>
1518cb3fafSGreg Ungerer  */
1618cb3fafSGreg Ungerer 
1718cb3fafSGreg Ungerer /***************************************************************************/
1818cb3fafSGreg Ungerer 
1918cb3fafSGreg Ungerer #include <linux/init.h>
2018cb3fafSGreg Ungerer #include <linux/types.h>
2118cb3fafSGreg Ungerer #include <linux/kernel.h>
2218cb3fafSGreg Ungerer #include <linux/rtc.h>
2318cb3fafSGreg Ungerer #include <asm/machdep.h>
24*8b22820eSArnd Bergmann 
25*8b22820eSArnd Bergmann #if defined(CONFIG_INIT_LCD) && defined(CONFIG_M68VZ328)
26*8b22820eSArnd Bergmann #include "bootlogo-vz.h"
27*8b22820eSArnd Bergmann #elif defined(CONFIG_PILOT) || defined(CONFIG_INIT_LCD)
2818cb3fafSGreg Ungerer #include "bootlogo.h"
2918cb3fafSGreg Ungerer #endif
3018cb3fafSGreg Ungerer 
31a734bbf6SArnd Bergmann #include "m68328.h"
32a734bbf6SArnd Bergmann 
3318cb3fafSGreg Ungerer /***************************************************************************/
3418cb3fafSGreg Ungerer 
m68328_reset(void)35*8b22820eSArnd Bergmann static void m68328_reset(void)
3618cb3fafSGreg Ungerer {
3718cb3fafSGreg Ungerer   local_irq_disable();
3818cb3fafSGreg Ungerer   asm volatile ("moveal #0x10c00000, %a0;\n\t"
3918cb3fafSGreg Ungerer 		"moveb #0, 0xFFFFF300;\n\t"
4018cb3fafSGreg Ungerer 		"moveal 0(%a0), %sp;\n\t"
4118cb3fafSGreg Ungerer 		"moveal 4(%a0), %a0;\n\t"
4218cb3fafSGreg Ungerer 		"jmp (%a0);");
4318cb3fafSGreg Ungerer }
4418cb3fafSGreg Ungerer 
4518cb3fafSGreg Ungerer /***************************************************************************/
4618cb3fafSGreg Ungerer 
config_BSP(char * command,int len)4718cb3fafSGreg Ungerer void __init config_BSP(char *command, int len)
4818cb3fafSGreg Ungerer {
49*8b22820eSArnd Bergmann 	mach_sched_init = hw_timer_init;
5018cb3fafSGreg Ungerer 	mach_hwclk = m68328_hwclk;
5118cb3fafSGreg Ungerer 	mach_reset = m68328_reset;
52*8b22820eSArnd Bergmann 
53*8b22820eSArnd Bergmann #if   defined(CONFIG_PILOT) && defined(CONFIG_M68328)
54*8b22820eSArnd Bergmann 	mach_sched_init = NULL;
55*8b22820eSArnd Bergmann #elif defined(CONFIG_UCSIMM)
56*8b22820eSArnd Bergmann 	init_ucsimm(command, len);
57*8b22820eSArnd Bergmann #elif defined(CONFIG_UCDIMM)
58*8b22820eSArnd Bergmann 	init_ucsimm(command, len);
59*8b22820eSArnd Bergmann #elif defined(CONFIG_DRAGEN2)
60*8b22820eSArnd Bergmann 	init_dragen2(command, len);
61*8b22820eSArnd Bergmann #endif
6218cb3fafSGreg Ungerer }
6318cb3fafSGreg Ungerer 
6418cb3fafSGreg Ungerer /***************************************************************************/
65