3#ifndef __SDHCI_SDHCI_H__
4#define __SDHCI_SDHCI_H__
44#define SMHC_DES_NUM_SHIFT 12
45#define SMHC_DES_BUFFER_MAX_LEN (1 << SMHC_DES_NUM_SHIFT)
u32_t uint32_t
Definition stdint.h:13
u8_t uint8_t
Definition stdint.h:7
int sunxi_sdhci_init(sunxi_sdhci_t *sdhci)
Initialize the SDHC controller.
Definition sys-sdhci.c:1162
uint32_t dic
Definition sys-sdhci.h:0
struct sunxi_sdhci_desc __attribute__((aligned(8)))
uint32_t data_buf_sz
Definition sys-sdhci.h:9
sdhci_type_t
Definition sys-sdhci.h:63
@ SDHCI_TYPE_SD
Definition sys-sdhci.h:64
@ SDHCI_TYPE_MMC
Definition sys-sdhci.h:65
bool sdhci_set_width(sdhci_t *hci, uint32_t width)
Set the data bus width for the SD card controller.
Definition sys-sdhci.c:374
#define SMHC_DES_NUM_SHIFT
Definition sys-sdhci.h:44
bool sdhci_set_clock(sdhci_t *hci, smhc_clk_t hz)
Set the clock frequency for the SD card controller.
Definition sys-sdhci.c:465
bool sdhci_set_voltage(sdhci_t *hci, uint32_t voltage)
Set the voltage for the SD card controller.
sdhci_t sdhci0
Definition board.c:60
smhc_clk_t
Definition sys-sdhci.h:22
@ MMC_CLK_200M
Definition sys-sdhci.h:28
@ MMC_CLK_25M
Definition sys-sdhci.h:23
@ MMC_CLK_50M
Definition sys-sdhci.h:24
@ MMC_CLK_50M_DDR
Definition sys-sdhci.h:25
@ MMC_CLK_100M
Definition sys-sdhci.h:26
@ MMC_CLK_400K
Definition sys-sdhci.h:22
@ MMC_CLK_150M
Definition sys-sdhci.h:27
bool sdhci_reset(sdhci_t *hci)
Reset the SD card controller.
Definition sys-sdhci.c:369
bool sdhci_transfer(sdhci_t *hci, sdhci_cmd_t *cmd, sdhci_data_t *dat)
Perform a data transfer operation with the SD card controller.
Definition sys-sdhci.c:254
Definition sys-sdhci.h:30
uint32_t resptype
Definition sys-sdhci.h:33
uint32_t arg
Definition sys-sdhci.h:32
uint32_t idx
Definition sys-sdhci.h:31
Definition sys-sdhci.h:37
uint8_t * buf
Definition sys-sdhci.h:38
uint32_t blksz
Definition sys-sdhci.h:40
uint32_t blkcnt
Definition sys-sdhci.h:41
uint32_t flag
Definition sys-sdhci.h:39
Definition sys-sdhci.h:46
uint32_t own
Definition sys-sdhci.h:54
uint32_t err_flag
Definition sys-sdhci.h:53
uint32_t data_buf_dummy
Definition sys-sdhci.h:56
uint32_t first_desc
Definition sys-sdhci.h:49
uint32_t buf_addr
Definition sys-sdhci.h:58
uint32_t next_desc_addr
Definition sys-sdhci.h:59
uint32_t des_chain
Definition sys-sdhci.h:51
uint32_t last_desc
Definition sys-sdhci.h:48
Definition reg-smhc.h:186
Definition sys-sdhci.h:68
gpio_mux_t gpio_d7
Definition sys-sdhci.h:96
uint32_t dma_trglvl
Definition sys-sdhci.h:82
gpio_mux_t gpio_d0
Definition sys-sdhci.h:89
uint32_t voltage
Definition sys-sdhci.h:74
uint32_t width
Definition sys-sdhci.h:75
gpio_mux_t gpio_cmd
Definition sys-sdhci.h:97
gpio_mux_t gpio_clk
Definition sys-sdhci.h:98
gpio_mux_t gpio_d6
Definition sys-sdhci.h:95
gpio_mux_t gpio_d3
Definition sys-sdhci.h:92
uint32_t pclk
Definition sys-sdhci.h:77
bool skew_auto_mode
Definition sys-sdhci.h:87
gpio_mux_t gpio_rst
Definition sys-sdhci.h:100
sdhci_type_t sdio_type
Definition sys-sdhci.h:86
volatile uint32_t sdhci_pll
Definition sys-sdhci.h:81
gpio_mux_t gpio_d4
Definition sys-sdhci.h:93
gpio_mux_t gpio_ds
Definition sys-sdhci.h:99
gpio_mux_t gpio_d5
Definition sys-sdhci.h:94
bool isspi
Definition sys-sdhci.h:85
uint32_t reset
Definition sys-sdhci.h:72
gpio_mux_t gpio_d2
Definition sys-sdhci.h:91
smhc_clk_t clock
Definition sys-sdhci.h:76
sdhci_reg_t * reg
Definition sys-sdhci.h:71
uint32_t id
Definition sys-sdhci.h:70
gpio_mux_t gpio_d1
Definition sys-sdhci.h:90
char * name
Definition sys-sdhci.h:69
bool removable
Definition sys-sdhci.h:84