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