~efargaspro/+junk/codeblocks-16.01-release

« back to all changes in this revision

Viewing changes to src/plugins/scriptedwizard/resources/arm/files/ARM-eval7t/h/evaluator7t.h

  • Committer: damienlmoore at gmail
  • Date: 2016-02-02 02:43:22 UTC
  • Revision ID: damienlmoore@gmail.com-20160202024322-yql5qmtbwdyamdwd
Code::BlocksĀ 16.01

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef __EVALUATOR7T_H__
 
2
#define __EVALUATOR7T_H__
 
3
/*====================================================================
 
4
* Project: Board Support Package (BSP)
 
5
* Developed using:
 
6
* Function: Standard definitions for ARM eval board EVALUATOR-7T
 
7
*
 
8
* Copyright HighTec EDV-Systeme GmbH 1982-2006
 
9
*====================================================================*/
 
10
 
 
11
#define PLATFORM_ID                             0x0062A
 
12
 
 
13
 
 
14
/* memory size */
 
15
/*  EVALUATOR7T has been fitted with 512K bytes of SRAM
 
16
 */
 
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)
 
22
 
 
23
/*      System Manager Group
 
24
 */
 
25
#define SYSCFG                                  0x03FF0000
 
26
#define EXTDBWTH                                ((volatile unsigned *)(SYSCFG + 0x3010))
 
27
#define ROMCON1                                 ((volatile unsigned *)(SYSCFG + 0x3018))
 
28
 
 
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))
 
33
 
 
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 */
 
56
 
 
57
#define ISR_MIN                                  0
 
58
#define ISR_MAX                                 21
 
59
#define ISR_COUNT                               22
 
60
 
 
61
#define MAXIRQNUM                               21
 
62
#define MAXFIQNUM                               21
 
63
#define MAXSWINUM                               15
 
64
 
 
65
#define NR_IRQS                                 (MAXIRQNUM + 1)
 
66
 
 
67
 
 
68
/* Timer Registers */
 
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))
 
74
 
 
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)
 
82
 
 
83
 
 
84
/*  50 MHz clock => 50,000 ticks / mSec
 
85
 *  Max period is a bit larger than 85 s
 
86
 */
 
87
#define mSEC_1                                  (0xC350)
 
88
#define MAX_PERIOD                              (0xFFFFFFFF)
 
89
 
 
90
/* LEDs */
 
91
/*  LEDs are accessed through the I/O Port
 
92
 *  I/O Ports
 
93
 */
 
94
#define IOPMOD                                  ((volatile unsigned *)(SYSCFG + 0x5000))
 
95
#define IOPCON                                  ((volatile unsigned *)(SYSCFG + 0x5004))
 
96
#define IOPDATA                                 ((volatile unsigned *)(SYSCFG + 0x5008))
 
97
 
 
98
/* UART */
 
99
#define UART0_BASE                              (SYSCFG + 0xD000)
 
100
#define UART1_BASE                              (SYSCFG + 0xE000)
 
101
 
 
102
#define ULCON                                   0x00
 
103
#define UCON                                    0x04
 
104
#define USTAT                                   0x08
 
105
#define UTXBUF                                  0x0C
 
106
#define URXBUF                                  0x10
 
107
#define UBRDIV                                  0x14
 
108
 
 
109
/*
 
110
 * Line Control Register bits
 
111
 */
 
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)
 
123
 
 
124
/*
 
125
 * UART Control Register bits
 
126
 */
 
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 */
 
131
 
 
132
 
 
133
/*
 
134
 * UART Status Register bits
 
135
 */
 
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 */
 
144
 
 
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)
 
155
 
 
156
 
 
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))
 
163
 
 
164
 
 
165
#endif /* __EVALUATOR7T_H__ */