1
#ifndef __EVALUATOR7T_H__
2
#define __EVALUATOR7T_H__
3
/*====================================================================
4
* Project: Board Support Package (BSP)
6
* Function: Standard definitions for ARM eval board EVALUATOR-7T
8
* Copyright HighTec EDV-Systeme GmbH 1982-2006
9
*====================================================================*/
11
#define PLATFORM_ID 0x0062A
15
/* EVALUATOR7T has been fitted with 512K bytes of SRAM
17
#define SZ_512K 0x00080000
18
#define EVALUATOR_SSRAM_BASE (0)
19
#define EVALUATOR_SSRAM_SIZE (SZ_512K)
20
#define EVALUATOR_FLASH_BASE (0x01800000)
21
#define EVALUATOR_FLASH_SIZE (SZ_512K)
23
/* System Manager Group
25
#define SYSCFG 0x03FF0000
26
#define EXTDBWTH ((volatile unsigned *)(SYSCFG + 0x3010))
27
#define ROMCON1 ((volatile unsigned *)(SYSCFG + 0x3018))
29
/* Interrupt Controller Group */
30
#define INTMOD ((volatile unsigned *)(SYSCFG + 0x4000))
31
#define INTPND ((volatile unsigned *)(SYSCFG + 0x4004))
32
#define INTMSK ((volatile unsigned *)(SYSCFG + 0x4008))
34
#define INT_EXT0 (0) /* External Interrupt 0 */
35
#define INT_EXT1 (1) /* External Interrupt 1 */
36
#define INT_EXT2 (2) /* External Interrupt 2 */
37
#define INT_EXT3 (3) /* External Interrupt 3 */
38
#define INT_UART0_TX (4) /* UART0 Transmit Interrupt */
39
#define INT_UART0_RX (5) /* UART0 Receive & Error Interrupt */
40
#define INT_UART1_TX (6) /* UART1 Transmit Interrupt */
41
#define INT_UART1_RX (7) /* UART1 Receive & Error Interrupt */
42
#define INT_GDMA0 (8) /* General DMA channel 0 Interrupt */
43
#define INT_GDMA1 (9) /* General DMA channel 1 Interrupt */
44
#define INT_TIMER0 (10) /* Timer 0 Interrupt */
45
#define INT_TIMER1 (11) /* Timer 1 Interrupt */
46
#define INT_HDLCA_TX (12) /* HDLC channel A Transmit Interrupt */
47
#define INT_HDLCA_RX (13) /* HDLC channel A Receive Interrupt */
48
#define INT_HDLCB_TX (14) /* HDLC channel B Transmit Interrupt */
49
#define INT_HDLCB_RX (15) /* HDLC channel B Receive Interrupt */
50
#define INT_BDMA_TX (16) /* Ethernet controller BDMA Tx Interrupt */
51
#define INT_BDMA_RX (17) /* Ethernet controller BDMA Rx Interrupt */
52
#define INT_MAC_TX (18) /* Ethernet controller MAC Tx Interrupt */
53
#define INT_MAC_RX (19) /* Ethernet controller MAC Rx Interrupt */
54
#define INT_I2C (20) /* I2C Interrupt */
55
#define INT_GLOBAL (21) /* Global Interrupt Enable / no IRQ source */
65
#define NR_IRQS (MAXIRQNUM + 1)
69
#define TMOD ((volatile unsigned *)(SYSCFG + 0x6000))
70
#define TDATA0 ((volatile unsigned *)(SYSCFG + 0x6004))
71
#define TDATA1 ((volatile unsigned *)(SYSCFG + 0x6008))
72
#define TCNT0 ((volatile unsigned *)(SYSCFG + 0x600C))
73
#define TCNT1 ((volatile unsigned *)(SYSCFG + 0x6010))
75
/* Timer Mode Register bits */
76
#define TMR_TE0 (1<<0)
77
#define TMR_TMD0 (1<<1)
78
#define TMR_TCLR0 (1<<2)
79
#define TMR_TE1 (1<<3)
80
#define TMR_TMD1 (1<<4)
81
#define TMR_TCLR1 (1<<5)
84
/* 50 MHz clock => 50,000 ticks / mSec
85
* Max period is a bit larger than 85 s
87
#define mSEC_1 (0xC350)
88
#define MAX_PERIOD (0xFFFFFFFF)
91
/* LEDs are accessed through the I/O Port
94
#define IOPMOD ((volatile unsigned *)(SYSCFG + 0x5000))
95
#define IOPCON ((volatile unsigned *)(SYSCFG + 0x5004))
96
#define IOPDATA ((volatile unsigned *)(SYSCFG + 0x5008))
99
#define UART0_BASE (SYSCFG + 0xD000)
100
#define UART1_BASE (SYSCFG + 0xE000)
110
* Line Control Register bits
112
#define ULCR5BITS (0)
113
#define ULCR6BITS (1)
114
#define ULCR7BITS (2)
115
#define ULCR8BITS (3)
116
#define ULCRS1STOPBIT (0)
117
#define ULCRS2STOPBIT (4)
118
#define ULCRNOPARITY (0)
119
#define ULCRODDPARITY (4 << 3)
120
#define ULCREVENPARITY (5 << 3)
121
#define ULCRMARKPARITY (6 << 3)
122
#define ULCRSPACEPARITY (7 << 3)
125
* UART Control Register bits
127
#define UCRRXM (1) /* enable received data available irq */
128
#define UCRRXSI (1 << 2) /* enable receiver line status irq */
129
#define UCRTXM (1 << 3) /* enable THR empty interrupt */
130
#define UCRLPB (1 << 7) /* enable loopback mode */
134
* UART Status Register bits
136
#define USROVERRUN (1 << 0) /* overrun error */
137
#define USRPARITY (1 << 1) /* parity error */
138
#define USRFRAMING (1 << 2) /* framing error */
139
#define USRBREAK (1 << 3) /* break interrupt */
140
#define USRDTR (1 << 4)
141
#define USRRXDATA (1 << 5) /* data ready */
142
#define USRTXHOLDEMPTY (1 << 6) /* transmitter holding register empty */
143
#define USRTXEMPTY (1 << 7) /* transmitter register empty */
145
/* baud rate values at 50 MHz */
146
#define BAUD_2400 (650 << 4)
147
#define BAUD_4800 (324 << 4)
148
#define BAUD_9600 (162 << 4)
149
#define BAUD_14400 (121 << 4)
150
#define BAUD_19200 ( 80 << 4)
151
#define BAUD_38400 ( 40 << 4)
152
#define BAUD_57600 ( 26 << 4)
153
#define BAUD_115200 ( 13 << 4)
154
#define BAUD_230400 ( 6 << 4)
157
/* UART primitives */
158
#define GET_STATUS(p) (*(volatile unsigned *)((p) + USTAT))
159
#define RX_DATA(s) ((s) & USRRXDATA)
160
#define GET_CHAR(p) (*(volatile unsigned *)((p) + URXBUF))
161
#define TX_READY(s) ((s) & USRTXHOLDEMPTY)
162
#define PUT_CHAR(p,c) (*(unsigned *)((p) + UTXBUF) = (unsigned)(c))
165
#endif /* __EVALUATOR7T_H__ */