source: rtems/c/src/lib/libbsp/arm/edb7312/include/ep7312.h @ 7a6f8d0

4.104.115
Last change on this file since 7a6f8d0 was 7561e7c, checked in by Joel Sherrill <joel.sherrill@…>, on 08/28/09 at 03:17:17

2009-08-27 Joel Sherrill <joel.sherrill@…>

  • include/ep7312.h, startup/bspreset.c: Move Skyeye magic address out of .h file.
  • Property mode set to 100644
File size: 7.5 KB
Line 
1/*
2 * Cirrus EP7312 register declarations
3 *
4 * Copyright (c) 2002 by Charlie Steader <charlies@poliac.com>
5 *
6 * Copyright (c) 2002 by Jay Monkman <jtm@smoothsmoothie.com>
7 *
8 *  The license and distribution terms for this file may be
9 *  found in the file LICENSE in this distribution or at
10 *
11 *  http://www.rtems.com/license/LICENSE.
12 *
13 *
14 * Notes: The PLL registers (pll_ro and pll_wo) are either read only
15 *        or write only. The data sheet says not to write the read
16 *        only one or read the write only one. I'm not sure what will
17 *        happen if you do.
18 *
19 *  $Id$
20*/
21#ifndef __EP7312_H__
22#define __EP7312_H__
23
24#define EP7312_REG_BASE 0x80000000
25
26#define EP7312_PADR    ((volatile uint8_t*)(EP7312_REG_BASE + 0x0000))
27#define EP7312_PBDR    ((volatile uint8_t*)(EP7312_REG_BASE + 0x0001))
28#define EP7312_PDDR    ((volatile uint8_t*)(EP7312_REG_BASE + 0x0003))
29#define EP7312_PADDR   ((volatile uint8_t*)(EP7312_REG_BASE + 0x0040))
30#define EP7312_PBDDR   ((volatile uint8_t*)(EP7312_REG_BASE + 0x0041))
31#define EP7312_PDDDR   ((volatile uint8_t*)(EP7312_REG_BASE + 0x0043))
32#define EP7312_PEDR    ((volatile uint8_t*)(EP7312_REG_BASE + 0x0080))
33#define EP7312_PEDDR   ((volatile uint8_t*)(EP7312_REG_BASE + 0x00C0))
34#define EP7312_SYSCON1 ((volatile uint32_t*)(EP7312_REG_BASE + 0x0100))
35#define EP7312_SYSFLG1 ((volatile uint32_t*)(EP7312_REG_BASE + 0x0140))
36#define EP7312_MEMCFG1 ((volatile uint32_t*)(EP7312_REG_BASE + 0x0180))
37#define EP7312_MEMCFG2 ((volatile uint32_t*)(EP7312_REG_BASE + 0x01C0))
38#define EP7312_INTSR1  ((volatile uint32_t*)(EP7312_REG_BASE + 0x0240))
39#define EP7312_INTMR1  ((volatile uint32_t*)(EP7312_REG_BASE + 0x0280))
40#define EP7312_LCDCON  ((volatile uint32_t*)(EP7312_REG_BASE + 0x02C0))
41#define EP7312_TC1D    ((volatile uint32_t*)(EP7312_REG_BASE + 0x0300))
42#define EP7312_TC2D    ((volatile uint32_t*)(EP7312_REG_BASE + 0x0340))
43#define EP7312_RTCDR   ((volatile uint32_t*)(EP7312_REG_BASE + 0x0380))
44#define EP7312_RTCMR   ((volatile uint32_t*)(EP7312_REG_BASE + 0x03C0))
45#define EP7312_PMPCON  ((volatile uint32_t*)(EP7312_REG_BASE + 0x0400))
46#define EP7312_CODR    ((volatile uint8_t*)(EP7312_REG_BASE + 0x0440))
47#define EP7312_UARTDR1 ((volatile uint32_t*)(EP7312_REG_BASE + 0x0480))
48#define EP7312_UARTCR1 ((volatile uint32_t*)(EP7312_REG_BASE + 0x04C0))
49#define EP7312_SYNCIO  ((volatile uint32_t*)(EP7312_REG_BASE + 0x0500))
50#define EP7312_PALLSW  ((volatile uint32_t*)(EP7312_REG_BASE + 0x0540))
51#define EP7312_PALMSW  ((volatile uint32_t*)(EP7312_REG_BASE + 0x0580))
52#define EP7312_STFCLR  ((volatile uint32_t*)(EP7312_REG_BASE + 0x05C0))
53#define EP7312_BLEOI   ((volatile uint32_t*)(EP7312_REG_BASE + 0x0600))
54#define EP7312_MCEOI   ((volatile uint32_t*)(EP7312_REG_BASE + 0x0640))
55#define EP7312_TEOI    ((volatile uint32_t*)(EP7312_REG_BASE + 0x0680))
56#define EP7312_TC1EOI  ((volatile uint32_t*)(EP7312_REG_BASE + 0x06C0))
57#define EP7312_TC2EOI  ((volatile uint32_t*)(EP7312_REG_BASE + 0x0700))
58#define EP7312_RTCEOI  ((volatile uint32_t*)(EP7312_REG_BASE + 0x0740))
59#define EP7312_UMSEOI  ((volatile uint32_t*)(EP7312_REG_BASE + 0x0780))
60#define EP7312_COEOI   ((volatile uint32_t*)(EP7312_REG_BASE + 0x07C0))
61#define EP7312_HALT    ((volatile uint32_t*)(EP7312_REG_BASE + 0x0800))
62#define EP7312_STDBY   ((volatile uint32_t*)(EP7312_REG_BASE + 0x0840))
63#define EP7312_FBADDR  ((volatile uint8_t*)(EP7312_REG_BASE + 0x1000))
64#define EP7312_SYSCON2 ((volatile uint32_t*)(EP7312_REG_BASE + 0x1100))
65#define EP7312_SYSFLG2 ((volatile uint32_t*)(EP7312_REG_BASE + 0x1140))
66#define EP7312_INTSR2  ((volatile uint32_t*)(EP7312_REG_BASE + 0x1240))
67#define EP7312_INTMR2  ((volatile uint32_t*)(EP7312_REG_BASE + 0x1280))
68#define EP7312_UARTDR2 ((volatile uint32_t*)(EP7312_REG_BASE + 0x1480))
69#define EP7312_UARTCR2 ((volatile uint32_t*)(EP7312_REG_BASE + 0x14C0))
70#define EP7312_SS2DR   ((volatile uint32_t*)(EP7312_REG_BASE + 0x1500))
71#define EP7312_SRXEOF  ((volatile uint32_t*)(EP7312_REG_BASE + 0x1600))
72#define EP7312_SS2POP  ((volatile uint32_t*)(EP7312_REG_BASE + 0x16C0))
73#define EP7312_KBDEOI  ((volatile uint32_t*)(EP7312_REG_BASE + 0x1700))
74#define EP7312_DAIR    ((volatile uint32_t*)(EP7312_REG_BASE + 0x2000))
75#define EP7312_DAIDR0  ((volatile uint32_t*)(EP7312_REG_BASE + 0x2040))
76#define EP7312_DAIDR1  ((volatile uint32_t*)(EP7312_REG_BASE + 0x2080))
77#define EP7312_DAIDR2  ((volatile uint32_t*)(EP7312_REG_BASE + 0x20C0))
78#define EP7312_DAISR   ((volatile uint32_t*)(EP7312_REG_BASE + 0x2100))
79#define EP7312_SYSCON3 ((volatile uint32_t*)(EP7312_REG_BASE + 0x2200))
80#define EP7312_INTSR3  ((volatile uint32_t*)(EP7312_REG_BASE + 0x2240))
81#define EP7312_INTMR3  ((volatile uint8_t*)(EP7312_REG_BASE + 0x2280))
82#define EP7312_LEDFLSH ((volatile uint8_t*)(EP7312_REG_BASE + 0x22C0))
83#define EP7312_SDCONF  ((volatile uint32_t*)(EP7312_REG_BASE + 0x2300))
84#define EP7312_SDRFPR  ((volatile uint32_t*)(EP7312_REG_BASE + 0x2340))
85#define EP7312_UNIQID  ((volatile uint32_t*)(EP7312_REG_BASE + 0x2440))
86#define EP7312_DAI64Fs ((volatile uint32_t*)(EP7312_REG_BASE + 0x2600))
87#define EP7312_PLLW    ((volatile uint8_t*)(EP7312_REG_BASE + 0x2610))
88#define EP7312_PLLR    ((volatile uint8_t*)(EP7312_REG_BASE + 0xA5A8))
89#define EP7312_RANDID0 ((volatile uint32_t*)(EP7312_REG_BASE + 0x2700))
90#define EP7312_RANDID1 ((volatile uint32_t*)(EP7312_REG_BASE + 0x2704))
91#define EP7312_RANDID2 ((volatile uint32_t*)(EP7312_REG_BASE + 0x2708))
92#define EP7312_RANDID3 ((volatile uint32_t*)(EP7312_REG_BASE + 0x270C))
93
94/* serial port bits */
95/* BITS in UBRLCR1 */
96#define EP7312_UART_WRDLEN5    0x00000000
97#define EP7312_UART_WRDLEN6    0x00020000
98#define EP7312_UART_WRDLEN7    0x00040000
99#define EP7312_UART_WRDLEN8    0x00060000
100#define EP7312_UART_FIFOEN     0x00010000
101#define EP7312_UART_XSTOP      0x00008000
102#define EP7312_UART_EVENPRT    0x00004000
103#define EP7312_UART_PRTEN      0x00002000
104#define EP7312_UART_BREAK      0x00001000
105
106/* BITS in INTSR1 */
107#define EP7312_UART_UTXINT1    0x00002000
108#define EP7312_UART_URXINT1    0x00001000
109
110/* BITS in UARTTDR1 */
111#define EP7312_UART_FRMERR     0x00000100
112#define EP7312_UART_PARERR     0x00000200
113#define EP7312_UART_OVERR      0x00000400
114
115/* BITS in system status flag register 1 */
116#define EP7312_UART_UBUSY1     0x00000800
117#define EP7312_UART_URXFE1     0x00400000
118#define EP7312_UART_UTXFF1     0x00800000
119
120/* system configuration bits */
121/* BITS in SYSCON1 */
122#define EP7312_SYSCON1_UART1EN       0x00000100
123#define EP7312_SYSCON1_TC1_PRESCALE  0x00000010
124#define EP7312_SYSCON1_TC1_512KHZ    0x00000020
125#define EP7312_SYSCON1_TC2_PRESCALE  0x00000040
126#define EP7312_SYSCON1_TC2_512KHZ    0x00000080
127
128/* INTR1 (Interrupt 1) mask/status register bits */
129#define EP7312_INTR1_EXTFIQ  0x00000001
130#define EP7312_INTR1_BLINT   0x00000002
131#define EP7312_INTR1_WEINT   0x00000004
132#define EP7312_INTR1_MCINT   0x00000008
133#define EP7312_INTR1_CSINT   0x00000010
134#define EP7312_INTR1_EINT1   0x00000020
135#define EP7312_INTR1_EINT2   0x00000040
136#define EP7312_INTR1_EINT3   0x00000080
137#define EP7312_INTR1_TC1OI   0x00000100
138#define EP7312_INTR1_TC2OI   0x00000200
139#define EP7312_INTR1_RTCMI   0x00000400
140#define EP7312_INTR1_TINT    0x00000800
141#define EP7312_INTR1_URXINT1 0x00001000
142#define EP7312_INTR1_UTXINT1 0x00002000
143#define EP7312_INTR1_UMSINT  0x00004000
144#define EP7312_INTR1_SSEOTI  0x00008000
145
146/* INTR2 (Interrupt 2) mask/status register bits */
147#define EP7312_INTR2_KBDINT  0x00000001
148#define EP7312_INTR2_SS2RX   0x00000002
149#define EP7312_INTR2_SS2TX   0x00000004
150#define EP7312_INTR2_URXINT2 0x00001000
151#define EP7312_INTR2_UTXINT2 0x00002000
152
153/* INTR3 (Interrupt 3) mask/status register bits */
154#define EP7312_INTR2_DAIINT  0x00000001
155
156#endif /* __EP7312_H__ */
Note: See TracBrowser for help on using the repository browser.