1 /**************************************************************************//** 2 * 3 * @copyright (C) 2020 Nuvoton Technology Corp. All rights reserved. 4 * 5 * SPDX-License-Identifier: Apache-2.0 6 * 7 * Change Logs: 8 * Date Author Notes 9 * 2020-3-5 Philo First version 10 * 11 ******************************************************************************/ 12 #ifndef __DRV_EBI_H___ 13 #define __DRV_EBI_H___ 14 15 #include <rtdevice.h> 16 #include "NuMicro.h" 17 18 #define MAX_BANK EBI_BANK2 19 20 /** 21 * @brief Initialize EBI for specify Bank 22 * 23 * @param[in] u32Bank Bank number for EBI. Valid values are: 24 * - \ref EBI_BANK0 25 * - \ref EBI_BANK1 26 * - \ref EBI_BANK2 27 * @param[in] u32DataWidth Data bus width. Valid values are: 28 * - \ref EBI_BUSWIDTH_8BIT 29 * - \ref EBI_BUSWIDTH_16BIT 30 * @param[in] u32TimingClass Default timing configuration. Valid values are: 31 * - \ref EBI_TIMING_FASTEST 32 * - \ref EBI_TIMING_VERYFAST 33 * - \ref EBI_TIMING_FAST 34 * - \ref EBI_TIMING_NORMAL 35 * - \ref EBI_TIMING_SLOW 36 * - \ref EBI_TIMING_VERYSLOW 37 * - \ref EBI_TIMING_SLOWEST 38 * @param[in] u32BusMode Set EBI bus operate mode. Valid values are: 39 * - \ref EBI_OPMODE_NORMAL 40 * - \ref EBI_OPMODE_CACCESS 41 * @param[in] u32CSActiveLevel CS is active High/Low. Valid values are: 42 * - \ref EBI_CS_ACTIVE_HIGH 43 * - \ref EBI_CS_ACTIVE_LOW 44 * 45 * @return None 46 * 47 * @details This function is used to open specify EBI bank with different bus width, timing setting and \n 48 * active level of CS pin to access EBI device. 49 * @note Write Buffer Enable(WBUFEN) and Extend Time Of ALE(TALE) are only available in EBI bank0 control register. 50 */ 51 rt_err_t nu_ebi_init(uint32_t u32Bank, uint32_t u32DataWidth, uint32_t u32TimingClass, uint32_t u32BusMode, uint32_t u32CSActiveLevel); 52 53 #endif // __DRV_EBI_H___ 54