This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Having trouble porting wl1837 MOD drivers into Linux 3.12.44 running on custom AM335x board

Other Parts Discussed in Thread: WL1837MOD, WL1271, WL1835

We are in the process of porting the TI wl1837MOD drivers into our kernel(3.12.44) using the TI provided guide (Backport Methodology) .

Board: Custom Board with Am335x.

Linux version : 3.12.44

Root filesystem: Ram rootfs

    /* Power control for wlan */
    wlan_en_reg: fixedregulator@1 {
        compatible = "regulator-fixed";
        regulator-name = "wlan-en-regulator";
        regulator-min-microvolt = <1800000>;
        regulator-max-microvolt = <1800000>;
        regulator-always-on;
	startup-delay-us = <70000>;
        gpio = <&gpio0 26 GPIO_ACTIVE_HIGH>;
        enable-active-high;
    };
mmc3_pins: mmc3_pinmux {                          /* WL1837MODGI */
        pinctrl-single,pins = <
            0x0030 (PIN_INPUT_PULLUP | MUX_MODE3)   /* GPMC_AD12,     MMC2_DAT0_MUX1     MMC2_DAT0 (WL SDIO D0) */
            0x0034 (PIN_INPUT_PULLUP | MUX_MODE3)   /* GPMC_AD13,     MMC2_DAT1_MUX1     MMC2_DAT1 (WL SDIO D1) */
            0x0038 (PIN_INPUT_PULLUP | MUX_MODE3)   /* GPMC_AD14,     MMC2_DAT2_MUX1     MMC2_DAT2 (WL SDIO D2) */
            0x003C (PIN_INPUT_PULLUP | MUX_MODE3)   /* GPMC_AD15,     MMC2_DAT3_MUX1     MMC2_DAT3 (WL SDIO D3) */
            0x0088 (PIN_INPUT_PULLUP | MUX_MODE3)   /* GPMC_CSN3,     MMC2_CMD_MUX0      MMC2_CMD (WL SDIO CMD) */
            0x008C (PIN_INPUT_PULLUP | MUX_MODE3)   /* GPMC_CLK,      MMC2_CLK_MUX0      MMC2_CLK (WL SDIO CLK) */
        >;
    };

    mmc3_pins_sleep: mmc3_pinmux_sleep {              /* WL1837MODGI */
        pinctrl-single,pins = <
            0x0030 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* GPMC_AD12,     MMC2_DAT0_MUX1     MMC2_DAT0 (WL SDIO D0) */
            0x0034 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* GPMC_AD13,     MMC2_DAT1_MUX1     MMC2_DAT1 (WL SDIO D1) */
            0x0038 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* GPMC_AD14,     MMC2_DAT2_MUX1     MMC2_DAT2 (WL SDIO D2) */
            0x003C (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* GPMC_AD15,     MMC2_DAT3_MUX1     MMC2_DAT3 (WL SDIO D3) */
            0x0088 (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* GPMC_CSN3,     MMC2_CMD_MUX0      MMC2_CMD (WL SDIO CMD) */
            0x008C (PIN_INPUT_PULLDOWN | MUX_MODE7)   /* GPMC_CLK,      MMC2_CLK_MUX0      MMC2_CLK (WL SDIO CLK) */
        >;
    };

    wlan_pins: wlan_pinmux {                          /* WL1837MODGI */
        pinctrl-single,pins = <
            0x0020 (PIN_INPUT          | MUX_MODE7)   /* GPMC_AD8,      GPIO0[22]          MMC2_DAT4 (WLAN IRQn) (Interrupt) (Act. LOW) */
            0x0028 (PIN_OUTPUT_PULLUP  | MUX_MODE7)   /* GPMC_AD10,     GPIO0[26]          MMC2_DAT6 (WLAN EN SOC) */
   	>;
    };

    wlan_pins_sleep: wlan_pinmux_sleep {              /* WL1837MODGI */
        pinctrl-single,pins = <
            0x0020 (PIN_INPUT           | MUX_MODE7)  /* GPMC_AD8,      GPIO0[22]          MMC2_DAT4 (WLAN IRQn) (Interrupt) (Act. LOW) */
            0x0028 (PIN_OUTPUT_PULLDOWN | MUX_MODE7)  /* GPMC_AD10,     GPIO0[26]          MMC2_DAT6 (WLAN EN SOC) */
         >;
    };
	
	&mmc3 {                 /* WL1837MODGI */
    dmas = <&edma 12
           &edma 13>;
    dma-names = "tx", "rx";
    status = "okay";
    vmmc-supply = <&wlan_en_reg>;
    bus-width = <4>;
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&mmc3_pins &wlan_pins>;
    pinctrl-1 = <&mmc3_pins_sleep &wlan_pins_sleep>;
    ti,non-removable;
    ti,needs-special-hs-handling;
    cap-power-off-card;
    keep-power-in-suspend;

    #address-cells = <1>;
    #size-cells = <0>;
    wlcore: wlcore@0 {
        compatible = "ti,wl1835";
        reg = <2>;
        interrupt-parent = <&gpio0>;
        interrupts = <22 IRQ_TYPE_EDGE_RISING>;
	
    };
};

Device tree changes : see attached

1: Can we use the TI provided build_utilities to port the necessary drivers on to our existing kernel(3.12.44)? Guide says supported kernel versions are >3.12

2: We tried the build_scripts with R8.7_SP1( WiLink™ software driver), the build failed with compilation errors in the backport4.4.c(TI provided code). We fixed the compilation errors by adding couple of includes  and were able to get the build completed successfully. Upon booting the board with modified rfs, we got the following error .

[    7.030352] wl1271_sdio: probe of mmc2:0001:2 failed with error -61

3: Again we did an update of build_scripts with R8.6_SP1(older version). We were able to get the build successfully but, and upon booting the board we got the following error.

task kworker/0:1:15 blocked more than 3 seconds.

Upon doing a top, it looked like 'rmmod wlcore' process was dead and we were getting the above message periodically.

  • Hi,

    The error:
    [ 7.030352] wl1271_sdio: probe of mmc2:0001:2 failed with error -61

    may indicate that it doesn't find the "wlcore" node parameters inside the .dts file,

    Can you share the new .dts file you are using?
    There have been some changes in mainline that resulted with a change to the way the wlcore parameters are set in the .dts file.
    In the new releases, It is now a sub node inside the mmc node and I want to verify how it looks in your .dts file.

    BR,
    Eyal
  • Here you go.

    /* Power control for wlan */

    wlan_en_reg: fixedregulator@1 {

    compatible = "regulator-fixed";

    regulator-name = "wlan-en-regulator";

    regulator-min-microvolt = <1800000>;

    regulator-max-microvolt = <1800000>;

    regulator-always-on;

    startup-delay-us = <70000>;

    gpio = <&gpio0 26 GPIO_ACTIVE_HIGH>;

    enable-active-high;

    };

    mmc3_pins: mmc3_pinmux { /* WL1837MODGI */

    pinctrl-single,pins = <

    0x0030 (PIN_INPUT_PULLUP | MUX_MODE3) /* GPMC_AD12, MMC2_DAT0_MUX1 MMC2_DAT0 (WL SDIO D0) */

    0x0034 (PIN_INPUT_PULLUP | MUX_MODE3) /* GPMC_AD13, MMC2_DAT1_MUX1 MMC2_DAT1 (WL SDIO D1) */

    0x0038 (PIN_INPUT_PULLUP | MUX_MODE3) /* GPMC_AD14, MMC2_DAT2_MUX1 MMC2_DAT2 (WL SDIO D2) */

    0x003C (PIN_INPUT_PULLUP | MUX_MODE3) /* GPMC_AD15, MMC2_DAT3_MUX1 MMC2_DAT3 (WL SDIO D3) */

    0x0088 (PIN_INPUT_PULLUP | MUX_MODE3) /* GPMC_CSN3, MMC2_CMD_MUX0 MMC2_CMD (WL SDIO CMD) */

    0x008C (PIN_INPUT_PULLUP | MUX_MODE3) /* GPMC_CLK, MMC2_CLK_MUX0 MMC2_CLK (WL SDIO CLK) */

    >;

    };

     

    mmc3_pins_sleep: mmc3_pinmux_sleep { /* WL1837MODGI */

    pinctrl-single,pins = <

    0x0030 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* GPMC_AD12, MMC2_DAT0_MUX1 MMC2_DAT0 (WL SDIO D0) */

    0x0034 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* GPMC_AD13, MMC2_DAT1_MUX1 MMC2_DAT1 (WL SDIO D1) */

    0x0038 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* GPMC_AD14, MMC2_DAT2_MUX1 MMC2_DAT2 (WL SDIO D2) */

    0x003C (PIN_INPUT_PULLDOWN | MUX_MODE7) /* GPMC_AD15, MMC2_DAT3_MUX1 MMC2_DAT3 (WL SDIO D3) */

    0x0088 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* GPMC_CSN3, MMC2_CMD_MUX0 MMC2_CMD (WL SDIO CMD) */

    0x008C (PIN_INPUT_PULLDOWN | MUX_MODE7) /* GPMC_CLK, MMC2_CLK_MUX0 MMC2_CLK (WL SDIO CLK) */

    >;

    };

     

    wlan_pins: wlan_pinmux { /* WL1837MODGI */

    pinctrl-single,pins = <

    0x0020 (PIN_INPUT | MUX_MODE7) /* GPMC_AD8, GPIO0[22] MMC2_DAT4 (WLAN IRQn) (Interrupt) (Act. LOW) */

    0x0028 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* GPMC_AD10, GPIO0[26] MMC2_DAT6 (WLAN EN SOC) */

    >;

    };

     

    wlan_pins_sleep: wlan_pinmux_sleep { /* WL1837MODGI */

    pinctrl-single,pins = <

    0x0020 (PIN_INPUT | MUX_MODE7) /* GPMC_AD8, GPIO0[22] MMC2_DAT4 (WLAN IRQn) (Interrupt) (Act. LOW) */

    0x0028 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* GPMC_AD10, GPIO0[26] MMC2_DAT6 (WLAN EN SOC) */

    >;

    };

    &mmc3 { /* WL1837MODGI */

    dmas = <&edma 12

    &edma 13>;

    dma-names = "tx", "rx";

    status = "okay";

    vmmc-supply = <&wlan_en_reg>;

    bus-width = <4>;

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

    pinctrl-0 = <&mmc3_pins &wlan_pins>;

    pinctrl-1 = <&mmc3_pins_sleep &wlan_pins_sleep>;

    ti,non-removable;

    ti,needs-special-hs-handling;

    cap-power-off-card;

    keep-power-in-suspend;

     

    #address-cells = <1>;

    #size-cells = <0>;

    wlcore: wlcore@0 {

    compatible = "ti,wl1835";

    reg = <2>;

    interrupt-parent = <&gpio0>;

    interrupts = <22 IRQ_TYPE_EDGE_RISING>;

    };

    };

     

  • Hi,

    Don't see something obviously wrong in the .dts.
    You can try adding some debug prints in wl1271_probe() and wlcore_probe_of() in the following file:

    git.ti.com/.../sdio.c

    And see where the failure string is coming from.
    error -61 is ENODATA so it is probably failing inside wlcore_probe_of().

    Can you also share the full kernel bootlog including the output of "lsmod"?

    BR,
    Eyal
  • This is the result of lsmod

    # lsmod

    Module                  Size  Used by    Tainted: G

    wlcore_sdio             5478  0

    compat                 17283  1 wlcore_sdio

    I have attached my kernel dmesg.

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 3.12.44-
    (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) ) #2 PREEMPT Thu Dec 8 11:55:12 CST 2016
    [    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [    0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: g5xfc
    [    0.000000] Memory policy: ECC disabled, Data cache writeback
    [    0.000000] On node 0 totalpages: 65024
    [    0.000000] free_area_init_node: node 0, pgdat c06687d0, node_mem_map c06b5000
    [    0.000000]   Normal zone: 512 pages used for memmap
    [    0.000000]   Normal zone: 0 pages reserved
    [    0.000000]   Normal zone: 65024 pages, LIFO batch:15
    [    0.000000] CPU: All CPU(s) started in SVC mode.
    [    0.000000] AM335X ES2.1 (sgx neon )
    [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [    0.000000] pcpu-alloc: [0] 0 
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 64512
    [    0.000000] Kernel command line: console=ttyO0,115200n8 Active_RFS=/dev/mmcblkp2 root=/dev/ram DeviceTree= initrd=0x82000000 lpj=395264 quiet
    [    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
    [    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.000000] allocated 524288 bytes of page_cgroup
    [    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
    [    0.000000] Memory: 216124K/260096K available (4440K kernel code, 332K rwdata, 1532K rodata, 220K init, 300K bss, 43972K reserved, 0K highmem)
    [    0.000000] Virtual kernel memory layout:
    [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    [    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    [    0.000000]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
    [    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
    [    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    [    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
    [    0.000000]       .text : 0xc0008000 - 0xc05dd33c   (5973 kB)
    [    0.000000]       .init : 0xc05de000 - 0xc0615064   ( 221 kB)
    [    0.000000]       .data : 0xc0616000 - 0xc0669340   ( 333 kB)
    [    0.000000]        .bss : 0xc066934c - 0xc06b4524   ( 301 kB)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] Preemptible hierarchical RCU implementation.
    [    0.000000] NR_IRQS:16 nr_irqs:16 16
    [    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [    0.000000] Total of 128 interrupts on 1 active controller
    [    0.000000] OMAP clockevent source: timer2 at 25000000 Hz
    [    0.000000] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps every 171798ms
    [    0.000000] OMAP clocksource: timer1 at 25000000 Hz
    [    0.000000] Console: colour dummy device 80x30
    [    0.000383] Calibrating delay loop (skipped) preset value.. 79.05 BogoMIPS (lpj=395264)
    [    0.000407] pid_max: default: 32768 minimum: 301
    [    0.000573] Security Framework initialized
    [    0.000658] Mount-cache hash table entries: 512
    [    0.012952] Initializing cgroup subsys memory
    [    0.013094] Initializing cgroup subsys devices
    [    0.013111] Initializing cgroup subsys freezer
    [    0.013127] Initializing cgroup subsys blkio
    [    0.013311] CPU: Testing write buffer coherency: ok
    [    0.014061] Setting up static identity map for 0xc043c330 - 0xc043c3a0
    [    0.016062] devtmpfs: initialized
    [    0.018642] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [    0.044748] omap_hwmod: debugss: _wait_target_disable failed
    [    0.045285] pinctrl core: initialized pinctrl subsystem
    [    0.045651] regulator-dummy: no parameters
    [    0.046038] NET: Registered protocol family 16
    [    0.047276] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [    0.047879] cpuidle: using governor ladder
    [    0.047894] cpuidle: using governor menu
    [    0.055376] syscon 44e10000.control_module: regmap [mem 0x44e10000-0x44e107fb] registered
    [    0.056828] OMAP GPIO hardware version 0.1
    [    0.063914] DSS not supported on this SoC
    [    0.063947] hw-breakpoint: debug architecture 0x4 unsupported.
    [    0.071724] bio: create slab <bio-0> at 0
    [    0.079226] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [    0.080196] vmmcsd_fixed: 3300 mV 
    [    0.092212] wlan-en-regulator: 1800 mV 
    [    0.093041] SCSI subsystem initialized
    [    0.093345] usbcore: registered new interface driver usbfs
    [    0.093414] usbcore: registered new interface driver hub
    [    0.093748] usbcore: registered new device driver usb
    [    0.094234] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/i2c0_pinmux, deferring probe
    [    0.094275] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
    [    0.094313] omap_i2c 4802a000.i2c: could not find pctldev for node /pinmux@44e10800/i2c1_pinmux, deferring probe
    [    0.094331] platform 4802a000.i2c: Driver omap_i2c requests probe deferral
    [    0.094360] omap_i2c 4819c000.i2c: could not find pctldev for node /pinmux@44e10800/i2c2_pinmux, deferring probe
    [    0.094377] platform 4819c000.i2c: Driver omap_i2c requests probe deferral
    [    0.095904] Bluetooth: Core ver 2.16
    [    0.095985] NET: Registered protocol family 31
    [    0.095994] Bluetooth: HCI device and connection manager initialized
    [    0.096021] Bluetooth: HCI socket layer initialized
    [    0.096039] Bluetooth: L2CAP socket layer initialized
    [    0.096054] Bluetooth: SCO socket layer initialized
    [    0.096716] Switched to clocksource timer1
    [    0.107838] NET: Registered protocol family 2
    [    0.109224] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
    [    0.109296] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    [    0.109334] TCP: Hash tables configured (established 2048 bind 2048)
    [    0.109528] TCP: reno registered
    [    0.109546] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.109572] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.109859] NET: Registered protocol family 1
    [    0.110289] Trying to unpack rootfs image as initramfs...
    [    0.650618] Freeing initrd memory: 34184K (ccde4000 - cef46000)
    [    0.651883] PM: Loading am335x-pm-firmware.bin
    [    0.654547] audit: initializing netlink socket (disabled)
    [    0.654675] type=2000 audit(0.640:1): initialized
    [    0.661678] VFS: Disk quotas dquot_6.5.2
    [    0.661970] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [    0.663445] NTFS driver 2.1.30 [Flags: R/W].
    [    0.663762] msgmni has been set to 488
    [    0.667764] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
    [    0.668066] io scheduler noop registered
    [    0.668082] io scheduler deadline registered
    [    0.668289] io scheduler cfq registered (default)
    [    0.669640] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [    0.672101] gpio-export abb_general_gpio.4: 20 gpio(s) exported
    [    2.009045] 481a6000.serial: ttyO0 at MMIO 0x481a6000 (irq = 60, base_baud = 3000000) is a OMAP UART0
    [    2.013763] console [ttyO0] enabled
    [    2.014758] 481a8000.serial: ttyO1 at MMIO 0x481a8000 (irq = 61, base_baud = 3000000) is a OMAP UART1
    [    2.015578] 48022000.serial: ttyO2 at MMIO 0x48022000 (irq = 89, base_baud = 3000000) is a OMAP UART2
    [    2.016272] 481aa000.serial: ttyO3 at MMIO 0x481aa000 (irq = 62, base_baud = 3000000) is a OMAP UART3
    [    2.017214] 44e09000.serial: ttyO4 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART4
    [    2.018717] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [    2.025839] brd: module loaded
    [    2.029994] loop: module loaded
    [    2.042106] edma-dma-engine edma-dma-engine.0: allocated channel for 0:43
    [    2.042171] edma-dma-engine edma-dma-engine.0: allocated channel for 0:42
    [    2.043595] libphy: Fixed MDIO Bus: probed
    [    2.044109] CAN device driver interface
    [    2.044962] usbcore: registered new interface driver usb-storage
    [    2.087918] musb-hdrc musb-hdrc.0.auto: Enabled SW babble control
    [    2.089627] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
    [    2.089643] musb-hdrc: MHDRC RTL version 2.0 
    [    2.089655] musb-hdrc: setup fifo_mode 4
    [    2.089682] musb-hdrc: 28/31 max ep, 16384/16384 memory
    [    2.117748] musb-hdrc musb-hdrc.1.auto: Enabled SW babble control
    [    2.119423] musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn)
    [    2.119439] musb-hdrc: MHDRC RTL version 2.0 
    [    2.119447] musb-hdrc: setup fifo_mode 4
    [    2.119468] musb-hdrc: 28/31 max ep, 16384/16384 memory
    [    2.119570] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
    [    2.119614] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
    [    2.119972] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    [    2.119989] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    2.120003] usb usb1: Product: MUSB HDRC host driver
    [    2.120015] usb usb1: Manufacturer: Linux 3.12.44-rt61 musb-hcd
    [    2.120026] usb usb1: SerialNumber: musb-hdrc.1.auto
    [    2.120962] hub 1-0:1.0: USB hub found
    [    2.121032] hub 1-0:1.0: 1 port detected
    [    2.157605] g_serial gadget: Gadget Serial v2.4
    [    2.157627] g_serial gadget: g_serial ready
    [    2.159297] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [    2.159388] 44e3e000.rtc: already running
    [    2.159456] rtc-omap -> not configured for pru
    [    2.159611] i2c /dev entries driver
    [    2.161102] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [    2.161438] softdog: Software Watchdog Timer: 0.08 initialized. soft_noboot=0 soft_margin=60 sec soft_panic=0 (nowayout=0)
    [    2.161454] Bluetooth: HCI UART driver ver 2.2
    [    2.161466] Bluetooth: HCI H4 protocol initialized
    [    2.161475] Bluetooth: HCI BCSP protocol initialized
    [    2.161483] Bluetooth: HCILL protocol initialized
    [    2.161491] Bluetooth: HCIATH3K protocol initialized
    [    2.161501] Bluetooth: HCI Three-wire UART (H5) protocol initialized
    [    2.161637] usbcore: registered new interface driver btusb
    [    2.162619] edma-dma-engine edma-dma-engine.0: allocated channel for 0:3
    [    2.162655] edma-dma-engine edma-dma-engine.0: allocated channel for 0:2
    [    2.197408] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
    [    2.197448] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
    [    2.237469] edma-dma-engine edma-dma-engine.0: allocated channel for 0:13
    [    2.237510] edma-dma-engine edma-dma-engine.0: allocated channel for 0:12
    [    2.277801] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36
    [    2.277887] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [    2.279916] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [    2.279993] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5
    [    2.280017] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6
    [    2.280880] hidraw: raw HID events driver (C) Jiri Kosina
    [    2.281573] usbcore: registered new interface driver usbhid
    [    2.281585] usbhid: USB HID core driver
    [    2.284480] TCP: cubic registered
    [    2.284508] Initializing XFRM netlink socket
    [    2.284551] NET: Registered protocol family 17
    [    2.284676] NET: Registered protocol family 15
    [    2.284686] can: controller area network core (rev 20120528 abi 9)
    [    2.284809] NET: Registered protocol family 29
    [    2.284823] can: raw protocol (rev 20120528)
    [    2.284835] can: broadcast manager protocol (rev 20120528 t)
    [    2.284854] can: netlink gateway (rev 20130117) max_hops=1
    [    2.285394] Bluetooth: RFCOMM TTY layer initialized
    [    2.285437] Bluetooth: RFCOMM socket layer initialized
    [    2.285447] Bluetooth: RFCOMM ver 1.11
    [    2.285746] Key type dns_resolver registered
    [    2.286409] cpu cpu0: cpu0 regulator not ready, retry
    [    2.292113] platform cpufreq-cpu0.0: Driver cpufreq-cpu0 requests probe deferral
    [    2.292767] PM: CM3 Firmware Version = 0x187
    [    2.293163] ThumbEE CPU extension supported.
    [    2.293926] registered taskstats version 1
    [    2.295161] regulator-dummy: disabling
    [    2.307977] DCDC1: at 1800 mV 
    [    2.310416] vdd_mpu: 1100 <--> 1350 mV at 1100 mV 
    [    2.312585] vdd_core: 1100 <--> 1150 mV at 1100 mV 
    [    2.314717] LDO1: at 1800 mV 
    [    2.317036] LDO2: at 3300 mV 
    [    2.319251] LDO3: 1800 <--> 3300 mV at 3300 mV 
    [    2.321378] LDO4: at 3300 mV 
    [    2.330731] tps65217 0-0024: TPS65217 ID 0xf version 1.2
    [    2.347186] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 100 kHz
    [    2.349103] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 50 kHz
    [    2.350340] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
    [    2.406829] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [    2.406864] davinci_mdio 4a101000.mdio: detected phy mask fffffffc
    [    2.423623] libphy: 4a101000.mdio: probed
    [    2.423688] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver Micrel KSZ8081 or KSZ8091
    [    2.423705] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver Micrel KSZ8081 or KSZ8091
    [    2.424511] probe phy id 0, no of phy 1 for slave[0]
    [    2.424558] probe phy id 1, no of phy 1 for slave[1]
    [    2.424575] Detected MACID = f4:5e:ab:56:e3:56
    [    2.425760] cpsw: Detected MACID = f4:5e:ab:56:e3:56
    [    2.610600] mmc0: BKOPS_EN bit is not set
    [    2.614638] mmc0: new high speed MMC card at address 0001
    [    2.626802] mmcblk0: mmc0:0001 MMC16G 6.04 GiB 
    [    2.627214] mmcblk0boot0: mmc0:0001 MMC16G partition 1 16.0 MiB
    [    2.627566] mmcblk0boot1: mmc0:0001 MMC16G partition 2 16.0 MiB
    [    2.627870] mmcblk0gp0: mmc0:0001 MMC16G partition 4 256 MiB
    [    2.628188] mmcblk0gp1: mmc0:0001 MMC16G partition 5 512 MiB
    [    2.628498] mmcblk0gp2: mmc0:0001 MMC16G partition 6 256 MiB
    [    2.628794] mmcblk0gp3: mmc0:0001 MMC16G partition 7 256 MiB
    [    2.631297]  mmcblk0: p1 p2
    [    2.634253]  mmcblk0gp3: p1
    [    2.637003]  mmcblk0gp2: p1
    [    2.639622]  mmcblk0gp1: p1
    [    2.642047]  mmcblk0gp0: p1
    [    2.643770]  mmcblk0boot1: unknown partition table
    [    2.645260]  mmcblk0boot0: unknown partition table
    [    2.716047] mmc1: host does not support reading read-only switch. assuming write-enable.
    [    2.719230] mmc1: new high speed SDHC card at address aaaa
    [    2.726832] mmcblk1: mmc1:aaaa SS16G 14.8 GiB 
    [    2.728681]  mmcblk1: p1 p2
    [    2.731748] mmc2: card claims to support voltages below the defined range. These will be ignored.
    [    2.742430] mmc2: queuing unknown CIS tuple 0x91 (3 bytes)
    [    2.743161] mmc2: new high speed SDIO card at address 0001
    [    2.995200] omap_rtc 44e3e000.rtc: setting system clock to 2016-12-06 16:14:45 UTC (1481040885.000004080) spent (567931480nsec)
    [    2.996020] ### dt-test ### No testcase data in device tree; not running tests
    [    2.998220] Freeing unused kernel memory: 220K (c05de000 - c0615000)
    [    5.461869] EXT4-fs: Warning: mounting with data=journal disables delayed allocation and O_DIRECT support!
    [    5.472331] EXT4-fs (mmcblk0gp1p1): mounted filesystem with journalled data mode. Opts: discard,errors=continue,data=journal,journal_checksum
    [    5.839113] EXT4-fs (mmcblk0gp2p1): recovery complete
    [    5.839182] EXT4-fs (mmcblk0gp2p1): mounted filesystem with journalled data mode. Opts: discard,errors=continue,data=journal,journal_checksum
    [    6.082169] EXT4-fs (mmcblk0gp3p1): recovery complete
    [    6.082234] EXT4-fs (mmcblk0gp3p1): mounted filesystem with journalled data mode. Opts: discard,errors=continue,data=journal,journal_checksum
    [    6.103912] EXT4-fs (mmcblk0p2): mounted filesystem with journalled data mode. Opts: discard,errors=continue,data=journal,journal_checksum
    [    7.343103] net eth1: initializing cpsw version 1.12 (0)
    [    7.345768] net eth1: phy found : id is : 0x221560
    [    7.446416] Loading modules backported from Linux version R8.7_SP1-0-g13c25bc
    [    7.446453] Backport generated by backports.git R8.7_SP1-0-gd4777ef
    [    7.651166] wl1271_sdio: probe of mmc2:0001:2 failed with error -61
    [   10.337592] libphy: 4a101000.mdio:01 - Link is Up - 100/Full
    

  • this is a bit strange.
    I would have expected to see:
    cfg80211
    mac80211
    wlcore
    wlcore_sdio
    wl18xx

    Please verify you kernel .config and make sure CONFIG_CFG80211 and CONFIG_MAC80211 are NOT selected.
    this modules are expected to be build all the modules using the build script.
    I want to make sure you have not created a mix of drivers here between the kernel in tree mac80211,cfg80211 and the newer version of the drivers that you are building using the build script.

    BR,
    Eyal
  • Eyal,

    Our kernel config has both CONFIG_CFG80211 & CONFIG_MAC80211 disabled. And we did run ./verify_config_script provided in the build_utilities against our configuration.

    Praveen
  • Have tou tried adding some debug prints in wl1271_probe() and wlcore_probe_of() in the following file:

    git.ti.com/.../sdio.c

    and see why it fails to find the platform data parametersBR,
    Eyal?
  • Hi,
    Any update here? Should we still keep this thread going?
    BR,
    Eyal