AnsweredAssumed Answered

WLCORE_SDIO is not getting probed successfully on IMX6SL board with newer kernel 4.2

Question asked by Sudhanshu Bhutani on Jun 21, 2016
Latest reply on Jun 29, 2016 by Sudhanshu Bhutani

Hi NXP experts,

 

I am doing a migration activity from 3.14 kernel to newer kernel 4.2 for my freescale zbha board. My bluetooth chip comes up successfully with new kernel using following kim entries in DTB

        kim {

        compatible = "kim";

            nshutdown_gpio = <133>;  // GPIO5_5

            dev_name = "/dev/ttymxc1";

            flow_cntrl = <1>;

            baud_rate = <3000000>;

        };

 

        btwilink {

        compatible = "btwilink";

        };

 

 

However, my wlcore (wifi drivers over SDIO) are not getting probed, following is the .config from kernel for bluetooth/wlcore related stuff.

 

I want to make wlan0 interface up on newer kernel on my board, so that i can setup board as Wireless access point.

 

My board has wifi chip(wl18MODGB) which needs to probed successfully, and the target is to get all the peripherals UP and running with newer kernel.

 

#

# Bluetooth device drivers

#

# CONFIG_BT_HCIBTUSB is not set

# CONFIG_BT_HCIBTSDIO is not set

CONFIG_BT_HCIUART=y

# CONFIG_BT_HCIUART_H4 is not set

# CONFIG_BT_HCIUART_BCSP is not set

# CONFIG_BT_HCIUART_ATH3K is not set

CONFIG_BT_HCIUART_LL=y

# CONFIG_BT_HCIUART_3WIRE is not set

# CONFIG_BT_HCIUART_INTEL is not set

# CONFIG_BT_HCIUART_BCM is not set

# CONFIG_BT_HCIBCM203X is not set

# CONFIG_BT_HCIBPA10X is not set

# CONFIG_BT_HCIBFUSB is not set

# CONFIG_BT_HCIVHCI is not set

# CONFIG_BT_MRVL is not set

CONFIG_BT_WILINK=y

# CONFIG_AF_RXRPC is not set

CONFIG_WIRELESS=y

CONFIG_WEXT_CORE=y

CONFIG_WEXT_PROC=y

CONFIG_CFG80211=y

# CONFIG_NL80211_TESTMODE is not set

# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set

# CONFIG_CFG80211_REG_DEBUG is not set

# CONFIG_CFG80211_CERTIFICATION_ONUS is not set

CONFIG_CFG80211_DEFAULT_PS=y

# CONFIG_CFG80211_DEBUGFS is not set

# CONFIG_CFG80211_INTERNAL_REGDB is not set

CONFIG_CFG80211_WEXT=y

# CONFIG_LIB80211 is not set

CONFIG_MAC80211=y

CONFIG_MAC80211_HAS_RC=y

CONFIG_MAC80211_RC_MINSTREL=y

CONFIG_MAC80211_RC_MINSTREL_HT=y

# CONFIG_MAC80211_RC_MINSTREL_VHT is not set

CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y

CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"

# CONFIG_MAC80211_MESH is not set

# CONFIG_MAC80211_LEDS is not set

# CONFIG_MAC80211_DEBUGFS is not set

# CONFIG_MAC80211_MESSAGE_TRACING is not set

# CONFIG_MAC80211_DEBUG_MENU is not set

CONFIG_MAC80211_STA_HASH_MAX_SIZE=0

# CONFIG_WIMAX is not set

CONFIG_RFKILL=y

CONFIG_RFKILL_LEDS=y

CONFIG_RFKILL_INPUT=y

# CONFIG_RFKILL_REGULATOR is not set

# CONFIG_RFKILL_GPIO is not set

# CONFIG_NET_9P is not set

# CONFIG_CAIF is not set

# CONFIG_CEPH_LIB is not set

# CONFIG_NFC is not set

CONFIG_HAVE_BPF_JIT=y

 

I have following firmrware present in my filesystem.

root@imx6slevk:~# ls /lib/firmware/

TIInit_10.6.15.bts   edgeport             radeon

TIInit_11.8.32.bts   emi26                tehuti

TIInit_12.8.32.bts   emi62                ti-connectivity

TIInit_7.2.31.bts    ess                  ti_3410.fw

TIInit_7.6.15.bts    kaweth               ti_5052.fw

acenic               keyspan_pda          tigon

av7110               korg                 ttusb-budget

bnx2                 mts_cdma.fw          whiteheat.fw

bnx2x                mts_edge.fw          whiteheat_loader.fw

cpia2                mts_gsm.fw           yamaha

e100                 qlogic

root@imx6slevk:~#

 

root@imx6slevk:~# ls /lib/firmware/ti-connectivity/

TIInit_10.6.15.bts  TIInit_12.8.32.bts  TIInit_7.6.15.bts   wl18xx-fw-2.bin

TIInit_11.8.32.bts  TIInit_7.2.31.bts   wl18xx-conf.bin

root@imx6slevk:~#

 

U-Boot 2014.01 (Sep 17 2015 - 14:35:46)

 

CPU:   Freescale i.MX6SL rev1.2 at 792 MHz

Reset cause: POR

Board: MX6ZBHA

I2C:   ready

DRAM:  512 MiB

MMC:   FSL_SDHC: 0

SF: Detected N25Q512 with page size 256 Bytes, erase size 64 KiB, total 64 MiB

In:    serial

Out:   serial

Err:   serial

Net:   FEC [PRIME]

Hit any key to stop autoboot:  0

Using FEC device

TFTP from server 192.168.1.10; our IP address is 192.168.1.200

Filename 'ramfs'.

Load address: 0x82600000

Loading: #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         ############################################

         2.5 MiB/s

done

Bytes transferred = 14949900 (e41e0c hex)

Using FEC device

TFTP from server 192.168.1.10; our IP address is 192.168.1.200

Filename 'dtb'.

Load address: 0x88000000

Loading: ###

         2.1 MiB/s

done

Bytes transferred = 30833 (7871 hex)

Using FEC device

TFTP from server 192.168.1.10; our IP address is 192.168.1.200

Filename 'kernel'.

Load address: 0x82000000

Loading: #################################################################

         #################################################################

         #################################################################

         #################################################################

         #################################################################

         #########################

         2.5 MiB/s

done

Bytes transferred = 5127480 (4e3d38 hex)

## Booting kernel from Legacy Image at 82000000 ...

   Image Name:   Linux-4.2.3-200.el7.centos.armv7

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    5127416 Bytes = 4.9 MiB

   Load Address: 80008000

   Entry Point:  80008000

   Verifying Checksum ... OK

## Loading init Ramdisk from Legacy Image at 82600000 ...

   Image Name:   Ramdisk_by_harman

   Image Type:   ARM Linux RAMDisk Image (gzip compressed)

   Data Size:    14949836 Bytes = 14.3 MiB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 88000000

   Booting using the fdt blob at 0x88000000

   Loading Kernel Image ... OK

   Using Device Tree in place at 88000000, end 8800a870

 

Starting kernel ...

 

[    0.000000] Booting Linux on physical CPU 0x0

[    0.000000] Linux version 4.2.3-200.el7.centos.armv7hl-Harman (sbhutani@sudhanshu-bhutani) (gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0) )6

[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d

[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache

[    0.000000] Machine model: Freescale i.MX6SL ZBHA board by HARMAN

[    0.000000] cma: Reserved 16 MiB at 0x9f000000

[    0.000000] Memory policy: Data cache writealloc

[    0.000000] PERCPU: Embedded 11 pages/cpu @9ebc6000 s14848 r8192 d22016 u45056

[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048

[    0.000000] Kernel command line: console=ttymxc0,115200 root=/dev/ram rw ramdisk_size=256000

[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)

[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)

[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)

[    0.000000] Memory: 470992K/524288K available (6547K kernel code, 302K rwdata, 2072K rodata, 284K init, 8328K bss, 36912K reserved, 16384K cma-res)

[    0.000000] Virtual kernel memory layout:

[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)

[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)

[    0.000000]     vmalloc : 0xa0800000 - 0xff000000   (1512 MB)

[    0.000000]     lowmem  : 0x80000000 - 0xa0000000   ( 512 MB)

[    0.000000]     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)

[    0.000000]     modules : 0x7f000000 - 0x7fe00000   (  14 MB)

[    0.000000]       .text : 0x80008000 - 0x80872fd4   (8620 kB)

[    0.000000]       .init : 0x80873000 - 0x808ba000   ( 284 kB)

[    0.000000]       .data : 0x808ba000 - 0x80905860   ( 303 kB)

[    0.000000]        .bss : 0x80908000 - 0x8112a38c   (8329 kB)

[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

[    0.000000] Running RCU self tests

[    0.000000] Hierarchical RCU implementation.

[    0.000000]  RCU lockdep checking is enabled.

[    0.000000]  Additional per-CPU info printed with stalls.

[    0.000000]  Build-time adjustment of leaf fanout to 32.

[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.

[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1

[    0.000000] NR_IRQS:16 nr_irqs:16 16

[    0.000000] L2C-310 erratum 769419 enabled

[    0.000000] L2C-310 enabling early BRESP for Cortex-A9

[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9

[    0.000000] L2C-310 ID prefetch enabled, offset 1 lines

[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled

[    0.000000] L2C-310 cache controller enabled, 16 ways, 256 kB

[    0.000000] L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76030001

[    0.000000] Switching to timer-based delay loop, resolution 15ns

[    0.000007] sched_clock: 32 bits at 66MHz, resolution 15ns, wraps every 32537631224ns

[    0.000035] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 28958491609 ns

[    0.001369] Console: colour dummy device 80x30

[    0.001401] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar

[    0.001412] ... MAX_LOCKDEP_SUBCLASSES:  8

[    0.001423] ... MAX_LOCK_DEPTH:          48

[    0.001431] ... MAX_LOCKDEP_KEYS:        8191

[    0.001439] ... CLASSHASH_SIZE:          4096

[    0.001447] ... MAX_LOCKDEP_ENTRIES:     32768

[    0.001455] ... MAX_LOCKDEP_CHAINS:      65536

[    0.001463] ... CHAINHASH_SIZE:          32768

[    0.001471]  memory used by lock dependency info: 5167 kB

[    0.001480]  per task-struct memory footprint: 1536 bytes

[    0.001510] Calibrating delay loop (skipped), value calculated using timer frequency.. 132.00 BogoMIPS (lpj=660000)

[    0.001531] pid_max: default: 32768 minimum: 301

[    0.001816] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)

[    0.001834] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)

[    0.003533] CPU: Testing write buffer coherency: ok

[    0.004268] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000

[    0.004339] Setting up static identity map for 0x80008280 - 0x800082f0

[    0.007216] Brought up 1 CPUs

[    0.007235] SMP: Total of 1 processors activated (132.00 BogoMIPS).

[    0.007246] CPU: All CPU(s) started in SVC mode.

[    0.009081] devtmpfs: initialized

[    0.031731] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4

[    0.032539] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns

[    0.034284] pinctrl core: initialized pinctrl subsystem

[    0.035221] bus: 'platform': really_probe: probing driver reg-dummy with device reg-dummy

[    0.037713] NET: Registered protocol family 16

[    0.041100] DMA: preallocated 256 KiB pool for atomic coherent allocations

[    0.052575] bus: 'platform': really_probe: probing driver gpio-mxc with device 209c000.gpio

[    0.054498] bus: 'platform': really_probe: probing driver gpio-mxc with device 20a0000.gpio

[    0.056130] bus: 'platform': really_probe: probing driver gpio-mxc with device 20a4000.gpio

[    0.057735] bus: 'platform': really_probe: probing driver gpio-mxc with device 20a8000.gpio

[    0.059323] bus: 'platform': really_probe: probing driver gpio-mxc with device 20ac000.gpio

[    0.062969] bus: 'platform': really_probe: probing driver anatop_regulator with device 20c8000.anatop:regulator-1p1@110

[    0.064403] bus: 'platform': really_probe: probing driver anatop_regulator with device 20c8000.anatop:regulator-3p0@120

[    0.065471] bus: 'platform': really_probe: probing driver anatop_regulator with device 20c8000.anatop:regulator-2p5@130

[    0.066519] bus: 'platform': really_probe: probing driver anatop_regulator with device 20c8000.anatop:regulator-vddcore@140

[    0.067634] bus: 'platform': really_probe: probing driver anatop_regulator with device 20c8000.anatop:regulator-vddpu@140

[    0.068707] bus: 'platform': really_probe: probing driver anatop_regulator with device 20c8000.anatop:regulator-vddsoc@140

[    0.070384] bus: 'platform': really_probe: probing driver mxs_phy with device 20c9000.usbphy

[    0.071390] bus: 'platform': really_probe: probing driver mxs_phy with device 20ca000.usbphy

[    0.073818] bus: 'platform': really_probe: probing driver sram with device 904000.sram

[    0.081676] bus: 'platform': really_probe: probing driver imx-mmdc with device 21b0000.mmdc

[    0.088684] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.

[    0.088700] hw-breakpoint: maximum watchpoint size is 4 bytes.

[    0.090190] bus: 'platform': really_probe: probing driver imx6sl-pinctrl with device 20e0000.iomuxc

[    0.090912] imx6sl-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/usdhc2grp

[    0.090937] imx6sl-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/usdhc2grp100mhz

[    0.090956] imx6sl-pinctrl 20e0000.iomuxc: no groups defined in /soc/aips-bus@02000000/iomuxc@020e0000/usdhc2grp200mhz

[    0.092685] imx6sl-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver

[    0.094154] bus: 'platform': really_probe: probing driver imx-gpc with device 20dc000.gpc

[    0.118409] bus: 'platform': really_probe: probing driver reg-fixed-voltage with device regulators:tiwi_wlan

[    0.119210] reg-fixed-voltage regulators:tiwi_wlan: wilink_wl_en supplying 1800000uV

[    0.119253] bus: 'platform': really_probe: probing driver reg-fixed-voltage with device regulators:lcd-3v3

[    0.119917] reg-fixed-voltage regulators:lcd-3v3: lcd-3v3 supplying 0uV

[    0.119957] bus: 'platform': really_probe: probing driver reg-fixed-voltage with device regulators:wm8962_supply_3v15

[    0.120641] reg-fixed-voltage regulators:wm8962_supply_3v15: wm8962-supply-3v15 supplying 3150000uV

[    0.120681] bus: 'platform': really_probe: probing driver reg-fixed-voltage with device regulators:wm8962_supply_4v2

[    0.121453] reg-fixed-voltage regulators:wm8962_supply_4v2: wm8962-supply-4v2 supplying 4325000uV

[    0.121495] bus: 'platform': really_probe: probing driver reg-fixed-voltage with device regulators:usb_otg1_vbus

[    0.122145] reg-fixed-voltage regulators:usb_otg1_vbus: usb_otg1_vbus supplying 5000000uV

[    0.122184] bus: 'platform': really_probe: probing driver reg-fixed-voltage with device regulators:usb_otg2_vbus

[    0.122873] reg-fixed-voltage regulators:usb_otg2_vbus: usb_otg2_vbus supplying 5000000uV

[    0.125030] SCSI subsystem initialized

[    0.126219] usbcore: registered new interface driver usbfs

[    0.126379] usbcore: registered new interface driver hub

[    0.126573] usbcore: registered new device driver usb

[    0.127229] bus: 'platform': really_probe: probing driver imx-i2c with device 21a0000.i2c

[    0.129499] i2c i2c-0: IMX I2C adapter registered

[    0.129529] i2c i2c-0: can't use DMA

[    0.129573] bus: 'platform': really_probe: probing driver imx-i2c with device 21a4000.i2c

[    0.131079] i2c i2c-1: IMX I2C adapter registered

[    0.131109] i2c i2c-1: can't use DMA

[    0.131151] bus: 'platform': really_probe: probing driver imx-i2c with device 21a8000.i2c

[    0.131897] i2c i2c-2: IMX I2C adapter registered

[    0.131924] i2c i2c-2: can't use DMA

[    0.132170] pps_core: LinuxPPS API ver. 1 registered

[    0.132182] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>

[    0.132250] PTP clock support registered

[    0.134856] Bluetooth: Core ver 2.20

[    0.134967] NET: Registered protocol family 31

[    0.134980] Bluetooth: HCI device and connection manager initialized

[    0.135060] Bluetooth: HCI socket layer initialized

[    0.135088] Bluetooth: L2CAP socket layer initialized

[    0.135240] Bluetooth: SCO socket layer initialized

[    0.138166] clocksource: Switched to clocksource mxc_timer1

[    0.166299] NET: Registered protocol family 2

[    0.167983] TCP established hash table entries: 4096 (order: 2, 16384 bytes)

[    0.168078] TCP bind hash table entries: 4096 (order: 5, 147456 bytes)

[    0.169460] TCP: Hash tables configured (established 4096 bind 4096)

[    0.169677] UDP hash table entries: 256 (order: 2, 20480 bytes)

[    0.169871] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)

[    0.170760] NET: Registered protocol family 1

[    0.171819] RPC: Registered named UNIX socket transport module.

[    0.171838] RPC: Registered udp transport module.

[    0.171849] RPC: Registered tcp transport module.

[    0.171860] RPC: Registered tcp NFSv4.1 backchannel transport module.

[    0.172625] Trying to unpack rootfs image as initramfs...

[    0.174127] rootfs image is not initramfs (no cpio magic); looks like an initrd

[    0.252110] Freeing initrd memory: 14600K (82600000 - 83442000)

[    0.252972] bus: 'platform': really_probe: probing driver armv7-pmu with device soc:pmu

[    0.253137] hw perfevents: Failed to parse /soc/pmu/interrupt-affinity[0]

[    0.253215] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available

[    0.255308] bus: 'platform': really_probe: probing driver alarmtimer with device alarmtimer

[    0.256268] futex hash table entries: 256 (order: 2, 16384 bytes)

[    0.274246] VFS: Disk quotas dquot_6.6.0

[    0.274686] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)

[    0.282624] NFS: Registering the id_resolver key type

[    0.282889] Key type id_resolver registered

[    0.282905] Key type id_legacy registered

[    0.283109] jffs2: version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.

[    0.284960] fuse init (API version 7.23)

[    0.304637] io scheduler noop registered

[    0.304666] io scheduler deadline registered

[    0.304772] io scheduler cfq registered (default)

[    0.306044] bus: 'platform': really_probe: probing driver imx-pwm with device 2080000.pwm

[    0.307141] bus: 'platform': really_probe: probing driver imx-pwm with device 2084000.pwm

[    0.307672] bus: 'platform': really_probe: probing driver imx-pwm with device 2088000.pwm

[    0.308466] bus: 'platform': really_probe: probing driver imx-pwm with device 208c000.pwm

[    0.309730] bus: 'platform': really_probe: probing driver imx-sdma with device 20ec000.sdma

[    0.311304] imx-sdma 20ec000.sdma: loaded firmware 1.1

[    0.319552] imx-sdma 20ec000.sdma: initialized

[    0.319978] bus: 'i2c': really_probe: probing driver pfuze100-regulator with device 0-0008

[    0.322024] pfuze100-regulator 0-0008: Full layer: 1, Metal layer: 1

[    0.322725] pfuze100-regulator 0-0008: FAB: 0, FIN: 0

[    0.322744] pfuze100-regulator 0-0008: pfuze100 found.

[    0.347507] bus: 'platform': really_probe: probing driver imx-uart with device 2020000.serial

[    0.348377] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 20, base_baud = 5000000) is a IMX

[    1.490347] console [ttymxc0] enabled

[    1.495371] bus: 'platform': really_probe: probing driver imx-uart with device 2024000.serial

[    1.504654] 2024000.serial: ttymxc1 at MMIO 0x2024000 (irq = 21, base_baud = 5000000) is a IMX

[    1.514186] bus: 'platform': really_probe: probing driver imx-uart with device 2034000.serial

[    1.523298] 2034000.serial: ttymxc2 at MMIO 0x2034000 (irq = 23, base_baud = 5000000) is a IMX

[    1.559038] brd: module loaded

[    1.576548] loop: module loaded

[    1.580437] bus: 'platform': really_probe: probing driver kim with device kim

[    1.587705] (stc): registered n_shared line discipline

[    1.592886] (stk) :sysfs entries created

[    1.600632] bus: 'platform': really_probe: probing driver spi_imx with device 2008000.ecspi

[    1.609577] spi_imx 2008000.ecspi: cannot get the TX DMA channel!

[    1.615692] spi_imx 2008000.ecspi: dma setup error,use pio instead

[    1.623519] spi_imx 2008000.ecspi: probed

[    1.629055] bus: 'platform': really_probe: probing driver fec with device 2188000.ethernet

[    1.638412] 2188000.ethernet supply phy not found, using dummy regulator

[    1.664693] libphy: fec_enet_mii_bus: probed

[    1.672066] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

[    1.678767] ehci-mxc: Freescale On-Chip EHCI Host driver

[    1.684513] usbcore: registered new interface driver usb-storage

[    1.690981] usbcore: registered new interface driver usbserial

[    1.698844] bus: 'platform': really_probe: probing driver usbmisc_imx with device 2184800.usbmisc

[    1.708712] bus: 'platform': really_probe: probing driver imx_usb with device 2184200.usb

[    1.718191] bus: 'platform': really_probe: probing driver ci_hdrc with device ci_hdrc.0

[    1.730095] ci_hdrc ci_hdrc.0: EHCI Host Controller

[    1.735458] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1

[    1.758212] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00

[    1.766343] bus: 'usb': really_probe: probing driver usb with device usb1

[    1.774422] bus: 'usb': really_probe: probing driver hub with device 1-0:1.0

[    1.781850] hub 1-0:1.0: USB hub found

[    1.785833] hub 1-0:1.0: 1 port detected

[    1.793885] bus: 'platform': really_probe: probing driver imx-keypad with device 20b8000.kpp

[    1.802922] imx6sl-pinctrl 20e0000.iomuxc: pin MX6SL_PAD_KEY_ROW0 already requested by 20e0000.iomuxc; cannot claim for 20b8000.kpp

[    1.814811] imx6sl-pinctrl 20e0000.iomuxc: pin-99 (20b8000.kpp) status -22

[    1.821733] imx6sl-pinctrl 20e0000.iomuxc: could not request pin 99 (MX6SL_PAD_KEY_ROW0) from group kpp_grp_1  on device 20e0000.iomuxc

[    1.833947] imx-keypad 20b8000.kpp: Error applying setting, reverse things back

[    1.841296] imx-keypad 20b8000.kpp: failed to activate default pinctrl state

[    1.849432] input: 20b8000.kpp as /devices/soc0/soc/2000000.aips-bus/20b8000.kpp/input/input0

[    1.859871] bus: 'platform': really_probe: probing driver snvs_rtc with device 20cc034.snvs-rtc-lp

[    1.870517] snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0

[    1.879131] i2c /dev entries driver

[    1.886126] bus: 'platform': really_probe: probing driver imx_thermal with device 2000000.aips-bus:tempmon

[    1.897715] bus: 'platform': really_probe: probe failed device 2000000.aips-bus:tempmon to driver imx_thermal

[    1.908065] platform 2000000.aips-bus:tempmon: Driver imx_thermal requests probe deferral

[    1.916878] bus: 'platform': really_probe: probing driver imx2-wdt with device 20bc000.wdog

[    1.927859] imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)

[    1.934178] Bluetooth: HCI UART driver ver 2.3

[    1.938713] Bluetooth: HCI UART protocol LL registered

[    1.944113] bus: 'platform': really_probe: probing driver btwilink with device btwilink

[    1.956397] sdhci: Secure Digital Host Controller Interface driver

[    1.962663] sdhci: Copyright(c) Pierre Ossman

[    1.967510] (stc):  chnl_id list empty :4

[    1.971523] (stk) : st_kim_start[    2.079866] (stk) :ldisc_install = 1

[    2.085077] VUB300 Driver rom wait states = 1C irqpoll timeout = 0400

[    2.092283] usbcore: registered new interface driver vub300

[    2.098198] sdhci-pltfm: SDHCI platform and OF driver helper

[    2.104448] bus: 'platform': really_probe: probing driver sdhci-esdhc-imx with device 2190000.usdhc

[    2.114403] /soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified

[    2.121623] sdhci-esdhc-imx 2190000.usdhc: could not get ultra high speed state, work on normal mode

[    2.130804] sdhci-esdhc-imx 2190000.usdhc: [SIG_IOT] MMC parse is successfull! 1. 0x800

[    2.138871] sdhci-esdhc-imx 2190000.usdhc: [SIG_IOT] MMC parse is successfull! 2. 0x801

[    2.147349] sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO

[    2.152561] sdhci-esdhc-imx 2190000.usdhc: [SIG_IOT] MMC parse is successfull! 3. 0x801

[    2.160945] sdhci-esdhc-imx 2190000.usdhc: [SIG_IOT] MMC parse is successfull! 4. 0x801

[    2.169055] sdhci-esdhc-imx 2190000.usdhc: [SIG_IOT] MMC parse is successfull! 5. 0x801

[    2.177078] sdhci-esdhc-imx 2190000.usdhc: [SIG_IOT] MMC parse is successfull! 0x801

[    2.185924] sdhci-esdhc-imx 2190000.usdhc: No vmmc regulator found

[    2.192156] sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found

[    2.218224] usb 1-1: new full-speed USB device number 2 using ci_hdrc

[    2.238687] mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using DMA

[    2.246514] bus: 'platform': really_probe: probing driver sdhci-esdhc-imx with device 2194000.usdhc

[    2.257826] imx6sl-pinctrl 20e0000.iomuxc: unable to find group for node usdhc2grp

[    2.273411] imx6sl-pinctrl 20e0000.iomuxc: unable to find group for node usdhc2grp

[    2.281473] bus: 'platform': really_probe: probe failed device 2194000.usdhc to driver sdhci-esdhc-imx

[    2.292978] sdhci-esdhc-imx: probe of 2194000.usdhc failed with error -22

[    2.301926] bus: 'platform': really_probe: probing driver sdhci-esdhc-imx with device 2198000.usdhc

[    2.316036] /soc/aips-bus@02100000/usdhc@02198000: voltage-ranges unspecified

[    2.323275] sdhci-esdhc-imx 2198000.usdhc: [SIG_IOT] MMC parse is successfull! 1. 0x800

[    2.331338] sdhci-esdhc-imx 2198000.usdhc: [SIG_IOT] MMC parse is successfull! 2. 0x801

[    2.339402] sdhci-esdhc-imx 2198000.usdhc: [SIG_IOT] MMC parse is successfull! 3. 0x901

[    2.349662] sdhci-esdhc-imx 2198000.usdhc: [SIG_IOT] MMC parse is successfull! 4. 0x901

[    2.357790] sdhci-esdhc-imx 2198000.usdhc: [SIG_IOT] MMC parse is successfull! 5. 0x2901

[    2.365956] sdhci-esdhc-imx 2198000.usdhc: [SIG_IOT] MMC parse is successfull! 0x2901

[    2.378460] sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found

[    2.395542] bus: 'usb': really_probe: probing driver usb with device 1-1

[    2.405420] bus: 'usb': really_probe: probing driver hub with device 1-1:1.0

[    2.412802] hub 1-1:1.0: USB hub found

[    2.417221] hub 1-1:1.0: 2 ports detected

[    2.466463] mmc0: host does not support reading read-only switch, assuming write-enable

[    2.480793] mmc0: new high speed SDHC card at address 1234

[    2.487090] bus: 'mmc': really_probe: probing driver mmcblk with device mmc0:1234

[    2.494830] mmcblk: [SIG_IOT] using card type[1]

[    2.502465] sudhanshu block driver mmcblk0: mmc0:1234 SA08G 7.21 GiB

[    2.512705]  mmcblk0: p1

[    2.518566] mmc1: SDHCI controller on 2198000.usdhc [2198000.usdhc] using DMA

[    2.527018] usbcore: registered new interface driver usbhid

[    2.532686] usbhid: USB HID core driver

[    2.549505] NET: Registered protocol family 10

[    2.559557] sdhci-esdhc-imx 2198000.usdhc: card claims to support voltages below defined range

[    2.571288] sit: IPv6 over IPv4 tunneling driver

[    2.578015] NET: Registered protocol family 17

[    2.583181] Key type dns_resolver registered

[    2.588055] bus: 'platform': really_probe: probing driver imx6q-cpufreq with device imx6q-cpufreq

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

[    2.609322] Registering SWP/SWPB emulation handler

[    2.618244] bus: 'platform': really_probe: probing driver imx_thermal with device 2000000.aips-bus:tempmon

[    2.632787] imx_thermal 2000000.aips-bus:tempmon: [SIG_IOT] Thermal zone device probed[0]

[    2.642182] snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)

[    2.671771] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)

[    2.690333] mmc1: new high speed SDIO card at address 0001

[    2.696115] bus: 'mmc': really_probe: probing driver mmcblk with device mmc1:0001

[    2.707319] SWBST: disabling

[    2.710903] bus: 'mmc': really_probe: probe failed device mmc1:0001 to driver mmcblk

[    2.718907] SW4: disabling

[    2.721635] usb_otg1_vbus: disabling

[    2.725221] wm8962-supply-4v2: disabling

[    2.729217] mmcblk: probe of mmc1:0001 rejects match -19

[    2.735930] bus: 'sdio': really_probe: probing driver wl1271_sdio with device mmc1:0001:1

[    2.744186] wm8962-supply-3v15: disabling

[    2.748240] lcd-3v3: disabling

[    2.751307] wilink_wl_en: disabling

[    2.754828] vddpu: disabling

[    2.927821] wl1271_sdio mmc1:0001:1: sudhanshu failed ENODEV can't allocate glue: 0x1

[    2.935705] bus: 'sdio': really_probe: probe failed device mmc1:0001:1 to driver wl1271_sdio

[    2.944221] wl1271_sdio: probe of mmc1:0001:1 rejects match -19

[    2.950890] RAMDISK: gzip image found at block 0

[    2.960056] bus: 'sdio': really_probe: probing driver wl1271_sdio with device mmc1:0001:2

[    3.079661] (stk) :ldisc installation timeout

[    3.083932] (stk) :ldisc_install = 0[    3.169554] bus: 'sdio': really_probe: probe failed device mmc1:0001:2 to driver wl1271_sdio

[    3.178046] wl1271_sdio: probe of mmc1:0001:2 failed with error -12

[    4.078229] (stk) : timed out waiting for ldisc to be un-installed

[    4.191328] (stk) :ldisc_install = 1

[    4.701876] VFS: Mounted root (ext2 filesystem) on device 1:0.

[    4.708703] devtmpfs: mounted

[    4.712034] Freeing unused kernel memory: 284K (80873000 - 808ba000)

INIT: version 2.88 booting

[    5.188320] (stk) :ldisc installation timeout

[    5.192520] (stk) :ldisc_install = 0(stk) : timed out waiting for ldisc to be un-installed

[    6.300056] (stk) :ldisc_install = 1

UIM SYSFS Node Found at /sys/./devices/soc0/kim/install

Starting uim-sysfs daemon.

Starting udev

[    6.523338] (stc): st_tty_open

[    6.526579] (stc): done st_tty_open[    6.530230] (stk) :line discipline installed

[    6.548923] (stk) :ti-connectivity/TIInit_11.8.32.bts

[    6.558946] (stk) :change remote baud rate command in firmware(stk) :skipping the wait event of change remote baud

[    6.654813] udevd[103]: starting version 182

[    7.213585] (stc): add_channel_to_table: id 4

[    7.217962] (stc): add_channel_to_table: id 2

[    7.222452] (stc): add_channel_to_table: id 3

Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory

bootlogd.

[    9.124087] random: dd urandom read with 71 bits of entropy available

Populating dev cache

[    9.259749] (stc): remove_channel_from_table: id 3

[    9.264560] (stc): remove_channel_from_table: id 2

[    9.269498] (stc): remove_channel_from_table: id 4

[    9.274297] (stc):  all chnl_ids unregistered

[    9.278904] (stk) :ldisc_install = 0(stc): st_tty_close Sat Feb 14 06:50:00 UTC 2015

INIT: Entering runlevel: 5

Configuring network interfaces...

[   10.428500] fec 2188000.ethernet eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=2188000.ethernet:00, irq=-1)

[   10.440081] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

done.

Starting system message bus: dbus.

Starting syslogd/klogd: done

Starting internet superserver: xinetd.

Stopping Bootlog daemon: bootlogd.

 

Poky (Yocto Project Reference Distro) 1.6.1 imx6slevk /dev/ttymxc0

 

imx6slevk login: root

root@imx6slevk:~# l[   13.430437] fec 2188000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx

[   13.438904] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

root@imx6slevk:~# ls /lib/firmware/

TIInit_10.6.15.bts   edgeport             radeon

TIInit_11.8.32.bts   emi26                tehuti

TIInit_12.8.32.bts   emi62                ti-connectivity

TIInit_7.2.31.bts    ess                  ti_3410.fw

TIInit_7.6.15.bts    kaweth               ti_5052.fw

acenic               keyspan_pda          tigon

av7110               korg                 ttusb-budget

bnx2                 mts_cdma.fw          whiteheat.fw

bnx2x                mts_edge.fw          whiteheat_loader.fw

cpia2                mts_gsm.fw           yamaha

e100                 qlogic

root@imx6slevk:~# ls /lib/firmware/ti-connectivity/

TIInit_10.6.15.bts  TIInit_12.8.32.bts  TIInit_7.6.15.bts   wl18xx-fw-2.bin

TIInit_11.8.32.bts  TIInit_7.2.31.bts   wl18xx-conf.bin

root@imx6slevk:~#

root@imx6slevk:~#

root@imx6slevk:~# [   72.048928] random: nonblocking pool is initialized

 

root@imx6slevk:~#

 

 

root@imx6slevk:~# dmesg | grep mmc

[    2.185924] sdhci-esdhc-imx 2190000.usdhc: No vmmc regulator found

[    2.192156] sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found

[    2.238687] mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using DMA

[    2.378460] sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found

[    2.466463] mmc0: host does not support reading read-only switch, assuming write-enable

[    2.480793] mmc0: new high speed SDHC card at address 1234

[    2.487090] bus: 'mmc': really_probe: probing driver mmcblk with device mmc0:1234

[    2.494830] mmcblk: [SIG_IOT] using card type[1]

[    2.502465] sudhanshu block driver mmcblk0: mmc0:1234 SA08G 7.21 GiB

[    2.512705]  mmcblk0: p1

[    2.518566] mmc1: SDHCI controller on 2198000.usdhc [2198000.usdhc] using DMA

[    2.671771] mmc1: queuing unknown CIS tuple 0x91 (3 bytes)

[    2.690333] mmc1: new high speed SDIO card at address 0001

[    2.696115] bus: 'mmc': really_probe: probing driver mmcblk with device mmc1:0001

[    2.710903] bus: 'mmc': really_probe: probe failed device mmc1:0001 to driver mmcblk

[    2.729217] mmcblk: probe of mmc1:0001 rejects match -19

[    2.735930] bus: 'sdio': really_probe: probing driver wl1271_sdio with device mmc1:0001:1

[    2.927821] wl1271_sdio mmc1:0001:1: sudhanshu failed ENODEV can't allocate glue: 0x1

[    2.935705] bus: 'sdio': really_probe: probe failed device mmc1:0001:1 to driver wl1271_sdio

[    2.944221] wl1271_sdio: probe of mmc1:0001:1 rejects match -19

[    2.960056] bus: 'sdio': really_probe: probing driver wl1271_sdio with device mmc1:0001:2

[    3.083932] (stk) :ldisc_install = 0<6>[    3.169554] bus: 'sdio': really_probe: probe failed device mmc1:0001:2 to driver wl1271_sdio

[    3.178046] wl1271_sdio: probe of mmc1:0001:2 failed with error -12

root@imx6slevk:~#

 

//Somehow, my mmc1 is failing to probe via wlcore1271 with following lines:

 

static int wl1271_probe(struct sdio_func *func,

                                  const struct sdio_device_id *id)

{

        struct wlcore_platdev_data pdev_data;

        struct wl12xx_sdio_glue *glue;

        struct resource res[1];

        mmc_pm_flag_t mmcflags;

        int ret = -ENOMEM;

        int irq;

        const char *chip_family;

        if (func->num != 0x02) {

                dev_err(&func->dev, "sudhanshu failed ENODEV can't allocate glue: 0x%x\n", func->num);

        }

        /* We are only able to handle the wlan function */

        if (func->num != 0x02)

                return -ENODEV;

 

 

It is expecting that sdio func num will be 2, for wlan, but, i am getting 1 here, due to which wlcore_sdio is not getting successfull probing.

 

Also, i dont see any gpio interrupt for my wlcore driver.

root@imx6slevk:~# cat /proc/interrupts

            CPU0      

16:       3168       GIC  87 Level     i.MX Timer Tick

19:          0       GIC  63 Level     2008000.ecspi

20:        452       GIC  58 Level     2020000.serial

21:       2535       GIC  59 Level     2024000.serial

23:          0       GIC  60 Level     2034000.serial

139:          0  gpio-mxc   7 Edge      2190000.usdhc cd

198:          0       GIC 114 Level     20b8000.kpp

202:          0       GIC  81 Level     imx_thermal

207:          0       GIC  51 Level     rtc alarm

212:          0       GIC  34 Level     sdma

215:         29       GIC  74 Level     2184200.usb

216:       1206       GIC 146 Level     2188000.ethernet

217:        705       GIC  54 Level     mmc0

219:        227       GIC  56 Level     mmc1

220:         98       GIC  68 Level     21a0000.i2c

221:          0       GIC  69 Level     21a4000.i2c

222:          0       GIC  70 Level     21a8000.i2c

IPI0:          0  CPU wakeup interrupts

IPI1:          0  Timer broadcast interrupts

IPI2:          0  Rescheduling interrupts

IPI3:          0  Function call interrupts

IPI4:          0  Single function call interrupts

IPI5:          0  CPU stop interrupts

IPI6:          1  IRQ work interrupts

IPI7:          0  completion interrupts

Err:          0

root@imx6slevk:~#

 

DTS definitions for wlcore:-

 

/*MMC0 on sig-iot box for KIM BLUETOOTH*/

&usdhc1 {

        pinctrl-names = "default";

        pinctrl-0 = <&pinctrl_usdhc1_1>;

        bus_width = <4>;

        cd-gpios = <&gpio4 7 1>; <<THIS GETS DETECTED SUCCESSFULLY AS MMC card

        keep-power-in-suspend;

        enable-sdio-wakeup;

        status = "okay";

};

 

/*MMC1 on sig-iot box*/

&usdhc3 {

        pinctrl-names = "default";

        pinctrl-0 = <&pinctrl_usdhc3_1>;

        no-1-8-v;

        keep-power-in-suspend;

        enable-sdio-wakeup;

        vmmc-supply = <&wilink_wl_en>;

        non-removable;

        cap-power-off-card;

        bus-width = <4>;

        status = "okay";

 

       wlcore {

                compatible = "wlcore";

                interrupt-parent = <&gpio4>;

                interrupts = <1 0>;

                gpio = <123>; /*WLAN_IRQ= GPIO4_IO27*/

                platform-quirks = <1>;/* use edge irqs for suspend/resume */

                board-ref-clock = <4>; /* BOARD reference clock as specified in /include/linux/wl12xx.h */

        };

};

 

PINMUX:-

 

      usdhc3 {

                pinctrl_usdhc3_1: usdhc3grp-1 {

                        fsl,pins = <

                                MX6SL_PAD_SD3_CMD__SD3_CMD    0x417059

                                MX6SL_PAD_SD3_CLK__SD3_CLK    0x410059

                                MX6SL_PAD_SD3_DAT0__SD3_DATA0 0x417059

                                MX6SL_PAD_SD3_DAT1__SD3_DATA1 0x417059

                                MX6SL_PAD_SD3_DAT2__SD3_DATA2 0x417059

                                MX6SL_PAD_SD3_DAT3__SD3_DATA3 0x417059

                        >;

                };

 

        usdhc1 {

                pinctrl_usdhc1_1: usdhc1grp-1 {

                        fsl,pins = <

                                MX6SL_PAD_SD1_CMD__SD1_CMD    0x17059

                                MX6SL_PAD_SD1_CLK__SD1_CLK    0x10059

                                MX6SL_PAD_SD1_DAT0__SD1_DATA0 0x17059

                                MX6SL_PAD_SD1_DAT1__SD1_DATA1 0x17059

                                MX6SL_PAD_SD1_DAT2__SD1_DATA2 0x17059

                                MX6SL_PAD_SD1_DAT3__SD1_DATA3 0x17059

                        >;

                };

        };

 

&iomuxc {

        pinctrl-names = "default", "sleep";

        pinctrl-0 = <&pinctrl_hog>;

        pinctrl-1 = <&pinctrl_hog_sleep>;

 

        hog {

                pinctrl_hog: hoggrp {

                        fsl,pins = <

                                MX6SL_PAD_SD2_CMD__GPIO5_IO04     0x417059   /*WLAN EN*/

                                MX6SL_PAD_SD2_RST__GPIO4_IO27     0x41b0b1 /*WLAN IRQ*/

                                MX6SL_PAD_KEY_ROW7__GPIO4_IO07    0x17059   <<THIS being BLUETOOTH

                                MX6SL_PAD_KEY_COL7__GPIO4_IO06    0x17059

                                MX6SL_PAD_KEY_ROW5__GPIO4_IO03    0x110b0

                                MX6SL_PAD_EPDC_PWRSTAT__GPIO2_IO13 0x80000000

                                MX6SL_PAD_EPDC_PWRCTRL0__GPIO2_IO07 0x80000000

                                MX6SL_PAD_EPDC_PWRWAKEUP__GPIO2_IO14 0x80000000

                                MX6SL_PAD_EPDC_PWRINT__GPIO2_IO12 0x80000000

                                MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x170b0

                                MX6SL_PAD_EPDC_PWRCTRL2__GPIO2_IO09 0x8000000

                                MX6SL_PAD_KEY_COL6__GPIO4_IO04 0x110b0

                                MX6SL_PAD_ECSPI2_MISO__GPIO4_IO14 0x17000

                                MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13 0x17000

                                MX6SL_PAD_ECSPI2_SS0__GPIO4_IO15  0x17000

                                MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x1b0b0

                                MX6SL_PAD_KEY_COL4__GPIO4_IO00  0x8000000

                                MX6SL_PAD_EPDC_D5__GPIO1_IO12 0x110b0   // PHY_RESET

                                MX6SL_PAD_SD2_CLK__GPIO5_IO05 0x41b0b1  // BT_RESET /*BT ENABLE*/

                                MX6SL_PAD_LCD_CLK__GPIO2_IO15 0x110b0   // ZIGBEE_RESET

                                MX6SL_PAD_EPDC_D7__GPIO1_IO14 0x1b0b0   // WIFI_LED

                                MX6SL_PAD_EPDC_D8__GPIO1_IO15 0x1b0b0   // BT_LED

                                MX6SL_PAD_EPDC_D9__GPIO1_IO16 0x1b0b0   // ZIGBEE_LED

                                MX6SL_PAD_EPDC_D10__GPIO1_IO17 0x1b0b0  // RST_LED

                                MX6SL_PAD_EPDC_D11__GPIO1_IO18 0x1b0b0  // FACT_LED

                                MX6SL_PAD_WDOG_B__WDOG1_RESET_B_DEB 0x110b0 //WATCHDOG RESET

                                MX6SL_PAD_FEC_TX_CLK__GPIO4_IO21  0x1b0b0       //input gpio1

                                MX6SL_PAD_FEC_RX_ER__GPIO4_IO19   0x1b0b0       //input gpio2

                                MX6SL_PAD_REF_CLK_32K__GPIO3_IO22 0x1b0b0       //input gpio3

                                MX6SL_PAD_KEY_ROW0__GPIO3_IO25 0x1b0b0          //input gpio4

                                MX6SL_PAD_HSIC_STROBE__GPIO3_IO20 0x110b0       //output gpio5

                                MX6SL_PAD_KEY_ROW2__GPIO3_IO29 0x110b0          //output gpio6

                                MX6SL_PAD_KEY_COL5__GPIO4_IO02  0x110b0         //output gpio7

                                MX6SL_PAD_KEY_ROW6__GPIO4_IO05  0x110b0         //output gpio8

                                MX6SL_PAD_EPDC_GDCLK__GPIO1_IO31 0x1b0b0        //usb_hub_reset

                                MX6SL_PAD_LCD_VSYNC__GPIO2_IO18 0x1b0b0         //Hardware_RESET

                        >;

                };

                pinctrl_hog_sleep: hoggrp_sleep {

                        fsl,pins = <

                                MX6SL_PAD_KEY_ROW5__GPIO4_IO03    0x3080

                                MX6SL_PAD_KEY_COL6__GPIO4_IO04    0x3080

                                MX6SL_PAD_LCD_RESET__GPIO2_IO19   0x3080

                        >;

                };

        };

};

 

GPIO used:-

WLAN_IRQ= GPIO4_IO27 = 123

WLAN_EN= GPIO5_IO04 = 132

BT_EN= GPIO5_05 = 133

 

PS note: I have not used any git ti clone sources link for building compat and wlcore stuff. I am assuming new kernel tree will not have compat.ko, it will only have following drivers.

wlcore.ko       wlcore_sdio.ko  wlcore_spi.ko mac80211.ko cfg80211.ko

 

If i make these as KO files (modules), then also, it fails at following line, following script just does insmod

 

root@imx6slevk:~# ./IOTG_WIFI.sh

[  211.557180] bus: 'sdio': really_probe: probing driver wl1271_sdio with device mmc1:0001:1

[  211.737059] wl1271_sdio mmc1:0001:1: sudhanshu failed ENODEV can't allocate glue: 0x1

[  211.744981] bus: 'sdio': really_probe: probe failed device mmc1:0001:1 to driver wl1271_sdio

[  211.753518] wl1271_sdio: probe of mmc1:0001:1 rejects match -19

[  211.761856] bus: 'sdio': really_probe: probing driver wl1271_sdio with device mmc1:0001:2

[  211.937048] bus: 'sdio': really_probe: probe failed device mmc1:0001:2 to driver wl1271_sdio

[  211.945647] wl1271_sdio: probe of mmc1:0001:2 failed with error -12

ifconfig: SIOCSIFADDR: No such device

Configuration file: /etc/hostapd.conf

Failed to initialize driver 'nl80211'

root@imx6slevk:~#

 

root@imx6slevk:~# cat /sys/kernel/debug/gpio

GPIOs 0-31, platform/209c000.gpio, 209c000.gpio:

gpio-12  (phy-reset           ) out hi   

gpio-31  (usb_otg2_vbus       ) out hi   

 

GPIOs 32-63, platform/20a0000.gpio, 20a0000.gpio:

 

GPIOs 64-95, platform/20a4000.gpio, 20a4000.gpio:

 

GPIOs 96-127, platform/20a8000.gpio, 20a8000.gpio:

gpio-96  (usb_otg1_vbus       ) out lo   

gpio-99  (lcd-3v3             ) out lo   

gpio-103 (cd                  ) in  lo   

gpio-107 (spi_imx             ) out hi   

 

GPIOs 128-159, platform/20ac000.gpio, 20ac000.gpio:

gpio-132 (wilink_wl_en        ) out lo   

gpio-133 (kim                 ) out lo   

root@imx6slevk:~#

 

root@imx6slevk:~# cat /sys/kernel/debug/mmc1/ios

clock:          0 Hz

vdd:            0 (invalid)

bus mode:       2 (push-pull)

chip select:    0 (don't care)

power mode:     0 (off)

bus width:      0 (1 bits)

timing spec:    0 (legacy)

signal voltage: 0 (3.30 V)

 

root@imx6slevk:~# cat /sys/kernel/debug/mmc0/ios

clock:          50000000 Hz

actual clock:   49500000 Hz

vdd:            21 (3.3 ~ 3.4 V)

bus mode:       2 (push-pull)

chip select:    0 (don't care)

power mode:     2 (on)

bus width:      2 (4 bits)

timing spec:    2 (sd high-speed)

signal voltage: 0 (3.30 V)

root@imx6slevk:~#

 

Appreciate your pointers, what may be reason for failure for probe of wlcore_sdio?

 

Regards

Sudhanshu Bhutani

Outcomes