8 #ifndef HPM_SDXC_SOC_DRV_H
9 #define HPM_SDXC_SOC_DRV_H
12 #include "hpm_sdxc_regs.h"
14 #if defined(__cplusplus)
75 if (!loopback_from_pad) {
89 (void) number_of_delaycells;
101 (void) num_of_delaycells;
113 uint32_t num_delaycells = 3;
114 if (clock_freq <= 52000000) {
117 return num_delaycells;
127 #if defined(__cplusplus)
static void sdxc_enable_freq_selection(SDXC_Type *base)
Definition: hpm_sdxc_soc_drv.h:24
static bool sdxc_is_ddr50_supported(SDXC_Type *base)
Definition: hpm_sdxc_soc_drv.h:120
static void sdxc_set_clock_divider(SDXC_Type *base, uint32_t div)
Definition: hpm_sdxc_soc_drv.h:34
static void sdxc_enable_inverse_clock(SDXC_Type *base, bool enable)
Definition: hpm_sdxc_soc_drv.h:59
static uint32_t sdxc_get_default_strobe_delay(SDXC_Type *base)
Definition: hpm_sdxc_soc_drv.h:104
static uint32_t sdxc_get_clock_divider(SDXC_Type *base)
Definition: hpm_sdxc_soc_drv.h:41
static uint32_t sdxc_get_default_cardclk_delay_chain(SDXC_Type *base, uint32_t clock_freq)
Definition: hpm_sdxc_soc_drv.h:110
static void sdxc_select_cardclk_delay_source(SDXC_Type *base, bool loopback_from_pad)
Definition: hpm_sdxc_soc_drv.h:73
static void sdxc_enable_tm_clock(SDXC_Type *base)
Definition: hpm_sdxc_soc_drv.h:19
static bool sdxc_is_inverse_clock_enabled(SDXC_Type *base)
Definition: hpm_sdxc_soc_drv.h:68
static void sdxc_disable_freq_selection(SDXC_Type *base)
Definition: hpm_sdxc_soc_drv.h:29
static void sdxc_set_cardclk_delay_chain(SDXC_Type *base, uint32_t number_of_delaycells)
Set the Card Clock Delay chain.
Definition: hpm_sdxc_soc_drv.h:86
static void sdxc_wait_card_active(SDXC_Type *base)
Wait at least 74 clocks until card is ready to receive the first command.
Definition: hpm_sdxc_soc_drv.h:49
static void sdxc_set_data_strobe_delay(SDXC_Type *base, uint8_t num_of_delaycells)
Set SDXC data strobe delay chain.
Definition: hpm_sdxc_soc_drv.h:98
#define SDXC_MISC_CTRL0_FREQ_SEL_SW_SET(x)
Definition: hpm_sdxc_regs.h:4350
#define SDXC_MISC_CTRL0_PAD_CLK_SEL_B_MASK
Definition: hpm_sdxc_regs.h:4316
#define SDXC_MISC_CTRL0_FREQ_SEL_SW_MASK
Definition: hpm_sdxc_regs.h:4348
#define SDXC_MISC_CTRL0_FREQ_SEL_SW_EN_MASK
Definition: hpm_sdxc_regs.h:4327
#define SDXC_MISC_CTRL0_TMCLK_EN_MASK
Definition: hpm_sdxc_regs.h:4338
#define SDXC_SYS_CTRL_SD_CLK_EN_MASK
Definition: hpm_sdxc_regs.h:1087
#define SDXC_MISC_CTRL1_CARD_ACTIVE_MASK
Definition: hpm_sdxc_regs.h:4361
#define SDXC_MISC_CTRL0_CARDCLK_INV_EN_MASK
Definition: hpm_sdxc_regs.h:4305
#define SDXC_MISC_CTRL0_FREQ_SEL_SW_GET(x)
Definition: hpm_sdxc_regs.h:4351
#define IS_HPM_BITMASK_SET(val, mask)
Definition: hpm_common.h:61
Definition: hpm_sdxc_regs.h:12
__RW uint32_t MISC_CTRL1
Definition: hpm_sdxc_regs.h:78
__RW uint32_t MISC_CTRL0
Definition: hpm_sdxc_regs.h:77
__RW uint32_t SYS_CTRL
Definition: hpm_sdxc_regs.h:21