Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-dev by
targets/cmsis/TARGET_NUVOTON/TARGET_NUC472/StdDriver/nuc472_ebi.h@144:ef7eb2e8f9f7, 2016-09-02 (annotated)
- Committer:
- <>
- Date:
- Fri Sep 02 15:07:44 2016 +0100
- Revision:
- 144:ef7eb2e8f9f7
This updates the lib to the mbed lib v125
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
<> | 144:ef7eb2e8f9f7 | 1 | /****************************************************************************//** |
<> | 144:ef7eb2e8f9f7 | 2 | * @file ebi.h |
<> | 144:ef7eb2e8f9f7 | 3 | * @version V0.10 |
<> | 144:ef7eb2e8f9f7 | 4 | * $Revision: 6 $ |
<> | 144:ef7eb2e8f9f7 | 5 | * $Date: 14/09/30 1:12p $ |
<> | 144:ef7eb2e8f9f7 | 6 | * @brief NUC472/NUC442 EBI driver header file |
<> | 144:ef7eb2e8f9f7 | 7 | * |
<> | 144:ef7eb2e8f9f7 | 8 | * @note |
<> | 144:ef7eb2e8f9f7 | 9 | * Copyright (C) 2014 Nuvoton Technology Corp. All rights reserved. |
<> | 144:ef7eb2e8f9f7 | 10 | *****************************************************************************/ |
<> | 144:ef7eb2e8f9f7 | 11 | #ifndef __EBI_H__ |
<> | 144:ef7eb2e8f9f7 | 12 | #define __EBI_H__ |
<> | 144:ef7eb2e8f9f7 | 13 | |
<> | 144:ef7eb2e8f9f7 | 14 | #ifdef __cplusplus |
<> | 144:ef7eb2e8f9f7 | 15 | extern "C" |
<> | 144:ef7eb2e8f9f7 | 16 | { |
<> | 144:ef7eb2e8f9f7 | 17 | #endif |
<> | 144:ef7eb2e8f9f7 | 18 | |
<> | 144:ef7eb2e8f9f7 | 19 | |
<> | 144:ef7eb2e8f9f7 | 20 | /** @addtogroup NUC472_442_Device_Driver NUC472/NUC442 Device Driver |
<> | 144:ef7eb2e8f9f7 | 21 | @{ |
<> | 144:ef7eb2e8f9f7 | 22 | */ |
<> | 144:ef7eb2e8f9f7 | 23 | |
<> | 144:ef7eb2e8f9f7 | 24 | /** @addtogroup NUC472_442_EBI_Driver EBI Driver |
<> | 144:ef7eb2e8f9f7 | 25 | @{ |
<> | 144:ef7eb2e8f9f7 | 26 | */ |
<> | 144:ef7eb2e8f9f7 | 27 | |
<> | 144:ef7eb2e8f9f7 | 28 | /** @addtogroup NUC472_442_EBI_EXPORTED_CONSTANTS EBI Exported Constants |
<> | 144:ef7eb2e8f9f7 | 29 | @{ |
<> | 144:ef7eb2e8f9f7 | 30 | */ |
<> | 144:ef7eb2e8f9f7 | 31 | |
<> | 144:ef7eb2e8f9f7 | 32 | /* Bank-0 constants */ |
<> | 144:ef7eb2e8f9f7 | 33 | #define EBI0_BASE_ADDR 0x60000000 ///<EBI bank 0 base address , 0x60000000 ~ 0x63FFFFFF \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 34 | #define EBI0_MAX_SIZE 0x400000 ///<EBI bank 0 max. size \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 35 | |
<> | 144:ef7eb2e8f9f7 | 36 | #define EBI0_READ_DATA8(Addr) *((volatile unsigned char *)(EBI0_BASE_ADDR+Addr)) ///< Read 8-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 37 | #define EBI0_WRITE_DATA8(Addr, Data) *((volatile unsigned char *)(EBI0_BASE_ADDR+Addr))=Data ///< Write 8-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 38 | #define EBI0_READ_DATA16(Addr) *((volatile unsigned short *)(EBI0_BASE_ADDR+Addr)) ///< Read 16-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 39 | #define EBI0_WRITE_DATA16(Addr, Data) *((volatile unsigned short *)(EBI0_BASE_ADDR+Addr))=Data ///< Write 16-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 40 | #define EBI0_READ_DATA32(Addr) *((volatile unsigned int *)(EBI0_BASE_ADDR+Addr)) ///< Read 32-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 41 | #define EBI0_WRITE_DATA32(Addr, Data) *((volatile unsigned int *)(EBI0_BASE_ADDR+Addr))=Data ///< Write 32-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 42 | |
<> | 144:ef7eb2e8f9f7 | 43 | /* Bank-1 constants */ |
<> | 144:ef7eb2e8f9f7 | 44 | #define EBI1_BASE_ADDR 0x64000000 ///<EBI bank 1 base address , 0x64000000 ~ 0x67FFFFFF \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 45 | #define EBI1_MAX_SIZE 0x400000 ///<EBI bank 1 max. size \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 46 | |
<> | 144:ef7eb2e8f9f7 | 47 | #define EBI1_READ_DATA8(Addr) *((volatile unsigned char *)(EBI1_BASE_ADDR+Addr)) ///< Read 8-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 48 | #define EBI1_WRITE_DATA8(Addr, Data) *((volatile unsigned char *)(EBI1_BASE_ADDR+Addr))=Data ///< Write 8-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 49 | #define EBI1_READ_DATA16(Addr) *((volatile unsigned short *)(EBI1_BASE_ADDR+Addr)) ///< Read 16-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 50 | #define EBI1_WRITE_DATA16(Addr, Data) *((volatile unsigned short *)(EBI1_BASE_ADDR+Addr))=Data ///< Write 16-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 51 | #define EBI1_READ_DATA32(Addr) *((volatile unsigned int *)(EBI1_BASE_ADDR+Addr)) ///< Read 32-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 52 | #define EBI1_WRITE_DATA32(Addr, Data) *((volatile unsigned int *)(EBI1_BASE_ADDR+Addr))=Data ///< Write 32-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 53 | |
<> | 144:ef7eb2e8f9f7 | 54 | /* Bank-2 constants */ |
<> | 144:ef7eb2e8f9f7 | 55 | #define EBI2_BASE_ADDR 0x68000000 ///<EBI bank 2 base address , 0x68000000 ~ 0x6BFFFFFF |
<> | 144:ef7eb2e8f9f7 | 56 | #define EBI2_MAX_SIZE 0x400000 ///<EBI bank 2 max. size |
<> | 144:ef7eb2e8f9f7 | 57 | |
<> | 144:ef7eb2e8f9f7 | 58 | #define EBI2_READ_DATA8(Addr) *((volatile unsigned char *)(EBI2_BASE_ADDR+Addr)) ///< Read 8-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 59 | #define EBI2_WRITE_DATA8(Addr, Data) *((volatile unsigned char *)(EBI2_BASE_ADDR+Addr))=Data ///< Write 8-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 60 | #define EBI2_READ_DATA16(Addr) *((volatile unsigned short *)(EBI2_BASE_ADDR+Addr)) ///< Read 16-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 61 | #define EBI2_WRITE_DATA16(Addr, Data) *((volatile unsigned short *)(EBI2_BASE_ADDR+Addr))=Data ///< Write 16-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 62 | #define EBI2_READ_DATA32(Addr) *((volatile unsigned int *)(EBI2_BASE_ADDR+Addr)) ///< Read 32-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 63 | #define EBI2_WRITE_DATA32(Addr, Data) *((volatile unsigned int *)(EBI2_BASE_ADDR+Addr))=Data ///< Write 32-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 64 | |
<> | 144:ef7eb2e8f9f7 | 65 | /* Bank-3 constants */ |
<> | 144:ef7eb2e8f9f7 | 66 | #define EBI3_BASE_ADDR 0x6C000000 ///<EBI bank 3 base address , 0x6C000000 ~ 0x6FFFFFFF \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 67 | #define EBI3_MAX_SIZE 0x400000 ///<EBI bank 3 max. size \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 68 | |
<> | 144:ef7eb2e8f9f7 | 69 | #define EBI3_READ_DATA8(Addr) *((volatile unsigned char *)(EBI3_BASE_ADDR+Addr)) ///< Read 8-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 70 | #define EBI3_WRITE_DATA8(Addr, Data) *((volatile unsigned char *)(EBI3_BASE_ADDR+Addr))=Data ///< Write 8-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 71 | #define EBI3_READ_DATA16(Addr) *((volatile unsigned short *)(EBI3_BASE_ADDR+Addr)) ///< Read 16-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 72 | #define EBI3_WRITE_DATA16(Addr, Data) *((volatile unsigned short *)(EBI3_BASE_ADDR+Addr))=Data ///< Write 16-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 73 | #define EBI3_READ_DATA32(Addr) *((volatile unsigned int *)(EBI3_BASE_ADDR+Addr)) ///< Read 32-bit data from EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 74 | #define EBI3_WRITE_DATA32(Addr, Data) *((volatile unsigned int *)(EBI3_BASE_ADDR+Addr))=Data ///< Write 32-bit data to EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 75 | |
<> | 144:ef7eb2e8f9f7 | 76 | |
<> | 144:ef7eb2e8f9f7 | 77 | /* Constants for EBI bank number */ |
<> | 144:ef7eb2e8f9f7 | 78 | #define EBI_BANK0 0 ///< EBI bank 0 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 79 | #define EBI_BANK1 0x1 ///< EBI bank 1 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 80 | #define EBI_BANK2 0x2 ///< EBI bank 2 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 81 | #define EBI_BANK3 0x3 ///< EBI bank 3 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 82 | |
<> | 144:ef7eb2e8f9f7 | 83 | /* Constants for EBI CS Active Level */ |
<> | 144:ef7eb2e8f9f7 | 84 | #define EBI_CS_ACTIVE_HIGH 1 ///< EBI CS active level is high \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 85 | #define EBI_CS_ACTIVE_LOW 0 ///< EBI CS active level is low \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 86 | |
<> | 144:ef7eb2e8f9f7 | 87 | /* Constants for EBI data bus width */ |
<> | 144:ef7eb2e8f9f7 | 88 | #define EBI_BUSWIDTH_8BIT 8 ///< EBI bus width is 8-bit \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 89 | #define EBI_BUSWIDTH_16BIT 16 ///< EBI bus width is 16-bit \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 90 | |
<> | 144:ef7eb2e8f9f7 | 91 | /* Constants for EBI separate mode */ |
<> | 144:ef7eb2e8f9f7 | 92 | #define EBI_SEPARATEMODE_ENABLE 0x1 ///< Enable EBI separate mode \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 93 | #define EBI_SEPARATEMODE_DISABLE 0 ///< Disable EBI separate mode \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 94 | |
<> | 144:ef7eb2e8f9f7 | 95 | /* Constants for EBI MCLK divider */ |
<> | 144:ef7eb2e8f9f7 | 96 | #define EBI_MCLKDIV_1 0 ///< EBI clock is MCLK div 1 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 97 | #define EBI_MCLKDIV_2 0x1 ///< EBI clock is MCLK div 2 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 98 | #define EBI_MCLKDIV_4 0x2 ///< EBI clock is MCLK div 4 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 99 | #define EBI_MCLKDIV_8 0x3 ///< EBI clock is MCLK div 8 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 100 | #define EBI_MCLKDIV_16 0x4 ///< EBI clock is MCLK div 16 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 101 | #define EBI_MCLKDIV_32 0x5 ///< EBI clock is MCLK div 32 \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 102 | |
<> | 144:ef7eb2e8f9f7 | 103 | #define EBI_TIMING_FASTEST 0x0 ///< EBI timing is the fastest \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 104 | #define EBI_TIMING_VERYFAST 0x1 ///< EBI timing is very fast \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 105 | #define EBI_TIMING_FAST 0x2 ///< EBI timing is fast \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 106 | #define EBI_TIMING_NORMAL 0x3 ///< EBI timing is normal \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 107 | #define EBI_TIMING_SLOW 0x4 ///< EBI timing is slow \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 108 | #define EBI_TIMING_VERYSLOW 0x5 ///< EBI timing is very slow \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 109 | #define EBI_TIMING_SLOWEST 0x6 ///< EBI timing is the slowest \hideinitializer |
<> | 144:ef7eb2e8f9f7 | 110 | |
<> | 144:ef7eb2e8f9f7 | 111 | /*@}*/ /* end of group NUC472_442_EBI_EXPORTED_CONSTANTS */ |
<> | 144:ef7eb2e8f9f7 | 112 | |
<> | 144:ef7eb2e8f9f7 | 113 | |
<> | 144:ef7eb2e8f9f7 | 114 | /** @addtogroup NUC472_442_EBI_EXPORTED_FUNCTIONS EBI Exported Functions |
<> | 144:ef7eb2e8f9f7 | 115 | @{ |
<> | 144:ef7eb2e8f9f7 | 116 | */ |
<> | 144:ef7eb2e8f9f7 | 117 | void EBI_Open(uint32_t u32Bank, uint32_t u32DataWidth, uint32_t u32TimingClass, uint32_t u32BusMode, uint32_t u32CSActiveLevel); |
<> | 144:ef7eb2e8f9f7 | 118 | void EBI_Close(uint32_t u32Bank); |
<> | 144:ef7eb2e8f9f7 | 119 | void EBI_SetBusTiming(uint32_t u32Bank, uint32_t u32TimingConfig, uint32_t u32MclkDiv); |
<> | 144:ef7eb2e8f9f7 | 120 | void EBI_EnableCrypto(uint32_t u32Bank, uint32_t *u32Key); |
<> | 144:ef7eb2e8f9f7 | 121 | void EBI_DisbleCrypto(uint32_t u32Bank); |
<> | 144:ef7eb2e8f9f7 | 122 | |
<> | 144:ef7eb2e8f9f7 | 123 | |
<> | 144:ef7eb2e8f9f7 | 124 | /*@}*/ /* end of group NUC472_442_EBI_EXPORTED_FUNCTIONS */ |
<> | 144:ef7eb2e8f9f7 | 125 | |
<> | 144:ef7eb2e8f9f7 | 126 | /*@}*/ /* end of group NUC472_442_EBI_Driver */ |
<> | 144:ef7eb2e8f9f7 | 127 | |
<> | 144:ef7eb2e8f9f7 | 128 | /*@}*/ /* end of group NUC472_442_Device_Driver */ |
<> | 144:ef7eb2e8f9f7 | 129 | |
<> | 144:ef7eb2e8f9f7 | 130 | #ifdef __cplusplus |
<> | 144:ef7eb2e8f9f7 | 131 | } |
<> | 144:ef7eb2e8f9f7 | 132 | #endif |
<> | 144:ef7eb2e8f9f7 | 133 | |
<> | 144:ef7eb2e8f9f7 | 134 | #endif //__EBI_H__ |
<> | 144:ef7eb2e8f9f7 | 135 | |
<> | 144:ef7eb2e8f9f7 | 136 | /*** (C) COPYRIGHT 2014 Nuvoton Technology Corp. ***/ |