HPM SDK
HPMicro Software Development Kit
hpm_sdxc_soc_drv.h File Reference
#include "hpm_soc.h"
#include "hpm_sdxc_regs.h"

Go to the source code of this file.

Functions

static void sdxc_enable_tm_clock (SDXC_Type *base)
 
static void sdxc_enable_freq_selection (SDXC_Type *base)
 
static void sdxc_disable_freq_selection (SDXC_Type *base)
 
static void sdxc_set_clock_divider (SDXC_Type *base, uint32_t div)
 Set SDXC clock divider. More...
 
static uint32_t sdxc_get_clock_divider (SDXC_Type *base)
 Get SDXC divider. More...
 
static void sdxc_wait_card_active (SDXC_Type *base)
 Wait at least 74 clocks until card is ready to receive the first command. More...
 
static void sdxc_enable_inverse_clock (SDXC_Type *base, bool enable)
 Inverse SDXC clock. More...
 
static bool sdxc_is_inverse_clock_enabled (SDXC_Type *base)
 Check whether SDXC inverse clock is enabled or not. More...
 
static void sdxc_select_cardclk_delay_source (SDXC_Type *base, bool loopback_from_pad)
 Select the Card Clock Delay source. More...
 
static void sdxc_set_cardclk_delay_chain (SDXC_Type *base, uint32_t num_delaycells)
 Set Card Clock delay chain. More...
 
static void sdxc_set_data_strobe_delay (SDXC_Type *base, uint8_t num_of_delaycells)
 Set SDXC data strobe delay chain. More...
 
static uint32_t sdxc_get_default_strobe_delay (SDXC_Type *base)
 
static uint32_t sdxc_get_default_cardclk_delay_chain (SDXC_Type *base, uint32_t clock_freq)
 
static bool sdxc_is_ddr50_supported (SDXC_Type *base)
 

Function Documentation

◆ sdxc_disable_freq_selection()

static void sdxc_disable_freq_selection ( SDXC_Type base)
inlinestatic

◆ sdxc_enable_freq_selection()

static void sdxc_enable_freq_selection ( SDXC_Type base)
inlinestatic

◆ sdxc_enable_inverse_clock()

static void sdxc_enable_inverse_clock ( SDXC_Type base,
bool  enable 
)
inlinestatic

Inverse SDXC clock.

Parameters
[in]baseSDXC base
[in]enableEnable/disable SDXC inverse clock

◆ sdxc_enable_tm_clock()

static void sdxc_enable_tm_clock ( SDXC_Type base)
inlinestatic

◆ sdxc_get_clock_divider()

static uint32_t sdxc_get_clock_divider ( SDXC_Type base)
inlinestatic

Get SDXC divider.

Parameters
[in]baseSDXC base
Returns
SDXC divider value

◆ sdxc_get_default_cardclk_delay_chain()

static uint32_t sdxc_get_default_cardclk_delay_chain ( SDXC_Type base,
uint32_t  clock_freq 
)
inlinestatic

◆ sdxc_get_default_strobe_delay()

static uint32_t sdxc_get_default_strobe_delay ( SDXC_Type base)
inlinestatic

◆ sdxc_is_ddr50_supported()

static bool sdxc_is_ddr50_supported ( SDXC_Type base)
inlinestatic

◆ sdxc_is_inverse_clock_enabled()

static bool sdxc_is_inverse_clock_enabled ( SDXC_Type base)
inlinestatic

Check whether SDXC inverse clock is enabled or not.

Parameters
[in]baseSDXC base
Return values
trueif inverse clock is enabled

◆ sdxc_select_cardclk_delay_source()

static void sdxc_select_cardclk_delay_source ( SDXC_Type base,
bool  loopback_from_pad 
)
inlinestatic

Select the Card Clock Delay source.

Parameters
[in]baseSDXC base
[in]loopback_from_padtrue if the delay source is loopback from pad

◆ sdxc_set_cardclk_delay_chain()

static void sdxc_set_cardclk_delay_chain ( SDXC_Type base,
uint32_t  num_delaycells 
)
inlinestatic

Set Card Clock delay chain.

Parameters
[in]baseSDXC base
[in]num_delaycellsNumber of delay cells

◆ sdxc_set_clock_divider()

static void sdxc_set_clock_divider ( SDXC_Type base,
uint32_t  div 
)
inlinestatic

Set SDXC clock divider.

Parameters
[in]baseSDXC base
[in]divSDXC divider

◆ sdxc_set_data_strobe_delay()

static void sdxc_set_data_strobe_delay ( SDXC_Type base,
uint8_t  num_of_delaycells 
)
inlinestatic

Set SDXC data strobe delay chain.

Parameters
[in]baseSDXC base
[in]num_of_delaycellsNumber of delay cells for Data strobe

◆ sdxc_wait_card_active()

static void sdxc_wait_card_active ( SDXC_Type base)
inlinestatic

Wait at least 74 clocks until card is ready to receive the first command.