aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-m68k/apollohw.h
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2009-01-16 06:58:10 -0500
committerGreg Ungerer <gerg@uclinux.org>2009-01-16 06:58:10 -0500
commit49148020bcb6910ce71417bd990a5ce7017f9bd3 (patch)
treee410cc433a69075a0254ee4000cb10d71df3a641 /include/asm-m68k/apollohw.h
parentae04d1401577bb63151480a053057de58b8e10bb (diff)
m68k,m68knommu: merge header files
Merge header files for m68k and m68knommu to the single location: arch/m68k/include/asm The majority of this patch was the result of the script that is included in the changelog below. The script was originally written by Arnd Bergman and exten by me to cover a few more files. When the header files differed the script uses the following: The original m68k file is named <file>_mm.h [mm for memory manager] The m68knommu file is named <file>_no.h [no for no memory manager] The files uses the following include guard: This include gaurd works as the m68knommu toolchain set the __uClinux__ symbol - so this should work in userspace too. Merging the header files for m68k and m68knommu exposes the (unexpected?) ABI differences thus it is easier to actually identify these and thus to fix them. The commit has been build tested with both a m68k and a m68knommu toolchain - with success. The commit has also been tested with "make headers_check" and this patch fixes make headers_check for m68knommu. The script used: TARGET=arch/m68k/include/asm SOURCE=arch/m68knommu/include/asm INCLUDE="cachectl.h errno.h fcntl.h hwtest.h ioctls.h ipcbuf.h \ linkage.h math-emu.h md.h mman.h movs.h msgbuf.h openprom.h \ oplib.h poll.h posix_types.h resource.h rtc.h sembuf.h shmbuf.h \ shm.h shmparam.h socket.h sockios.h spinlock.h statfs.h stat.h \ termbits.h termios.h tlb.h types.h user.h" EQUAL="auxvec.h cputime.h device.h emergency-restart.h futex.h \ ioctl.h irq_regs.h kdebug.h local.h mutex.h percpu.h \ sections.h topology.h" NOMUUFILES="anchor.h bootstd.h coldfire.h commproc.h dbg.h \ elia.h flat.h m5206sim.h m520xsim.h m523xsim.h m5249sim.h \ m5272sim.h m527xsim.h m528xsim.h m5307sim.h m532xsim.h \ m5407sim.h m68360_enet.h m68360.h m68360_pram.h m68360_quicc.h \ m68360_regs.h MC68328.h MC68332.h MC68EZ328.h MC68VZ328.h \ mcfcache.h mcfdma.h mcfmbus.h mcfne.h mcfpci.h mcfpit.h \ mcfsim.h mcfsmc.h mcftimer.h mcfuart.h mcfwdebug.h \ nettel.h quicc_simple.h smp.h" FILES="atomic.h bitops.h bootinfo.h bug.h bugs.h byteorder.h cache.h \ cacheflush.h checksum.h current.h delay.h div64.h \ dma-mapping.h dma.h elf.h entry.h fb.h fpu.h hardirq.h hw_irq.h io.h \ irq.h kmap_types.h machdep.h mc146818rtc.h mmu.h mmu_context.h \ module.h page.h page_offset.h param.h pci.h pgalloc.h \ pgtable.h processor.h ptrace.h scatterlist.h segment.h \ setup.h sigcontext.h siginfo.h signal.h string.h system.h swab.h \ thread_info.h timex.h tlbflush.h traps.h uaccess.h ucontext.h \ unaligned.h unistd.h" mergefile() { BASE=${1%.h} git mv ${SOURCE}/$1 ${TARGET}/${BASE}_no.h git mv ${TARGET}/$1 ${TARGET}/${BASE}_mm.h cat << EOF > ${TARGET}/$1 EOF git add ${TARGET}/$1 } set -e mkdir -p ${TARGET} git mv include/asm-m68k/* ${TARGET} rmdir include/asm-m68k git rm ${SOURCE}/Kbuild for F in $INCLUDE $EQUAL; do git rm ${SOURCE}/$F done for F in $NOMUUFILES; do git mv ${SOURCE}/$F ${TARGET}/$F done for F in $FILES ; do mergefile $F done rmdir arch/m68knommu/include/asm rmdir arch/m68knommu/include Cc: Arnd Bergmann <arnd@arndb.de> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'include/asm-m68k/apollohw.h')
-rw-r--r--include/asm-m68k/apollohw.h108
1 files changed, 0 insertions, 108 deletions
diff --git a/include/asm-m68k/apollohw.h b/include/asm-m68k/apollohw.h
deleted file mode 100644
index a1373b9aa281..000000000000
--- a/include/asm-m68k/apollohw.h
+++ /dev/null
@@ -1,108 +0,0 @@
1/* apollohw.h : some structures to access apollo HW */
2
3#ifndef _ASMm68k_APOLLOHW_H_
4#define _ASMm68k_APOLLOHW_H_
5
6#include <linux/types.h>
7
8/*
9 apollo models
10*/
11
12extern u_long apollo_model;
13
14#define APOLLO_UNKNOWN (0)
15#define APOLLO_DN3000 (1)
16#define APOLLO_DN3010 (2)
17#define APOLLO_DN3500 (3)
18#define APOLLO_DN4000 (4)
19#define APOLLO_DN4500 (5)
20
21/*
22 see scn2681 data sheet for more info.
23 member names are read_write.
24*/
25
26#define DECLARE_2681_FIELD(x) unsigned char x; unsigned char dummy##x
27
28struct SCN2681 {
29
30 DECLARE_2681_FIELD(mra);
31 DECLARE_2681_FIELD(sra_csra);
32 DECLARE_2681_FIELD(BRGtest_cra);
33 DECLARE_2681_FIELD(rhra_thra);
34 DECLARE_2681_FIELD(ipcr_acr);
35 DECLARE_2681_FIELD(isr_imr);
36 DECLARE_2681_FIELD(ctu_ctur);
37 DECLARE_2681_FIELD(ctl_ctlr);
38 DECLARE_2681_FIELD(mrb);
39 DECLARE_2681_FIELD(srb_csrb);
40 DECLARE_2681_FIELD(tst_crb);
41 DECLARE_2681_FIELD(rhrb_thrb);
42 DECLARE_2681_FIELD(reserved);
43 DECLARE_2681_FIELD(ip_opcr);
44 DECLARE_2681_FIELD(startCnt_setOutBit);
45 DECLARE_2681_FIELD(stopCnt_resetOutBit);
46
47};
48
49#if 0
50struct mc146818 {
51
52 unsigned int second1:4, second2:4, alarm_second1:4, alarm_second2:4,
53 minute1:4, minute2:4, alarm_minute1:4, alarm_minute2:4;
54 unsigned int hours1:4, hours2:4, alarm_hours1:4, alarm_hours2:4,
55 day_of_week1:4, day_of_week2:4, day_of_month1:4, day_of_month2:4;
56 unsigned int month1:4, month2:4, year1:4, year2:4, :16;
57
58};
59#endif
60
61struct mc146818 {
62 unsigned char second, alarm_second;
63 unsigned char minute, alarm_minute;
64 unsigned char hours, alarm_hours;
65 unsigned char day_of_week, day_of_month;
66 unsigned char month, year;
67};
68
69
70#define IO_BASE 0x80000000
71
72extern u_long sio01_physaddr;
73extern u_long sio23_physaddr;
74extern u_long rtc_physaddr;
75extern u_long pica_physaddr;
76extern u_long picb_physaddr;
77extern u_long cpuctrl_physaddr;
78extern u_long timer_physaddr;
79
80#define SAU7_SIO01_PHYSADDR 0x10400
81#define SAU7_SIO23_PHYSADDR 0x10500
82#define SAU7_RTC_PHYSADDR 0x10900
83#define SAU7_PICA 0x11000
84#define SAU7_PICB 0x11100
85#define SAU7_CPUCTRL 0x10100
86#define SAU7_TIMER 0x010800
87
88#define SAU8_SIO01_PHYSADDR 0x8400
89#define SAU8_RTC_PHYSADDR 0x8900
90#define SAU8_PICA 0x9400
91#define SAU8_PICB 0x9500
92#define SAU8_CPUCTRL 0x8100
93#define SAU8_TIMER 0x8800
94
95#define sio01 ((*(volatile struct SCN2681 *)(IO_BASE + sio01_physaddr)))
96#define sio23 ((*(volatile struct SCN2681 *)(IO_BASE + sio23_physaddr)))
97#define rtc (((volatile struct mc146818 *)(IO_BASE + rtc_physaddr)))
98#define cpuctrl (*(volatile unsigned int *)(IO_BASE + cpuctrl_physaddr))
99#define pica (IO_BASE + pica_physaddr)
100#define picb (IO_BASE + picb_physaddr)
101#define timer (IO_BASE + timer_physaddr)
102#define addr_xlat_map ((unsigned short *)(IO_BASE + 0x17000))
103
104#define isaIO2mem(x) (((((x) & 0x3f8) << 7) | (((x) & 0xfc00) >> 6) | ((x) & 0x7)) + 0x40000 + IO_BASE)
105
106#define IRQ_APOLLO IRQ_USER
107
108#endif