RTEMS  5.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
bf533.h
1 /* Blackfin BF533 Definitions
2  *
3  * Copyright (c) 2008 Kallisti Labs, Los Gatos, CA, USA
4  * written by Allan Hessenflow <allanh@kallisti.com>
5  *
6  * The license and distribution terms for this file may be
7  * found in the file LICENSE in this distribution or at
8  * http://www.rtems.org/license/LICENSE.
9  */
10 
11 #ifndef _bf533_h_
12 #define _bf533_h_
13 
14 /* register (or register block) addresses */
15 
16 #define SIC_BASE_ADDRESS 0xffc00100
17 #define WDOG_BASE_ADDRESS 0xffc00200
18 #define RTC_BASE_ADDRESS 0xffc00300
19 #define UART0_BASE_ADDRESS 0xffc00400
20 #define SPI_BASE_ADDRESS 0xffc00500
21 #define TIMER_BASE_ADDRESS 0xffc00600
22 #define TIMER_CHANNELS 3
23 #define TIMER_PITCH 0x10
24 #define TIMER0_BASE_ADDRESS 0xffc00600
25 #define TIMER1_BASE_ADDRESS 0xffc00610
26 #define TIMER2_BASE_ADDRESS 0xffc00620
27 #define TIMER_ENABLE 0xffc00640
28 #define TIMER_DISABLE 0xffc00644
29 #define TIMER_STATUS 0xffc00648
30 #define PORTFIO_BASE_ADDRESS 0xffc00700
31 #define SPORT0_BASE_ADDRESS 0xffc00800
32 #define SPORT1_BASE_ADDRESS 0xffc00900
33 #define EBIU_BASE_ADDRESS 0xffc00a00
34 #define DMA_TC_PER 0xffc00b0c
35 #define DMA_TC_CNT 0xffc00b10
36 #define DMA_BASE_ADDRESS 0xffc00c00
37 #define DMA_CHANNELS 8
38 #define DMA_PITCH 0x40
39 #define DMA0_BASE_ADDRESS 0xffc00c00
40 #define DMA1_BASE_ADDRESS 0xffc00c40
41 #define DMA2_BASE_ADDRESS 0xffc00c80
42 #define DMA3_BASE_ADDRESS 0xffc00cc0
43 #define DMA4_BASE_ADDRESS 0xffc00d00
44 #define DMA5_BASE_ADDRESS 0xffc00d40
45 #define DMA6_BASE_ADDRESS 0xffc00d80
46 #define DMA7_BASE_ADDRESS 0xffc00dc0
47 #define MDMA_BASE_ADDRESS 0xffc00e00
48 #define MDMA_CHANNELS 2
49 #define MDMA_D_S 0x40
50 #define MDMA_PITCH 0x80
51 #define MDMA0D_BASE_ADDRESS 0xffc00e00
52 #define MDMA0S_BASE_ADDRESS 0xffc00e40
53 #define MDMA1D_BASE_ADDRESS 0xffc00e80
54 #define MDMA1S_BASE_ADDRESS 0xffc00ec0
55 #define PPI_BASE_ADDRESS 0xffc01000
56 
57 
58 /* register fields */
59 
60 #define DMA_TC_PER_MDMA_ROUND_ROBIN_PERIOD_MASK 0xf800
61 #define DMA_TC_PER_MDMA_ROUND_ROBIN_PERIOD_SHIFT 11
62 #define DMA_TC_PER_DAB_TRAFFIC_PERIOD_MASK 0x0700
63 #define DMA_TC_PER_DAB_TRAFFIC_PERIOD_SHIFT 8
64 #define DMA_TC_PER_DEB_TRAFFIC_PERIOD_MASK 0x00f0
65 #define DMA_TC_PER_DEB_TRAFFIC_PERIOD_SHIFT 4
66 #define DMA_TC_PER_DCB_TRAFFIC_PERIOD_MASK 0x000f
67 #define DMA_TC_PER_DCB_TRAFFIC_PERIOD_SHIFT 0
68 
69 #define DMA_TC_CNT_MDMA_ROUND_ROBIN_COUNT_MASK 0xf800
70 #define DMA_TC_CNT_MDMA_ROUND_ROBIN_COUNT_SHIFT 11
71 #define DMA_TC_CNT_DAB_TRAFFIC_COUNT_MASK 0x0700
72 #define DMA_TC_CNT_DAB_TRAFFIC_COUNT_SHIFT 8
73 #define DMA_TC_CNT_DEB_TRAFFIC_COUNT_MASK 0x00f0
74 #define DMA_TC_CNT_DEB_TRAFFIC_COUNT_SHIFT 4
75 #define DMA_TC_CNT_DCB_TRAFFIC_COUNT_MASK 0x000f
76 #define DMA_TC_CNT_DCB_TRAFFIC_COUNT_SHIFT 0
77 
78 #define TIMER_ENABLE_TIMEN2 0x0004
79 #define TIMER_ENABLE_TIMEN1 0x0002
80 #define TIMER_ENABLE_TIMEN0 0x0001
81 
82 #define TIMER_DISABLE_TIMDIS2 0x0004
83 #define TIMER_DISABLE_TIMDIS1 0x0002
84 #define TIMER_DISABLE_TIMDIS0 0x0001
85 
86 #define TIMER_STATUS_TRUN2 0x00004000
87 #define TIMER_STATUS_TRUN1 0x00002000
88 #define TIMER_STATUS_TRUN0 0x00001000
89 #define TIMER_STATUS_TOVF_ERR2 0x00000040
90 #define TIMER_STATUS_TOVF_ERR1 0x00000020
91 #define TIMER_STATUS_TOVF_ERR0 0x00000010
92 #define TIMER_STATUS_TIMIL2 0x00000004
93 #define TIMER_STATUS_TIMIL1 0x00000002
94 #define TIMER_STATUS_TIMIL0 0x00000001
95 
96 /* Core Event Controller vectors */
97 
98 #define CEC_EMULATION_VECTOR 0
99 #define CEC_RESET_VECTOR 1
100 #define CEC_NMI_VECTOR 2
101 #define CEC_EXCEPTIONS_VECTOR 3
102 #define CEC_HARDWARE_ERROR_VECTOR 5
103 #define CEC_CORE_TIMER_VECTOR 6
104 #define CEC_INTERRUPT_BASE_VECTOR 7
105 #define CEC_INTERRUPT_COUNT 9
106 
107 
108 /* System Interrupt Controller vectors */
109 
110 #define SIC_IAR_COUNT 3
111 
112 #define SIC_PLL_WAKEUP_VECTOR 0
113 #define SIC_DMA_ERROR_VECTOR 1
114 #define SIC_PPI_ERROR_VECTOR 2
115 #define SIC_SPORT0_ERROR_VECTOR 3
116 #define SIC_SPORT1_ERROR_VECTOR 4
117 #define SIC_SPI_ERROR_VECTOR 5
118 #define SIC_UART0_ERROR_VECTOR 6
119 #define SIC_RTC_VECTOR 7
120 #define SIC_DMA0_PPI_VECTOR 8
121 #define SIC_DMA1_SPORT0_RX_VECTOR 9
122 #define SIC_DMA2_SPORT0_TX_VECTOR 10
123 #define SIC_DMA3_SPORT1_RX_VECTOR 11
124 #define SIC_DMA4_SPORT1_TX_VECTOR 12
125 #define SIC_DMA5_SPI_VECTOR 13
126 #define SIC_DMA6_UART0_RX_VECTOR 14
127 #define SIC_DMA7_UART0_TX_VECTOR 15
128 #define SIC_TIMER0_VECTOR 16
129 #define SIC_TIMER1_VECTOR 17
130 #define SIC_TIMER2_VECTOR 18
131 #define SIC_MDMA0_VECTOR 21
132 #define SIC_MDMA1_VECTOR 22
133 #define SIC_WATCHDOG_VECTOR 23
134 
135 #endif /* _bf533_h_ */