HPM SDK
HPMicro Software Development Kit
hpm_femc_drv.c File Reference
#include "hpm_common.h"
#include "hpm_soc_ip_feature.h"
#include "hpm_femc_drv.h"

Macros

#define HPM_FEMC_DRV_DEFAULT_PRESCALER   (0x3UL)
 
#define HPM_FEMC_DRV_RETRY_COUNT   (5000U)
 
#define FEMC_PRESCALER_MAX   (256UL)
 

Functions

static void femc_config_delay_cell (FEMC_Type *ptr, bool delay_cell_en, uint32_t delay_cell_value)
 
static hpm_stat_t femc_ip_cmd_done (FEMC_Type *ptr)
 
static uint32_t femc_make_cmd (uint32_t opcode)
 
static bool femc_is_write_cmd (uint32_t opcode)
 
uint32_t femc_issue_ip_cmd (FEMC_Type *ptr, uint32_t base_address, femc_cmd_t *cmd)
 
void femc_default_config (FEMC_Type *ptr, femc_config_t *config)
 femc get default config More...
 
void femc_get_typical_sdram_config (FEMC_Type *ptr, femc_sdram_config_t *config)
 femc get typical sdram config More...
 
void femc_init (FEMC_Type *ptr, femc_config_t *config)
 femc init controller More...
 
static uint8_t femc_convert_actual_size_to_memory_size (uint32_t size_in_kb)
 
static uint8_t femc_convert_burst_len (uint8_t burst_len_in_byte)
 
static uint32_t ns2cycle (uint32_t freq_in_hz, uint32_t ns, uint32_t max_cycle)
 
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...
 

Macro Definition Documentation

◆ FEMC_PRESCALER_MAX

#define FEMC_PRESCALER_MAX   (256UL)

◆ HPM_FEMC_DRV_DEFAULT_PRESCALER

#define HPM_FEMC_DRV_DEFAULT_PRESCALER   (0x3UL)

◆ HPM_FEMC_DRV_RETRY_COUNT

#define HPM_FEMC_DRV_RETRY_COUNT   (5000U)

Function Documentation

◆ femc_config_delay_cell()

static void femc_config_delay_cell ( FEMC_Type ptr,
bool  delay_cell_en,
uint32_t  delay_cell_value 
)
static

◆ femc_convert_actual_size_to_memory_size()

static uint8_t femc_convert_actual_size_to_memory_size ( uint32_t  size_in_kb)
static

◆ femc_convert_burst_len()

static uint8_t femc_convert_burst_len ( uint8_t  burst_len_in_byte)
static

◆ femc_ip_cmd_done()

static hpm_stat_t femc_ip_cmd_done ( FEMC_Type ptr)
static

◆ femc_is_write_cmd()

static bool femc_is_write_cmd ( uint32_t  opcode)
static

◆ femc_issue_ip_cmd()

uint32_t femc_issue_ip_cmd ( FEMC_Type ptr,
uint32_t  base_address,
femc_cmd_t cmd 
)

◆ femc_make_cmd()

static uint32_t femc_make_cmd ( uint32_t  opcode)
static

◆ ns2cycle()

static uint32_t ns2cycle ( uint32_t  freq_in_hz,
uint32_t  ns,
uint32_t  max_cycle 
)
static