2 Replies Latest reply on May 12, 2016 7:39 AM by skerr_1713761

    Issue with i.MX 6UltraLite and Murata SN8000 on 3.14.52 Release

    skerr_1713761

      PROBLEM: After booting platform, insmod/modprobe bcmdhd fails because of a MUXing issue which is driving an enable signal (to SN8000) at wrong level. Same problem will most likely occur on L4.1.15 release as well.

       

      QUICK WORKAROUND: Drive BT_REG_ON low (0V) before invoking insmod/modprobe bcmdhd driver. Correct workaround is to change MUXing in UltraLite DTS file for BT_REG_ON. Both BT_REG_ON and WL_REG_ON should be MUXed so they are pulled low (0V). Will provide updated DTS file later.

       

      root@imx6ulevk:~# echo 252 > /sys/class/gpio/export

      root@imx6ulevk:~# echo 0 > /sys/class/gpio/gpio252/value

       

      NOW Bring up WLAN Interface:

      root@imx6ulevk:/lib/firmware/bcm/SN8000_BCM43362# modprobe bcmdhd nvram_path=./bcmdhd.SN8000.SDIO.cal firmware_path=./fw_bcmdhd.bin

       

      Expected Output:

      dhd_module_init in

      Power-up adapter 'DHD generic adapter'

      wifi_platform_bus_enumerate device present 1

      mmc0: queuing unknown CIS tuple 0x80 (7 bytes)

      mmc0: queuing unknown CIS tuple 0x80 (6 bytes)

      mmc0: queuing unknown CIS tuple 0x80 (8 bytes)

      mmc0: queuing unknown CIS tuple 0x80 (2 bytes)

      mmc0: queuing unknown CIS tuple 0x80 (7 bytes)

      mmc0: queuing unknown CIS tuple 0x80 (5 bytes)

      mmc0: new high speed SDIO card at address 0001

      F1 signature OK, socitype:0x1 chip:0xa962 rev:0x1 pkg:0x9

      DHD: dongle ram size is set to 245760(orig 245760) at 0x0

      wifi_platform_get_mac_addr

      CFG80211-ERROR) wl_setup_wiphy : Registering Vendor80211)

      wl_create_event_handler(): thread:wl_event_handler:2c9 started

      CFG80211-ERROR) wl_event_handler : tsk Enter, tsk = 0x88ce141c

      dhd_attach(): thread:dhd_watchdog_thread:2ca started

      dhd_attach(): thread:dhd_dpc:2cb started

      dhd_deferred_work_init: work queue initialized

      dhdsdio_write_vars: Download, Upload and compare of NVRAM succeeded.

      dhd_bus_init: enable 0x06, ready 0x06 (waited 0us)

      wifi_platform_get_mac_addr

      Firmware up: op_mode=0x0005, MAC=00:0b:6c:43:e6:c8

      dhd_preinit_ioctls buf_key_b4_m4 set failed -23

      Firmware version = wl0: Apr 30 2015 11:15:14 version 5.90.231 FWID 01-0

      dhd_preinit_ioctls wl ampdu_hostreorder failed -23

      dhd_wlfc_init(): successfully enabled bdcv2 tlv signaling, 79

      dhd_wlfc_init(): wlfc_mode=0x0, ret=-23

       

      Dongle Host Driver, version 1.141.72 (r)

      Compiled from

      Register interface [wlan0]  MAC: 00:0b:6c:43:e6:c8

        • 1. Re: Issue with i.MX 6UltraLite and Murata SN8000 on 3.14.52 Release
          jhallam

          Hi skerr_1713761

           

          Can you clarify the purpose of these two signals? As far as I can tell WL_REG_ON is connected to RST_N and BT_REG_ON is connected to GPIO0 on the SN8000. So, if BT_REG_ON was set high, then the SN8000 would enter SPI mode, rather than SDIO, and comms would fail. Is that all correct? As GPIO0 has an internal pull-down, would leaving it floating or permanently pulling it down cause an issue with the driver?

           

          Thanks,

           

          Jon

          • 2. Re: Issue with i.MX 6UltraLite and Murata SN8000 on 3.14.52 Release
            skerr_1713761

            As currently MUXed the i.MX 6UltraLite EVK pulls the BT_REG_ON line high.  BT_REG_ON is used for controlling BT core on other Combo Wi-Fi/BT EVB's (ZP, 1DX, etc.). In the SN8000 case it is connected through to GPIO0. The i.MX software is conifigured for SDIO 4-bit. As such the GPIO0 line needs to be pulled low.

             

            For the reference setup, we just have to modify the DTS file so both BT_REG_ON and WL_REG_ON lines are MUXed --- pulled low. The workaround suggested with setup SN8000 for correct SDIO 4-bit.