1/* 2 * linux/arch/m68k/hp300/config.c 3 * 4 * Copyright (C) 1998 Philip Blundell <philb@gnu.org> 5 * 6 * This file contains the HP300-specific initialisation code. It gets 7 * called by setup.c. 8 */ 9 10#include <linux/config.h> 11#include <linux/types.h> 12#include <linux/mm.h> 13#include <linux/kd.h> 14#include <linux/tty.h> 15#include <linux/console.h> 16#include <linux/interrupt.h> 17#include <linux/init.h> 18#include <asm/machdep.h> 19#include <asm/blinken.h> 20#include <asm/hwtest.h> /* hwreg_present() */ 21 22#include "ints.h" 23#include "time.h" 24 25extern void hp300_reset(void); 26extern void (*hp300_default_handler[])(int, void *, struct pt_regs *); 27extern int hp300_get_irq_list(char *buf); 28 29#ifdef CONFIG_VT 30extern int hp300_keyb_init(void); 31static int hp300_kbdrate(struct kbd_repeat *k) 32{ 33 return 0; 34} 35#endif 36 37#ifdef CONFIG_HEARTBEAT 38static void hp300_pulse(int x) 39{ 40 if (x) 41 blinken_leds(0xfe); 42 else 43 blinken_leds(0xff); 44} 45#endif 46 47static void hp300_get_model(char *model) 48{ 49 strcpy(model, "HP9000/300"); 50} 51 52void __init config_hp300(void) 53{ 54 mach_sched_init = hp300_sched_init; 55#ifdef CONFIG_VT 56 mach_keyb_init = hp300_keyb_init; 57 mach_kbdrate = hp300_kbdrate; 58#endif 59 mach_init_IRQ = hp300_init_IRQ; 60 mach_request_irq = hp300_request_irq; 61 mach_free_irq = hp300_free_irq; 62 mach_get_model = hp300_get_model; 63 mach_get_irq_list = hp300_get_irq_list; 64 mach_gettimeoffset = hp300_gettimeoffset; 65 mach_default_handler = &hp300_default_handler; 66 mach_reset = hp300_reset; 67#ifdef CONFIG_HEARTBEAT 68 mach_heartbeat = hp300_pulse; 69#endif 70#ifdef CONFIG_DUMMY_CONSOLE 71 conswitchp = &dummy_con; 72#endif 73 mach_max_dma_address = 0xffffffff; 74} 75