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

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

1,246 Views
pehenazam
Contributor I

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?

0 Kudos
Reply
1 Reply

962 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Pehen Azam,

I’m not familiar with the configuration constraints for the Wandboard so while there are newer kernels available on the Community BSP it is possible that not all kernels are available for this machine. Kernel 4.1.15 should have the CONFIG_EDM_GPIO flag available and if it looks like it’s available on the community BSP. Have you tried adding it to the configuration file manually?

The wandboard is part of the Community BSP and not the BSP release, but perhaps wandboard may gave us some clues.

I hope this helps!

Regards,

0 Kudos
Reply