femc driver APIs More...
Data Structures | |
| struct | femc_axi_q_weight_t |
| Structure for specifying the configuration of AXI queue weight. More... | |
| struct | femc_sdram_config_t |
| Structure for specifying the configuration of SDRAM. More... | |
| struct | femc_sram_config_t |
| Structure for specifying the configuration of SRAM. More... | |
| struct | femc_config_t |
| Structure for specifying the configuration of FEMC. More... | |
| struct | femc_cmd_t |
| Structure for FEMC command. More... | |
Enumerations | |
| enum | { status_femc_cmd_err = MAKE_STATUS(status_group_femc, 1) } |
Functions | |
| static void | femc_enable (FEMC_Type *ptr) |
| femc enable More... | |
| static void | femc_disable (FEMC_Type *ptr) |
| femc disable More... | |
| static void | femc_sw_reset (FEMC_Type *ptr) |
| femc software reset More... | |
| void | femc_default_config (FEMC_Type *ptr, femc_config_t *config) |
| femc get default config More... | |
| void | femc_init (FEMC_Type *ptr, femc_config_t *config) |
| femc init controller More... | |
| void | femc_get_typical_sdram_config (FEMC_Type *ptr, femc_sdram_config_t *config) |
| femc get typical sdram config More... | |
| hpm_stat_t | femc_config_sdram (FEMC_Type *ptr, uint32_t clk_in_hz, femc_sdram_config_t *config) |
| femc config sdram More... | |
| void | femc_get_typical_sram_config (FEMC_Type *ptr, femc_sram_config_t *config) |
| femc get typical sram config More... | |
| hpm_stat_t | femc_config_sram (FEMC_Type *ptr, uint32_t clk_in_hz, femc_sram_config_t *config) |
| femc config sram More... | |
femc driver APIs
| #define FEMC_AXI_Q_A (0U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_AXI_Q_B (1U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_AXI_Q_COUNT (2U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_CMD_KEY FEMC_IPCMD_KEY_SET(0xA55A) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_CMD_SDRAM_ACTIVE (0xBU) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_CMD_SDRAM_AUTO_REFRESH (0xCU) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_CMD_SDRAM_MODE_SET (FEMC_CMD_WRITE_FLAG | 0xAU) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_CMD_SDRAM_PRECHARGE (0xEU) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_CMD_SDRAM_PRECHARGE_ALL (0xFU) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_CMD_SDRAM_READ (0x8U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_CMD_SDRAM_SELF_REFRESH (0xDU) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_CMD_SDRAM_WRITE (FEMC_CMD_WRITE_FLAG | 0x9U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_CMD_WRITE_FLAG (1UL << 31) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_DQS_FROM_PAD (1U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_DQS_INTERNAL (0U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_IO_CSX_SDRAM_CS1 (1U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_IO_CSX_SRAM_CE (6U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_BANK_NUM_2 (1U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_BANK_NUM_4 (0U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_CAS_LATENCY_1 (1U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_CAS_LATENCY_2 (2U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_CAS_LATENCY_3 (3U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_COLUMN_ADDR_10_BITS (2U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_COLUMN_ADDR_11_BITS (1U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_COLUMN_ADDR_12_BITS (0U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_COLUMN_ADDR_8_BITS (4U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_COLUMN_ADDR_9_BITS (3U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_CS0 (0U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_CS1 (1U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_MAX_BURST_LENGTH_IN_BYTE (8UL) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_PORT_SIZE_16_BITS (1U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_PORT_SIZE_32_BITS (2U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SDRAM_PORT_SIZE_8_BITS (0U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SRAM_AD_MUX_MODE (0U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SRAM_AD_NONMUX_MODE (3U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SRAM_ADV_ACTIVE_HIGH (1U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SRAM_ADV_ACTIVE_LOW (0U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SRAM_ADV_HOLD_HIGH (0U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SRAM_ADV_HOLD_LOW (1U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SRAM_PORT_SIZE_16_BITS (1U) |
#include <drivers/inc/hpm_femc_drv.h>
| #define FEMC_SRAM_PORT_SIZE_8_BITS (0U) |
#include <drivers/inc/hpm_femc_drv.h>
| anonymous enum |
#include <drivers/inc/hpm_femc_drv.h>
| Enumerator | |
|---|---|
| status_femc_cmd_err | |
| hpm_stat_t femc_config_sdram | ( | FEMC_Type * | ptr, |
| uint32_t | clk_in_hz, | ||
| femc_sdram_config_t * | config | ||
| ) |
#include <drivers/inc/hpm_femc_drv.h>
femc config sdram
Configure FEMC controlling external SDRAM using parameters specified in femc_sdram_config_t
| [in] | ptr | FEMC base address |
| [in] | clk_in_hz | femc source clock frequency in Hz |
| [in] | config | femc_sdram_config_t sdram configuration struction to config femc |
| hpm_stat_t femc_config_sram | ( | FEMC_Type * | ptr, |
| uint32_t | clk_in_hz, | ||
| femc_sram_config_t * | config | ||
| ) |
#include <drivers/inc/hpm_femc_drv.h>
femc config sram
Configure FEMC controlling external SRAM using parameters specified in femc_sram_config_t
| [in] | ptr | FEMC base address |
| [in] | clk_in_hz | femc source clock frequency in Hz |
| [in] | config | femc_sram_config_t sram configuration struction to config femc |
| void femc_default_config | ( | FEMC_Type * | ptr, |
| femc_config_t * | config | ||
| ) |
#include <drivers/inc/hpm_femc_drv.h>
femc get default config
Get FEMC default parameters
| [in] | ptr | FEMC base address |
| [out] | config | femc_config_t address |
|
inlinestatic |
|
inlinestatic |
| void femc_get_typical_sdram_config | ( | FEMC_Type * | ptr, |
| femc_sdram_config_t * | config | ||
| ) |
#include <drivers/inc/hpm_femc_drv.h>
femc get typical sdram config
Fill out the structure of femc_sdram_config_t with typical SDRAM parameters which should work with most SDRAMs.
| [in] | ptr | FEMC base address |
| [out] | config | femc_sdram_config_t sdram configuration struction to config femc |
| void femc_get_typical_sram_config | ( | FEMC_Type * | ptr, |
| femc_sram_config_t * | config | ||
| ) |
#include <drivers/inc/hpm_femc_drv.h>
femc get typical sram config
Fill out the structure of femc_sram_config_t with typical SRAM parameters which should work with most SRAMs.
| [in] | ptr | FEMC base address |
| [out] | config | femc_sdram_config_t sdram configuration struction to config femc |
| void femc_init | ( | FEMC_Type * | ptr, |
| femc_config_t * | config | ||
| ) |
#include <drivers/inc/hpm_femc_drv.h>
femc init controller
Initialize FEMC with give femc_config_t
| [in] | ptr | FEMC base address |
| [in] | config | femc_config_t to initialize femc |
|
inlinestatic |
#include <drivers/inc/hpm_femc_drv.h>
femc software reset
Perform software reset
| [in] | ptr | FEMC base address |