drv_ebi.h 2.2 KB

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