summaryrefslogtreecommitdiffstats
path: root/arch/m68k/hp300/config.c
blob: d998d6ff9463d000a9f51fce4569330fe8adac58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
 *  linux/arch/m68k/hp300/config.c
 *
 *  Copyright (C) 1998 Philip Blundell <philb@gnu.org>
 *
 *  This file contains the HP300-specific initialisation code.  It gets
 *  called by setup.c.
 */

#include <linux/config.h>
#include <linux/types.h>
#include <linux/mm.h>
#include <linux/kd.h>
#include <linux/tty.h>
#include <linux/console.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <asm/machdep.h>
#include <asm/blinken.h>
#include <asm/io.h>                               /* readb() and writeb() */
#include <asm/hwtest.h>                           /* hwreg_present() */

#include "ints.h"
#include "time.h"

extern void hp300_reset(void);
extern void (*hp300_default_handler[])(int, void *, struct pt_regs *);
extern int hp300_get_irq_list(char *buf);

#ifdef CONFIG_VT
extern int hp300_keyb_init(void);
#else
/* Dummy function for when there is no keyboard. */
int __init hp300_keyb_init(void)
{
}
#endif

#ifdef CONFIG_HEARTBEAT
static void hp300_pulse(int x)
{
   if (x)
      blinken_leds(0xfe);
   else
      blinken_leds(0xff);
}
#endif

static int hp300_kbdrate(struct kbd_repeat *k)
{
  return 0;
}

static void hp300_kbd_leds(unsigned int leds)
{
}

static void hp300_get_model(char *model)
{
  strcpy(model, "HP9000/300");
}

void __init config_hp300(void)
{
  mach_sched_init      = hp300_sched_init;
  mach_keyb_init       = hp300_keyb_init;
  mach_kbdrate         = hp300_kbdrate;
  mach_kbd_leds        = hp300_kbd_leds;
  mach_init_IRQ        = hp300_init_IRQ;
  mach_request_irq     = hp300_request_irq;
  mach_free_irq        = hp300_free_irq;
  mach_get_model       = hp300_get_model;
  mach_get_irq_list    = hp300_get_irq_list;
  mach_gettimeoffset   = hp300_gettimeoffset;
  mach_default_handler = &hp300_default_handler;
#if 0
  mach_gettod          = hp300_gettod;
#endif
  mach_reset           = hp300_reset;
#ifdef CONFIG_HEARTBEAT
  mach_heartbeat       = hp300_pulse;
#endif
#ifdef CONFIG_DUMMY_CONSOLE
  conswitchp	       = &dummy_con;
#endif
  mach_max_dma_address = 0xffffffff;
}