|
- /*
- *********************************************************************************************************
- * uC/CPU
- * CPU CONFIGURATION & PORT LAYER
- *
- * Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com
- *
- * SPDX-License-Identifier: APACHE-2.0
- *
- * This software is subject to an open source license and is distributed by
- * Silicon Laboratories Inc. pursuant to the terms of the Apache License,
- * Version 2.0 available at www.apache.org/licenses/LICENSE-2.0.
- *
- *********************************************************************************************************
- */
-
- /*
- *********************************************************************************************************
- *
- * CACHE CPU MODULE
- *
- * Filename : cpu_cache.h
- * Version : V1.32.01
- *********************************************************************************************************
- */
-
-
- /*
- *********************************************************************************************************
- * MODULE
- *
- * Note(s) : (1) This cache CPU header file is protected from multiple pre-processor inclusion through use of
- * the cache CPU module present pre-processor macro definition.
- *********************************************************************************************************
- */
-
- #ifndef CPU_CACHE_MODULE_PRESENT /* See Note #1. */
- #define CPU_CACHE_MODULE_PRESENT
-
-
- /*
- *********************************************************************************************************
- * EXTERNS
- *********************************************************************************************************
- */
-
- #ifdef CPU_CACHE_MODULE
- #define CPU_CACHE_EXT
- #else
- #define CPU_CACHE_EXT extern
- #endif
-
-
- /*
- *********************************************************************************************************
- * INCLUDE FILES
- *********************************************************************************************************
- */
-
- #include <cpu.h>
- #include <lib_def.h>
- #include <cpu_cfg.h>
-
-
- /*
- *********************************************************************************************************
- * CACHE CONFIGURATION
- *********************************************************************************************************
- */
-
- #ifndef CPU_CFG_CACHE_MGMT_EN
- #define CPU_CFG_CACHE_MGMT_EN DEF_DISABLED
- #endif
-
-
- /*
- *********************************************************************************************************
- * CACHE OPERATIONS DEFINES
- *********************************************************************************************************
- */
-
- #if (CPU_CFG_CACHE_MGMT_EN == DEF_ENABLED)
- #ifndef CPU_DCACHE_RANGE_FLUSH
- #define CPU_DCACHE_RANGE_FLUSH(addr_start, len) CPU_DCache_RangeFlush(addr_start, len)
- #endif /* CPU_DCACHE_RANGE_FLUSH */
- #else
- #define CPU_DCACHE_RANGE_FLUSH(addr_start, len)
- #endif /* CPU_CFG_CACHE_MGMT_EN) */
-
-
- #if (CPU_CFG_CACHE_MGMT_EN == DEF_ENABLED)
- #ifndef CPU_DCACHE_RANGE_INV
- #define CPU_DCACHE_RANGE_INV(addr_start, len) CPU_DCache_RangeInv(addr_start, len)
- #endif /* CPU_DCACHE_RANGE_INV */
- #else
- #define CPU_DCACHE_RANGE_INV(addr_start, len)
- #endif /* CPU_CFG_CACHE_MGMT_EN) */
-
-
- /*
- *********************************************************************************************************
- * FUNCTION PROTOTYPES
- *********************************************************************************************************
- */
-
- #if (CPU_CFG_CACHE_MGMT_EN == DEF_ENABLED)
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- void CPU_Cache_Init (void);
-
- void CPU_DCache_RangeFlush(void *addr_start,
- CPU_ADDR len);
-
- void CPU_DCache_RangeInv (void *addr_start,
- CPU_ADDR len);
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* CPU_CFG_CACHE_MGMT_EN */
-
-
- /*
- *********************************************************************************************************
- * MODULE END
- *
- * Note(s) : (1) See 'cpu_core.h MODULE'.
- *********************************************************************************************************
- */
-
- #endif /* End of CPU core module include. */
|