aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2018-01-14 09:27:04 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2018-01-14 09:27:04 +0000
commit3ae66789001a8625881c5e10c96e382626478993 (patch)
tree189a56cac4ea5530f32d61e8b3301e0e83b22808
parent6f3d4e0790fda22ded54940778a243c9a9a49b58 (diff)
downloadChibiOS-3ae66789001a8625881c5e10c96e382626478993.tar.gz
ChibiOS-3ae66789001a8625881c5e10c96e382626478993.tar.bz2
ChibiOS-3ae66789001a8625881c5e10c96e382626478993.zip
Fixed broken changes.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11267 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--os/common/ports/ARM/chcore.h28
1 files changed, 22 insertions, 6 deletions
diff --git a/os/common/ports/ARM/chcore.h b/os/common/ports/ARM/chcore.h
index 926fc1045..f8cd692f7 100644
--- a/os/common/ports/ARM/chcore.h
+++ b/os/common/ports/ARM/chcore.h
@@ -93,6 +93,8 @@
*/
#define ARM_CORE_ARM7TDMI 7
#define ARM_CORE_ARM9 9
+#define ARM_CORE_CORTEX_A5 105
+#define ARM_CORE_CORTEX_A7 107
#define ARM_CORE_CORTEX_A8 108
#define ARM_CORE_CORTEX_A9 109
/** @} */
@@ -147,6 +149,15 @@
/* Derived constants and error checks. */
/*===========================================================================*/
+#if ARM_CORE < 100
+#define ARM_CORE_CLASSIC 1
+#define ARM_CORE_CORTEX_A 0
+#elif ARM_CORE < 200
+#define ARM_CORE_CLASSIC 0
+#define ARM_CORE_CORTEX_A 1
+#else
+#endif
+
/* The following code is not processed when the file is included from an
asm module.*/
#if !defined(_FROM_ASM_)
@@ -162,6 +173,16 @@
#define PORT_ARCHITECTURE_NAME "ARMv5T"
#define PORT_CORE_VARIANT_NAME "ARM9"
+#elif ARM_CORE == ARM_CORE_CORTEX_A5
+#define PORT_ARCHITECTURE_ARM_CORTEXA5
+#define PORT_ARCHITECTURE_NAME "ARMv7"
+#define PORT_CORE_VARIANT_NAME "ARM Cortex-A5"
+
+#elif ARM_CORE == ARM_CORE_CORTEX_A7
+#define PORT_ARCHITECTURE_ARM_CORTEXA5
+#define PORT_ARCHITECTURE_NAME "ARMv7"
+#define PORT_CORE_VARIANT_NAME "ARM Cortex-A7"
+
#elif ARM_CORE == ARM_CORE_CORTEX_A8
#define PORT_ARCHITECTURE_ARM_CORTEXA8
#define PORT_ARCHITECTURE_NAME "ARMv7"
@@ -541,19 +562,14 @@ static inline void port_enable(void) {
*/
static inline rtcnt_t port_rt_get_counter_value(void) {
-#if ((ARM_CORE == ARM_CORE_CORTEX_A5) || (ARM_CORE == ARM_CORE_CORTEX_A9) || defined(__DOXYGEN__))
-
+#if ARM_CORE_CORTEX_A
rtcnt_t cyc;
__asm volatile("mrc p15, 0, %[p0], c9, c13, 0" : [p0] "=r" (cyc) :);
return cyc;
#else
-/*
- * TODO develop same function for ARM_CORE_CORTEX_A8
- */
return 0;
-
#endif
}