SDIO Slave Interrupt on CYW954907

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
OlKa_3358896
Level 4
Level 4
First like received First like given

Hi. I have worked project with data transmission from STM32 (sdio master mode) to CYW954907 (sdio slave mode). I handle events by polling SDIOD status register, but I want do this with interrupt handler. So I have several quastions:

1. What is handler name for SDIO slave? I assume this is  GSPI_SLAVE_ISR. So I use platform_gspi_slave.c example for enabling interrupt, but this is don't work.

Interrupt enabling.

platform_result_t platform_sdiod_enable_interrupt(void)

{

    platform_irq_remap_sink( OOB_AOUT_GSPI_SLAVE_INTR, SDIO_REMAPPED_ExtIRQn);

    platform_irq_enable_irq(SDIO_REMAPPED_ExtIRQn);

    return PLATFORM_SUCCESS;

}

This my handlers.

WWD_RTOS_DEFINE_ISR( platform_gspi_isr )

{

    printf("SDIO Slave ISR\n");

}

WWD_RTOS_MAP_ISR( platform_gspi_isr, GSPI_SLAVE_ISR )

Can somebody help?

0 Likes
1 Solution
OlKa_3358896
Level 4
Level 4
First like received First like given

I found solution: just need define GSPI_SLAVE_ENABLE for interrupt handlers table in platform_vector_table.c file:

      

        .irqn  = SDIO_REMAPPED_ExtIRQn,

#ifdef GSPI_SLAVE_ENABLE

        .isr   = GSPI_SLAVE_ISR,

#else

        .isr   = SDIO_HOST_ISR,

#endif

View solution in original post

1 Reply
OlKa_3358896
Level 4
Level 4
First like received First like given

I found solution: just need define GSPI_SLAVE_ENABLE for interrupt handlers table in platform_vector_table.c file:

      

        .irqn  = SDIO_REMAPPED_ExtIRQn,

#ifdef GSPI_SLAVE_ENABLE

        .isr   = GSPI_SLAVE_ISR,

#else

        .isr   = SDIO_HOST_ISR,

#endif