Tool/software:
Hi TI's experts,
I refered to the document to enable BLE over SDIO. (https://dev.ti.com/tirex/explore/content/CC33XX_LINUX_MPU_1_00_00_09__all/docs/linux/html/linux/migration-guide.html#ble-over-sdio)
And BLE over SDIO works normally, but WoWLAN is disabled, we check with the command "iw phy0 wowlan show".
I investigated with source code and found that the registration of WoWLAN requires GPIO irq settings.
Please check out the following source code from SDK.
static void setup_wake_irq(struct cc33xx *wl)
{
...
if (pdev_data->pwr_in_suspend)
wl->hw->wiphy->wowlan = &wlcore_wowlan_support;
...
}
static int sdio_cc33xx_probe(struct sdio_func *func,
const struct sdio_device_id *id)
{
...
if (gpio_irq)
{
...
if ((mmcflags & MMC_PM_KEEP_POWER) &&
(enable_irq_wake(gpio_irq)==0))
pdev_data->pwr_in_suspend = true;
...
}
...
}
As mentioned from document, a pre-requirement is that in-band IRQ must also be used for BLE over SDIO, and there isn't GPIO irq settings for wlcore in the example code.
wlcore: wlcore@2 { compatible = "ti,cc33xx"; reg = <2>; };
So it looks that it is not possible enable BLE over SDIO and WoWLAN at the same time, is it right?
Additionally, I had tried that only keep GPIO irq settings for wlcore, BLE over SDIO and WoWLAN work normally so far.
Could you please confirm that whether should I keep GPIO irq settings for wlcore, and BLE over SDIO at the same time?