InES Hardware Abstraction Layer
hal_fmc.h
Go to the documentation of this file.
1 /* ----------------------------------------------------------------------------
2  * -- _____ ______ _____ -
3  * -- |_ _| | ____|/ ____| -
4  * -- | | _ __ | |__ | (___ Institute of Embedded Systems -
5  * -- | | | '_ \| __| \___ \ Zurich University of -
6  * -- _| |_| | | | |____ ____) | Applied Sciences -
7  * -- |_____|_| |_|______|_____/ 8401 Winterthur, Switzerland -
8  * ------------------------------------------------------------------------- */
18 /* Re-definition guard */
19 #ifndef _HAL_FMC_H
20 #define _HAL_FMC_H
21 
22 
23 /* User includes */
24 #include "hal_common.h"
25 
26 
27 /* -- Type definitions
28  * ------------------------------------------------------------------------- */
29 
34 typedef enum {
40 
41 
46 typedef enum {
50 
51 
56 typedef enum {
61 
62 
67 typedef enum {
73 
74 
79 typedef struct {
88 
89 
94 typedef struct {
95  uint8_t bus_turnaround;
96  /* Only for async. SRAM */
97  uint8_t address_setup;
98  uint8_t address_hold;
99  uint8_t data_setup;
100  /* Only for sync. PSRAM */
101  uint8_t clk_divider;
102  uint8_t data_latency;
105 
106 
107 /* -- Public function declarations
108  * ------------------------------------------------------------------------- */
109 
114 void hal_fmc_reset(hal_fmc_bank_t bank)
115 __attribute__((deprecated("Please use FMC_RESET().")));
116 
124  hal_fmc_sram_init_t init,
125  hal_fmc_sram_timing_t timing);
126 
127 
128 #endif
hal_fmc_memory_type_t type
Definition: hal_fmc.h:81
Definition: hal_fmc.h:37
Definition: hal_fmc.h:70
uint8_t data_setup
Definition: hal_fmc.h:99
Initialization structure for timing information of sram bank.
Definition: hal_fmc.h:94
hal_bool_t read_burst
Definition: hal_fmc.h:83
Definition: hal_fmc.h:36
Definition: hal_fmc.h:69
Definition: hal_fmc.h:57
Definition: hal_fmc.h:58
uint8_t address_hold
Definition: hal_fmc.h:98
hal_fmc_memory_width_t width
Definition: hal_fmc.h:82
uint8_t bus_turnaround
Definition: hal_fmc.h:95
Definition: hal_fmc.h:35
hal_fmc_access_mode_t
Defines the different available access modes.
Definition: hal_fmc.h:67
Definition: hal_fmc.h:71
hal_fmc_memory_type_t
Defines the different memory types.
Definition: hal_fmc.h:46
hal_bool_t write_enable
Definition: hal_fmc.h:84
Initialization structure for sram bank.
Definition: hal_fmc.h:79
Definition: hal_fmc.h:38
Common #defines and typedefs.
hal_bool_t continous_clock
Definition: hal_fmc.h:86
Definition: hal_fmc.h:48
void hal_fmc_reset(hal_fmc_bank_t bank) __attribute__((deprecated("Please use FMC_RESET().")))
Resets fmc bank to default values.
void hal_fmc_init_sram(hal_fmc_bank_t bank, hal_fmc_sram_init_t init, hal_fmc_sram_timing_t timing)
Initializes a fmc bank as SRAM.
Definition: hal_fmc.h:68
Definition: hal_fmc.h:59
uint8_t clk_divider
Definition: hal_fmc.h:101
hal_fmc_bank_t
Defines the different memory banks.
Definition: hal_fmc.h:34
Definition: hal_fmc.h:47
hal_bool_t
Often used TRUE / FALSE type.
Definition: hal_common.h:31
hal_fmc_access_mode_t mode
Definition: hal_fmc.h:103
hal_bool_t write_burst
Definition: hal_fmc.h:85
uint8_t address_setup
Definition: hal_fmc.h:97
hal_bool_t address_mux
Definition: hal_fmc.h:80
uint8_t data_latency
Definition: hal_fmc.h:102
hal_fmc_memory_width_t
Defines the available data bus widths.
Definition: hal_fmc.h:56