annotate packages/hal/arm/edb7xxx/current/include/hal_edb7xxx.h @ 54:f10165814f1e ecos-sw-1999-11-19

Merge from eCos master repository on 1999-11-19-22:24:39-GMT
author jlarmour
date Fri, 19 Nov 1999 23:37:56 +0000
parents
children c38311975d4f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
54
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
1 #ifndef CYGONCE_HAL_EDB7XXX_H
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
2 #define CYGONCE_HAL_EDB7XXX_H
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
3
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
4 /*=============================================================================
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
5 //
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
6 // hal_edb7xxx.h
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
7 //
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
8 // HAL Support for Kernel Diagnostic Routines
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
9 //
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
10 //=============================================================================
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
11 //####COPYRIGHTBEGIN####
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
12 //
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
13 // -------------------------------------------
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
14 // The contents of this file are subject to the Cygnus eCos Public License
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
15 // Version 1.0 (the "License"); you may not use this file except in
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
16 // compliance with the License. You may obtain a copy of the License at
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
17 // http://sourceware.cygnus.com/ecos
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
18 //
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
19 // Software distributed under the License is distributed on an "AS IS"
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
20 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
21 // License for the specific language governing rights and limitations under
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
22 // the License.
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
23 //
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
24 // The Original Code is eCos - Embedded Cygnus Operating System, released
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
25 // September 30, 1998.
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
26 //
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
27 // The Initial Developer of the Original Code is Cygnus. Portions created
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
28 // by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions. All Rights Reserved.
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
29 // -------------------------------------------
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
30 //
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
31 //####COPYRIGHTEND####
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
32 //=============================================================================
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
33 //#####DESCRIPTIONBEGIN####
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
34 //
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
35 // Author(s): gthomas
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
36 // Contributors: gthomas
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
37 // Date: 1999-04-19
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
38 // Purpose: Cirrus Logic EDB7XXX hardware description
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
39 // Description:
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
40 // Usage: #include <cyg/hal/hal_edb7xxx.h>
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
41 //
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
42 //####DESCRIPTIONEND####
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
43 //
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
44 //===========================================================================*/
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
45
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
46 // Note: these defintions match the documentation, thus no attempt is made
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
47 // to sanitize (mangle) the names. Also, care should be taken to keep this
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
48 // clean for use in assembly code (no "C" constructs).
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
49
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
50 #define PADR 0x80000000 // Port A data register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
51 #define PBDR 0x80000001 // Port B data register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
52 #define PDDR 0x80000003 // Port D data register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
53 #define PADDR 0x80000040 // Port A data direction register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
54 #define PBDDR 0x80000041 // Port B data direction register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
55 #define PDDDR 0x80000043 // Port D data direction register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
56 #define PEDR 0x80000080 // Port E data register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
57 #define PEDDR 0x800000C0 // Port E data direction register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
58
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
59 #define SYSCON1 0x80000100 // System control register #1
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
60 #define SYSCON1_KBD_CTL 0xF // Keyboard scan - mask
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
61 #define SYSCON1_KBD_HIGH 0 // Keyboard scan - all columns high
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
62 #define SYSCON1_KBD_LOW 1 // Keyboard scan - all columns low
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
63 #define SYSCON1_KBD_TRISTATE 2 // Keyboard scan - all columns tri-state
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
64 #define SYSCON1_KBD_COL(n) (n+8)// Keyboard scan - select column 'n'
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
65 #define SYSCON1_TC1M (1<<4) // Timer/counter #1 - prescale mode
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
66 #define SYSCON1_TC1S (1<<5) // Timer/counter #1 - source (1=512KHz,0=2KHz)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
67 #define SYSCON1_TC2M (1<<6) // Timer/counter #2 - prescale mode
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
68 #define SYSCON1_TC2S (1<<7) // Timer/counter #2 - source (1=512KHz,0=2KHz)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
69 #define SYSCON1_UART1EN (1<<8) // UART #1 enable
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
70 #define SYSCON1_BZTOG (1<<9) // Buzzer bit
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
71 #define SYSCON1_BZMOD (1<<10) // Buzzer mode (0=direct,1=TC1)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
72 #define SYSCON1_DBGEN (1<<11) // Enable debug mode
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
73 #define SYSCON1_LCDEN (1<<12) // Enable LCD
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
74 #define SYSCON1_CDENTX (1<<13) // Enable Tx on CODEC
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
75 #define SYSCON1_CDENRX (1<<14) // Enable Rx on CODEC
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
76 #define SYSCON1_SIREN (1<<15) // Enable SIR protocol on UART #1
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
77 #define SYSCON1_ADCKSEL (3<<16) // Microwire clock
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
78 #define SYSCON1_ADC_CLOCK_4kHZ (0<<16)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
79 #define SYSCON1_ADC_CLOCK_16kHZ (1<<16)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
80 #define SYSCON1_ADC_CLOCK_64kHZ (2<<16)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
81 #define SYSCON1_ADC_CLOCK_128kHZ (3<<16)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
82 #define SYSCON1_EXCKEN (1<<18) // External expansion clock enable
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
83 #define SYSCON1_WAKEDIS (1<<19) // Disable wakeup from snooze (do not disturb)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
84 #define SYSCON1_IRTXM (1<<20) // IrDA Tx mode
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
85
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
86 #define SYSCON2 0x80001100 // System control register #2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
87 #define SYSCON2_SERSEL (1<<0) // 0=master/slave SSI, 1=CODEC
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
88 #define SYSCON2_KBD6 (1<<1) // 0=8 bit keyboard, 1=6 bit
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
89 #define SYSCON2_DRAMSZ (1<<2) // DRAM width 0=32, 1=16
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
90 #define SYSCON2_KBWEN (1<<3) // 1=allow wake up from keyboard
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
91 #define SYSCON2_SS2TXEN (1<<4) // Enable Tx on SS2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
92 #define SYSCON2_PCMCIA1 (1<<5) // Enable PCMCIA slot #1
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
93 #define SYSCON2_PCMCIA2 (1<<6) // Enable PCMCIA slot #2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
94 #define SYSCON2_SS2RXEN (1<<7) // Enable Rx on SS2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
95 #define SYSCON2_UART2EN (1<<8) // Enable UART #2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
96 #define SYSCON2_SS2MAEN (1<<9) // Enable master mode on SS2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
97 #define SYSCON2_SNZPOL (1<<10) // Polarity of LCD during snooze
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
98 #define SYSCON2_LCDSNZE (1<<11)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
99 #define SYSCON2_OSTB (1<<12) // Operating system timing 0=512KHz, 1=500KHz
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
100 #define SYSCON2_CLKENSL (1<<13) // Source of run/clken signal 0=CLKEN, 1=RUN
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
101 #define SYSCON2_BUZFREQ (1<<14) // Buzzer frequency 0=timer, 1=fixed PLL/xtal
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
102
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
103 #define SYSCON3 0x80002200 // System control #3
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
104 #define SYSCON3_ADCCON (1<<0) // ADC enable
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
105 #define SYSCON3_CLKCTL(n) (n<<1) // Processor block speed ((n+1)*18.432)MHz
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
106
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
107 #define SYSFLG1 0x80000140 // System flags #1
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
108 #define SYSFLG1_MCDR (1<<0) // Media changed - direct read
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
109 #define SYSFLG1_DCDET (1<<1) // 0=mains power, 1=battery
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
110 #define SYSFLG1_WUDR (1<<2) // Wakeup direct
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
111 #define SYSFLG1_WUON (1<<3) // Woken up
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
112 #define SYSFLG1_DID (0xF<<4) // Display ID
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
113 #define SYSFLG1_CTS (1<<8) // UART1 CTS
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
114 #define SYSFLG1_DSR (1<<9) // UART1 DSR
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
115 #define SYSFLG1_DCD (1<<10) // UART1 DCD
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
116 #define SYSFLG1_UBUSY1 (1<<11) // UART1 Tx busy
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
117 #define SYSFLG1_NBFLG (1<<12) // New battery flag
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
118 #define SYSFLG1_RSTFLG (1<<13) // Reset (button) flag
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
119 #define SYSFLG1_PFFLG (1<<14) // Power fail flag
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
120 #define SYSFLG1_CLDFLG (1<<15) // Cold start flag
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
121 #define SYSFLG1_RTCDIV (0x3F<<16) // Real time clock divider (counter)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
122 #define SYSFLG1_URXFE1 (1<<22) // UART1 Rx FIFO empty
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
123 #define SYSFLG1_UTXFF1 (1<<23) // UART1 Tx FIFO full
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
124 #define SYSFLG1_CRXFE (1<<24) // CODEC Rx FIFO empty
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
125 #define SYSFLG1_CTXFF (1<<25) // CODEC Tx FIFO full
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
126 #define SYSFLG1_SSIBUSY (1<<26) // Synchronous serial interface busy
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
127 #define SYSFLG1_BOOTBITS (3<<27) // Boot mode (0=32,1=8,2=16,3=XX)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
128 #define SYSFLG1_ID (1<<29) // ID=1
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
129 #define SYSFLG1_VERID (3<<30) // Board version
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
130
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
131 #define SYSFLG2 0x80001140 // System flags #2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
132
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
133 #define INTSR1 0x80000240 // Interrupt status register #1
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
134 #define INTSR1_EXTFIQ (1<<0) // External fast interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
135 #define INTSR1_BLINT (1<<1) // Battery low interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
136 #define INTSR1_WEINT (1<<2) // Watchdog expired interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
137 #define INTSR1_MCINT (1<<3) // Media changed interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
138 #define INTSR1_CSINT (1<<4) // CODEC sound interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
139 #define INTSR1_EINT1 (1<<5) // External interrupt #1
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
140 #define INTSR1_EINT2 (1<<6) // External interrupt #2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
141 #define INTSR1_EINT3 (1<<7) // External interrupt #3
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
142 #define INTSR1_TC1OI (1<<8) // Timer/counter #1 underflow
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
143 #define INTSR1_TC2OI (1<<9) // Timer/counter #2 underflow
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
144 #define INTSR1_RTCMI (1<<10) // Real time clock match
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
145 #define INTSR1_TINT (1<<11) // 64Hz tick
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
146 #define INTSR1_UTXINT1 (1<<12) // UART1 Tx interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
147 #define INTSR1_URXINT1 (1<<13) // UART1 Rx interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
148 #define INTSR1_UMSINT (1<<14) // UART1 modem line change
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
149 #define INTSR1_SSEOTI (1<<15) // Synchronous serial end of transfer
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
150 #define INTMR1 0x80000280 // Interrupt mask register #1
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
151
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
152 #define INTSR2 0x80001240 // Interrupt status #2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
153 #define INTSR2_KBDINT (1<<0) // Keyboard interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
154 #define INTSR2_SS2RX (1<<1) // Synchronous serial #2 Rx
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
155 #define INTSR2_SS2TX (1<<2) // Synchronous serial #2 Tx
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
156 #define INTSR2_UTXINT2 (1<<12) // UART #2 Tx interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
157 #define INTSR2_URXINT2 (1<<13) // UART #2 Rx interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
158 #define INTMR2 0x80001280 // Interrupt mask #2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
159
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
160 #define INTSR3 0x80002240 // Interrupt status #3
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
161 #if defined(__EDB7211)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
162 #define INTSR3_MCPINT (1<<0) // MCP interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
163 #endif
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
164 #define INTMR3 0x80002280 // Interrupt mask #3
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
165
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
166 #define UARTDR1 0x80000480 // UART #1 data register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
167 #define UARTDR2 0x80001480 // UART #2 data register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
168 #define UBLCR1 0x800004C0 // UART #1 baud rate / line control
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
169 #define UBLCR2 0x800014C0 // UART #2 baud rate / line control
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
170 #define UBLCR_BRDV 0xFFF // Baud rate
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
171 #define UBLCR_BREAK (1<<12) // Generate break signal
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
172 #define UBLCR_PRTEN (1<<13) // Enable parity
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
173 #define UBLCR_EVENPRT (1<<14) // 1=even parity, 0=odd
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
174 #define UBLCR_XSTOP (1<<15) // 0=1 stop bit, 1=2 stop bits
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
175 #define UBLCR_FIFOEN (1<<16) // Enable Tx/Rx FIFOs
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
176 #define UBLCR_WRDLEN (3<<17) // Word (character) length field
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
177 #define UBLCR_WRDLEN5 (0<<17)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
178 #define UBLCR_WRDLEN6 (1<<17)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
179 #define UBLCR_WRDLEN7 (2<<17)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
180 #define UBLCR_WRDLEN8 (3<<17)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
181 #define UART_DIVISOR 230400
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
182 #define UART_BITRATE(baud) ((UART_DIVISOR/(baud))-1)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
183
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
184 #define MEMCFG1 0x80000180 // Memory configuration register #1
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
185 #define MEMCFG2 0x800001C0 // Memory configuration register #2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
186
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
187 #define DRFPR 0x80000200 // DRAM refresh period
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
188
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
189 #define LCDCON 0x800002C0 // LDC control
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
190 #define LCDCON_BUFSIZ 0x00001FFF // Video buffer size
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
191 #define LCDCON_BUFSIZ_S 0 // Position of buffer size
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
192 #define LCDCON_LINE_LENGTH 0x0007E000 // Line length
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
193 #define LCDCON_LINE_LENGTH_S 13 // Position of line length
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
194 #define LCDCON_PIX_PRESCALE 0x01F80000 // Pixel prescale value
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
195 #define LCDCON_PIX_PRESCALE_S 19 // Position of prescale value
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
196 #define LCDCON_AC_PRESCALE 0x3E000000 // LCD AC bias frequency
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
197 #define LCDCON_AC_PRESCALE_S 25 // Position to AC bias
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
198 #define LCDCON_GSEN 0x40000000 // Enable greyscale
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
199 #define LCDCON_GSMD 0x80000000 // Greyscale mode
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
200 // 00 - 1bpp, 01 - 2bpp, 11 - 4 bpp
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
201
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
202 #define TC1D 0x80000300 // Timer/Counter #1 register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
203 #define TC2D 0x80000340 // Timer/Counter #2 register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
204 #define RTCDR 0x80000380 // Real time clock data register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
205 #define RTCMR 0x800003C0 // Real time clock match register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
206
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
207 #define PMPCON 0x80000400 // DC-DC pump control
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
208
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
209 #define CODR 0x80000440 // CODEC data register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
210
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
211 #define SYNCIO 0x80000500 // Synchronous I/O data register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
212
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
213 #define PALLSW 0x80000540 // LCD palette - LSW (Pixel values 0..7)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
214 #define PALMSW 0x80000580 // LCD palette - MSW (Pixel values 8..15)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
215
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
216 #define STFCLR 0x800005C0 // Clear startup reason flags
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
217 #define BLEOI 0x80000600 // Clear battery low interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
218 #define MCEOI 0x80000640 // Clear media changed interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
219 #define TEOI 0x80000680 // Clear tick/watchdog interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
220 #define TC1EOI 0x800006C0 // Clear timer/counter #1 interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
221 #define TC2EOI 0x80000700 // Clear timer/counter #2 interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
222 #define RTCEOI 0x80000740 // Clear real time clock interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
223 #define UMSEOI 0x80000780 // Clear UART modem status change interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
224 #define COEOI 0x800007C0 // Clear CODEC sound interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
225
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
226 #define HALT 0x80000800 // Enter 'idle' state
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
227 #define STDBY 0x80000840 // Enter 'standby' state
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
228
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
229 #define FRBADDR 0x80001000 // LCD frame buffer start
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
230
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
231 #define SNZDISP 0x800012C0 // Snooze display size
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
232
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
233 #define SS2DR 0x80001500 // Master/slave SSI2 register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
234
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
235 #define SRXEOF 0x80001600 // Clear Rx FIFO overflow flag
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
236 #define SS2POP 0x800016C0 // Pop SSI2 residual byte into FIFO
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
237
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
238 #define KBDEOI 0x80001700 // Clear keyboard interrupt
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
239
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
240 #define SNOOZE 0x80001800 // Enter 'snooze' state
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
241
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
242 #if defined(__EDB7211)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
243 #define MCCR 0x80002000 // MCP control register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
244 #define MCDR0 0x80002040 // MCP data register #0
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
245 #define MCDR1 0x80002080 // MCP data register #1
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
246 #define MCDR2 0x800020C0 // MCP data register #2
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
247 #define MCSR 0x80002100 // MCP status register
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
248 #endif
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
249
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
250
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
251 #define LEDFLSH 0x800022C0 // LED flash control
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
252 #define LEDFLSH_ENABLE (1<<6) // LED enabled
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
253 #define LEDFLSH_DUTY(n) ((n-1)<<2) // LED on ratio
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
254 #define LEDFLSH_PERIOD(n) (n-1) // LED active time (1..4)
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
255
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
256 #define KBD_PORT 0x30010000 // Extra 8 bits of keyboard data
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
257
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
258 /*---------------------------------------------------------------------------*/
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
259 /* end of hal_edb7xxx.h */
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff changeset
260 #endif /* CYGONCE_HAL_EDB7XXX_H */