diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /arch/ppc/platforms/4xx/oak.h |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'arch/ppc/platforms/4xx/oak.h')
-rw-r--r-- | arch/ppc/platforms/4xx/oak.h | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/arch/ppc/platforms/4xx/oak.h b/arch/ppc/platforms/4xx/oak.h new file mode 100644 index 000000000000..1b86a4c66b04 --- /dev/null +++ b/arch/ppc/platforms/4xx/oak.h | |||
@@ -0,0 +1,96 @@ | |||
1 | /* | ||
2 | * | ||
3 | * Copyright (c) 1999 Grant Erickson <grant@lcse.umn.edu> | ||
4 | * | ||
5 | * Module name: oak.h | ||
6 | * | ||
7 | * Description: | ||
8 | * Macros, definitions, and data structures specific to the IBM PowerPC | ||
9 | * 403G{A,B,C,CX} "Oak" evaluation board. Anything specific to the pro- | ||
10 | * cessor itself is defined elsewhere. | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | #ifdef __KERNEL__ | ||
15 | #ifndef __ASM_OAK_H__ | ||
16 | #define __ASM_OAK_H__ | ||
17 | |||
18 | /* We have an IBM 403G{A,B,C,CX} core */ | ||
19 | #include <asm/ibm403.h> | ||
20 | |||
21 | #define _IO_BASE 0 | ||
22 | #define _ISA_MEM_BASE 0 | ||
23 | #define PCI_DRAM_OFFSET 0 | ||
24 | |||
25 | /* Memory map for the "Oak" evaluation board */ | ||
26 | |||
27 | #define PPC403SPU_IO_BASE 0x40000000 /* 403 On-chip serial port */ | ||
28 | #define PPC403SPU_IO_SIZE 0x00000008 | ||
29 | #define OAKSERIAL_IO_BASE 0x7E000000 /* NS16550DV serial port */ | ||
30 | #define OAKSERIAL_IO_SIZE 0x00000008 | ||
31 | #define OAKNET_IO_BASE 0xF4000000 /* NS83902AV Ethernet */ | ||
32 | #define OAKNET_IO_SIZE 0x00000040 | ||
33 | #define OAKPROM_IO_BASE 0xFFFE0000 /* AMD 29F010 Flash ROM */ | ||
34 | #define OAKPROM_IO_SIZE 0x00020000 | ||
35 | |||
36 | |||
37 | /* Interrupt assignments fixed by the hardware implementation */ | ||
38 | |||
39 | /* This is annoying kbuild-2.4 problem. -- Tom */ | ||
40 | |||
41 | #define PPC403SPU_RX_INT 4 /* AIC_INT4 */ | ||
42 | #define PPC403SPU_TX_INT 5 /* AIC_INT5 */ | ||
43 | #define OAKNET_INT 27 /* AIC_INT27 */ | ||
44 | #define OAKSERIAL_INT 28 /* AIC_INT28 */ | ||
45 | |||
46 | #ifndef __ASSEMBLY__ | ||
47 | /* | ||
48 | * Data structure defining board information maintained by the boot | ||
49 | * ROM on IBM's "Oak" evaluation board. An effort has been made to | ||
50 | * keep the field names consistent with the 8xx 'bd_t' board info | ||
51 | * structures. | ||
52 | */ | ||
53 | |||
54 | typedef struct board_info { | ||
55 | unsigned char bi_s_version[4]; /* Version of this structure */ | ||
56 | unsigned char bi_r_version[30]; /* Version of the IBM ROM */ | ||
57 | unsigned int bi_memsize; /* DRAM installed, in bytes */ | ||
58 | unsigned char bi_enetaddr[6]; /* Ethernet MAC address */ | ||
59 | unsigned int bi_intfreq; /* Processor speed, in Hz */ | ||
60 | unsigned int bi_busfreq; /* Bus speed, in Hz */ | ||
61 | } bd_t; | ||
62 | |||
63 | #ifdef __cplusplus | ||
64 | extern "C" { | ||
65 | #endif | ||
66 | |||
67 | extern void oak_init(unsigned long r3, | ||
68 | unsigned long ird_start, | ||
69 | unsigned long ird_end, | ||
70 | unsigned long cline_start, | ||
71 | unsigned long cline_end); | ||
72 | extern void oak_setup_arch(void); | ||
73 | extern int oak_setup_residual(char *buffer); | ||
74 | extern void oak_init_IRQ(void); | ||
75 | extern int oak_get_irq(struct pt_regs *regs); | ||
76 | extern void oak_restart(char *cmd); | ||
77 | extern void oak_power_off(void); | ||
78 | extern void oak_halt(void); | ||
79 | extern void oak_time_init(void); | ||
80 | extern int oak_set_rtc_time(unsigned long now); | ||
81 | extern unsigned long oak_get_rtc_time(void); | ||
82 | extern void oak_calibrate_decr(void); | ||
83 | |||
84 | #ifdef __cplusplus | ||
85 | } | ||
86 | #endif | ||
87 | |||
88 | /* Some 4xx parts use a different timebase frequency from the internal clock. | ||
89 | */ | ||
90 | #define bi_tbfreq bi_intfreq | ||
91 | |||
92 | #define PPC4xx_MACHINE_NAME "IBM Oak" | ||
93 | |||
94 | #endif /* !__ASSEMBLY__ */ | ||
95 | #endif /* __ASM_OAK_H__ */ | ||
96 | #endif /* __KERNEL__ */ | ||