8 #ifndef HPM_SDMMC_SDIO_H
9 #define HPM_SDMMC_SDIO_H
24 #define SDIO_CMD53_OP_MODE_FIXED_ADDR 0
25 #define SDIO_CMD53_OP_MODE_INCR_ADDR 1
27 #define SDIO_CMD_TIMEOUT_MS (1000UL)
29 #define SDIO_FBR_REG_BASE(fbr) ((fbr) * 0x100)
31 #define SDIO_MAX_FUNC_NUM 7
36 #define SDIO_SPEED_DEFAULT_SPEED 0UL
37 #define SDIO_SPEED_HIGH_SPEED 1UL
38 #define SDIO_SPEED_SDR12 SDIO_SPEED_DEFAULT_SPEED
39 #define SDIO_SPEED_SDR25 SDIO_SPEED_HIGH_SPEED
40 #define SDIO_SPEED_SDR50 2UL
41 #define SDIO_SPEED_SDR104 3UL
42 #define SDIO_SPEED_DDR50 4UL
47 #define SDIO_CCCR_BUS_WIDTH_1BIT 0UL
48 #define SDIO_CCCR_BUS_WIDTH_4BIT 2UL
53 #define SDIO_CCCR_BUS_SPEED_MASK (0x7UL << 1)
54 #define SDIO_CCCR_BUS_SPEED_SUPPORT_HIGHSPEED (1)
55 #define SDIO_CCCR_BUS_SPEED_DEFAULT (SDIO_SPEED_DEFAULT_SPEED << 1)
56 #define SDIO_CCCR_BUS_SPEED_HIGH (SDIO_SPEED_HIGH_SPEED << 1)
57 #define SDIO_CCCR_BUS_SPEED_SDR12 (SDIO_CCCR_BUS_SPEED_DEFAULT)
58 #define SDIO_CCCR_BUS_SPEED_SDR25 (SDIO_CCCR_BUS_SPEED_HIGH)
59 #define SDIO_CCCR_BUS_SPEED_SDR50 (SDIO_SPEED_SDR50 << 1)
60 #define SDIO_CCCR_BUS_SPEED_SDR104 (SDIO_SPEED_SDR104 << 1)
61 #define SDIO_CCCR_BUS_SPEED_DDR50 (SDIO_SPEED_DDR50 << 1)
66 #define SDIO_REG_CCCR_SDIO_REV 0
67 #define SDIO_REG_CCCR_SD_REV 1
68 #define SDIO_REG_CCCR_IO_ENABLE 2
69 #define SDIO_REG_CCCR_IO_READY 3
70 #define SDIO_REG_CCCR_INT_ENABLE 4
71 #define SDIO_REG_CCCR_INT_PENDING 5
72 #define SDIO_REG_CCCR_IO_ABORT 6
73 #define SDIO_REG_CCCR_BUS_IF_CTRL 7
74 #define SDIO_REG_CCCR_CARD_CAP 8
75 #define SDIO_REG_CCCR_COM_CIS_PTR 9
76 #define SDIO_REG_CCCR_BUS_SUSPEND 0xC
77 #define SDIO_REG_CCCR_FUNC_SEL 0xD
78 #define SDIO_REG_CCCR_EXEC_FLAGS 0xE
79 #define SDIO_REG_CCCR_READY_FLAGS 0xF
80 #define SDIO_REG_CCCR_FN0_BLK_SIZE 0x10
81 #define SDIO_REG_CCCR_POWER_CTRL 0x12
82 #define SDIO_REG_CCCR_BUS_SPEED_SEL 0x13
83 #define SDIO_REG_CCCR_UHS_SUPPORT 0x14
84 #define SDIO_REG_CCCR_DRV_STRENGTH 0x15
85 #define SDIO_REG_CCCR_INT_EXT 0x16
90 #define SDIO_REG_CCCR_START SDIO_REG_CCCR_SDIO_REV
91 #define SDIO_REG_CCCR_END SDIO_REG_CCCR_INT_EXT
93 #define SDIO_REG_FBR_CIS_PTR_OFFSET 0x9
94 #define SDIO_REG_FBR_CSR_PTR_OFFSET 0xC
95 #define SDIO_REG_FBR_MAX_BLK_SIZE_OFFSET 0x10
100 #define CISTPL_NULL (0)
101 #define CISTPL_CHECKSUM (0x10)
102 #define CISTPL_VERS_1 (0x15)
103 #define CISTPL_ALTSTR (0x16)
104 #define CISTPL_MANFID (0x20)
105 #define CISTPL_FUNCID (0x21)
106 #define CISTPL_FUNCE (0x22)
107 #define CISTPL_SDIO_STD (0x91)
108 #define CISTPL_SDIO_EXT (0x92)
109 #define CISTPL_END (0xFF)
273 uint8_t common_cis_pointer[3];
285 uint8_t fn0_block_size[2];
324 #define STD_SDIO_FUNC_IF_CODE_NON_STD 0
325 #define STD_SDIO_FUNC_IF_CODE_UART 1
326 #define STD_SDIO_FUNC_IF_CODE_BT_TYPEA 2
327 #define STD_SDIO_FUNC_IF_CODE_BT_TYPEB 3
328 #define STD_SDIO_FUNC_IF_CODE_GPS 4
329 #define STD_SDIO_FUNC_IF_CODE_CAMERA 5
330 #define STD_SDIO_FUNC_IF_CODE_PHS 6
331 #define STD_SDIO_FUNC_IF_CODE_WLAN 7
332 #define STD_SDIO_FUNC_IF_CODE_ATA 8
333 #define STD_SDIO_FUNC_IF_CODE_BT_TYPEA_AMP 9
334 #define STD_SDIO_FUNC_IF_CODE_ISDIO 0xE
335 #define STD_SDIO_FUNC_IF_CODE_EXT_STD 0xF
482 uint8_t num_of_functions;
483 uint16_t relative_addr;
484 uint32_t max_tran_speed_in_kbps;
501 uint32_t reg_addr = 0;
502 for (uint32_t i = 0; i < 3; i++) {
503 reg_addr |= ((uint32_t) reg_ptr[i]) << (i * 8);
565 bool read_after_write);
597 uint32_t block_size);
786 void (*sdio_irq_callback)(
void *param),
787 void *sdio_irq_param);
uint32_t hpm_stat_t
Definition: hpm_common.h:126
hpm_stat_t sdio_host_deinit(sdio_card_t *card)
De-initialize SDIO host.
Definition: hpm_sdmmc_sdio.c:912
hpm_stat_t sdio_io_write_byte(sdio_card_t *card, uint32_t func_idx, uint32_t reg_addr, uint8_t byte_data)
Write 1 byte to the address for specified SDIO Function.
Definition: hpm_sdmmc_sdio.c:453
hpm_stat_t sdio_card_deinit(sdio_card_t *card)
De-Initialize SDIO card.
Definition: hpm_sdmmc_sdio.c:791
const char * sdio_get_func_if_code_str(uint8_t std_func_if_code)
Get the string for specified function interface code.
Definition: hpm_sdmmc_sdio.c:918
hpm_stat_t sdio_read_cis(sdio_card_t *card, uint32_t cis_ptr, sdio_cis_t *cis, bool keep_tpl_raw_data)
Read Card Information Structure (CIS)
Definition: hpm_sdmmc_sdio.c:238
hpm_stat_t sdio_io_rw_direct(sdio_card_t *card, bool write, uint32_t func_idx, uint32_t reg_addr, uint8_t *pdata, bool read_after_write)
Execute SDIO_IO_RW_DIRECT command (CMD52)
Definition: hpm_sdmmc_sdio.c:368
sdmmc_operation_voltage_t
Definition: hpm_sdmmc_common.h:53
hpm_stat_t sdio_register_irq_callback(sdio_card_t *card, void(*sdio_irq_callback)(void *param), void *sdio_irq_param)
Registers an interrupt callback function for an SDIO card.
Definition: hpm_sdmmc_sdio.c:991
hpm_stat_t sdio_deinit_funcs(sdio_card_t *card)
De-Initialize SDIO functions.
Definition: hpm_sdmmc_sdio.c:866
hpm_stat_t sdio_disable_interrupt(sdio_card_t *card)
Disables SDIO interrupts for the specified card.
Definition: hpm_sdmmc_sdio.c:978
struct sdio_tpl_block * sdio_tpl_blk_t
TPL block structure.
void sdio_deinit(sdio_card_t *card)
De-initialize SDIO device.
Definition: hpm_sdmmc_sdio.c:658
hpm_stat_t sdio_read_fbr(sdio_card_t *card, uint32_t func_idx, sdio_fbr_t *fbr)
Read the specified Function Basic Register.
Definition: hpm_sdmmc_sdio.c:349
hpm_stat_t sdio_io_write_incr_multi_bytes(sdio_card_t *card, uint32_t func_idx, uint32_t reg_addr, uint8_t *pbuf, uint32_t length)
Write multiple bytes to the address for specified SDIO Function.
Definition: hpm_sdmmc_sdio.c:593
hpm_stat_t sdio_init(sdio_card_t *card)
Initialize SDIO device.
Definition: hpm_sdmmc_sdio.c:636
hpm_stat_t sdio_init_funcs(sdio_card_t *card)
Initialize SDIO functions.
Definition: hpm_sdmmc_sdio.c:831
struct _sdmmc_sdio sdio_card_t
Definition: hpm_sdmmc_sdio.h:458
hpm_stat_t sdio_card_init(sdio_card_t *card)
Initialize SDIO card.
Definition: hpm_sdmmc_sdio.c:734
#define SDIO_MAX_FUNC_NUM
Definition: hpm_sdmmc_sdio.h:31
hpm_stat_t sdio_enable_interrupt(sdio_card_t *card)
Enables SDIO interrupts for the specified card.
Definition: hpm_sdmmc_sdio.c:965
hpm_stat_t sdio_io_write_multi_bytes_to_fifo(sdio_card_t *card, uint32_t func_idx, uint32_t reg_addr, uint8_t *pbuf, uint32_t length)
Write multiple bytes to the FIFO address for specified SDIO Function.
Definition: hpm_sdmmc_sdio.c:550
hpm_stat_t sdio_io_read_incr_multi_bytes(sdio_card_t *card, uint32_t func_idx, uint32_t reg_addr, uint8_t *pbuf, uint32_t length)
Read multiple bytes from the address for specified SDIO Function.
Definition: hpm_sdmmc_sdio.c:614
hpm_stat_t sdio_set_block_size(sdio_card_t *card, uint32_t func_idx, uint32_t block_size)
Set the Block size for specified Function.
Definition: hpm_sdmmc_sdio.c:415
hpm_stat_t sdio_io_read_byte(sdio_card_t *card, uint32_t func_idx, uint32_t reg_addr, uint8_t *pdata)
Read 1 byte from the address for specified SDIO Function.
Definition: hpm_sdmmc_sdio.c:448
hpm_stat_t sdio_io_read_multi_bytes_from_fifo(sdio_card_t *card, uint32_t func_idx, uint32_t reg_addr, uint8_t *pbuf, uint32_t length)
Read multiple bytes from the FIFO address for specified SDIO Function.
Definition: hpm_sdmmc_sdio.c:572
hpm_stat_t sdio_get_max_transfer_speed(sdio_card_t *card)
Get the maximum transfer speed.
Definition: hpm_sdmmc_sdio.c:811
hpm_stat_t sdio_host_init(sdio_card_t *card)
Initialize SDIO host.
Definition: hpm_sdmmc_sdio.c:894
hpm_stat_t sdio_io_rw_extend(sdio_card_t *card, bool write, uint32_t func_idx, uint32_t reg_addr, uint32_t op_code, uint8_t *pbuf, uint32_t blocks, uint32_t block_size)
Execute SDIO_IO_RW_EXTEND command (CMD53)
Definition: hpm_sdmmc_sdio.c:458
sdmmc_speed_mode_t
SD/MMC Speed definitions.
Definition: hpm_sdmmc_host.h:103
static uint32_t sdio_cis_csr_addr(const uint8_t *reg_ptr)
Get the CIS register address from raw register value.
Definition: hpm_sdmmc_sdio.h:499
static hpm_stat_t write(void *ops, hpm_serial_nor_transfer_seq_t *cmd_seq)
Definition: hpm_serial_nor_host_spi.c:263
SDIO Function extension structure.
Definition: hpm_sdmmc_sdio.h:384
uint32_t csa_size
Definition: hpm_sdmmc_sdio.h:396
uint8_t support_wakeup
Definition: hpm_sdmmc_sdio.h:389
uint16_t hp_max_pwr_3v3
Definition: hpm_sdmmc_sdio.h:422
uint8_t std_io_rev
Definition: hpm_sdmmc_sdio.h:394
uint8_t op_max_pwr
Definition: hpm_sdmmc_sdio.h:412
uint16_t min_bw
Definition: hpm_sdmmc_sdio.h:416
uint8_t op_avg_pwr
Definition: hpm_sdmmc_sdio.h:411
uint16_t lp_avg_pwr_3v3
Definition: hpm_sdmmc_sdio.h:423
uint16_t lp_max_pwr_3v3
Definition: hpm_sdmmc_sdio.h:424
uint8_t func_info
Definition: hpm_sdmmc_sdio.h:386
uint16_t hp_avg_pwr_3v3
Definition: hpm_sdmmc_sdio.h:421
uint32_t ocr
Definition: hpm_sdmmc_sdio.h:409
uint8_t csa_nf
Definition: hpm_sdmmc_sdio.h:403
uint8_t sb_avg_pwr
Definition: hpm_sdmmc_sdio.h:414
uint8_t sb_max_pwr
Definition: hpm_sdmmc_sdio.h:415
uint16_t enable_timeout_val
Definition: hpm_sdmmc_sdio.h:418
uint8_t csa_wp
Definition: hpm_sdmmc_sdio.h:402
uint8_t sb_min_pwr
Definition: hpm_sdmmc_sdio.h:413
uint16_t sp_max_pwr_3v3
Definition: hpm_sdmmc_sdio.h:420
uint16_t opt_bw
Definition: hpm_sdmmc_sdio.h:417
uint8_t op_min_pwr
Definition: hpm_sdmmc_sdio.h:410
uint32_t psn
Definition: hpm_sdmmc_sdio.h:395
uint8_t csa_property
Definition: hpm_sdmmc_sdio.h:399
uint16_t sp_avg_pwr_3v3
Definition: hpm_sdmmc_sdio.h:419
uint16_t max_blk_size
Definition: hpm_sdmmc_sdio.h:408
CCCR register map.
Definition: hpm_sdmmc_sdio.h:227
uint8_t sdio_version
Definition: hpm_sdmmc_sdio.h:229
uint8_t exec_flags
Definition: hpm_sdmmc_sdio.h:283
uint8_t support_8bit
Definition: hpm_sdmmc_sdio.h:253
uint8_t io_abort
Definition: hpm_sdmmc_sdio.h:242
uint8_t sdio_rev
Definition: hpm_sdmmc_sdio.h:232
uint8_t low_speed_card_4bit_mode
Definition: hpm_sdmmc_sdio.h:269
uint8_t support_master_pwr_ctrl
Definition: hpm_sdmmc_sdio.h:289
uint8_t enable_master_pwr_ctrl
Definition: hpm_sdmmc_sdio.h:290
uint8_t card_capability
Definition: hpm_sdmmc_sdio.h:260
uint8_t bus_speed_sel
Definition: hpm_sdmmc_sdio.h:298
uint8_t support_cmd52
Definition: hpm_sdmmc_sdio.h:262
uint8_t sd_version
Definition: hpm_sdmmc_sdio.h:236
uint8_t bus_status
Definition: hpm_sdmmc_sdio.h:277
uint8_t ready_flags
Definition: hpm_sdmmc_sdio.h:284
uint8_t support_sdr50
Definition: hpm_sdmmc_sdio.h:306
uint8_t bus_release_req
Definition: hpm_sdmmc_sdio.h:278
uint8_t reset
Definition: hpm_sdmmc_sdio.h:245
uint8_t io_enable
Definition: hpm_sdmmc_sdio.h:237
uint8_t support_bus_control
Definition: hpm_sdmmc_sdio.h:265
uint8_t int_pending
Definition: hpm_sdmmc_sdio.h:240
uint8_t function_select
Definition: hpm_sdmmc_sdio.h:282
uint8_t low_speed_card
Definition: hpm_sdmmc_sdio.h:268
uint8_t interrupt_extension
Definition: hpm_sdmmc_sdio.h:317
uint8_t support_read_wait
Definition: hpm_sdmmc_sdio.h:264
uint8_t support_ddr50
Definition: hpm_sdmmc_sdio.h:308
uint8_t io_ready
Definition: hpm_sdmmc_sdio.h:238
uint8_t int_enable
Definition: hpm_sdmmc_sdio.h:239
uint8_t support_block_gap_interrupt
Definition: hpm_sdmmc_sdio.h:266
uint8_t cd_disable
Definition: hpm_sdmmc_sdio.h:255
uint8_t bus_suspend
Definition: hpm_sdmmc_sdio.h:275
uint8_t bus_speed_select
Definition: hpm_sdmmc_sdio.h:295
uint8_t bus_if_ctrl
Definition: hpm_sdmmc_sdio.h:250
uint8_t driver_strength
Definition: hpm_sdmmc_sdio.h:313
uint8_t enable_block_gap_interrupt
Definition: hpm_sdmmc_sdio.h:267
uint8_t cccr_rev
Definition: hpm_sdmmc_sdio.h:231
uint8_t uhs1_support
Definition: hpm_sdmmc_sdio.h:304
uint8_t support_highspeed
Definition: hpm_sdmmc_sdio.h:297
uint8_t support_sdr104
Definition: hpm_sdmmc_sdio.h:307
uint8_t support_multi_block_transfer
Definition: hpm_sdmmc_sdio.h:263
uint8_t abort_select
Definition: hpm_sdmmc_sdio.h:244
uint8_t bus_width
Definition: hpm_sdmmc_sdio.h:252
uint8_t power_control
Definition: hpm_sdmmc_sdio.h:287
SDIO CIS information.
Definition: hpm_sdmmc_sdio.h:431
uint8_t max_tran_speed
Definition: hpm_sdmmc_sdio.h:437
uint8_t std_type
Definition: hpm_sdmmc_sdio.h:442
uint32_t ocr
Definition: hpm_sdmmc_sdio.h:451
uint8_t std_id
Definition: hpm_sdmmc_sdio.h:441
bool csa_nf
Definition: hpm_sdmmc_sdio.h:448
uint16_t max_blk_size
Definition: hpm_sdmmc_sdio.h:445
uint16_t product
Definition: hpm_sdmmc_sdio.h:435
sdio_tpl_blk_t tpl_link
Definition: hpm_sdmmc_sdio.h:455
uint32_t serial_num
Definition: hpm_sdmmc_sdio.h:449
bool support_wakeup
Definition: hpm_sdmmc_sdio.h:443
uint16_t timeout_val_in_10ms
Definition: hpm_sdmmc_sdio.h:446
uint16_t func0_blk_size
Definition: hpm_sdmmc_sdio.h:436
uint16_t manufacturer
Definition: hpm_sdmmc_sdio.h:434
uint32_t csa_size
Definition: hpm_sdmmc_sdio.h:450
uint8_t std_io_rev
Definition: hpm_sdmmc_sdio.h:444
bool csa_wp
Definition: hpm_sdmmc_sdio.h:447
SDIO Common In.
Definition: hpm_sdmmc_sdio.h:377
sdio_tpl_blk_t tpl_link
Definition: hpm_sdmmc_sdio.h:378
FBR register map.
Definition: hpm_sdmmc_sdio.h:340
uint8_t support_csa
Definition: hpm_sdmmc_sdio.h:343
uint8_t data_acc_win_to_csa
Definition: hpm_sdmmc_sdio.h:360
uint16_t sda_mid_manf
Definition: hpm_sdmmc_sdio.h:354
uint16_t mid_card
Definition: hpm_sdmmc_sdio.h:355
uint8_t std_isdio_func_if_code
Definition: hpm_sdmmc_sdio.h:353
uint8_t isdio_type_support_code
Definition: hpm_sdmmc_sdio.h:356
uint8_t std_sdio_func_if_code
Definition: hpm_sdmmc_sdio.h:341
uint8_t pwr_sel
Definition: hpm_sdmmc_sdio.h:351
uint8_t support_pwr_sel
Definition: hpm_sdmmc_sdio.h:348
uint16_t io_blk_size
Definition: hpm_sdmmc_sdio.h:361
uint8_t enable_pwr_sel
Definition: hpm_sdmmc_sdio.h:349
uint8_t ext_std_sdio_func_if_code
Definition: hpm_sdmmc_sdio.h:346
uint8_t csa_enable
Definition: hpm_sdmmc_sdio.h:344
SDIO Function information.
Definition: hpm_sdmmc_sdio.h:463
sdio_card_t * card
Definition: hpm_sdmmc_sdio.h:464
uint32_t current_block_size
Definition: hpm_sdmmc_sdio.h:467
uint32_t max_block_size
Definition: hpm_sdmmc_sdio.h:466
uint8_t func_idx
Definition: hpm_sdmmc_sdio.h:465
sdio_cis_t cis
Definition: hpm_sdmmc_sdio.h:469
sdio_fbr_t fbr
Definition: hpm_sdmmc_sdio.h:470
uint8_t std_sdio_func_if_code
Definition: hpm_sdmmc_sdio.h:468
TPL block structure.
Definition: hpm_sdmmc_sdio.h:367
uint8_t tpl_size
Definition: hpm_sdmmc_sdio.h:370
uint8_t tpl_code
Definition: hpm_sdmmc_sdio.h:369
struct sdio_tpl_block * next
Definition: hpm_sdmmc_sdio.h:368
uint8_t * tpl_data
Definition: hpm_sdmmc_sdio.h:371
Definition: hpm_sdmmc_host.h:203
CMD5 argument definition.
Definition: hpm_sdmmc_sdio.h:194
uint32_t read_afer_write
Definition: hpm_sdmmc_sdio.h:202
uint32_t reg_addr
Definition: hpm_sdmmc_sdio.h:200
uint32_t func_num
Definition: hpm_sdmmc_sdio.h:203
uint32_t wr_data
Definition: hpm_sdmmc_sdio.h:198
uint32_t write
Definition: hpm_sdmmc_sdio.h:204
uint32_t value
Definition: hpm_sdmmc_sdio.h:195
CMD53 argument definition.
Definition: hpm_sdmmc_sdio.h:211
uint32_t block_mode
Definition: hpm_sdmmc_sdio.h:218
uint32_t op_code
Definition: hpm_sdmmc_sdio.h:217
uint32_t rw_flag
Definition: hpm_sdmmc_sdio.h:220
uint32_t count
Definition: hpm_sdmmc_sdio.h:215
uint32_t reg_addr
Definition: hpm_sdmmc_sdio.h:216
uint32_t value
Definition: hpm_sdmmc_sdio.h:212
uint32_t func_num
Definition: hpm_sdmmc_sdio.h:219
CMD5 argument definition.
Definition: hpm_sdmmc_sdio.h:114
uint32_t volt_3p3_3p4
Definition: hpm_sdmmc_sdio.h:132
uint32_t volt_2p6_2p7
Definition: hpm_sdmmc_sdio.h:125
uint32_t value
Definition: hpm_sdmmc_sdio.h:115
uint32_t volt_2p9_3p0
Definition: hpm_sdmmc_sdio.h:128
uint32_t volt_3p4_3p5
Definition: hpm_sdmmc_sdio.h:133
uint32_t volt_2p8_2p9
Definition: hpm_sdmmc_sdio.h:127
uint32_t volt_2p7_2p8
Definition: hpm_sdmmc_sdio.h:126
uint32_t s18r
Definition: hpm_sdmmc_sdio.h:135
uint32_t volt_2p1_2p2
Definition: hpm_sdmmc_sdio.h:120
uint32_t volt_3p1_3p2
Definition: hpm_sdmmc_sdio.h:130
uint32_t volt_2p5_2p6
Definition: hpm_sdmmc_sdio.h:124
uint32_t volt_2p2_2p3
Definition: hpm_sdmmc_sdio.h:121
uint32_t volt_2p4_2p5
Definition: hpm_sdmmc_sdio.h:123
uint32_t volt_2p3_2p4
Definition: hpm_sdmmc_sdio.h:122
uint32_t volt_2p0_2p1
Definition: hpm_sdmmc_sdio.h:119
uint32_t volt_3p5_3p6
Definition: hpm_sdmmc_sdio.h:134
uint32_t volt_3p2_3p3
Definition: hpm_sdmmc_sdio.h:131
uint32_t volt_3p0_3p1
Definition: hpm_sdmmc_sdio.h:129
CMD5 response definition.
Definition: hpm_sdmmc_sdio.h:143
uint32_t volt_2p4_2p5
Definition: hpm_sdmmc_sdio.h:152
uint32_t volt_2p1_2p2
Definition: hpm_sdmmc_sdio.h:149
uint32_t volt_3p5_3p6
Definition: hpm_sdmmc_sdio.h:163
uint32_t volt_2p0_2p1
Definition: hpm_sdmmc_sdio.h:148
uint32_t volt_3p1_3p2
Definition: hpm_sdmmc_sdio.h:159
uint32_t volt_3p4_3p5
Definition: hpm_sdmmc_sdio.h:162
uint32_t memory_present
Definition: hpm_sdmmc_sdio.h:166
uint32_t volt_2p9_3p0
Definition: hpm_sdmmc_sdio.h:157
uint32_t volt_2p8_2p9
Definition: hpm_sdmmc_sdio.h:156
uint32_t value
Definition: hpm_sdmmc_sdio.h:144
uint32_t volt_2p2_2p3
Definition: hpm_sdmmc_sdio.h:150
uint32_t s18r
Definition: hpm_sdmmc_sdio.h:164
uint32_t volt_3p2_3p3
Definition: hpm_sdmmc_sdio.h:160
uint32_t ready
Definition: hpm_sdmmc_sdio.h:168
uint32_t volt_3p0_3p1
Definition: hpm_sdmmc_sdio.h:158
uint32_t volt_2p3_2p4
Definition: hpm_sdmmc_sdio.h:151
uint32_t volt_2p7_2p8
Definition: hpm_sdmmc_sdio.h:155
uint32_t volt_2p5_2p6
Definition: hpm_sdmmc_sdio.h:153
uint32_t num_func
Definition: hpm_sdmmc_sdio.h:167
uint32_t volt_2p6_2p7
Definition: hpm_sdmmc_sdio.h:154
uint32_t volt_3p3_3p4
Definition: hpm_sdmmc_sdio.h:161
Response R5 definition.
Definition: hpm_sdmmc_sdio.h:175
uint8_t err_com_crc
Definition: hpm_sdmmc_sdio.h:186
uint8_t io_current_state
Definition: hpm_sdmmc_sdio.h:184
uint8_t err_out_of_range
Definition: hpm_sdmmc_sdio.h:180
uint8_t err_general
Definition: hpm_sdmmc_sdio.h:183
uint8_t err_num_func
Definition: hpm_sdmmc_sdio.h:181
uint8_t rw_data
Definition: hpm_sdmmc_sdio.h:179
uint8_t err_illegal_cmd
Definition: hpm_sdmmc_sdio.h:185
uint32_t value
Definition: hpm_sdmmc_sdio.h:176