AnsweredAssumed Answered

Problem with i.MX6ULL and Murata WiFi 1CK

Question asked by Philip Voigt on Feb 9, 2017
Latest reply on Apr 4, 2018 by Amit Kulkarni

Hi,

 

on our custom design with i.MX6ULL we are using the Murata 1CK WiFi/BT module.

Unfortunately we are not able to get the driver loading correctly.

 

According to the imx6ul-evk-btwifi.dtsi we have added the following to our devicetree:

 

 

regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;

wlreg_on: fixedregulator@100 {
compatible = "regulator-fixed";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-name = "wlreg_on";
gpio = <&gpio1 2 0>;
startup-delay-us = <100>;
enable-active-high;
};
};

bcmdhd_wlan_0: bcmdhd_wlan@0 {
compatible = "android,bcmdhd_wlan";
wlreg_on-supply = <&wlreg_on>;
};

 

...

 

&usdhc1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_wifi>;
no-1-8-v;
non-removable;
cd-post;
pm-ignore-notify;
wifi-host; /* add hook for SD card detect mechanism for BCMDHD driver */
};

 

...

 

&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog_1>;

 

imx6ul-evk-murata-v2 {
pinctrl_wifi: wifigrp {
fsl,pins = <
MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0x03029 /* WL-REG-ON */
>;
};
};

 

imx6ul-evk {

...

pinctrl_usdhc1: usdhc1grp {
fsl,pins = <
MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17059
MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10071
MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059
MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059
MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059
MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059
>;
};

...

 

The following problem occurs on our own image as well as on the prebuild fsl-imx-x11 (with our DTB in place):

 

 

cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)

dhd_module_init in

Power-up adapter 'DHD generic adapter'

wifi_platform_bus_enumerate device present 1

------------[ cut here ]------------

WARNING: CPU: 0 PID: 1 at /home/bamboo/build/4.1.X-2.0.0_ga/fsl-imx-x11/temp_build_dir/build_fsl-imx-x11/tmp/work-shared/imx6ull14x14evk/kernel-source/drivers/mmc/host/sdhci-esdhc-imx.c:160 wifi_card_detect+0x54/0x5c()

Modules linked in:

CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.1.15-2.0.1+gb63f3f5 #1

Hardware name: Freescale i.MX6 Ultralite (Device Tree)

[<80015d78>] (unwind_backtrace) from [<8001271c>] (show_stack+0x10/0x14)

[<8001271c>] (show_stack) from [<807f54a0>] (dump_stack+0x84/0xc4)

[<807f54a0>] (dump_stack) from [<800357e0>] (warn_slowpath_common+0x80/0xb0)

[<800357e0>] (warn_slowpath_common) from [<800358ac>] (warn_slowpath_null+0x1c/0x24)

[<800358ac>] (warn_slowpath_null) from [<80587634>] (wifi_card_detect+0x54/0x5c)

[<80587634>] (wifi_card_detect) from [<80498e34>] (wifi_platform_bus_enumerate+0x5c/0x98)

[<80498e34>] (wifi_platform_bus_enumerate) from [<80499044>] (dhd_wifi_platform_load+0x138/0x39c)

[<80499044>] (dhd_wifi_platform_load) from [<803870a0>] (platform_drv_probe+0x44/0xac)

[<803870a0>] (platform_drv_probe) from [<8038593c>] (driver_probe_device+0x174/0x2b4)

[<8038593c>] (driver_probe_device) from [<80385b4c>] (__driver_attach+0x8c/0x90)

[<80385b4c>] (__driver_attach) from [<80383fc8>] (bus_for_each_dev+0x68/0x9c)

[<80383fc8>] (bus_for_each_dev) from [<803850cc>] (bus_add_driver+0x148/0x1f0)

[<803850cc>] (bus_add_driver) from [<8038614c>] (driver_register+0x78/0xf8)

[<8038614c>] (driver_register) from [<8049982c>] (dhd_wifi_platform_register_drv+0x1ac/0x1f8)

[<8049982c>] (dhd_wifi_platform_register_drv) from [<80009718>] (do_one_initcall+0x8c/0x1d4)

[<80009718>] (do_one_initcall) from [<80b18dbc>] (kernel_init_freeable+0x144/0x1e4)

[<80b18dbc>] (kernel_init_freeable) from [<807f1704>] (kernel_init+0x8/0xe8)

[<807f1704>] (kernel_init) from [<8000f528>] (ret_from_fork+0x14/0x2c)

---[ end trace 2c0c48362feb13e9 ]---

Unable to handle kernel NULL pointer dereference at virtual address 000001b8

pgd = 80004000

[000001b8] *pgd=00000000

Internal error: Oops: 5 [#1] PREEMPT SMP ARM

Modules linked in:

CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W       4.1.15-2.0.1+gb63f3f5 #1

Hardware name: Freescale i.MX6 Ultralite (Device Tree)

task: 88048000 ti: 8804c000 task.ti: 8804c000

PC is at _mmc_detect_change.constprop.13+0x8/0x68

LR is at wifi_platform_bus_enumerate+0x5c/0x98

pc : [<8056e84c>]    lr : [<80498e34>]    psr: 20000113

sp : 8804de08  ip : 00000000  fp : 00000000

r10: 00000000  r9 : 00000000  r8 : 80bbe114

r7 : 8804de38  r6 : 00000000  r5 : 00000001  r4 : 00000000

r3 : 00000000  r2 : 00000200  r1 : 00000000  r0 : 00000000

Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel

Control: 10c53c7d  Table: 8000406a  DAC: 00000015

Process swapper/0 (pid: 1, stack limit = 0x8804c210)

Stack: (0x8804de08 to 0x8804e000)

de00:                   00000000 80498e34 883c2f80 00000003 00000000 80499044

de20: 00000000 00000000 80c45a8c 80c4f5a4 00000000 00000000 8804de38 8804de38

de40: 880a1d28 80c4ad18 880f3210 80bbff50 fffffdfb 00000002 00000000 80b7d058

de60: 00000000 803870a0 80c4ad18 880f3210 80bbff50 00000000 00000002 8038593c

de80: 880f3210 80bbff50 880f3244 80bafec8 00000000 80385b4c 00000000 80bbff50

dea0: 80385ac0 80383fc8 8803095c 880ef5b4 80bbff50 883f8680 00000000 803850cc

dec0: 80a5370c 00000000 883c2f80 80bbff50 00000000 883c2f80 80c3b8f0 8038614c

dee0: 80c4f5a4 00000000 883c2f80 8049982c 80b89720 80b89720 883c2f80 80b57a4c

df00: 00000000 80b70514 80b7d058 80009718 80b704f0 80140f34 00000000 88031c00

df20: 00000000 80b91468 60000113 00000000 8bfffab6 8bfffab4 80828aa4 8004d564

df40: 00000000 809d7e0c 00000007 00000007 80b91450 00000134 00000007 80bf3000

df60: 00000134 00000007 80bf3000 80bf3000 80b70510 80b18dbc 00000007 00000007

df80: 80b18594 80051c24 00000000 807f16fc 00000000 00000000 00000000 00000000

dfa0: 00000000 807f1704 00000000 8000f528 00000000 00000000 00000000 00000000

dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 fc9d77e7 7dd77faf

[<8056e84c>] (_mmc_detect_change.constprop.13) from [<00000003>] (0x3)

Code: eb0a12ef eaffffeb e92d4010 e1a03001 (e59021b8)

---[ end trace 2c0c48362feb13ea ]---

Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

 

---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

 

Looks like there is a problem with the card detect mechanism.

Any idea what we are doing wrong?

 

Many thanks,

Philip.

Outcomes