• F
    brcmfmac: add out of band interrupt support · ba89bf19
    Franky Lin 提交于
    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: Npieter-paul giesberts <pieterpg@broadcom.com>
    Reviewed-by: Narend van spriel <arend@broadcom.com>
    Signed-off-by: Nfranky lin <frankyl@broadcom.com>
    Signed-off-by: NFranky Lin <frankyl@broadcom.com>
    Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
    ba89bf19
sdio_host.h 9.7 KB