Skip to content
  • Franky Lin's avatar
    brcmfmac: add out of band interrupt support · ba89bf19
    Franky Lin authored
    
    
    Some sdio host controllers do not support real in band interrupt.
    Software polling mode as a replacement is not fast enough for
    high throughput and new features. Also some in band interrupts
    do not support host wake up on embedded platform even when they
    are real physical interrupts. Therefore out of band (oob)
    interrupt mechanism is implemented for these scenarios.
    
    To provide oob irq number and flags used for irq registration in
    brcmfmac, a platform device contains irq resource must be
    registered in board specific code.
    
    Here is an example of platform device structure:
    struct resource brcmf_sdio_res[] = {
    	{
    		.start	= GPIO_BRCMF_SDIO_OOB_NUM,
    		.end	= GPIO_BRCMF_SDIO_OOB_NUM,
    		.flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
    	}
    };
    struct platform_device brcmf_sdio_device = {
    	.name		= "brcmf_sdio_pd",
    	.id		= -1,
    	.num_resources	= ARRAY_SIZE(brcmf_sdio_res),
    	.resource	= brcmf_sdio_res,
    };
    
    Reviewed-by: default avatarpieter-paul giesberts <pieterpg@broadcom.com>
    Reviewed-by: default avatararend van spriel <arend@broadcom.com>
    Signed-off-by: default avatarfranky lin <frankyl@broadcom.com>
    Signed-off-by: default avatarFranky Lin <frankyl@broadcom.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    ba89bf19