1 /* 2 * Copyright (c) 2020 - 2024 Renesas Electronics Corporation and/or its affiliates 3 * Copyright (c) 2024 TOKITA Hiroshi 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 #ifndef BSP_MCU_FAMILY_CFG_H_ 8 #define BSP_MCU_FAMILY_CFG_H_ 9 #include "bsp_mcu_device_pn_cfg.h" 10 #include "bsp_mcu_device_cfg.h" 11 #include "bsp_mcu_info.h" 12 #include "bsp_clock_cfg.h" 13 #define BSP_MCU_GROUP_RA2A1 (1) 14 #define BSP_LOCO_HZ (DT_PROP_OR(DT_NODELABEL(loco), clock_frequency, 0)) 15 #define BSP_MOCO_HZ (DT_PROP_OR(DT_NODELABEL(moco), clock_frequency, 0)) 16 #define BSP_SUB_CLOCK_HZ (DT_PROP_OR(DT_NODELABEL(subclk), clock_frequency, 0)) 17 #if BSP_CFG_HOCO_FREQUENCY == 0 18 #define BSP_HOCO_HZ (24000000) 19 #elif BSP_CFG_HOCO_FREQUENCY == 2 20 #define BSP_HOCO_HZ (32000000) 21 #elif BSP_CFG_HOCO_FREQUENCY == 4 22 #define BSP_HOCO_HZ (48000000) 23 #elif BSP_CFG_HOCO_FREQUENCY == 5 24 #define BSP_HOCO_HZ (64000000) 25 #else 26 #error \ 27 "Invalid HOCO frequency chosen (BSP_CFG_HOCO_FREQUENCY) in bsp_clock_cfg.h" 28 #endif 29 30 #define BSP_CORTEX_VECTOR_TABLE_ENTRIES (16U) 31 #define BSP_VECTOR_TABLE_MAX_ENTRIES (48U) 32 #define BSP_CFG_INLINE_IRQ_FUNCTIONS (0) 33 34 #define OFS_SEQ1 0xA001A001 | (1 << 1) | (3 << 2) 35 #define OFS_SEQ2 (15 << 4) | (3 << 8) | (3 << 10) 36 #define OFS_SEQ3 (1 << 12) | (1 << 14) | (1 << 17) 37 #define OFS_SEQ4 (3 << 18) | (15 << 20) | (3 << 24) | (3 << 26) 38 #define OFS_SEQ5 (1 << 28) | (1 << 30) 39 #define BSP_CFG_USE_LOW_VOLTAGE_MODE ((0)) 40 #define BSP_CFG_ROM_REG_OFS0 \ 41 (OFS_SEQ1 | OFS_SEQ2 | OFS_SEQ3 | OFS_SEQ4 | OFS_SEQ5) 42 #define BSP_CFG_ROM_REG_OFS1 (0xFFFFFEC3 | (1 << 2) | (3 << 3) | (0 << 8)) 43 #define BSP_CFG_ROM_REG_MPU_PC0_ENABLE (1) 44 #define BSP_CFG_ROM_REG_MPU_PC0_START (0x000FFFFC) 45 #define BSP_CFG_ROM_REG_MPU_PC0_END (0x000FFFFF) 46 #define BSP_CFG_ROM_REG_MPU_PC1_ENABLE (1) 47 #define BSP_CFG_ROM_REG_MPU_PC1_START (0x000FFFFC) 48 #define BSP_CFG_ROM_REG_MPU_PC1_END (0x000FFFFF) 49 #define BSP_CFG_ROM_REG_MPU_REGION0_ENABLE (1) 50 #define BSP_CFG_ROM_REG_MPU_REGION0_START (0x000FFFFC) 51 #define BSP_CFG_ROM_REG_MPU_REGION0_END (0x000FFFFF) 52 #define BSP_CFG_ROM_REG_MPU_REGION1_ENABLE (1) 53 #define BSP_CFG_ROM_REG_MPU_REGION1_START (0x200FFFFC) 54 #define BSP_CFG_ROM_REG_MPU_REGION1_END (0x200FFFFF) 55 #define BSP_CFG_ROM_REG_MPU_REGION2_ENABLE (1) 56 #define BSP_CFG_ROM_REG_MPU_REGION2_START (0x407FFFFC) 57 #define BSP_CFG_ROM_REG_MPU_REGION2_END (0x407FFFFF) 58 #define BSP_CFG_ROM_REG_MPU_REGION3_ENABLE (1) 59 #define BSP_CFG_ROM_REG_MPU_REGION3_START (0x400DFFFC) 60 #define BSP_CFG_ROM_REG_MPU_REGION3_END (0x400DFFFF) 61 #ifndef BSP_CLOCK_CFG_MAIN_OSC_WAIT 62 #define BSP_CLOCK_CFG_MAIN_OSC_WAIT (9) 63 #endif 64 /* Used to create IELS values for the interrupt initialization table 65 * g_interrupt_event_link_select. */ 66 #define BSP_PRV_IELS_ENUM(vector) CONCAT(ELC_, vector) 67 68 /* 69 ID Code 70 Note: To lock and disable the debug interface define BSP_ID_CODE_LOCKED in 71 compiler settings. WARNING: This will disable debug access to the part. 72 However, ALeRASE command will be accepted, which will clear (reset) the ID 73 code. After clearing ID code, debug access will be enabled. 74 */ 75 #if defined(BSP_ID_CODE_LOCKED) 76 #define BSP_CFG_ID_CODE_LONG_1 (0x00000000) 77 #define BSP_CFG_ID_CODE_LONG_2 (0x00000000) 78 #define BSP_CFG_ID_CODE_LONG_3 (0x00000000) 79 #define BSP_CFG_ID_CODE_LONG_4 (0x00000000) 80 #else 81 /* ID CODE: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF */ 82 #define BSP_CFG_ID_CODE_LONG_1 (0xFFFFFFFF) 83 #define BSP_CFG_ID_CODE_LONG_2 (0xFFFFFFFF) 84 #define BSP_CFG_ID_CODE_LONG_3 (0xFFFFFFFF) 85 #define BSP_CFG_ID_CODE_LONG_4 (0xffFFFFFF) 86 #endif 87 88 #endif /* BSP_MCU_FAMILY_CFG_H_ */ 89