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 /** 19 * @brief Initialize EBI for specify Bank 20 * 21 * @param[in] u32Bank Bank number for EBI. Valid values are: 22 * - \ref EBI_BANK0 23 * - \ref EBI_BANK1 24 * - \ref EBI_BANK2 25 * @param[in] u32DataWidth Data bus width. Valid values are: 26 * - \ref EBI_BUSWIDTH_8BIT 27 * - \ref EBI_BUSWIDTH_16BIT 28 * @param[in] u32TimingClass Default timing configuration. Valid values are: 29 * - \ref EBI_TIMING_FASTEST 30 * - \ref EBI_TIMING_VERYFAST 31 * - \ref EBI_TIMING_FAST 32 * - \ref EBI_TIMING_NORMAL 33 * - \ref EBI_TIMING_SLOW 34 * - \ref EBI_TIMING_VERYSLOW 35 * - \ref EBI_TIMING_SLOWEST 36 * @param[in] u32BusMode Set EBI bus operate mode. Valid values are: 37 * - \ref EBI_OPMODE_NORMAL 38 * - \ref EBI_OPMODE_CACCESS 39 * - \ref EBI_OPMODE_ADSEPARATE 40 * @param[in] u32CSActiveLevel CS is active High/Low. Valid values are: 41 * - \ref EBI_CS_ACTIVE_HIGH 42 * - \ref EBI_CS_ACTIVE_LOW 43 * 44 * @return RT_EOK/RT_ERROR Bank is used or not 45 */ 46 rt_err_t nu_ebi_init(uint32_t u32Bank, uint32_t u32DataWidth, uint32_t u32TimingClass, uint32_t u32BusMode, uint32_t u32CSActiveLevel); 47 48 #endif // __DRV_EBI_H___ 49