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#include <common.h>
29#include <mpc8xx.h>
30#include <mpc8xx_irq.h>
31#include <asm/processor.h>
32#include <commproc.h>
33#include <command.h>
34
35int interrupt_init_cpu (unsigned *decrementer_count)
36{
37 debug("interrupt_init: GT main cause reg: %08x:%08x\n",
38 GTREGREAD(LOW_INTERRUPT_CAUSE_REGISTER),
39 GTREGREAD(HIGH_INTERRUPT_CAUSE_REGISTER));
40 debug("interrupt_init: ethernet cause regs: %08x %08x %08x\n",
41 GTREGREAD(ETHERNET0_INTERRUPT_CAUSE_REGISTER),
42 GTREGREAD(ETHERNET1_INTERRUPT_CAUSE_REGISTER),
43 GTREGREAD(ETHERNET2_INTERRUPT_CAUSE_REGISTER));
44 debug("interrupt_init: ethernet mask regs: %08x %08x %08x\n",
45 GTREGREAD(ETHERNET0_INTERRUPT_MASK_REGISTER),
46 GTREGREAD(ETHERNET1_INTERRUPT_MASK_REGISTER),
47 GTREGREAD(ETHERNET2_INTERRUPT_MASK_REGISTER));
48 debug("interrupt_init: setting decrementer_count\n");
49
50 *decrementer_count = get_tbclk() / CONFIG_SYS_HZ;
51
52 return (0);
53}
54
55
56
57
58
59
60void
61external_interrupt(struct pt_regs *regs)
62{
63 puts("external_interrupt (oops!)\n");
64}
65
66volatile ulong timestamp = 0;
67
68
69
70
71
72
73void
74timer_interrupt_cpu (struct pt_regs *regs)
75{
76
77 return;
78}
79
80
81
82
83
84
85
86void
87irq_install_handler(int vec, interrupt_handler_t *handler, void *arg)
88{
89
90}
91
92void
93irq_free_handler(int vec)
94{
95
96}
97
98
99
100void
101do_irqinfo(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char * const argv[])
102{
103 puts("IRQ related functions are unimplemented currently.\n");
104}
105