result = whd_bus_write_register_value(whd_driver, BACKPLANE_FUNCTION, SDIO_BACKPLANE_ADDRESS_HIGH,
(uint8_t)1, (base >> 24) );
【F:\Code\C\MCU\wifi_scan_20250407\Middlewares\Third_Party\Infineon_Wireless_Connectivity\wifi-host-driver\COMPONENT_WIFI5\src\bus_protocols\whd_bus.c】
whd_result_t whd_bus_write_register_value(whd_driver_t whd_driver, whd_bus_function_t function, uint32_t address,
uint8_t value_length, uint32_t value)
{
return whd_driver->bus_if->whd_bus_write_register_value_fptr(whd_driver, function, address, value_length, value);
}
【F:\Code\C\MCU\wifi_scan_20250407\Middlewares\Third_Party\Infineon_Wireless_Connectivity\wifi-host-driver\COMPONENT_WIFI5\src\bus_protocols\whd_bus_sdio_protocol.c】
whd_result_t whd_bus_sdio_write_register_value(whd_driver_t whd_driver, whd_bus_function_t function, uint32_t address,
uint8_t value_length, uint32_t value)
{
return whd_bus_sdio_transfer(whd_driver, BUS_WRITE, function, address, value_length, (uint8_t *)&value,
RESPONSE_NEEDED);
}
static whd_result_t whd_bus_sdio_transfer(whd_driver_t whd_driver, whd_bus_transfer_direction_t direction,
whd_bus_function_t function, uint32_t address, uint16_t data_size,
uint8_t *data, sdio_response_needed_t response_expected);
if (data_size == (uint16_t)1)
{
return whd_bus_sdio_cmd52(whd_driver, direction, function, address, *data, response_expected, data);
}
static whd_result_t whd_bus_sdio_cmd52(whd_driver_t whd_driver, whd_bus_transfer_direction_t direction,
whd_bus_function_t function, uint32_t address, uint8_t value,
sdio_response_needed_t response_expected, uint8_t *response);
result = cyhal_sdio_send_cmd(whd_driver->bus_priv->sdio_obj, (cyhal_sdio_transfer_t)direction,
CYHAL_SDIO_CMD_IO_RW_DIRECT, arg.value,
&sdio_response);
【F:\Code\C\MCU\wifi_scan_20250407\Middlewares\Third_Party\Infineon_Wireless_Connectivity\pal\targets\TARGET_STM32\Src\stm32_cyhal_sdio.c】
cy_rslt_t cyhal_sdio_send_cmd(cyhal_sdio_t* obj, cyhal_sdio_transfer_type_t direction,
cyhal_sdio_command_t command, uint32_t argument, uint32_t* response);
ret = _stm32_sdio_cmd_rw_direct(obj->hsd->Instance, argument, response);
static uint32_t _stm32_sdio_cmd_rw_direct(SDMMC_TypeDef* SDMMCx, uint32_t argument,
uint32_t* response);
SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit);
errorstate = _stm32_sdio_get_cmd_resp5(SDMMCx, SDMMC_CMD_SDMMC_RW_DIRECT, response, argument);
static uint32_t _stm32_sdio_get_cmd_resp5(SDMMC_TypeDef* SDMMCx, uint8_t SD_CMD, uint32_t* data,
uint32_t argument);
SDMMC_GetCommandResponse(SDMMCx);
__SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS);
SDMMC_GetResponse(SDMMCx, SDMMC_RESP1);