I inherited a yocto project that uses wandbaord imx6 solo as the base on a custom carrier board. We want to upgrade to imx6 plus to enable WIFI. I cant just use the original image from technexion because of the custom modifications for our distribution. So I am trying to add what is needed from technexion. I have configured dts file and kernel configuration options for bcmdhd driver and the firmware. I am able to to see in run-time that kernel contains the driver configurations. I am able to "modprob bcmdhd" and wlan0 interface is created with some issues but "ifconfig up" hangs forever. I noticed recently that the missing part is a configuration for gpio which I have added to dts but I am missing it in the kernel configuration options (menu config), here is the dts blob:
gpio-edm {
compatible = "gpio-edm";
wifi_on {
label = "wifi_on";
gpios = <&gpio6 0 1>;
dir = "out";
};
};
in /sys/kernel/debug/gpio of technexion I can see gpio-160 has wifi_on:
GPIOs 160-191, platform/20b0000.gpio, 20b0000.gpio:
gpio-160 (wifi_on ) out lo·
gpio-162 (GPIO_P256 ) in hi·
gpio-191 (GPIO_P260 ) in hi·
but in our kernel gpio160 is missing and when I add it manually from /sys/class/gpio/ and echo 160>export , it does not have wifi_on on it.
GPIOs 160-191, platform/20b0000.gpio, 20b0000.gpio:
gpio-160 (sysfs ) out lo
gpio-165 (? ) out lo
gpio-191 (? ) in hi
when I compare our kernel with a kernel from technexion with wifi, I can see that I need to add "CONFIG_EDM_GPIO=y" to my kernel. But the problem is that our kernel is missing CONFIG_EDM_GPIO option and it is not in menu config. Is there any way to force our kernel to have this option? Or is there a way to upgrade the kernel version to support missing kernel config options?
Here is our kernel which is missing CONFIG_EDM_GPIOL:
Linux acompany 4.1.15-1.2.0+g7d6134 #1 SMP PREEMPT Wed Oct 18 15:25:22 CEST 2017 armv7l GNU/Linux
and the kernel from technexion with wifi:
Linux edm1-cf-imx6 4.1.15-1.1.1-technexion+gecb66a3 #1 SMP PREEMPT Thu Sep 21 15:38:51 CEST 2017 armv7l GNU/Linux
Any idea how I can fix the issue?