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 /include/asm-mips/mach-generic |
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 'include/asm-mips/mach-generic')
-rw-r--r-- | include/asm-mips/mach-generic/cpu-feature-overrides.h | 13 | ||||
-rw-r--r-- | include/asm-mips/mach-generic/floppy.h | 139 | ||||
-rw-r--r-- | include/asm-mips/mach-generic/ide.h | 119 | ||||
-rw-r--r-- | include/asm-mips/mach-generic/irq.h | 13 | ||||
-rw-r--r-- | include/asm-mips/mach-generic/mangle-port.h | 16 | ||||
-rw-r--r-- | include/asm-mips/mach-generic/mc146818rtc.h | 36 | ||||
-rw-r--r-- | include/asm-mips/mach-generic/param.h | 13 | ||||
-rw-r--r-- | include/asm-mips/mach-generic/spaces.h | 72 | ||||
-rw-r--r-- | include/asm-mips/mach-generic/timex.h | 22 | ||||
-rw-r--r-- | include/asm-mips/mach-generic/topology.h | 1 |
10 files changed, 444 insertions, 0 deletions
diff --git a/include/asm-mips/mach-generic/cpu-feature-overrides.h b/include/asm-mips/mach-generic/cpu-feature-overrides.h new file mode 100644 index 000000000000..0aecfd08e39a --- /dev/null +++ b/include/asm-mips/mach-generic/cpu-feature-overrides.h | |||
@@ -0,0 +1,13 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2003 Ralf Baechle | ||
7 | */ | ||
8 | #ifndef __ASM_MACH_GENERIC_CPU_FEATURE_OVERRIDES_H | ||
9 | #define __ASM_MACH_GENERIC_CPU_FEATURE_OVERRIDES_H | ||
10 | |||
11 | /* Intensionally empty file ... */ | ||
12 | |||
13 | #endif /* __ASM_MACH_GENERIC_CPU_FEATURE_OVERRIDES_H */ | ||
diff --git a/include/asm-mips/mach-generic/floppy.h b/include/asm-mips/mach-generic/floppy.h new file mode 100644 index 000000000000..682a5858f8d7 --- /dev/null +++ b/include/asm-mips/mach-generic/floppy.h | |||
@@ -0,0 +1,139 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 1996, 1997, 1998, 2003 by Ralf Baechle | ||
7 | */ | ||
8 | #ifndef __ASM_MACH_GENERIC_FLOPPY_H | ||
9 | #define __ASM_MACH_GENERIC_FLOPPY_H | ||
10 | |||
11 | #include <linux/delay.h> | ||
12 | #include <linux/init.h> | ||
13 | #include <linux/ioport.h> | ||
14 | #include <linux/sched.h> | ||
15 | #include <linux/linkage.h> | ||
16 | #include <linux/types.h> | ||
17 | #include <linux/mm.h> | ||
18 | |||
19 | #include <asm/bootinfo.h> | ||
20 | #include <asm/cachectl.h> | ||
21 | #include <asm/dma.h> | ||
22 | #include <asm/floppy.h> | ||
23 | #include <asm/io.h> | ||
24 | #include <asm/irq.h> | ||
25 | #include <asm/pgtable.h> | ||
26 | |||
27 | /* | ||
28 | * How to access the FDC's registers. | ||
29 | */ | ||
30 | static inline unsigned char fd_inb(unsigned int port) | ||
31 | { | ||
32 | return inb_p(port); | ||
33 | } | ||
34 | |||
35 | static inline void fd_outb(unsigned char value, unsigned int port) | ||
36 | { | ||
37 | outb_p(value, port); | ||
38 | } | ||
39 | |||
40 | /* | ||
41 | * How to access the floppy DMA functions. | ||
42 | */ | ||
43 | static inline void fd_enable_dma(void) | ||
44 | { | ||
45 | enable_dma(FLOPPY_DMA); | ||
46 | } | ||
47 | |||
48 | static inline void fd_disable_dma(void) | ||
49 | { | ||
50 | disable_dma(FLOPPY_DMA); | ||
51 | } | ||
52 | |||
53 | static inline int fd_request_dma(void) | ||
54 | { | ||
55 | return request_dma(FLOPPY_DMA, "floppy"); | ||
56 | } | ||
57 | |||
58 | static inline void fd_free_dma(void) | ||
59 | { | ||
60 | free_dma(FLOPPY_DMA); | ||
61 | } | ||
62 | |||
63 | static inline void fd_clear_dma_ff(void) | ||
64 | { | ||
65 | clear_dma_ff(FLOPPY_DMA); | ||
66 | } | ||
67 | |||
68 | static inline void fd_set_dma_mode(char mode) | ||
69 | { | ||
70 | set_dma_mode(FLOPPY_DMA, mode); | ||
71 | } | ||
72 | |||
73 | static inline void fd_set_dma_addr(char *addr) | ||
74 | { | ||
75 | set_dma_addr(FLOPPY_DMA, (unsigned long) addr); | ||
76 | } | ||
77 | |||
78 | static inline void fd_set_dma_count(unsigned int count) | ||
79 | { | ||
80 | set_dma_count(FLOPPY_DMA, count); | ||
81 | } | ||
82 | |||
83 | static inline int fd_get_dma_residue(void) | ||
84 | { | ||
85 | return get_dma_residue(FLOPPY_DMA); | ||
86 | } | ||
87 | |||
88 | static inline void fd_enable_irq(void) | ||
89 | { | ||
90 | enable_irq(FLOPPY_IRQ); | ||
91 | } | ||
92 | |||
93 | static inline void fd_disable_irq(void) | ||
94 | { | ||
95 | disable_irq(FLOPPY_IRQ); | ||
96 | } | ||
97 | |||
98 | static inline int fd_request_irq(void) | ||
99 | { | ||
100 | return request_irq(FLOPPY_IRQ, floppy_interrupt, | ||
101 | SA_INTERRUPT | SA_SAMPLE_RANDOM, "floppy", NULL); | ||
102 | } | ||
103 | |||
104 | static inline void fd_free_irq(void) | ||
105 | { | ||
106 | free_irq(FLOPPY_IRQ, NULL); | ||
107 | } | ||
108 | |||
109 | #define fd_free_irq() free_irq(FLOPPY_IRQ, NULL); | ||
110 | |||
111 | |||
112 | static inline unsigned long fd_getfdaddr1(void) | ||
113 | { | ||
114 | return 0x3f0; | ||
115 | } | ||
116 | |||
117 | static inline unsigned long fd_dma_mem_alloc(unsigned long size) | ||
118 | { | ||
119 | unsigned long mem; | ||
120 | |||
121 | mem = __get_dma_pages(GFP_KERNEL, get_order(size)); | ||
122 | |||
123 | return mem; | ||
124 | } | ||
125 | |||
126 | static inline void fd_dma_mem_free(unsigned long addr, unsigned long size) | ||
127 | { | ||
128 | free_pages(addr, get_order(size)); | ||
129 | } | ||
130 | |||
131 | static inline unsigned long fd_drive_type(unsigned long n) | ||
132 | { | ||
133 | if (n == 0) | ||
134 | return 4; /* 3,5", 1.44mb */ | ||
135 | |||
136 | return 0; | ||
137 | } | ||
138 | |||
139 | #endif /* __ASM_MACH_GENERIC_FLOPPY_H */ | ||
diff --git a/include/asm-mips/mach-generic/ide.h b/include/asm-mips/mach-generic/ide.h new file mode 100644 index 000000000000..cb2edd018ad6 --- /dev/null +++ b/include/asm-mips/mach-generic/ide.h | |||
@@ -0,0 +1,119 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 1994-1996 Linus Torvalds & authors | ||
7 | * | ||
8 | * Copied from i386; many of the especially older MIPS or ISA-based platforms | ||
9 | * are basically identical. Using this file probably implies i8259 PIC | ||
10 | * support in a system but the very least interrupt numbers 0 - 15 need to | ||
11 | * be put aside for legacy devices. | ||
12 | */ | ||
13 | #ifndef __ASM_MACH_GENERIC_IDE_H | ||
14 | #define __ASM_MACH_GENERIC_IDE_H | ||
15 | |||
16 | #ifdef __KERNEL__ | ||
17 | |||
18 | #include <linux/config.h> | ||
19 | #include <linux/pci.h> | ||
20 | #include <linux/stddef.h> | ||
21 | |||
22 | #ifndef MAX_HWIFS | ||
23 | # ifdef CONFIG_BLK_DEV_IDEPCI | ||
24 | #define MAX_HWIFS 10 | ||
25 | # else | ||
26 | #define MAX_HWIFS 6 | ||
27 | # endif | ||
28 | #endif | ||
29 | |||
30 | #define IDE_ARCH_OBSOLETE_DEFAULTS | ||
31 | |||
32 | static __inline__ int ide_probe_legacy(void) | ||
33 | { | ||
34 | #ifdef CONFIG_PCI | ||
35 | struct pci_dev *dev; | ||
36 | if ((dev = pci_get_class(PCI_CLASS_BRIDGE_EISA << 8, NULL)) != NULL || | ||
37 | (dev = pci_get_class(PCI_CLASS_BRIDGE_ISA << 8, NULL)) != NULL) { | ||
38 | pci_dev_put(dev); | ||
39 | |||
40 | return 1; | ||
41 | } | ||
42 | return 0; | ||
43 | #elif defined(CONFIG_EISA) || defined(CONFIG_ISA) | ||
44 | return 1; | ||
45 | #else | ||
46 | return 0; | ||
47 | #endif | ||
48 | } | ||
49 | |||
50 | static __inline__ int ide_default_irq(unsigned long base) | ||
51 | { | ||
52 | if (ide_probe_legacy()) | ||
53 | switch (base) { | ||
54 | case 0x1f0: | ||
55 | return 14; | ||
56 | case 0x170: | ||
57 | return 15; | ||
58 | case 0x1e8: | ||
59 | return 11; | ||
60 | case 0x168: | ||
61 | return 10; | ||
62 | case 0x1e0: | ||
63 | return 8; | ||
64 | case 0x160: | ||
65 | return 12; | ||
66 | default: | ||
67 | return 0; | ||
68 | } | ||
69 | else | ||
70 | return 0; | ||
71 | } | ||
72 | |||
73 | static __inline__ unsigned long ide_default_io_base(int index) | ||
74 | { | ||
75 | if (ide_probe_legacy()) | ||
76 | switch (index) { | ||
77 | case 0: | ||
78 | return 0x1f0; | ||
79 | case 1: | ||
80 | return 0x170; | ||
81 | case 2: | ||
82 | return 0x1e8; | ||
83 | case 3: | ||
84 | return 0x168; | ||
85 | case 4: | ||
86 | return 0x1e0; | ||
87 | case 5: | ||
88 | return 0x160; | ||
89 | default: | ||
90 | return 0; | ||
91 | } | ||
92 | else | ||
93 | return 0; | ||
94 | } | ||
95 | |||
96 | #define IDE_ARCH_OBSOLETE_INIT | ||
97 | #define ide_default_io_ctl(base) ((base) + 0x206) /* obsolete */ | ||
98 | |||
99 | #ifdef CONFIG_BLK_DEV_IDEPCI | ||
100 | #define ide_init_default_irq(base) (0) | ||
101 | #else | ||
102 | #define ide_init_default_irq(base) ide_default_irq(base) | ||
103 | #endif | ||
104 | |||
105 | /* MIPS port and memory-mapped I/O string operations. */ | ||
106 | |||
107 | #define __ide_insw insw | ||
108 | #define __ide_insl insl | ||
109 | #define __ide_outsw outsw | ||
110 | #define __ide_outsl outsl | ||
111 | |||
112 | #define __ide_mm_insw readsw | ||
113 | #define __ide_mm_insl readsl | ||
114 | #define __ide_mm_outsw writesw | ||
115 | #define __ide_mm_outsl writesl | ||
116 | |||
117 | #endif /* __KERNEL__ */ | ||
118 | |||
119 | #endif /* __ASM_MACH_GENERIC_IDE_H */ | ||
diff --git a/include/asm-mips/mach-generic/irq.h b/include/asm-mips/mach-generic/irq.h new file mode 100644 index 000000000000..500e10ff24de --- /dev/null +++ b/include/asm-mips/mach-generic/irq.h | |||
@@ -0,0 +1,13 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2003 by Ralf Baechle | ||
7 | */ | ||
8 | #ifndef __ASM_MACH_GENERIC_IRQ_H | ||
9 | #define __ASM_MACH_GENERIC_IRQ_H | ||
10 | |||
11 | #define NR_IRQS 128 | ||
12 | |||
13 | #endif /* __ASM_MACH_GENERIC_IRQ_H */ | ||
diff --git a/include/asm-mips/mach-generic/mangle-port.h b/include/asm-mips/mach-generic/mangle-port.h new file mode 100644 index 000000000000..4a98d83b8ec7 --- /dev/null +++ b/include/asm-mips/mach-generic/mangle-port.h | |||
@@ -0,0 +1,16 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2003, 2004 Ralf Baechle | ||
7 | */ | ||
8 | #ifndef __ASM_MACH_GENERIC_MANGLE_PORT_H | ||
9 | #define __ASM_MACH_GENERIC_MANGLE_PORT_H | ||
10 | |||
11 | #define __swizzle_addr_b(port) (port) | ||
12 | #define __swizzle_addr_w(port) (port) | ||
13 | #define __swizzle_addr_l(port) (port) | ||
14 | #define __swizzle_addr_q(port) (port) | ||
15 | |||
16 | #endif /* __ASM_MACH_GENERIC_MANGLE_PORT_H */ | ||
diff --git a/include/asm-mips/mach-generic/mc146818rtc.h b/include/asm-mips/mach-generic/mc146818rtc.h new file mode 100644 index 000000000000..90c2e6f77faa --- /dev/null +++ b/include/asm-mips/mach-generic/mc146818rtc.h | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 1998, 2001, 03 by Ralf Baechle | ||
7 | * | ||
8 | * RTC routines for PC style attached Dallas chip. | ||
9 | */ | ||
10 | #ifndef __ASM_MACH_GENERIC_MC146818RTC_H | ||
11 | #define __ASM_MACH_GENERIC_MC146818RTC_H | ||
12 | |||
13 | #include <asm/io.h> | ||
14 | |||
15 | #define RTC_PORT(x) (0x70 + (x)) | ||
16 | #define RTC_IRQ 8 | ||
17 | |||
18 | static inline unsigned char CMOS_READ(unsigned long addr) | ||
19 | { | ||
20 | outb_p(addr, RTC_PORT(0)); | ||
21 | return inb_p(RTC_PORT(1)); | ||
22 | } | ||
23 | |||
24 | static inline void CMOS_WRITE(unsigned char data, unsigned long addr) | ||
25 | { | ||
26 | outb_p(addr, RTC_PORT(0)); | ||
27 | outb_p(data, RTC_PORT(1)); | ||
28 | } | ||
29 | |||
30 | #define RTC_ALWAYS_BCD 1 | ||
31 | |||
32 | #ifndef mc146818_decode_year | ||
33 | #define mc146818_decode_year(year) ((year) < 70 ? (year) + 2000 : (year) + 1970) | ||
34 | #endif | ||
35 | |||
36 | #endif /* __ASM_MACH_GENERIC_MC146818RTC_H */ | ||
diff --git a/include/asm-mips/mach-generic/param.h b/include/asm-mips/mach-generic/param.h new file mode 100644 index 000000000000..a0d12f964e4f --- /dev/null +++ b/include/asm-mips/mach-generic/param.h | |||
@@ -0,0 +1,13 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2003 by Ralf Baechle | ||
7 | */ | ||
8 | #ifndef __ASM_MACH_GENERIC_PARAM_H | ||
9 | #define __ASM_MACH_GENERIC_PARAM_H | ||
10 | |||
11 | #define HZ 1000 /* Internal kernel timer frequency */ | ||
12 | |||
13 | #endif /* __ASM_MACH_GENERIC_PARAM_H */ | ||
diff --git a/include/asm-mips/mach-generic/spaces.h b/include/asm-mips/mach-generic/spaces.h new file mode 100644 index 000000000000..63c0a81c7832 --- /dev/null +++ b/include/asm-mips/mach-generic/spaces.h | |||
@@ -0,0 +1,72 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 1994 - 1999, 2000, 03, 04 Ralf Baechle | ||
7 | * Copyright (C) 2000, 2002 Maciej W. Rozycki | ||
8 | * Copyright (C) 1990, 1999, 2000 Silicon Graphics, Inc. | ||
9 | */ | ||
10 | #ifndef _ASM_MACH_GENERIC_SPACES_H | ||
11 | #define _ASM_MACH_GENERIC_SPACES_H | ||
12 | |||
13 | #include <linux/config.h> | ||
14 | |||
15 | #ifdef CONFIG_MIPS32 | ||
16 | |||
17 | #define CAC_BASE 0x80000000 | ||
18 | #define IO_BASE 0xa0000000 | ||
19 | #define UNCAC_BASE 0xa0000000 | ||
20 | #define MAP_BASE 0xc0000000 | ||
21 | |||
22 | /* | ||
23 | * This handles the memory map. | ||
24 | * We handle pages at KSEG0 for kernels with 32 bit address space. | ||
25 | */ | ||
26 | #define PAGE_OFFSET 0x80000000UL | ||
27 | |||
28 | /* | ||
29 | * Memory above this physical address will be considered highmem. | ||
30 | */ | ||
31 | #ifndef HIGHMEM_START | ||
32 | #define HIGHMEM_START 0x20000000UL | ||
33 | #endif | ||
34 | |||
35 | #endif /* CONFIG_MIPS32 */ | ||
36 | |||
37 | #ifdef CONFIG_MIPS64 | ||
38 | |||
39 | /* | ||
40 | * This handles the memory map. | ||
41 | */ | ||
42 | #ifdef CONFIG_DMA_NONCOHERENT | ||
43 | #define PAGE_OFFSET 0x9800000000000000UL | ||
44 | #else | ||
45 | #define PAGE_OFFSET 0xa800000000000000UL | ||
46 | #endif | ||
47 | |||
48 | /* | ||
49 | * Memory above this physical address will be considered highmem. | ||
50 | * Fixme: 59 bits is a fictive number and makes assumptions about processors | ||
51 | * in the distant future. Nobody will care for a few years :-) | ||
52 | */ | ||
53 | #ifndef HIGHMEM_START | ||
54 | #define HIGHMEM_START (1UL << 59UL) | ||
55 | #endif | ||
56 | |||
57 | #ifdef CONFIG_DMA_NONCOHERENT | ||
58 | #define CAC_BASE 0x9800000000000000 | ||
59 | #else | ||
60 | #define CAC_BASE 0xa800000000000000 | ||
61 | #endif | ||
62 | #define IO_BASE 0x9000000000000000 | ||
63 | #define UNCAC_BASE 0x9000000000000000 | ||
64 | #define MAP_BASE 0xc000000000000000 | ||
65 | |||
66 | #define TO_PHYS(x) ( ((x) & TO_PHYS_MASK)) | ||
67 | #define TO_CAC(x) (CAC_BASE | ((x) & TO_PHYS_MASK)) | ||
68 | #define TO_UNCAC(x) (UNCAC_BASE | ((x) & TO_PHYS_MASK)) | ||
69 | |||
70 | #endif /* CONFIG_MIPS64 */ | ||
71 | |||
72 | #endif /* __ASM_MACH_GENERIC_SPACES_H */ | ||
diff --git a/include/asm-mips/mach-generic/timex.h b/include/asm-mips/mach-generic/timex.h new file mode 100644 index 000000000000..c6a2e5f0574a --- /dev/null +++ b/include/asm-mips/mach-generic/timex.h | |||
@@ -0,0 +1,22 @@ | |||
1 | /* | ||
2 | * This file is subject to the terms and conditions of the GNU General Public | ||
3 | * License. See the file "COPYING" in the main directory of this archive | ||
4 | * for more details. | ||
5 | * | ||
6 | * Copyright (C) 2003 by Ralf Baechle | ||
7 | */ | ||
8 | #ifndef __ASM_MACH_GENERIC_TIMEX_H | ||
9 | #define __ASM_MACH_GENERIC_TIMEX_H | ||
10 | |||
11 | #include <linux/config.h> | ||
12 | |||
13 | /* | ||
14 | * Last remaining user of the i8254 PIC, will be converted, too ... | ||
15 | */ | ||
16 | #ifdef CONFIG_SNI_RM200_PCI | ||
17 | #define CLOCK_TICK_RATE 1193182 | ||
18 | #else | ||
19 | #define CLOCK_TICK_RATE 500000 | ||
20 | #endif | ||
21 | |||
22 | #endif /* __ASM_MACH_GENERIC_TIMEX_H */ | ||
diff --git a/include/asm-mips/mach-generic/topology.h b/include/asm-mips/mach-generic/topology.h new file mode 100644 index 000000000000..5428f333a02c --- /dev/null +++ b/include/asm-mips/mach-generic/topology.h | |||
@@ -0,0 +1 @@ | |||
#include <asm-generic/topology.h> | |||