25
25
* limitations under the License.
26
26
*/
27
27
28
+ /*
29
+
30
+
31
+ None of above values have been checked !
32
+
33
+ */
34
+
35
+
28
36
#ifndef __ARMCA32_H__
29
37
#define __ARMCA32_H__
30
38
@@ -33,8 +41,24 @@ extern "C" {
33
41
#endif
34
42
35
43
36
- /* ------------------------- Interrupt Number Definition ------------------------ */
44
+ /******************************************************************************/
45
+ /* Peripheral memory map */
46
+ /******************************************************************************/
47
+
48
+ /* Peripheral and RAM base address */
49
+ #define VE_A32_NORMAL (0x00000000UL) /*!< (FLASH0 ) Base Address */
50
+ #define VE_A32_PERIPH (0x13000000UL) /*!< (FLASH0 ) Base Address */
51
+ #define VE_A32_NORMAL2 (0x14000000UL)
37
52
53
+ /* -------- Configuration of the Cortex-A32 Processor and Core Peripherals ------- */
54
+ #define __CA_REV 0x0000U /*!< Core revision r0p0 */
55
+ #define __CORTEX_A 32U /*!< Cortex-A32 Core */
56
+ #define __FPU_PRESENT 1U /* FPU present */
57
+ #define __GIC_PRESENT 1U /* GIC present */
58
+ #define __TIM_PRESENT 1U /* TIM present */
59
+ #define __L2C_PRESENT 0U /* L2C present */
60
+
61
+ /** Device specific Interrupt IDs */
38
62
typedef enum IRQn
39
63
{
40
64
/****** SGI Interrupts Numbers ****************************************/
@@ -55,7 +79,7 @@ typedef enum IRQn
55
79
SGI14_IRQn = 14 , /*!< Software Generated Interrupt 14 */
56
80
SGI15_IRQn = 15 , /*!< Software Generated Interrupt 15 */
57
81
58
- /****** Cortex-A5 Processor Exceptions Numbers ****************************************/
82
+ /****** Cortex-A9 Processor Exceptions Numbers ****************************************/
59
83
GlobalTimer_IRQn = 27 , /*!< Global Timer Interrupt */
60
84
PrivTimer_IRQn = 29 , /*!< Private Timer Interrupt */
61
85
PrivWatchdog_IRQn = 30 , /*!< Private Watchdog Interrupt */
@@ -79,54 +103,10 @@ typedef enum IRQn
79
103
VFS2_IRQn = 73 , /*!< VFS2 Interrupt */
80
104
} IRQn_Type ;
81
105
82
- /******************************************************************************/
83
- /* Peripheral memory map */
84
- /******************************************************************************/
85
-
86
- /* Peripheral and RAM base address */
87
- #define VE_A5_MP_FLASH_BASE0 (0x00000000UL) /*!< (FLASH0 ) Base Address */
88
- #define VE_A5_MP_FLASH_BASE1 (0x0C000000UL) /*!< (FLASH1 ) Base Address */
89
- #define VE_A5_MP_SRAM_BASE (0x14000000UL) /*!< (SRAM ) Base Address */
90
- #define VE_A5_MP_PERIPH_BASE_CS2 (0x18000000UL) /*!< (Peripheral ) Base Address */
91
- #define VE_A5_MP_VRAM_BASE (0x00000000UL + VE_A5_MP_PERIPH_BASE_CS2) /*!< (VRAM ) Base Address */
92
- #define VE_A5_MP_ETHERNET_BASE (0x02000000UL + VE_A5_MP_PERIPH_BASE_CS2) /*!< (ETHERNET ) Base Address */
93
- #define VE_A5_MP_USB_BASE (0x03000000UL + VE_A5_MP_PERIPH_BASE_CS2) /*!< (USB ) Base Address */
94
- #define VE_A5_MP_PERIPH_BASE_CS3 (0x1C000000UL) /*!< (Peripheral ) Base Address */
95
- #define VE_A5_MP_DAP_BASE (0x00000000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (LOCAL DAP ) Base Address */
96
- #define VE_A5_MP_SYSTEM_REG_BASE (0x00010000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (SYSTEM REG ) Base Address */
97
- #define VE_A5_MP_SERIAL_BASE (0x00030000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (SERIAL ) Base Address */
98
- #define VE_A5_MP_AACI_BASE (0x00040000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (AACI ) Base Address */
99
- #define VE_A5_MP_MMCI_BASE (0x00050000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (MMCI ) Base Address */
100
- #define VE_A5_MP_KMI0_BASE (0x00060000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (KMI0 ) Base Address */
101
- #define VE_A5_MP_UART_BASE (0x00090000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (UART ) Base Address */
102
- #define VE_A5_MP_WDT_BASE (0x000F0000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (WDT ) Base Address */
103
- #define VE_A5_MP_TIMER_BASE (0x00110000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (TIMER ) Base Address */
104
- #define VE_A5_MP_DVI_BASE (0x00160000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (DVI ) Base Address */
105
- #define VE_A5_MP_RTC_BASE (0x00170000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (RTC ) Base Address */
106
- #define VE_A5_MP_UART4_BASE (0x001B0000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (UART4 ) Base Address */
107
- #define VE_A5_MP_CLCD_BASE (0x001F0000UL + VE_A5_MP_PERIPH_BASE_CS3) /*!< (CLCD ) Base Address */
108
- #define VE_A5_MP_PRIVATE_PERIPH_BASE (0x2C000000UL) /*!< (Peripheral ) Base Address */
109
- #define VE_A5_MP_GIC_DISTRIBUTOR_BASE (0x00001000UL + VE_A5_MP_PRIVATE_PERIPH_BASE) /*!< (GIC DIST ) Base Address */
110
- #define VE_A5_MP_GIC_INTERFACE_BASE (0x00000100UL + VE_A5_MP_PRIVATE_PERIPH_BASE) /*!< (GIC CPU IF ) Base Address */
111
- #define VE_A5_MP_PRIVATE_TIMER (0x00000600UL + VE_A5_MP_PRIVATE_PERIPH_BASE) /*!< (PTIM ) Base Address */
112
- #define VE_A5_MP_PL310_BASE (0x000F0000UL + VE_A5_MP_PRIVATE_PERIPH_BASE) /*!< (L2C-310 ) Base Address */
113
- #define VE_A5_MP_SSRAM_BASE (0x2E000000UL) /*!< (System SRAM) Base Address */
114
- #define VE_A5_MP_DRAM_BASE (0x80000000UL) /*!< (DRAM ) Base Address */
115
- #define GIC_DISTRIBUTOR_BASE VE_A5_MP_GIC_DISTRIBUTOR_BASE
116
- #define GIC_INTERFACE_BASE VE_A5_MP_GIC_INTERFACE_BASE
117
- #define TIMER_BASE VE_A5_MP_PRIVATE_TIMER
118
-
119
- //The VE-A5 model implements L1 cache as architecturally defined, but does not implement L2 cache.
120
- //Do not enable the L2 cache if you are running RTX on a VE-A5 model as it may cause a data abort.
121
- #define L2C_310_BASE VE_A5_MP_PL310_BASE
122
-
123
- /* -------- Configuration of the Cortex-A5 Processor and Core Peripherals ------- */
124
- #define __CA_REV 0x0000U /* Core revision r0p0 */
125
- #define __CORTEX_A 5U /* Cortex-A5 Core */
126
- #define __FPU_PRESENT 1U /* FPU present */
127
- #define __GIC_PRESENT 1U /* GIC present */
128
- #define __TIM_PRESENT 1U /* TIM present */
129
- #define __L2C_PRESENT 0U /* L2C present */
106
+ // To allow inclusion of core_ca.h but those symbols are not used in our code
107
+ #define GIC_DISTRIBUTOR_BASE 0
108
+ #define GIC_INTERFACE_BASE 0
109
+ #define TIMER_BASE 0
130
110
131
111
#include "core_ca.h"
132
112
#include <system_ARMCA32.h>
0 commit comments