#include "cyhal_sdio.h"

#include "fsl_sdio.h"

#define CYHAL_SDIO_UNUSED(x) ((void)(x))

static sdio_card_t s_sdio;

cy_rslt_t cyhal_sdio_init(cyhal_sdio_t *obj, cyhal_gpio_t cmd, cyhal_gpio_t clk, cyhal_gpio_t data0, cyhal_gpio_t data1,
                                   cyhal_gpio_t data2, cyhal_gpio_t data3) {
    CYHAL_SDIO_UNUSED(obj);
    CYHAL_SDIO_UNUSED(cmd);
    CYHAL_SDIO_UNUSED(clk);
    CYHAL_SDIO_UNUSED(data0);
    CYHAL_SDIO_UNUSED(data1);
    CYHAL_SDIO_UNUSED(data2);
    CYHAL_SDIO_UNUSED(data3);

    SDIO_Init(&s_sdio);

    return CY_RSLT_SUCCESS;
}

void cyhal_sdio_register_irq(cyhal_sdio_t *obj, cyhal_sdio_irq_handler_t handler, void *handler_arg) {

}

void cyhal_sdio_irq_enable(cyhal_sdio_t *obj, cyhal_sdio_irq_event_t event, bool enable) {

}

cy_rslt_t cyhal_sdio_send_cmd(const cyhal_sdio_t *obj, cyhal_transfer_t direction, cyhal_sdio_command_t command,
                              uint32_t argument, uint32_t *response) {

}

cy_rslt_t cyhal_sdio_bulk_transfer(cyhal_sdio_t *obj, cyhal_transfer_t direction, uint32_t argument,
                                   const uint32_t *data, uint16_t length, uint32_t *response) {

}