Hi,
We are using BBB(am335x) based custom board with a Marvell's WIFI chip.
We are currently migrating from Kernel 4.4 to Kernel 5.10 and it seems like in 5.10 kernel, we have to define both interrupts-extended and cd-gpios for the MMC-DAT1 line to work. If either of them is removed Wi-FI driver does not seem to load correctly.
Not sure if we really require both or there is some configuration that is causing this. Below are the details of device tree and config file for the old (4.4) kernel and new (5.10) kernel.
Please let me know if we require both cd-gpios and interrupts-enabled.
Kernel 5.10 MMC configuration
-------------------------------------------------------------------
Device tree - MMC configuration
&mmc1 {
compatible = "ti,am33xx-hsmmc";
vmmc-supply = <&vmmcsd_fixed>;
bus-width = <4>;
pinctrl-names = "default", "idle";
pinctrl-0 = <&mmc1_pins_default>;
pinctrl-1 = <&mmc1_pins_idle>;
/* MMC-DAT1 line - GPIO2 Pin 28 is used as interrupt in idle mode.
The Interrupt Number is 64
*/
interrupts-extended = <&intc 64 &gpio2 28 GPIO_ACTIVE_LOW>;
status = "okay";
};
Kernel 5.10 MMC configuration
-------------------------------
Kernel 5-10 Device tree - MMC configuration
&mmc1 {
compatible = "ti,am33xx-hsmmc";
ti,dual-volt;
ti,needs-special-hs-handling;
vmmc-supply = <&vmmcsd_fixed>;
bus-width = <4>;
pinctrl-names = "default", "idle";
pinctrl-0 = <&mmc1_pins_default>;
pinctrl-1 = <&mmc1_pins_idle>;
/* MMC-DAT1 line - GPIO2 Pin 28 is used as interrupt in idle mode.
*/
interrupts-extended = <&intc 64 &gpio2 28 GPIO_ACTIVE_LOW>;
cd-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
status = "okay";
};
Kernel 5.10 - MMC Config -------------------------- CONFIG_MMC=y # CONFIG_PWRSEQ_EMMC is not set # CONFIG_PWRSEQ_SIMPLE is not set CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=23 # CONFIG_SDIO_UART is not set # CONFIG_MMC_TEST is not set # # MMC/SD/SDIO Host Controller Drivers # # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_SDHCI is not set CONFIG_MMC_OMAP=y CONFIG_MMC_OMAP_HS=y # CONFIG_MMC_SPI is not set # CONFIG_MMC_DW is not set # CONFIG_MMC_USDHI6ROL0 is not set # CONFIG_MMC_CQHCI is not set # CONFIG_MMC_HSQ is not set # CONFIG_MMC_MTK is not set # CONFIG_MEMSTICK is not set
Thanks