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
There was some problem with GPIO Inversion, it got successfully probed after doing changes in DTB
Do you mean your wifi on the board is working fine in 3.14, but not in 4.2 ?
Have you check the wifi chip such as power, reset pin, clock?
Yes. Power, and clock and WLAN_IRQ is fine, as per my board schematic. IOMUX is also looking good to me. Older kernel boots well and new one is not!
I think, there is something which is missing/update needed in my DTB(as per newer kernel) or is it a mandate to make all WLCORE components from GIT TI website link?
Ideally, the kernel tree with WLCORE,WL18XX support should come well.
Regards
Sudhanshu
Step-by-step: How to setup TI Wilink (WL18xx) with iMX6 Linux 3.10.53
this may useful for you.
And please try the latest firmware.
Firmware sources:
- git.ti.com/wilink8-wlan/18xx-ti-utils
- git.ti.com/wilink8-wlan/wl18xx_fw