1 /* 2 * Copyright (c) 2020 - 2024 Renesas Electronics Corporation and/or its affiliates 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 /*********************************************************************************************************************** 8 * Includes <System Includes> , "Project Includes" 9 **********************************************************************************************************************/ 10 #include "bsp_api.h" 11 #include "bsp_address_expander.h" 12 13 #if (1 == BSP_FEATURE_ADDRESS_EXPANDER_SUPPORTED) 14 #if (1 == _RZN_ORDINAL) 15 16 /*********************************************************************************************************************** 17 * Macro definitions 18 **********************************************************************************************************************/ 19 20 /* Private definition to set address expander values. */ 21 #define BSP_PRV_ADX_DDRMIR1_BITS (24) 22 #define BSP_PRV_ADX_DDRMIR0_BITS (16) 23 #define BSP_PRV_ADX_PCIE1MIR_BITS (8) 24 #define BSP_PRV_ADX_PCIE0MIR_BITS (0) 25 26 #define BSP_PRV_STARTUP_ADX(index) \ 27 (BSP_CFG_ADX ## index ## _DDR_MIRROR1_ADDRESS << BSP_PRV_ADX_DDRMIR1_BITS) | \ 28 (BSP_CFG_ADX ## index ## _DDR_MIRROR0_ADDRESS << BSP_PRV_ADX_DDRMIR0_BITS) | \ 29 (BSP_CFG_ADX ## index ## _PCIE1_MIRROR_ADDRESS << BSP_PRV_ADX_PCIE1MIR_BITS) | \ 30 (BSP_CFG_ADX ## index ## _PCIE0_MIRROR_ADDRESS << BSP_PRV_ADX_PCIE0MIR_BITS) 31 32 #define BSP_PRV_STARTUP_ADX_NO_PCIE(index) \ 33 (BSP_CFG_ADX ## index ## _DDR_MIRROR1_ADDRESS << BSP_PRV_ADX_DDRMIR1_BITS) | \ 34 (BSP_CFG_ADX ## index ## _DDR_MIRROR0_ADDRESS << BSP_PRV_ADX_DDRMIR0_BITS) 35 36 /*********************************************************************************************************************** 37 * Typedef definitions 38 **********************************************************************************************************************/ 39 40 /*********************************************************************************************************************** 41 * Exported global variables (to be accessed by other files) 42 **********************************************************************************************************************/ 43 44 /*********************************************************************************************************************** 45 * Private global variables and functions 46 **********************************************************************************************************************/ 47 48 /*******************************************************************************************************************//** 49 * Configure Address Expander. 50 * @param[in] None 51 * @param[out] None 52 * @note This function supports configurable the registers of Address Expander. 53 * @retval None 54 **********************************************************************************************************************/ bsp_address_expander_init(void)55void bsp_address_expander_init (void) 56 { 57 R_BSP_RegisterProtectDisable(BSP_REG_PROTECT_SYSTEM); 58 59 R_ADXC0->ADXCTL0 = BSP_PRV_STARTUP_ADX(0); 60 R_ADXC0->ADXCTL1 = BSP_PRV_STARTUP_ADX(1); 61 R_ADXC0->ADXCTL2 = BSP_PRV_STARTUP_ADX(2); 62 R_ADXC0->ADXCTL3 = BSP_PRV_STARTUP_ADX(3); 63 R_ADXC0->ADXCTL4 = BSP_PRV_STARTUP_ADX(4); 64 R_ADXC0->ADXCTL5 = BSP_PRV_STARTUP_ADX_NO_PCIE(5); 65 R_ADXC1->ADXCTL6 = BSP_PRV_STARTUP_ADX_NO_PCIE(6); 66 R_ADXC1->ADXCTL7 = BSP_PRV_STARTUP_ADX_NO_PCIE(7); 67 R_ADXC1->ADXCTL8 = BSP_PRV_STARTUP_ADX_NO_PCIE(8); 68 R_ADXC1->ADXCTL9 = BSP_PRV_STARTUP_ADX_NO_PCIE(9); 69 R_ADXC1->ADXCTL10 = BSP_PRV_STARTUP_ADX_NO_PCIE(10); 70 R_ADXC1->ADXCTL11 = BSP_PRV_STARTUP_ADX_NO_PCIE(11); 71 R_ADXC1->ADXCTL12 = BSP_PRV_STARTUP_ADX_NO_PCIE(12); 72 73 R_BSP_RegisterProtectEnable(BSP_REG_PROTECT_SYSTEM); 74 } 75 76 #endif 77 #endif 78