Astra MCU SDK Peripheral Driver Library
 
Loading...
Searching...
No Matches
sdio.h
1
16
17#ifndef _SDIO_H_
18#define _SDIO_H_
19
20/*******************************************************************************
21* Include Files
22*******************************************************************************/
23
24#include <stdbool.h>
25#include <stddef.h>
26#include "sdio_registers.h"
27#include "syna_device.h"
28#include "io_expander.h"
29#include "logger.h"
30#include "cache.h"
31#include "clk.h"
32
33
34/***************************************************************************/
131
132/*******************************************************************************
133* Macro definitions
134*******************************************************************************/
140
141#define SDIO_BLOCK_SIZE (512UL)
142
143#define SDIO_SDSC_ADDR_SHIFT (9U)
147
148/* SD output clock. */
149#define SDIO_CLK_400K (400UL * 1000UL)
150#define SDIO_CLK_10M (10UL * 1000UL * 1000UL)
151#define SDIO_CLK_20M (20UL * 1000UL * 1000UL)
152#define SDIO_CLK_25M (25UL * 1000UL * 1000UL)
153#define SDIO_CLK_50M (50UL * 1000UL * 1000UL)
154#define SDIO_CLK_100M (100UL * 1000UL * 1000UL)
155
156#define SDIO_CLK_RAMP_UP_TIME_MS (100UL)
157
158#ifndef SDIO_CLK_RAMP_UP_TIME_US_WAKEUP
161
162#ifndef SDIO_CLK_RAMP_UP_TIME_MS_WAKEUP
166
167#define SDIO_CLK_RAMP_UP_TIME_US_WAKEUP (1U)
170#else
171#define SDIO_CLK_RAMP_UP_TIME_US_WAKEUP (SDIO_CLK_RAMP_UP_TIME_MS_WAKEUP * 1000U)
172#endif /* !defined SDIO_CLK_RAMP_UP_TIME_MS_WAKEUP */
173#endif /* !defined SDIO_CLK_RAMP_UP_TIME_US_WAKEUP */
174
175
176#define SDIO_INIT_CLK_FREQUENCY_KHZ (400U)
179#define SDIO_3_PERIODS_US (((1000U * 3U) / SDIO_INIT_CLK_FREQUENCY_KHZ) + 1U)
180
181#define SDIO_CARD_IDLE (0x0UL)
182#define SDIO_CARD_READY (0x1UL)
183#define SDIO_CARD_IDENT (0x2UL)
184#define SDIO_CARD_STBY (0x3UL)
185#define SDIO_CARD_TRAN (0x4UL)
186#define SDIO_CARD_DATA (0x5UL)
187#define SDIO_CARD_RCV (0x6UL)
188#define SDIO_CARD_PRG (0x7UL)
189#define SDIO_CARD_DIS (0x8UL)
190
191#define SDIO_CMD13_OUT_OF_RANGE (31U)
192#define SDIO_CMD13_ADDRESS_ERROR (30U)
193#define SDIO_CMD13_BLOCK_LEN_ERROR (29U)
194#define SDIO_CMD13_ERASE_SEQ_ERROR (28U)
197#define SDIO_CMD13_ERASE_PARAM (27U)
200#define SDIO_CMD13_WP_VIOLATION (26U)
203#define SDIO_CMD13_CARD_IS_LOCKED (25U)
204#define SDIO_CMD13_LOCK_ULOCK_FAILED (24U)
207#define SDIO_CMD13_COM_CRC_ERROR (23U)
208#define SDIO_CMD13_ILLEGAL_COMMAND (22U)
209#define SDIO_CMD13_CARD_ECC_FAILED (21U)
210#define SDIO_CMD13_CC_ERROR (20U)
211#define SDIO_CMD13_ERROR (19U)
212#define SDIO_CMD13_CSD_OVERWRITE (16U)
220#define SDIO_CMD13_WP_ERASE_SKIP (15U)
225
226#define SDIO_CMD13_CARD_ECC_DISABLED (14U)
229
230#define SDIO_CMD13_CURRENT_STATE (9U)
231#define SDIO_CMD13_READY_FOR_DATA (8U)
232#define SDIO_CMD13_APP_CMD (5U)
236#define SDIO_CMD13_AKE_SEQ_ERROR (3U)
239
240#define SDIO_CMD13_CURRENT_STATE_MSK (0x00001E00UL)
241
242
243
244
250#define SDIO_CMD_COMPLETE (0x0001U)
251
256#define SDIO_XFER_COMPLETE (0x0002U)
257
263#define SDIO_BGAP (0x0004U)
264
274#define SDIO_DMA_INTERRUPT (0x0008U)
275
280#define SDIO_BUF_WR_READY (0x0010U)
281
286#define SDIO_BUF_RD_READY (0x0020U)
287
293#define SDIO_CARD_INSERTION (0x0040U)
294
300#define SDIO_CARD_REMOVAL (0x0080U)
301
306#define SDIO_CARD_INTERRUPT (0x0100U)
307
314#define SDIO_FX_EVENT (0x2000U)
315
321#define SDIO_ERR_INTERRUPT (0x8000U)
322
328#define SDIO_CUR_LMT_ERR (0x0080U)
329
340#define SDIO_ADMA_ERR (0x0200U)
341
346#define SDIO_TUNING_ERR (0x0400U)
347
354#define SDIO_DAT_7_4 (0x000000F0UL)
355
361#define SDIO_BUF_WR_ENABLE (0x00000400UL)
362
368#define SDIO_BUF_RD_ENABLE (0x00000800UL)
369
376#define SDIO_CARD_INSERTED (0x00010000UL)
377
384#define SDIO_CARD_STABLE (0x00020000UL)
385
391#define SDIO_CARD_DETECT_PIN_LEVEL (0x00040000UL)
392
399#define SDIO_WR_PROTECT_SW_LVL (0x00080000UL)
400
407#define SDIO_DAT_3_0 (0x00F00000UL)
408
415#define SDIO_DAT_0_Msk (0x00100000UL)
416
423#define SDIO_CMD_LINE_LVL (0x01000000UL)
424
432#define SDIO_HOST_REG_VOL (0x02000000UL)
433
440#define SDIO_CMD_ISSU_ERR (0x08000000UL)
441
447#define SDIO_SUB_CMD_STAT (0x10000000UL)
449
450/******************************************************************************
451 * Enumerations
452 *****************************************************************************/
453
459
470
481
491
511
525
549
558
576
608
612typedef enum
613{
614 SDIO_SD = 0U,
619
630
658
659
663typedef enum
664{
668
678
764
766
767/*******************************************************************************
768* Type Definitions
769*******************************************************************************/
775
785
809
810
842
872
896
897
898
899/*******************************************************************************
900* Function Prototypes
901*******************************************************************************/
907
908/* High level section */
909
910/*******************************************************************************
911* Function Name: sdio_init
912****************************************************************************/
924
926
927/*******************************************************************************
928* Function Name: sdio_deinit
929****************************************************************************/
941
942/*******************************************************************************
943* Function Name: sdio_enable
944****************************************************************************/
955
956/*******************************************************************************
957* Function Name: sdio_disable
958****************************************************************************/
970
971
972/*******************************************************************************
973* Function Name: sdio_config
974****************************************************************************/
989 const sdio_config_t* config);
990
991
992/*******************************************************************************
993* Function Name: sdio_sd_card_init
994****************************************************************************/
1011 sdio_sd_card_config_t *config);
1012
1013/*******************************************************************************
1014* Function Name: sdio_sd_card_read
1015****************************************************************************/
1031 sdio_write_read_config_t *config);
1032
1033/*******************************************************************************
1034* Function Name: sdio_sd_card_write
1035****************************************************************************/
1051 sdio_write_read_config_t *config);
1052
1053/*******************************************************************************
1054* Function Name: sdio_sd_card_erase
1055****************************************************************************/
1076 uint32_t startAddr,
1077 uint32_t endAddr,
1078 sdio_erase_type_en eraseType);
1079
1080/*******************************************************************************
1081* Function Name: sdio_set_sd_clk_div
1082****************************************************************************/
1098
1099/*******************************************************************************
1100* Function Name: sdio_is_wp_set
1101****************************************************************************/
1114
1115/*******************************************************************************
1116* Function Name: sdio_set_host_bus_width
1117****************************************************************************/
1133 sdio_bus_width_en width);
1134
1135/*******************************************************************************
1136* Function Name: sdio_set_bus_width
1137****************************************************************************/
1153
1154/*******************************************************************************
1155* Function Name: sdio_set_host_speed_mode
1156****************************************************************************/
1172 sdio_bus_speed_mode_en speedMode);
1173
1174/*******************************************************************************
1175* Function Name: sdio_set_bus_speed_mode
1176****************************************************************************/
1192 sdio_bus_speed_mode_en speedMode);
1193
1194/*******************************************************************************
1195* Function Name: sdio_sel_bus_voltage
1196****************************************************************************/
1212 bool enable18VSignal);
1213
1214/*******************************************************************************
1215* Function Name: sdio_enable_card_voltage
1216****************************************************************************/
1227
1228/*******************************************************************************
1229* Function Name: sdio_disable_card_voltage
1230****************************************************************************/
1241
1242/*******************************************************************************
1243* Function Name: sdio_get_response
1244****************************************************************************/
1262 uint32_t *responsePtr,
1263 bool largeResponse);
1264
1265/*******************************************************************************
1266* Function Name: sdio_send_command
1267****************************************************************************/
1282 sdio_cmd_config_t const *config);
1283
1284/*******************************************************************************
1285* Function Name: sdio_init_data_transfer
1286****************************************************************************/
1301 sdio_data_config_t const *dataConfig);
1302
1303/*******************************************************************************
1304* Function Name: sdio_abort_transfer
1305****************************************************************************/
1317
1318/*******************************************************************************
1319* Function Name: sdio_write_protect
1320****************************************************************************/
1335
1336/*******************************************************************************
1337* Function Name: sdio_get_card_status
1338****************************************************************************/
1350
1351/*******************************************************************************
1352* Function Name: sdio_get_ocr
1353****************************************************************************/
1366
1367/*******************************************************************************
1368* Function Name: sdio_get_cid
1369****************************************************************************/
1384
1385/*******************************************************************************
1386* Function Name: sdio_get_csd
1387****************************************************************************/
1402 uint32_t *csd);
1403
1404/*******************************************************************************
1405* Function Name: sdio_get_rca
1406****************************************************************************/
1418
1419/*******************************************************************************
1420* Function Name: sdio_get_scr
1421****************************************************************************/
1436 uint32_t *scr);
1437
1438/*******************************************************************************
1439* Function Name: sdio_get_present_state
1440****************************************************************************/
1454
1455/*******************************************************************************
1456* Function Name: sdio_is_card_connected
1457****************************************************************************/
1469
1470/*******************************************************************************
1471* Function Name: sdio_software_reset
1472****************************************************************************/
1486
1487/*******************************************************************************
1488* Function Name: sdio_get_block_count
1489****************************************************************************/
1504
1505/*******************************************************************************
1506* Function Name: sdio_get_normal_interrupt_status
1507****************************************************************************/
1520
1521/*******************************************************************************
1522* Function Name: sdio_clear_normal_interrupt_status
1523****************************************************************************/
1537
1538/*******************************************************************************
1539* Function Name: sdio_set_error_interrupt_enable
1540****************************************************************************/
1553
1554/*******************************************************************************
1555* Function Name: sdio_clear_error_interrupt_status
1556****************************************************************************/
1568
1569/*******************************************************************************
1570* Function Name: sdio_set_normal_interrupt_enable
1571****************************************************************************/
1583
1584/*******************************************************************************
1585* Function Name: sdio_buffer_write
1586****************************************************************************/
1601
1602/*******************************************************************************
1603* Function Name: sdio_buffer_read
1604****************************************************************************/
1617
1618/*******************************************************************************
1619* Function Name: sdio_ops_go_idle
1620****************************************************************************/
1628
1629/*******************************************************************************
1630* Function Name: sdio_set_host_voltage
1631****************************************************************************/
1641
1642/*******************************************************************************
1643* Function Name: sdio_change_clock
1644****************************************************************************/
1657
1658/*******************************************************************************
1659* Function Name: sdio_set_block_size_count
1660****************************************************************************/
1670
1671/*******************************************************************************
1672* Function Name: sdio_ops_send_io_rw_direct_cmd
1673****************************************************************************/
1698 uint32_t rwFlag,
1699 uint32_t functionNumber,
1700 uint32_t rawFlag,
1701 uint32_t registerAddress,
1702 uint32_t data);
1703
1704/*******************************************************************************
1705* Function Name: sdio_ops_sdio_send_op_cond
1706****************************************************************************/
1722 uint32_t *ocrReg,
1723 uint32_t cmdArgument);
1724
1725/*******************************************************************************
1726* Function Name: sdio_ops_select_card
1727****************************************************************************/
1737
1738/*******************************************************************************
1739* Function Name: sdio_fetch_rca
1740****************************************************************************/
1750
1751/*******************************************************************************
1752* Function Name: sdio_cmd_rx_data
1753****************************************************************************/
1766
1767/*******************************************************************************
1768* Function Name: sdio_cmd_tx_data
1769****************************************************************************/
1782
1783/*******************************************************************************
1784* Function Name: sdio_set_normal_interrupt_mask
1785****************************************************************************/
1797void sdio_set_normal_interrupt_mask(sdio_instance_en id, uint32_t interruptMask);
1798
1799/*******************************************************************************
1800* Function Name: sdio_isr
1801****************************************************************************/
1811ISR_CODE uint32_t sdio_isr(sdio_instance_en id);
1812
1815#endif /*_SDIO_H_*/
sdio_instance_en
SDIO Instances.
Definition sr110.h:896
sdio_reset_en
SD Host reset types.
Definition sdio.h:486
sdio_auto_cmd_status_en
Auto CMD Status error codes.
Definition sdio.h:516
sdio_write_protect_en
Write Protect type enum.
Definition sdio.h:673
sdio_card_type_en
Card type.
Definition sdio.h:613
sdio_response_type_en
SDHC response types.
Definition sdio.h:635
sdio_dma_type_en
The DMA type enum.
Definition sdio.h:664
sdio_erase_type_en
Erase type.
Definition sdio.h:581
sdio_status_en
SD host error codes.
Definition sdio.h:530
sdio_r1_response_en
Card status in R1 response type enum.
Definition sdio.h:683
sdio_bus_width_en
The widths of the data bus.
Definition sdio.h:554
sdio_adma_error_en
SD Host error interrupt types..
Definition sdio.h:496
sdio_bus_speed_mode_en
The bus speed modes.
Definition sdio.h:563
sdio_card_capacity_en
The card capacity type.
Definition sdio.h:624
sdio_cmd_type_en
SD command types.
Definition sdio.h:464
sdio_auto_cmd_en
SD Host auto command enable selection..
Definition sdio.h:475
@ SDIO_RESET_ALL
Definition sdio.h:489
@ SDIO_RESET_DATALINE
Definition sdio.h:487
@ SDIO_RESET_CMD_LINE
Definition sdio.h:488
@ SDIO_AUTO_CMD_EBIT_ERR
Definition sdio.h:520
@ SDIO_AUTO_CMD12_NOT_EXEC
Definition sdio.h:517
@ SDIO_AUTO_CMD_CRC_ERR
Definition sdio.h:519
@ SDIO_AUTO_CMD_RESP_ERR
Definition sdio.h:522
@ SDIO_AUTO_CMD_IDX_ERR
Definition sdio.h:521
@ SDIO_AUTO_CMD_TOUT_ERR
Definition sdio.h:518
@ SDIO_CMD_NOT_ISSUED_AUTO_CMD12
Definition sdio.h:523
@ SDIO_DISABLE_TEMPORARY
Definition sdio.h:676
@ SDIO_PERMANENT
Definition sdio.h:674
@ SDIO_ENABLE_TEMPORARY
Definition sdio.h:675
@ SDIO_COMBO
Definition sdio.h:616
@ SDIO_UNUSABLE
Definition sdio.h:617
@ SDIO_SDIO
Definition sdio.h:615
@ SDIO_SD
Definition sdio.h:614
@ SDIO_RESPONSE_LEN_136
Definition sdio.h:641
@ SDIO_RESPONSE_NONE
Definition sdio.h:636
@ SDIO_RESPONSE_LEN_48
Definition sdio.h:645
@ SDIO_RESPONSE_LEN_48B
Definition sdio.h:653
@ SDIO_DMA_ADMA2
Definition sdio.h:666
@ SDIO_DMA_SDMA
Definition sdio.h:665
@ SDIO_ERASE_SECURE_TRIM_STEP_1
Definition sdio.h:599
@ SDIO_ERASE_FULE
Definition sdio.h:584
@ SDIO_ERASE_DISCARD
Definition sdio.h:583
@ SDIO_ERASE_TRIM
Definition sdio.h:603
@ SDIO_ERASE_ERASE
Definition sdio.h:582
@ SDIO_ERASE_SECURE
Definition sdio.h:585
@ SDIO_ERASE_SECURE_TRIM_STEP_2
Definition sdio.h:591
@ SDIO_ERROR_DATA_END_BIT
Definition sdio.h:544
@ SDIO_ERROR
Definition sdio.h:532
@ SDIO_ERROR_UNUSABLE_CARD
Definition sdio.h:541
@ SDIO_ERROR_UNINITIALIZED
Definition sdio.h:537
@ SDIO_ERROR_OPERATION_IN_PROGRESS
Definition sdio.h:534
@ SDIO_ERROR_CRC
Definition sdio.h:543
@ SDIO_ERROR_GENERAL
Definition sdio.h:545
@ SDIO_ERROR_TIMEOUT
Definition sdio.h:540
@ SDIO_ERROR_INVALID_PARAMETER
Definition sdio.h:533
@ SDIO_ERROR_DISCONNECTED
Definition sdio.h:542
@ SDIO_ERROR_NOT_SUPPORTED
Definition sdio.h:546
@ SDIO_OK
Definition sdio.h:531
@ SDIO_ERROR_DATA_INTEGRITY
Definition sdio.h:547
@ SDIO_CURRENT_STATE_3_R1_RESP
Definition sdio.h:708
@ SDIO_READY_FOR_DATA_R1_RESP
Definition sdio.h:693
@ SDIO_ERASE_RESET_R1_RESP
Definition sdio.h:712
@ SDIO_COM_CRC_ERROR_R1_RESP
Definition sdio.h:736
@ SDIO_APP_CMD_R1_RESP
Definition sdio.h:687
@ SDIO_CARD_ECC_FAILED_R1_RESP
Definition sdio.h:732
@ SDIO_ERASE_SEQ_ERROR_R1_RESP
Definition sdio.h:750
@ SDIO_CURRENT_STATE_2_R1_RESP
Definition sdio.h:704
@ SDIO_CARD_ECC_DISABLED_R1_RESP
Definition sdio.h:716
@ SDIO_ILLEGAL_COMMAND_R1_RESP
Definition sdio.h:735
@ SDIO_CURRENT_STATE_1_R1_RESP
Definition sdio.h:700
@ SDIO_WP_ERASE_SKIP_R1_RESP
Definition sdio.h:719
@ SDIO_OUT_OF_RANGE_R1_RESP
Definition sdio.h:760
@ SDIO_AKE_SEQ_ERROR_R1_RESP
Definition sdio.h:684
@ SDIO_ERROR_R1_RESP
Definition sdio.h:728
@ SDIO_LOCK_UNLOCK_FAILED_R1_RESP
Definition sdio.h:737
@ SDIO_ERASE_PARAM_R1_RESP
Definition sdio.h:747
@ SDIO_BLOCK_LEN_ERROR_R1_RESP
Definition sdio.h:753
@ SDIO_FX_EVENT_R1_RESP
Definition sdio.h:690
@ SDIO_CURRENT_STATE_0_R1_RESP
Definition sdio.h:696
@ SDIO_CC_ERROR_R1_RESP
Definition sdio.h:731
@ SDIO_CSD_OVERWRITE_R1_RESP
Definition sdio.h:724
@ SDIO_ADDRESS_ERROR_R1_RESP
Definition sdio.h:757
@ SDIO_CARD_IS_LOCKED_R1_RESP
Definition sdio.h:740
@ SDIO_WP_VIOLATION_R1_RESP
Definition sdio.h:743
@ SDIO_BUS_WIDTH_1_BIT
Definition sdio.h:555
@ SDIO_BUS_WIDTH_4_BIT
Definition sdio.h:556
@ SDIO_ADMA_ST_STOP
Definition sdio.h:497
@ SDIO_ADMA_LEN_ERR
Definition sdio.h:509
@ SDIO_ADMA_ST_FDS
Definition sdio.h:501
@ SDIO_ADMA_ST_TFR
Definition sdio.h:505
@ SDIO_BUS_SPEED_HIGHSPEED
Definition sdio.h:565
@ SDIO_BUS_SPEED_DEFAULT
Definition sdio.h:564
@ SDIO_BUS_SPEED_SDR12_5
Definition sdio.h:566
@ SDIO_BUS_SPEED_SDR25
Definition sdio.h:569
@ SDIO_BUS_SPEED_SDR50
Definition sdio.h:572
@ SDIO_UNSUPPORTED
Definition sdio.h:628
@ SDIO_SDSC
Definition sdio.h:625
@ SDIO_SDXC
Definition sdio.h:627
@ SDIO_SDHC
Definition sdio.h:626
@ SDIO_CMD_RESUME
Definition sdio.h:467
@ SDIO_CMD_ABORT
Definition sdio.h:468
@ SDIO_CMD_SUSPEND
Definition sdio.h:466
@ SDIO_CMD_NORMAL
Definition sdio.h:465
@ SDIO_AUTO_CMD_AUTO
Definition sdio.h:479
@ SDIO_AUTO_CMD_12
Definition sdio.h:477
@ SDIO_AUTO_CMD_23
Definition sdio.h:478
@ SDIO_AUTO_CMD_NONE
Definition sdio.h:476
uint32_t sdio_get_present_state(sdio_instance_en id)
void sdio_clear_error_interrupt_status(sdio_instance_en id, uint32_t status)
uint32_t sdio_get_ocr(sdio_instance_en id)
ISR_CODE uint32_t sdio_isr(sdio_instance_en id)
sdio_status_en sdio_ops_select_card(sdio_instance_en id)
sdio_status_en sdio_ops_go_idle(sdio_instance_en id)
sdio_status_en sdio_set_sd_clk_div(sdio_instance_en id, uint16_t clkDiv)
sdio_status_en sdio_ops_sdio_send_op_cond(sdio_instance_en id, uint32_t *ocrReg, uint32_t cmdArgument)
sdio_status_en sdio_software_reset(sdio_instance_en id, sdio_reset_en reset)
sdio_status_en sdio_send_command(sdio_instance_en id, sdio_cmd_config_t const *config)
uint32_t sdio_buffer_read(sdio_instance_en id)
sdio_status_en sdio_set_bus_width(sdio_instance_en id, sdio_bus_width_en width)
sdio_status_en sdio_set_bus_speed_mode(sdio_instance_en id, sdio_bus_speed_mode_en speedMode)
void sdio_disable_card_voltage(sdio_instance_en id)
sdio_status_en sdio_write_protect(sdio_instance_en id, sdio_write_protect_en writeProtect)
sdio_status_en sdio_cmd_rx_data(sdio_instance_en id, sdio_data_config_t *pcmd)
uint32_t sdio_get_normal_interrupt_status(sdio_instance_en id)
sdio_status_en sdio_config(sdio_instance_en id, const sdio_config_t *config)
sdio_status_en sdio_abort_transfer(sdio_instance_en id)
void sdio_set_normal_interrupt_mask(sdio_instance_en id, uint32_t interruptMask)
sdio_status_en sdio_get_cid(sdio_instance_en id, uint32_t *cid)
void sdio_enable_card_voltage(sdio_instance_en id)
sdio_status_en sdio_init_data_transfer(sdio_instance_en id, sdio_data_config_t const *dataConfig)
uint32_t sdio_get_card_status(sdio_instance_en id)
sdio_status_en sdio_get_csd(sdio_instance_en id, uint32_t *csd)
sdio_status_en sdio_ops_send_io_rw_direct_cmd(sdio_instance_en id, uint32_t rwFlag, uint32_t functionNumber, uint32_t rawFlag, uint32_t registerAddress, uint32_t data)
sdio_status_en sdio_get_scr(sdio_instance_en id, uint32_t *scr)
sdio_status_en sdio_get_response(sdio_instance_en id, uint32_t *responsePtr, bool largeResponse)
sdio_status_en sdio_change_clock(sdio_instance_en id, uint32_t frequency)
void sdio_set_block_size_count(sdio_instance_en id)
sdio_status_en sdio_fetch_rca(sdio_instance_en id)
void sdio_set_error_interrupt_enable(sdio_instance_en id, uint32_t interrupt)
sdio_status_en sdio_get_block_count(sdio_instance_en id, uint32_t *block_count)
uint32_t sdio_get_rca(sdio_instance_en id)
sdio_status_en sdio_sd_card_read(sdio_instance_en id, sdio_write_read_config_t *config)
sdio_status_en sdio_buffer_write(sdio_instance_en id, uint32_t data)
sdio_status_en sdio_deinit(sdio_instance_en id)
sdio_status_en sdio_set_host_bus_width(sdio_instance_en id, sdio_bus_width_en width)
sdio_status_en sdio_sd_card_erase(sdio_instance_en id, uint32_t startAddr, uint32_t endAddr, sdio_erase_type_en eraseType)
sdio_status_en sdio_init(sdio_instance_en id)
sdio_status_en sdio_cmd_tx_data(sdio_instance_en id, sdio_data_config_t *pcmd)
sdio_status_en sdio_set_host_speed_mode(sdio_instance_en id, sdio_bus_speed_mode_en speedMode)
bool sdio_is_card_connected(sdio_instance_en id)
sdio_status_en sdio_disable(sdio_instance_en id)
sdio_status_en sdio_set_host_voltage(sdio_instance_en id)
sdio_status_en sdio_enable(sdio_instance_en id)
sdio_status_en sdio_sd_card_write(sdio_instance_en id, sdio_write_read_config_t *config)
bool sdio_is_wp_set(sdio_instance_en id)
void sdio_clear_normal_interrupt_status(sdio_instance_en id, uint32_t status)
sdio_status_en sdio_sel_bus_voltage(sdio_instance_en id, bool enable18VSignal)
sdio_status_en sdio_sd_card_init(sdio_instance_en id, sdio_sd_card_config_t *config)
void sdio_set_normal_interrupt_enable(sdio_instance_en id, uint32_t interrupt)
SD Host command configuration structure.
Definition sdio.h:815
bool enableCrcCheck
Definition sdio.h:822
bool dataPresent
Definition sdio.h:834
bool enableAutoResponseErrorCheck
Definition sdio.h:825
sdio_cmd_type_en cmdType
Definition sdio.h:838
sdio_response_type_en respType
Definition sdio.h:828
uint32_t commandArgument
Definition sdio.h:819
bool enableIdxCheck
Definition sdio.h:831
uint32_t commandIndex
Definition sdio.h:816
SD Host initialization configuration structure.
Definition sdio.h:780
sdio_dma_type_en dmaType
Definition sdio.h:781
The SD Host data transfer configuration structure.
Definition sdio.h:847
uint32_t * data
Definition sdio.h:859
uint32_t dataTimeout
Definition sdio.h:862
uint32_t blockSize
Definition sdio.h:848
bool enableDma
Definition sdio.h:850
bool read
Definition sdio.h:856
sdio_auto_cmd_en autoCommand
Definition sdio.h:853
bool enableIntAtBlockGap
Definition sdio.h:865
bool enReliableWrite
Definition sdio.h:868
uint32_t numberOfBlock
Definition sdio.h:849
SD card configuration structure.
Definition sdio.h:790
uint32_t * rca
Definition sdio.h:798
uint32_t busSpeed
Definition sdio.h:805
sdio_card_type_en * cardType
Definition sdio.h:795
sdio_card_capacity_en * cardCapacity
Definition sdio.h:801
sdio_bus_width_en busWidth
Definition sdio.h:794
bool lowVoltageSignaling
Definition sdio.h:791
uint32_t clockSpeed
Definition sdio.h:804
SD Host Write/Read structure.
Definition sdio.h:877
sdio_auto_cmd_en autoCommand
Definition sdio.h:885
bool enReliableWrite
Definition sdio.h:891
uint32_t numberOfBlocks
Definition sdio.h:884
bool enableDma
Definition sdio.h:894
uint32_t * data
Definition sdio.h:878
uint32_t dataTimeout
Definition sdio.h:888
uint32_t address
Definition sdio.h:881