Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:40

0001 /*  Blackfin BF537 Definitions
0002  *
0003  *  Copyright (c) 2008 Kallisti Labs, Los Gatos, CA, USA
0004  *             written by Allan Hessenflow <allanh@kallisti.com>
0005  *
0006  *  The license and distribution terms for this file may be
0007  *  found in the file LICENSE in this distribution or at
0008  *  http://www.rtems.org/license/LICENSE.
0009  */
0010 
0011 #ifndef _bf537_h_
0012 #define _bf537_h_
0013 
0014 /* register (or register block) addresses */
0015 
0016 #define SIC_BASE_ADDRESS                          0xffc00100
0017 #define WDOG_BASE_ADDRESS                         0xffc00200
0018 #define RTC_BASE_ADDRESS                          0xffc00300
0019 #define UART0_BASE_ADDRESS                        0xffc00400
0020 #define SPI_BASE_ADDRESS                          0xffc00500
0021 #define TIMER_BASE_ADDRESS                        0xffc00600
0022 #define TIMER_CHANNELS                                     8
0023 #define TIMER_PITCH                                     0x10
0024 #define TIMER0_BASE_ADDRESS                       0xffc00600
0025 #define TIMER1_BASE_ADDRESS                       0xffc00610
0026 #define TIMER2_BASE_ADDRESS                       0xffc00620
0027 #define TIMER3_BASE_ADDRESS                       0xffc00630
0028 #define TIMER4_BASE_ADDRESS                       0xffc00640
0029 #define TIMER5_BASE_ADDRESS                       0xffc00650
0030 #define TIMER6_BASE_ADDRESS                       0xffc00660
0031 #define TIMER7_BASE_ADDRESS                       0xffc00670
0032 #define TIMER_ENABLE                              0xffc00680
0033 #define TIMER_DISABLE                             0xffc00684
0034 #define TIMER_STATUS                              0xffc00688
0035 #define PORTFIO_BASE_ADDRESS                      0xffc00700
0036 #define SPORT0_BASE_ADDRESS                       0xffc00800
0037 #define SPORT1_BASE_ADDRESS                       0xffc00900
0038 #define EBIU_BASE_ADDRESS                         0xffc00a00
0039 #define DMA_TC_PER                                0xffc00b0c
0040 #define DMA_TC_CNT                                0xffc00b10
0041 #define DMA_BASE_ADDRESS                          0xffc00c00
0042 #define DMA_CHANNELS                                      12
0043 #define DMA_PITCH                                       0x40
0044 #define DMA0_BASE_ADDRESS                         0xffc00c00
0045 #define DMA1_BASE_ADDRESS                         0xffc00c40
0046 #define DMA2_BASE_ADDRESS                         0xffc00c80
0047 #define DMA3_BASE_ADDRESS                         0xffc00cc0
0048 #define DMA4_BASE_ADDRESS                         0xffc00d00
0049 #define DMA5_BASE_ADDRESS                         0xffc00d40
0050 #define DMA6_BASE_ADDRESS                         0xffc00d80
0051 #define DMA7_BASE_ADDRESS                         0xffc00dc0
0052 #define DMA8_BASE_ADDRESS                         0xffc00e00
0053 #define DMA9_BASE_ADDRESS                         0xffc00e40
0054 #define DMA10_BASE_ADDRESS                        0xffc00e80
0055 #define DMA11_BASE_ADDRESS                        0xffc00ec0
0056 #define MDMA_BASE_ADDRESS                         0xffc00f00
0057 #define MDMA_CHANNELS                                      2
0058 #define MDMA_D_S                                        0x40
0059 #define MDMA_PITCH                                      0x80
0060 #define MDMA0D_BASE_ADDRESS                       0xffc00f00
0061 #define MDMA0S_BASE_ADDRESS                       0xffc00f40
0062 #define MDMA1D_BASE_ADDRESS                       0xffc00f80
0063 #define MDMA1S_BASE_ADDRESS                       0xffc00fc0
0064 #define PPI_BASE_ADDRESS                          0xffc01000
0065 #define TWI_BASE_ADDRESS                          0xffc01400
0066 #define PORTGIO_BASE_ADDRESS                      0xffc01500
0067 #define PORTHIO_BASE_ADDRESS                      0xffc01700
0068 #define UART1_BASE_ADDRESS                        0xffc02000
0069 #define CAN_BASE_ADDRESS                          0xffc02a00
0070 #define CAN_AM_BASE_ADDRESS                       0xffc02b00
0071 #define CAN_MB_BASE_ADDRESS                       0xffc02c00
0072 #define EMAC_BASE_ADDRESS                         0xffc03000
0073 #define PORTF_FER                                 0xffc03200
0074 #define PORTG_FER                                 0xffc03204
0075 #define PORTH_FER                                 0xffc03208
0076 #define PORT_MUX                                  0xffc0320c
0077 #define HMDMA0_BASE_ADDRESS                       0xffc03300
0078 #define HMDMA1_BASE_ADDRESS                       0xffc03340
0079 
0080 
0081 /* register fields */
0082 
0083 #define DMA_TC_PER_MDMA_ROUND_ROBIN_PERIOD_MASK       0xf800
0084 #define DMA_TC_PER_MDMA_ROUND_ROBIN_PERIOD_SHIFT          11
0085 #define DMA_TC_PER_DAB_TRAFFIC_PERIOD_MASK            0x0700
0086 #define DMA_TC_PER_DAB_TRAFFIC_PERIOD_SHIFT                8
0087 #define DMA_TC_PER_DEB_TRAFFIC_PERIOD_MASK            0x00f0
0088 #define DMA_TC_PER_DEB_TRAFFIC_PERIOD_SHIFT                4
0089 #define DMA_TC_PER_DCB_TRAFFIC_PERIOD_MASK            0x000f
0090 #define DMA_TC_PER_DCB_TRAFFIC_PERIOD_SHIFT                0
0091 
0092 #define DMA_TC_CNT_MDMA_ROUND_ROBIN_COUNT_MASK        0xf800
0093 #define DMA_TC_CNT_MDMA_ROUND_ROBIN_COUNT_SHIFT           11
0094 #define DMA_TC_CNT_DAB_TRAFFIC_COUNT_MASK             0x0700
0095 #define DMA_TC_CNT_DAB_TRAFFIC_COUNT_SHIFT                 8
0096 #define DMA_TC_CNT_DEB_TRAFFIC_COUNT_MASK             0x00f0
0097 #define DMA_TC_CNT_DEB_TRAFFIC_COUNT_SHIFT                 4
0098 #define DMA_TC_CNT_DCB_TRAFFIC_COUNT_MASK             0x000f
0099 #define DMA_TC_CNT_DCB_TRAFFIC_COUNT_SHIFT                 0
0100 
0101 #define TIMER_ENABLE_TIMEN7                           0x0080
0102 #define TIMER_ENABLE_TIMEN6                           0x0040
0103 #define TIMER_ENABLE_TIMEN5                           0x0020
0104 #define TIMER_ENABLE_TIMEN4                           0x0010
0105 #define TIMER_ENABLE_TIMEN3                           0x0008
0106 #define TIMER_ENABLE_TIMEN2                           0x0004
0107 #define TIMER_ENABLE_TIMEN1                           0x0002
0108 #define TIMER_ENABLE_TIMEN0                           0x0001
0109 
0110 #define TIMER_DISABLE_TIMDIS7                         0x0080
0111 #define TIMER_DISABLE_TIMDIS6                         0x0040
0112 #define TIMER_DISABLE_TIMDIS5                         0x0020
0113 #define TIMER_DISABLE_TIMDIS4                         0x0010
0114 #define TIMER_DISABLE_TIMDIS3                         0x0008
0115 #define TIMER_DISABLE_TIMDIS2                         0x0004
0116 #define TIMER_DISABLE_TIMDIS1                         0x0002
0117 #define TIMER_DISABLE_TIMDIS0                         0x0001
0118 
0119 #define TIMER_STATUS_TRUN7                        0x80000000
0120 #define TIMER_STATUS_TRUN6                        0x40000000
0121 #define TIMER_STATUS_TRUN5                        0x20000000
0122 #define TIMER_STATUS_TRUN4                        0x10000000
0123 #define TIMER_STATUS_TOVF_ERR7                    0x00800000
0124 #define TIMER_STATUS_TOVF_ERR6                    0x00400000
0125 #define TIMER_STATUS_TOVF_ERR5                    0x00200000
0126 #define TIMER_STATUS_TOVF_ERR4                    0x00100000
0127 #define TIMER_STATUS_TIMIL7                       0x00080000
0128 #define TIMER_STATUS_TIMIL6                       0x00040000
0129 #define TIMER_STATUS_TIMIL5                       0x00020000
0130 #define TIMER_STATUS_TIMIL4                       0x00010000
0131 #define TIMER_STATUS_TRUN3                        0x00008000
0132 #define TIMER_STATUS_TRUN2                        0x00004000
0133 #define TIMER_STATUS_TRUN1                        0x00002000
0134 #define TIMER_STATUS_TRUN0                        0x00001000
0135 #define TIMER_STATUS_TOVF_ERR3                    0x00000080
0136 #define TIMER_STATUS_TOVF_ERR2                    0x00000040
0137 #define TIMER_STATUS_TOVF_ERR1                    0x00000020
0138 #define TIMER_STATUS_TOVF_ERR0                    0x00000010
0139 #define TIMER_STATUS_TIMIL3                       0x00000008
0140 #define TIMER_STATUS_TIMIL2                       0x00000004
0141 #define TIMER_STATUS_TIMIL1                       0x00000002
0142 #define TIMER_STATUS_TIMIL0                       0x00000001
0143 
0144 #define PORT_MUX_PGTE                                 0x0800
0145 #define PORT_MUX_PGRE                                 0x0400
0146 #define PORT_MUX_PGSE                                 0x0200
0147 #define PORT_MUX_PFFE                                 0x0100
0148 #define PORT_MUX_PFS4E                                0x0080
0149 #define PORT_MUX_PFS5E                                0x0040
0150 #define PORT_MUX_PFS6E                                0x0020
0151 #define PORT_MUX_PFTE                                 0x0010
0152 #define PORT_MUX_PFDE                                 0x0008
0153 #define PORT_MUX_PJCE_MASK                            0x0006
0154 #define PORT_MUX_PJCE_DR0SEC_DTOSEC                   0x0000
0155 #define PORT_MUX_PJCE_CANRX_CANTX                     0x0002
0156 #define PORT_MUX_PJCE_SPISSEL7                        0x0004
0157 #define PORT_MUX_PJSE                                 0x0001
0158 
0159 
0160 /* Core Event Controller vectors */
0161 
0162 #define CEC_EMULATION_VECTOR                               0
0163 #define CEC_RESET_VECTOR                                   1
0164 #define CEC_NMI_VECTOR                                     2
0165 #define CEC_EXCEPTIONS_VECTOR                              3
0166 #define CEC_HARDWARE_ERROR_VECTOR                          5
0167 #define CEC_CORE_TIMER_VECTOR                              6
0168 #define CEC_INTERRUPT_BASE_VECTOR                          7
0169 #define CEC_INTERRUPT_COUNT                                9
0170 
0171 
0172 /* System Interrupt Controller vectors */
0173 
0174 #define SIC_IAR_COUNT                                      4
0175 
0176 #define SIC_PLL_WAKEUP_VECTOR                              0
0177 #define SIC_DMA_ERROR_VECTOR                               1
0178 #define SIC_DMAR0_BLOCK_DONE_VECTOR                        1
0179 #define SIC_DMAR1_BLOCK_DONE_VECTOR                        1
0180 #define SIC_DMAR0_OVERFLOW_VECTOR                          1
0181 #define SIC_DMAR1_OVERFLOW_VECTOR                          1
0182 #define SIC_CAN_ERROR_VECTOR                               2
0183 #define SIC_MAC_ERROR_VECTOR                               2
0184 #define SIC_SPORT0_ERROR_VECTOR                            2
0185 #define SIC_SPORT1_ERROR_VECTOR                            2
0186 #define SIC_PPI_ERROR_VECTOR                               2
0187 #define SIC_SPI_ERROR_VECTOR                               2
0188 #define SIC_UART0_ERROR_VECTOR                             2
0189 #define SIC_UART1_ERROR_VECTOR                             2
0190 #define SIC_RTC_VECTOR                                     3
0191 #define SIC_DMA0_PPI_VECTOR                                4
0192 #define SIC_DMA3_SPORT0_RX_VECTOR                          5
0193 #define SIC_DMA4_SPORT0_TX_VECTOR                          6
0194 #define SIC_DMA5_SPORT1_RX_VECTOR                          7
0195 #define SIC_DMA5_SPORT1_TX_VECTOR                          8
0196 #define SIC_TWI_VECTOR                                     9
0197 #define SIC_DMA7_SPI_VECTOR                               10
0198 #define SIC_DMA8_UART0_RX_VECTOR                          11
0199 #define SIC_DMA9_UART0_TX_VECTOR                          12
0200 #define SIC_DMA10_UART1_RX_VECTOR                         13
0201 #define SIC_DMA11_UART1_TX_VECTOR                         14
0202 #define SIC_CAN_RX_VECTOR                                 15
0203 #define SIC_CAN_TX_VECTOR                                 16
0204 #define SIC_DMA1_MAC_RX_VECTOR                            17
0205 #define SIC_PORTH_IRQ_A_VECTOR                            17
0206 #define SIC_DMA2_MAC_TX_VECTOR                            18
0207 #define SIC_PORTH_IRQ_B_VECTOR                            18
0208 #define SIC_TIMER0_VECTOR                                 19
0209 #define SIC_TIMER1_VECTOR                                 20
0210 #define SIC_TIMER2_VECTOR                                 21
0211 #define SIC_TIMER3_VECTOR                                 22
0212 #define SIC_TIMER4_VECTOR                                 23
0213 #define SIC_TIMER5_VECTOR                                 24
0214 #define SIC_TIMER6_VECTOR                                 25
0215 #define SIC_TIMER7_VECTOR                                 26
0216 #define SIC_PORTF_IRQ_A_VECTOR                            27
0217 #define SIC_PORTG_IRQ_A_VECTOR                            27
0218 #define SIC_PORTG_IRQ_B_VECTOR                            28
0219 #define SIC_MDMA0_VECTOR                                  29
0220 #define SIC_MDMA1_VECTOR                                  30
0221 #define SIC_WATCHDOG_VECTOR                               31
0222 #define SIC_PORTF_IRQ_B_VECTOR                            31
0223 
0224 
0225 #endif /* _bf537_h_ */