AnsweredAssumed Answered

how upgrade a kernel in yocto to have missing kernel configuration option

Question asked by Pehen Azam on Oct 19, 2017
Latest reply on Oct 24, 2017 by gusarambula

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?

Outcomes