1 /* 2 * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #pragma once 7 8 #ifdef __cplusplus 9 extern "C" { 10 #endif 11 12 #define TRACEMEM_MUX_BLK0_NUM 22 13 #define TRACEMEM_MUX_BLK1_NUM 26 14 15 #if (TRACEMEM_MUX_BLK0_NUM < 6) || (TRACEMEM_MUX_BLK0_NUM > 29) 16 #error Invalid TRAX block 0 num! 17 #endif 18 #if (TRACEMEM_MUX_BLK1_NUM < 6) || (TRACEMEM_MUX_BLK1_NUM > 29) 19 #error Invalid TRAX block 1 num! 20 #endif 21 22 #if TRACEMEM_MUX_BLK0_NUM < 6 23 #define TRACEMEM_BLK0_ADDR (0x3FC88000UL + 0x2000UL*(TRACEMEM_MUX_BLK0_NUM-2UL)) 24 #elif TRACEMEM_MUX_BLK0_NUM < 30 25 #define TRACEMEM_BLK0_ADDR (0x3FC90000UL + 0x4000UL*(TRACEMEM_MUX_BLK0_NUM-6UL)) 26 #endif 27 #if TRACEMEM_MUX_BLK1_NUM < 6 28 #define TRACEMEM_BLK1_ADDR (0x3FC88000UL + 0x2000UL*(TRACEMEM_MUX_BLK1_NUM-2UL)) 29 #elif TRACEMEM_MUX_BLK1_NUM < 30 30 #define TRACEMEM_BLK1_ADDR (0x3FC90000UL + 0x4000UL*(TRACEMEM_MUX_BLK1_NUM-6UL)) 31 #endif 32 33 #define TRACEMEM_MUX_BLK_ALLOC(_n_) (((_n_)-2UL)%4UL) 34 #define TRACEMEM_CORE0_MUX_BLK_BITS(_n_) (BIT(((_n_)-2UL)/4UL) | (TRACEMEM_MUX_BLK_ALLOC(_n_) << 14)) 35 #define TRACEMEM_CORE1_MUX_BLK_BITS(_n_) (BIT(7UL+(((_n_)-2UL)/4UL)) | (TRACEMEM_MUX_BLK_ALLOC(_n_) << 16)) 36 37 #ifdef __cplusplus 38 } 39 #endif 40