drv_ebi.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. #define MAX_BANK EBI_BANK2
  17. /**
  18. * @brief Initialize EBI for specify Bank
  19. *
  20. * @param[in] u32Bank Bank number for EBI. Valid values are:
  21. * - \ref EBI_BANK0
  22. * - \ref EBI_BANK1
  23. * - \ref EBI_BANK2
  24. * @param[in] u32DataWidth Data bus width. Valid values are:
  25. * - \ref EBI_BUSWIDTH_8BIT
  26. * - \ref EBI_BUSWIDTH_16BIT
  27. * @param[in] u32TimingClass Default timing configuration. Valid values are:
  28. * - \ref EBI_TIMING_FASTEST
  29. * - \ref EBI_TIMING_VERYFAST
  30. * - \ref EBI_TIMING_FAST
  31. * - \ref EBI_TIMING_NORMAL
  32. * - \ref EBI_TIMING_SLOW
  33. * - \ref EBI_TIMING_VERYSLOW
  34. * - \ref EBI_TIMING_SLOWEST
  35. * @param[in] u32BusMode Set EBI bus operate mode. Valid values are:
  36. * - \ref EBI_OPMODE_NORMAL
  37. * - \ref EBI_OPMODE_CACCESS
  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 None
  43. *
  44. * @details This function is used to open specify EBI bank with different bus width, timing setting and \n
  45. * active level of CS pin to access EBI device.
  46. * @note Write Buffer Enable(WBUFEN) and Extend Time Of ALE(TALE) are only available in EBI bank0 control register.
  47. */
  48. rt_err_t nu_ebi_init(uint32_t u32Bank, uint32_t u32DataWidth, uint32_t u32TimingClass, uint32_t u32BusMode, uint32_t u32CSActiveLevel);
  49. #endif // __DRV_EBI_H___