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.

WL1837MOD

Other Parts Discussed in Thread: WL1837, TPS65217, INA230, TPS61061, WL1271

Tool/software: Linux

We use WL1837MODCOM8I eval board to test WL1837MOD wifi module with TI linux 4.4.41 version. 

We include wl18xx components and mmc1 in dts.  

After every reboot we see the following error 

[ 2.249440] sdio_enable_4bit_bus MMC_TYPE_SDIO
[ 2.271245]
[ 2.278686] mmc1: error -110 whilst initialising SDIO card
~

Does anyone know what can the problem be?

The configuration is bellow: 

&mmc2 {
status = "okay";
bus-width = <0x4>;
cap-power-off-card;
pinctrl-names = "default";
pinctrl-0 = <&mmc2_pins>;
vmmc-supply = <&wl12xx_vmmc>;
ti,non-removable;
keep-power-in-suspend;
enable-sdio-wakeup;
ti,needs-special-hs-handling;

#address-cells = <1>;
#size-cells = <0>;
wlcore: wlcore@2 {
compatible = "ti,wl1837";
reg = <2>;
interrupt-parent = <&gpio0>;
interrupts = <31 IRQ_TYPE_LEVEL_HIGH>; /* gpio 31 */
ref-clock-frequency = <38400000>;
};
};

 Linux kernel   linux-processor-sdk-linux-03.03.00 

  • Additional information: Board wl18xx 82 sdmmc is connected to CPU over SDIO. Card init fails with -110 code on setting SDIO bus width command.
  • Which processor are you using? Post the full bootlog.
  • We use 

    AM3358ZCZ ARM Cortex-A8 Processor

  • Net: Configuring Ethernet
    <ethaddr> not set. Validating first E-fuse MAC
    Phy 1 not found
    cpsw
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    ** File not found /boot/uboot.env **
    ** File not found /boot/onetime.env **
    4481304 bytes read in 271 ms (15.8 MiB/s)
    38630 bytes read in 26 ms (1.4 MiB/s)
    Kernel image @ 0x82000000 [ 0x000000 - 0x446118 ]
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8ef46000, end 8ef526e5 ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Initializing cgroup subsys cpu
    [ 0.000000] Linux version 4.4.41 (pc@pc) (gcc version 6.1.0 (Buildroot 2016.05-svn20154) ) #6 PREEMPT Wed Sep 13 18:01:18 EDT 2017
    [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] Machine model: TrueNorth TN2010
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM335X ES2.1 (sgx neon )
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
    [ 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] Memory: 250172K/262144K available (6419K kernel code, 285K rwdata, 2208K rodata, 308K init, 252K bss, 11972K reserved, 0K cma-reserved, 0K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0x90800000 - 0xff800000 (1776 MB)
    [ 0.000000] lowmem : 0x80000000 - 0x90000000 ( 256 MB)
    [ 0.000000] pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
    [ 0.000000] modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
    [ 0.000000] .text : 0x80008000 - 0x80874fd4 (8628 kB)
    [ 0.000000] .init : 0x80875000 - 0x808c2000 ( 308 kB)
    [ 0.000000] .data : 0x808c2000 - 0x809097c8 ( 286 kB)
    [ 0.000000] .bss : 0x8090b000 - 0x8094a0b4 ( 253 kB)
    [ 0.000000] Preemptible hierarchical RCU implementation.
    [ 0.000000] Build-time adjustment of leaf fanout to 32.
    [ 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] OMAP clockevent source: timer2 at 24000000 Hz
    [ 0.000013] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [ 0.000029] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.000038] OMAP clocksource: timer1 at 24000000 Hz
    [ 0.000381] clocksource_probe: no matching clocksources found
    [ 0.000670] Console: colour dummy device 80x30
    [ 0.000693] Calibrating delay loop... 992.25 BogoMIPS (lpj=496128)
    [ 0.009223] pid_max: default: 32768 minimum: 301
    [ 0.009327] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.009336] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.009940] Initializing cgroup subsys net_cls
    [ 0.009963] Initializing cgroup subsys net_prio
    [ 0.009987] CPU: Testing write buffer coherency: ok
    [ 0.010403] Setting up static identity map for 0x80008200 - 0x80008260
    [ 0.013969] devtmpfs: initialized
    [ 0.024394] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 0.037189] omap_hwmod: debugss: _wait_target_disable failed
    [ 0.089056] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
    [ 0.089473] pinctrl core: initialized pinctrl subsystem
    [ 0.090650] NET: Registered protocol family 16
    [ 0.091143] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.094236] cpuidle: using governor ladder
    [ 0.097228] cpuidle: using governor menu
    [ 0.101511] OMAP GPIO hardware version 0.1
    [ 0.110758] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.123810] edma 49000000.edma: TI EDMA DMA engine driver
    [ 0.124842] reg-fixed-voltage fixedregulator@1: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_wl12xx_gpio, deferring probe
    [ 0.125953] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
    [ 0.126104] pps_core: LinuxPPS API ver. 1 registered
    [ 0.126111] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.126136] PTP clock support registered
    [ 0.126906] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 0.127472] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.129086] clocksource: Switched to clocksource timer1
    [ 0.138844] NET: Registered protocol family 2
    [ 0.139652] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.139683] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.139706] TCP: Hash tables configured (established 2048 bind 2048)
    [ 0.139772] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.139788] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.139919] NET: Registered protocol family 1
    [ 0.140394] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [ 0.142312] futex hash table entries: 256 (order: -1, 3072 bytes)
    [ 0.143453] ntfs: driver 2.1.32 [Flags: R/W].
    [ 0.143703] fuse init (API version 7.23)
    [ 0.178680] io scheduler noop registered (default)
    [ 0.179275] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [ 0.180278] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [ 0.181048] omap_uart 44e09000.serial: no wakeirq for uart0
    [ 0.181294] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a OMAP UART0
    [ 0.696910] console [ttyO0] enabled
    [ 0.701721] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [ 0.708818] [drm] Initialized drm 1.1.0 20060810
    [ 0.715254] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
    [ 0.722222] [drm] No driver support for vblank timestamp query.
    [ 0.738204] Console: switching to colour frame buffer device 30x40
    [ 0.746574] tilcdc 4830e000.lcdc: fb0: frame buffer device
    [ 0.752583] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
    [ 0.769488] brd: module loaded
    [ 0.775493] input: matrix_keypad as /devices/platform/matrix_keypad/input/input0
    [ 0.783744] lsm303dlhc_acc accelerometer driver: init
    [ 0.790178] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
    [ 0.797740] i2c /dev entries driver
    [ 0.802453] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
    [ 0.926579] remoteproc0: wkup_m3 is available
    [ 0.931327] remoteproc0: Note: remoteproc is still under development and considered experimental.
    [ 0.940720] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward compatibility isn't yet guaranteed.
    [ 0.954441] Netfilter messages via NETLINK v0.30.
    [ 0.959507] nfnl_acct: registering with nfnetlink.
    [ 0.964675] nf_conntrack version 0.5.0 (3908 buckets, 15632 max)
    [ 0.971416] ctnetlink v0.93: registering with nfnetlink.
    [ 0.977256] nf_tables: (c) 2007-2009 Patrick McHardy <kaber@trash.net>
    [ 0.984143] nf_tables_compat: (c) 2012 Pablo Neira Ayuso <pablo@netfilter.org>
    [ 0.992256] xt_time: kernel timezone is -0000
    [ 0.996849] ip_set: protocol 6
    [ 1.000608] ip_tables: (C) 2000-2006 Netfilter Core Team
    [ 1.006377] ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
    [ 1.013127] arp_tables: (C) 2002 David S. Miller
    [ 1.018043] Initializing XFRM netlink socket
    [ 1.022582] NET: Registered protocol family 17
    [ 1.027333] NET: Registered protocol family 15
    [ 1.032066] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
    [ 1.045312] Bridge firewalling registered
    [ 1.049553] Ebtables v2.0 registered
    [ 1.053514] 8021q: 802.1Q VLAN Support v1.8
    [ 1.058575] DCCP: Activated CCID 2 (TCP-like)
    [ 1.063184] DCCP: Activated CCID 3 (TCP-Friendly Rate Control)
    [ 1.069476] sctp: Hash tables configured (established 512 bind 1024)
    [ 1.076641] NET: Registered protocol family 21
    [ 1.081537] Registered RDS/tcp transport
    [ 1.085723] mmc0: host does not support reading read-only switch, assuming write-enable
    [ 1.094281] omap_voltage_late_init: Voltage driver support not added
    [ 1.101817] PM: Cannot get wkup_m3_ipc handle
    [ 1.106530] mmc0: new high speed SDHC card at address 0001
    [ 1.112394] ThumbEE CPU extension supported.
    [ 1.118426] mmcblk0: mmc0:0001 0004G 3.71 GiB
    [ 1.124810] lsm303dlhc_acc 0-0019: probe start.
    [ 1.130452] lsm303dlhc_acc 0-0019: using default plaform_data
    [ 1.136688] mmcblk0: p1 p2
    [ 1.139857] lsm303dlhc_acc: hw init start
    [ 1.151752] omap_hsmmc 481d8000.mmc: card claims to support voltages below defined range
    [ 1.161311] lsm303dlhc_acc: hw init done
    [ 1.166027] input: lsm303dlhc_acc as /devices/platform/ocp/44e0b000.i2c/i2c-0/0-0019/input/input1
    [ 1.175725] lsm303dlhc_acc 0-0019: lsm303dlhc_acc: probed
    [ 1.183243] iio iio:device0: registered magnetometer lsm303dlhc_magn
    [ 1.219784] mmc1: error -110 whilst initialising SDIO card
    [ 1.351420] tps65217 0-0024: TPS65217 ID 0xe version 1.2
    [ 1.357898] ina2xx 0-0040: power monitor ina230 (Rshunt = 39000 uOhm)
    [ 1.365273] ina2xx 0-0041: power monitor ina230 (Rshunt = 39000 uOhm)
    [ 1.372618] lm75 0-0048: hwmon2: sensor 'lm75'
    [ 1.377787] lm75 0-0049: hwmon3: sensor 'lm75'
    [ 1.382654] at24 0-0053: 4096 byte 24c32 EEPROM, writable, 4 bytes/write
    [ 1.389713] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [ 1.396628] PM: bootloader does not support rtc-only!
    [ 1.401975] remoteproc0: powering up wkup_m3
    [ 1.407639] input: gpio-keys as /devices/platform/gpio-keys/input/input2
    [ 1.414749] remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217148
    [ 1.423162] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    [ 1.432446] remoteproc0: remote processor wkup_m3 is now up
    [ 1.438369] wkup_m3_ipc 44e11324.wkup_m3_ipc: CM3 Firmware Version = 0x192
    [ 1.448916] wlan-en-regulator: disabling
    [ 1.453325] vwl1271: disabling
    [ 1.456698] ALSA device list:
    [ 1.459871] No soundcards found.
    [ 1.950338] EXT4-fs (mmcblk0p2): recovery complete
    [ 1.956124] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 1.964686] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [ 1.980310] devtmpfs: mounted
    [ 1.983774] Freeing unused kernel memory: 308K (80875000 - 808c2000)
    [ 1.990458] This architecture does not have kernel memory protection.
    [ 2.281186] systemd[1]: System time before build time, advancing clock.
    [ 2.320989] random: systemd: uninitialized urandom read (16 bytes read, 54 bits of entropy available)
    [ 2.340171] systemd[1]: systemd 229 running in system mode. (-PAM -AUDIT -SELINUX +IMA -APPARMOR -SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP +GCRYPT -GNUTLS -ACL -XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -IDN)
    [ 2.359687] systemd[1]: Detected architecture arm.

    Welcome to WiFi Stylus v2.0.1 build 20400M!

    [ 2.373240] systemd[1]: Set hostname to <wifi>.
    [ 2.393634] random: systemd: uninitialized urandom read (16 bytes read, 55 bits of entropy available)
    [ 2.480410] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 59 bits of entropy available)
    [ 2.493767] random: systemd-sysv-ge: uninitialized urandom read (16 bytes read, 59 bits of entropy available)
    [ 2.504615] systemd-fstab-generator[95]: Ignoring "noauto" for root device
    [ 2.512454] random: systemd-gpt-aut: uninitialized urandom read (16 bytes read, 59 bits of entropy available)
    [ 2.602715] random: systemd: uninitialized urandom read (16 bytes read, 64 bits of entropy available)
    [ 2.612703] random: systemd: uninitialized urandom read (16 bytes read, 64 bits of entropy available)
    [ 2.625913] random: systemd: uninitialized urandom read (16 bytes read, 64 bits of entropy available)
    [ 2.636244] random: systemd: uninitialized urandom read (16 bytes read, 64 bits of entropy available)
    [ 2.646995] random: systemd: uninitialized urandom read (16 bytes read, 64 bits of entropy available)
    [ 2.944038] systemd[1]: Created slice System Slice.
    [ OK ] Created slice System Slice.
    [ 2.956752] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [ OK ] Started Forward Password Requests to Wall Directory Watch.
    [ 2.974838] systemd[1]: Created slice system-serial\x2dgetty.slice.
    [ OK ] Created slice system-serial\x2dgetty.slice.
    [ 2.989661] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [ OK ] Started Dispatch Password Requests to Console Directory Watch.
    [ 3.007320] systemd[1]: Reached target Paths.
    [ OK ] Reached target Paths.
    [ 3.016585] systemd[1]: Listening on udev Control Socket.
    [ OK ] Listening on udev Control Socket.
    [ 3.028556] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
    [ OK ] Listening on /dev/initctl Compatibility Named Pipe.
    [ 3.043663] systemd[1]: Listening on Journal Socket.
    [ OK ] Listening on Journal Socket.
    [ 3.058240] systemd[1]: Starting Remount Root and Kernel File Systems...
    Starting Remount Root and Kernel File Systems...
    [ 3.083723] systemd[1]: Starting Create list of required static device nodes for the current kernel...
    Starting Create list of required st... nodes for the current kernel...
    [ 3.121926] systemd[1]: Mounting Debug File System...
    Mounting Debug File System...
    [ 3.178045] systemd[1]: Mounting POSIX Message Queue File System...
    Mounting POSIX Message Queue File System...
    [ 3.239297] systemd[1]: Listening on Process Core Dump Socket.
    [ 3.247317] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
    [ OK ] Listening on Process Core Dump Socket.
    [ 3.261834] systemd[1]: Listening on udev Kernel Socket.
    [ OK ] Listening on udev Kernel Socket.
    [ 3.282493] systemd[1]: Created slice User and Session Slice.
    [ OK ] Created slice User and Session Slice.
    [ 3.296377] systemd[1]: Reached target Remote File Systems.
    [ OK ] Reached target Remote File Systems.
    [ 3.308297] systemd[1]: Reached target Slices.
    [ OK ] Reached target Slices.
    [ 3.324987] systemd[1]: Starting Load Kernel Modules...
    Starting Load Kernel Modules...
    [ 3.351166] systemd[1]: Listening on Network Service Netlink Socket.
    [ OK ] Listening on Network Service Netlink Socket.
    [ 3.368808] systemd[1]: Listening on Journal Socket (/dev/log).
    [ OK ] Listening on Journal Socket (/dev/log).
    [ 3.392126] systemd[1]: Starting Journal Service...
    Starting Journal Service...
    [ 3.412401] systemd[1]: Reached target Swap.
    [ OK ] Reached target Swap.
    [ 3.436000] systemd[1]: Mounted Debug File System.
    [ OK ] Mounted Debug File System.
    [ 3.457622] systemd[1]: Mounted POSIX Message Queue File System.
    [ OK ] Mounted POSIX Message Queue File System.
    [ 3.484830] systemd[1]: Started Remount Root and Kernel File Systems.
    [ OK ] Started Remount Root and Kernel File Systems.
    [ 3.513635] systemd[1]: Started Create list of required static device nodes for the current kernel.
    [ 3.532254] systemd-journald[113]: File /var/log/journal/38e897690de14498a84668e4a91a8e33/system.journal corrupted or uncleanly shut down, renaming and replacing.
    [ OK ] Started Create list of required sta...ce nodes for the current kernel.
    [ 3.614170] ili9341: Manufacturer ID: 0x0
    [ 3.627146] ili9341: Version ID: 0x0
    [ 3.639131] ili9341: Driver ID: 0x7f
    [ 3.850846] systemd[1]: Starting Load/Save Random Seed...
    Starting Load/Save Random Seed...
    [ 3.878276] systemd[1]: Starting Create Static Device Nodes in /dev...
    Starting Create Static Device Nodes in /dev...
    [ 4.003046] ili9341: Init Command: 0xb6
    [ 4.007446] ili9341: Init Command: 0xf6
    [ 4.011897] ili9341: Init Command: 0xb5
    [ 4.017342] ili9341: Init Command: 0xb0
    [ 4.021590] ili9341: Init Command: 0x3a
    [ 4.174026] systemd[1]: Starting udev Coldplug all Devices...
    Starting udev Coldplug all Devices...
    [ 4.201928] systemd[1]: Started Load Kernel Modules.
    [ OK ] Started Load Kernel Modules.
    [ 4.258878] systemd[1]: Started Load/Save Random Seed.
    [ OK ] Started Load/Save Random Seed.
    [ 4.299962] systemd[1]: Started Create Static Device Nodes in /dev.
    [ OK ] Started Create Static Device Nodes in /dev.
    [ 4.487074] systemd[1]: Started Journal Service.
    [ OK ] Started Journal Service.
    Starting Flush Journal to Persistent Storage...
    [ OK ] Reached target Local File Systems (Pre).
    Mounting /tmp...
    Starting udev Kernel Device Manager...
    Starting Apply Kernel Variables...
    Mounting FUSE Control File System...
    [ OK ] Mounted /tmp.
    [ OK ] Started Apply Kernel Variables.
    [ OK ] Mounted FUSE Control File System.
    [ 4.905262] random: nonblocking pool is initialized
    [ OK ] Started udev Kernel Device Manager.
    [ 5.168846] systemd-journald[113]: Received request to flush runtime journal from PID 1
    [ 5.252584] cfg80211: World regulatory domain updated:
    [ OK ] Reached target Local File Systems.
    [ OK ] Started udev Coldplug all Devices.
    [ OK ] Started Flush Journal to Persistent Storage.
    [ 5.325850] cfg80211: DFS Master region: unset
    [ 5.401481] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
    Starting Create Volatile Files and Directories...
    [ 5.495279] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
    [ OK ] Started Create Volatile Files and Directories.
    Starting Network Time Synchronization...
    Starting Update UTMP about System Boot/Shutdown...
    [ 5.606673] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz, 92000 KHz AUTO), (N/A, 2000 mBm), (N/A)
    [ OK ] Started Network Time Synchronization.
    [ 5.701200] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
    [ OK ] Started Update UTMP about System Boot/Shutdown.
    [ 5.778016] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
    [ OK ] Reached target System Initialization.
    [ OK ] Listening on D-Bus System Message Bus Socket.
    [ OK ] Reached target Sockets.
    [ OK ] Reached target Basic System.
    Starting system-cradle-voltage...
    [ 5.860889] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
    [ OK ] Started D-Bus System Message Bus.
    [ 5.944912] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
    [ 6.011696] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
    [ 6.079226] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
    [ 6.173342] lsm303dlhc_acc: hw init start
    [ 6.205902] lsm303dlhc_acc: hw init done
    Starting Network Service...
    [ OK ] Started Daily Cleanup of Temporary Directories.
    [ OK ] Reached target Timers.
    [ OK ] Started Hardware RNG Entropy Gatherer Daemon.
    [ OK ] Reached target System Time Synchronized.
    [ OK ] Started system-cradle-voltage.
    [ OK ] Started Network Service.
    [ OK ] Found device /dev/ttyO0.
    [ OK ] Created slice system-systemd\x2dbacklight.slice.
    Starting Load/Save Screen Backlight...ness of backlight:tps65217-bl...
    [ OK ] Started Serial Getty on ttyO0.
    Starting Login Service...
    [ OK ] Started Load/Save Screen Backlight ...htness of backlight:tps65217-bl.
    [ OK ] Started Login Service.
    [ 6.954031] asoc-simple-card sound: adau1761-dai <-> 4803c000.mcasp mapping ok
    [ OK ] Created slice User Slice of root.
    Starting User Manager for UID 0...
    Starting qws.service...
    [ OK ] Started User Manager for UID 0.
    [ OK ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
    [ OK ] Started qws.service.
    Starting home.service...
    Starting Load/Save Screen Backlight...ss of backlight:lcd_backlight...
    [ OK ] Started Load/Save Screen Backlight ...ness of backlight:lcd_backlight.
    [ OK ] Reached target Sound Card.
    [ OK ] Started home.service.
    Starting hardware.service...
    Starting system_config.service...
    [ OK ] Started hardware.service.
    Starting diags.service...
    [ 12.171286] lsm303dlhc_acc: hw init start
    [ 12.187417] lsm303dlhc_acc: hw init done


    Truenorth Avionics WiFi Stylus

    wifi login:
  • DTS files is attached in case it is needed:


    wl12xx_vmmc: fixedregulator@1 {
    pinctrl-names = "default";
    pinctrl-0 = <&wl12xx_gpio>;
    compatible = "regulator-fixed";
    regulator-name = "vwl1271";
    regulator-min-microvolt = <3000000>;
    regulator-max-microvolt = <3000000>;
    gpio = <&gpio0 30 0>;
    startup-delay-us = <70000>;
    /* off_on_delay = <70>; */
    enable-active-high;
    };

    lcd_backlight: lcd_backlight {
    compatible = "ti,tps61061";
    pinctrl-names = "default";
    pinctrl-0 = <&charger_pins>;
    ti,enable-gpio = <&gpio0 19 0>;
    ti,iled-gpio = <&gpio0 20 0>;
    };

    lcd_panel: lcd_panel {
    compatible = "ti,tilcdc,panel";
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&lcd_pins>;

    panel-info {
    ac-bias = <255>;
    ac-bias-intrpt = <0>;
    dma-burst-sz = <16>;
    bpp = <32>;
    fdd = <0x80>;
    sync-edge = <0>;
    sync-ctrl = <1>;
    raster-order = <0>;
    fifo-th = <16>;
    invert-pxl-clk;
    };

    display-timings {
    240x320 {
    clock-frequency = <6000000>;
    hactive = <240>;
    vactive = <320>;
    hfront-porch = <1>;
    hback-porch = <3>;
    hsync-len = <10>;
    vback-porch = <1>;
    vfront-porch = <2>;
    vsync-len = <1>;
    };
    };
    };

    matrix_keypad:matrix_keypad {
    compatible = "gpio-matrix-keypad";
    debounce-delay-ms = <50>;
    col-scan-delay-us = <2>;
    pinctrl-names = "default";
    pinctrl-0 = <&matrix_keypad_pins>;
    gpio-activelow = "true";

    row-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH /* Bank1, pin17, GPMC_A1 */
    &gpio1 18 GPIO_ACTIVE_HIGH /* Bank1, pin18, GPMC_A2 */
    &gpio1 19 GPIO_ACTIVE_HIGH /* Bank1, pin19, GPMC_A3 */
    &gpio1 20 GPIO_ACTIVE_HIGH /* Bank1, pin20, GPMC_A4 */
    &gpio1 21 GPIO_ACTIVE_HIGH /* Bank1, pin21, GPMC_A5 */
    &gpio1 22 GPIO_ACTIVE_HIGH>; /* Bank1, pin22, GPMC_A6 */

    col-gpios = <&gpio1 23 GPIO_ACTIVE_HIGH /* Bank1, pin23, GPMC_A7 */
    &gpio1 28 GPIO_ACTIVE_HIGH /* Bank1, pin28, GPMC_BEn1 */
    &gpio1 29 GPIO_ACTIVE_HIGH>; /* Bank1, pin29, GPMC_CSn0 */

    linux,keymap = <MATRIX_KEY(0, 0, KEY_F4)
    MATRIX_KEY(0, 1, KEY_F5)
    MATRIX_KEY(0, 2, KEY_F6)
    MATRIX_KEY(1, 0, KEY_F1)
    MATRIX_KEY(1, 1, KEY_F2)
    MATRIX_KEY(1, 2, KEY_F3)
    MATRIX_KEY(2, 0, KEY_1)
    MATRIX_KEY(2, 1, KEY_2)
    MATRIX_KEY(2, 2, KEY_3)
    MATRIX_KEY(3, 0, KEY_4)
    MATRIX_KEY(3, 1, KEY_5)
    MATRIX_KEY(3, 2, KEY_6)
    MATRIX_KEY(4, 0, KEY_7)
    MATRIX_KEY(4, 1, KEY_8)
    MATRIX_KEY(4, 2, KEY_9)
    MATRIX_KEY(5, 0, KEY_S)
    MATRIX_KEY(5, 1, KEY_0)
    MATRIX_KEY(5, 2, KEY_H)>;
    };

    gpio-keys {
    compatible = "gpio-keys";
    #address-cells = <1>;
    #size-cells = <0>;
    //pinctrl-names = "default";
    //pinctrl-0 = <&accel_snowball_mode>;
    /*autorepeat;*/
    button@22 {
    label = "accel-int1";
    linux,code = <KEY_F11>;
    gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
    wakeup-source = <1>;
    //interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
    };
    button@23 {
    label = "accel-int2";
    linux,code = <KEY_F12>;
    gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
    wakeup-source = <1>;
    //interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
    };
    };

    max1641 {
    compatible = "maxim,max1641";
    /* Uses power_pin_mux */
    maxim,gpio-d0 = <111>; /* gpio3 15 = 3*32+15 */
    maxim,gpio-d1 = <114>; /* gpio3 18 = 3*32+18 */
    };
    };


    &am33xx_pinmux {
    pinctrl-names = "default";

    matrix_keypad_pins: pinmux_matrix_keypad_pins {
    pinctrl-single,pins = <
    0x44 (PIN_INPUT | MUX_MODE7) /* gpmc_a1.gpio1_17 */
    0x48 (PIN_INPUT | MUX_MODE7) /* gpmc_a2.gpio1_18 */
    0x4c (PIN_INPUT | MUX_MODE7) /* gpmc_a3.gpio1_19 */
    0x50 (PIN_INPUT | MUX_MODE7) /* gpmc_a4.gpio1_20 */
    0x54 (PIN_INPUT | MUX_MODE7) /* gpmc_a5.gpio1_21 */
    0x58 (PIN_INPUT | MUX_MODE7) /* gpmc_a6.gpio1_22 */
    0x5c (PIN_OUTPUT | MUX_MODE7) /* gpmc_a7.gpio1_23 */
    0x78 (PIN_OUTPUT | MUX_MODE7) /* GPMC_BEn1.gpio1_28 */
    0x7c (PIN_OUTPUT | MUX_MODE7) /* GPMC_CSn0.gpio1_29 */
    >;
    };

    i2c0_pins: pinmux_i2c0_pins {
    pinctrl-single,pins = <
    0x18c ( PIN_INPUT | MUX_MODE0 ) /* (C16) I2C0_SCL.I2C0_SCL */
    0x188 ( PIN_INPUT | MUX_MODE0 ) /* (C17) I2C0_SDA.I2C0_SDA */
    >;
    };

    uart0_pins: pinmux_uart0_pins {
    pinctrl-single,pins = <
    0x170 ( PIN_INPUT_PULLUP | MUX_MODE0 ) /* (E15) uart0_rxd.uart0_rxd */
    0x174 ( PIN_OUTPUT_PULLDOWN | MUX_MODE0 ) /* (E16) uart0_txd.uart0_txd */
    >;
    };

    mmc1_pins: pinmux_mmc1_pins {
    pinctrl-single,pins = <
    0x88 ( PIN_INPUT | MUX_MODE7 ) /* (T13) gpmc_csn3.gpio2[0] */
    >;
    };

    mmc2_pins: pinmux_mmc2_pins {
    pinctrl-single,pins = <
    0x80 ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (U9) gpmc_csn1.mmc1_clk */
    0x84 ( PIN_INPUT_PULLUP | MUX_MODE2 ) /* (V9) gpmc_csn2.mmc1_cmd */
    0x0 ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (U7) gpmc_ad0.mmc1_dat0 */
    0x4 ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (V7) gpmc_ad1.mmc1_dat1 */
    0x8 ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (R8) gpmc_ad2.mmc1_dat2 */
    0xc ( PIN_INPUT_PULLUP | MUX_MODE1 ) /* (T8) gpmc_ad3.mmc1_dat3 */
    0x18 ( PIN_OUTPUT_PULLDOWN | MUX_MODE7 ) /* gpmc_ad6.gpio1_6 */
    >;
    };

    wl12xx_gpio: pinmux_wl12xx_gpio {
    pinctrl-single,pins = <
    0x70 ( PIN_OUTPUT_PULLDOWN | MUX_MODE7 ) /* gpmc_wait0.gpio0_30 */
    0x74 ( PIN_INPUT_PULLDOWN | MUX_MODE7 ) /* gpmc_wpn.gpio0_31 */
    >;
    };

    spi0_pins: pinmux_spi0 {
    pinctrl-single,pins = <
    0x150 (PIN_INPUT_PULLUP | MUX_MODE0) /* spi0_sclk.spi0_sclk */
    0x15C (PIN_INPUT_PULLUP | MUX_MODE0) /* spi0_cs0.spi0_cs0 */
    0x154 (PIN_INPUT_PULLUP | MUX_MODE0) /* spi0_d0.spi0_d0 */
    0x158 (PIN_INPUT_PULLUP | MUX_MODE0) /* spi0_d1.spi0_d1 */
    >;
    };

    lcd_reset: pinmux_lcd_reset_gpio {
    pinctrl-single,pins = <
    0x8c (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_clk.gpio2_1 */
    >;
    };

    lcd_pins: lcd_pins {
    pinctrl-single,pins = <
    0xa0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */
    0xa4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */
    0xa8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */
    0xac (PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */
    0xb0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */
    0xb4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */
    0xb8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */
    0xbc (PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */
    0xc0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */
    0xc4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */
    0xc8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */
    0xcc (PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */
    0xd0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */
    0xd4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */
    0xd8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */
    0xdc (PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */
    0x3c (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad15.lcd_data16 */
    0x38 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad14.lcd_data17 */
    0xe0 (PIN_OUTPUT | MUX_MODE0) /* lcd_vsync.lcd_vsync */
    0xe4 (PIN_OUTPUT | MUX_MODE0) /* lcd_hsync.lcd_hsync */
    0xe8 (PIN_OUTPUT | MUX_MODE0) /* lcd_pclk.lcd_pclk */
    0xec (PIN_OUTPUT | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */
    >;
    };

    charger_pins: pinmux_charger_pins {
    pinctrl-single,pins = <
    0x1b0 ( PIN_OUTPUT | MUX_MODE7 ) /* (A15) xdma_event_intr0.gpio0[19] */
    0x1b4 ( PIN_OUTPUT | MUX_MODE7 ) /* (D14) xdma_event_intr1.gpio0[20] */
    >;
    };

    // gpio0_pins: gpio0_pins {
    // pinctrl-single,pins = <
    // 0x164 ( PIN_OUTPUT | MUX_MODE7 ) /* (C18) eCAP0_in_PWM0_out.gpio0[7] */
    // 0x21c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (F16) USB0_DRVVBUS.gpio0[18] */
    // 0x20 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (U10) gpmc_ad8.gpio0[22] */
    // 0x24 ( PIN_OUTPUT | MUX_MODE7 ) /* (T10) gpmc_ad9.gpio0[23] */
    // 0x28 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T11) gpmc_ad10.gpio0[26] */
    // >;
    // };

    gpio1_pins: gpio1_pins {
    pinctrl-single,pins = <
    0x14 ( PIN_INPUT | MUX_MODE7 ) /* (V8) gpmc_ad5.gpio1[5] */
    0x7c ( PIN_INPUT | MUX_MODE7 ) /* (V6) gpmc_csn0.gpio1[29] */
    >;
    };

    gpio2_pins: gpio2_pins {
    pinctrl-single,pins = <
    0x90 ( PIN_OUTPUT_PULLUP | MUX_MODE7 ) /* (R7) gpmc_advn_ale.gpio2[2] */
    >;
    };

    accel_snowball_mode: accel_snowball_mode {
    pinctrl-single,pins = <
    /* 0x21c ( PIN_INPUT_PULLDOWN | MUX_MODE7 ) */ /* (F16) USB0_DRVVBUS.gpio0[18] */
    0x20 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (U10) gpmc_ad8.gpio0[22] */
    0x24 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T10) gpmc_ad9.gpio0[23] */
    0x28 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T11) gpmc_ad10.gpio0[26] */
    0x2c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T11) gpmc_ad11.gpio0[27] */
    >;
    };

    // magneto_snowball_mode: magneto_snowball_mode {
    // pinctrl-single,pins = <
    // 0x21c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (F16) USB0_DRVVBUS.gpio0[18] */
    // 0x30 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T12) gpmc_ad12.gpio1[12] */
    // 0x20 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (U10) gpmc_ad8.gpio0[22] */
    // 0x24 ( PIN_OUTPUT | MUX_MODE7 ) /* (T10) gpmc_ad9.gpio0[23] */
    // 0x28 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T11) gpmc_ad10.gpio0[26] */
    // 0x2c ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T11) gpmc_ad11.gpio0[27] */
    // >;
    // };

    mcasp1_pin_mux: mcasp1_pin_mux {
    pinctrl-single,pins = <
    0x144 ( PIN_OUTPUT | MUX_MODE6 ) /* rmii1_refclk.mcasp1_ahclkx */
    0x1AC ( PIN_OUTPUT | MUX_MODE3 ) /* mcasp0_ahclkx.mcasp1_axr1 */
    0x108 ( PIN_INPUT_PULLUP | MUX_MODE4 ) /* mii1_col.mcasp1_axr2 */
    0x110 ( PIN_INPUT_PULLUP | MUX_MODE4 ) /* mii1_rxerr.mcasp1_fsx */
    0x10C ( PIN_INPUT_PULLUP | MUX_MODE4 ) /* mii1_crs.mcasp1_aclkx */
    0x19C ( PIN_OUTPUT | MUX_MODE7 ) /* mcasp0_ahclkr.gpio3_17 */
    >;
    };

    power_pin_mux:power_pin_mux {
    pinctrl-single,pins = <
    0x14C ( PIN_OUTPUT | MUX_MODE7 ) /* MDC.gpio0[1] */
    0x194 ( PIN_OUTPUT | MUX_MODE7 ) /* MCASP0_FSX.gpio3[15] */
    0x1A0 ( PIN_OUTPUT | MUX_MODE7 ) /* MCASP0_ACLKR.gpio3[18] */
    0x160 ( PIN_OUTPUT | MUX_MODE7 ) /* SPI0_CS1.gpio0[6] */
    >;
    };

    temp_pin_mux:temp_pin_mux {
    pinctrl-single,pins = <
    0x30 ( PIN_INPUT_PULLUP | MUX_MODE7 ) /* (T12) gpmc_ad12.gpio1[12] */
    0x164 ( PIN_OUTPUT | MUX_MODE7 ) /* ECAP0_IN_PWM0_OUT.gpio0[7] */
    >;
    };
    };

    &uart0 {
    pinctrl-names = "default";
    pinctrl-0 = <&uart0_pins>;
    status = "okay";
    };

    &i2c0 {
    pinctrl-names = "default";
    pinctrl-0 = <&i2c0_pins>;

    status = "okay";
    clock-frequency = <400000>;

    lsm303dlh@19 {
    /* Accelerometer */
    compatible = "lsm303dlhc_acc"; /*"st,lsm303dlhc-accel"*/
    st,drdy-int-pin = <1>;
    reg = <0x19>;
    pinctrl-names = "default";
    pinctrl-0 = <&accel_snowball_mode>;
    /* interrupt-parent = <&gpio5>;
    interrupts = <3 IRQ_TYPE_EDGE_RISING>,
    <4 IRQ_TYPE_EDGE_RISING>; */
    };

    lsm303dlh@1e {
    /* Magnetometer */
    compatible = "st,lsm303dlhc-magn";
    reg = <0x1e>;
    pinctrl-names = "default";
    /* pinctrl-0 = <&magneto_snowball_mode>;
    gpios = <&gpio5 5 0x4>; */
    };


    tps: tps@24 {
    reg = <0x24>;
    backlight {
    compatible = "ti,tps65217";
    isel = <1>; /* 1 - ISET1, 2 ISET2 */
    fdim = <100>; /* TPS65217_BL_FDIM_100HZ */
    default-brightness = <0>;
    };
    };

    adau1761:adau1761@38 {
    compatible = "adau1761";
    reg = <0x38>;
    //pinctrl-names = "default";
    //pinctrl-0 = <&mcasp1_pin_mux>;
    ringer_amp_enable_gpio = <113>; /* GPIO3 17. This value is overriden by driver */
    #sound-dai-cells = <0>;
    };

    ina230_bat:ina_bat230@40 {
    compatible = "ina230";
    reg = <0x40>;
    pinctrl-names = "default";
    pinctrl-0 = <&power_pin_mux>;
    shunt-resistor = <39000>;
    };

    ina230_in:ina_in230@41 {
    compatible = "ina230";
    reg = <0x41>;
    shunt-resistor = <39000>;
    };

    lm75_bat:lm75_bat@48 {
    compatible = "lm75";
    pinctrl-names = "default";
    pinctrl-0 = <&temp_pin_mux>;
    reg = <0x48>;
    };

    lm75_temp:lm75_temp@49 {
    compatible = "lm75";
    reg = <0x49>;
    };

    atV24:at24 {
    compatible = "at24,24c32";
    reg = <0x53>;
    pagesize = <4>;
    };

    };

    &mmc1 {
    status = "okay";
    bus-width = <0x4>;
    pinctrl-names = "default";
    pinctrl-0 = <&mmc1_pins>;
    vmmc-supply = <&vmmcsd_fixed>;
    ti,non-removable;
    };

    &mmc2 {
    status = "okay";
    bus-width = <0x4>;
    cap-power-off-card;
    pinctrl-names = "default";
    pinctrl-0 = <&mmc2_pins>;
    vmmc-supply = <&wl12xx_vmmc>;
    ti,non-removable;
    keep-power-in-suspend;
    enable-sdio-wakeup;
    ti,needs-special-hs-handling;

    #address-cells = <1>;
    #size-cells = <0>;
    wlcore: wlcore@2 {
    compatible = "ti,wl1837";
    reg = <2>;
    interrupt-parent = <&gpio0>;
    interrupts = <31 IRQ_TYPE_LEVEL_HIGH>; /* gpio 31 */
    ref-clock-frequency = <38400000>;
    };
    };

    &lcdc {
    status = "okay";
    };

    &spi0 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&spi0_pins>;

    lcd_controller {
    compatible = "ilitek,ili9341";
    reg = <0>;
    pinctrl-names = "default";
    pinctrl-0 = <&lcd_reset>;
    spi-max-frequency = <24000000>;
    ilitek,reset-gpio = <&gpio2 1 0>;
    ilitek,init = /bits/ 8 <
    0xB6 2 0x0a 0xa2
    0xF6 3 0x01 0x00 0x06
    0xB5 4 0x02 0x02 0x03 0x0d
    0xB0 1 0xe1
    0x3A 1 0x66
    >;
    };
    };

    &gpio0 {
    ti,no-reset-on-init;
    };

    &gpio1 {
    ti,no-reset-on-init;
    };

    &gpio2 {
    ti,no-reset-on-init;
    };


    #include "tps65217.dtsi"

    &tps {
    ti,pmic-shutdown-controller;
    regulators {
    dcdc1_reg: regulator@0 {
    regulator-name = "vdds_dpr";
    regulator-always-on;
    };

    dcdc2_reg: regulator@1 {
    /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
    regulator-name = "vdd_mpu";
    regulator-min-microvolt = <925000>;
    regulator-max-microvolt = <1325000>;
    regulator-boot-on;
    regulator-always-on;
    };

    dcdc3_reg: regulator@2 {
    /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
    regulator-name = "vdd_core";
    regulator-min-microvolt = <925000>;
    regulator-max-microvolt = <1150000>;
    regulator-boot-on;
    regulator-always-on;
    };

    ldo1_reg: regulator@3 {
    regulator-name = "vio,vrtc,vdds";
    regulator-always-on;
    };

    ldo2_reg: regulator@4 {
    regulator-name = "vdd_3v3aux";
    regulator-always-on;
    };

    ldo3_reg: regulator@5 {
    regulator-name = "vdd_3v3en";
    regulator-always-on;
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    };

    ldo4_reg: regulator@6 {
    regulator-name = "vdd_3v3a";
    regulator-always-on;
    };

    };
    };

    &mcasp1 {
    #sound-dai-cells = <0>;
    pinctrl-names = "default";
    pinctrl-0 = <&mcasp1_pin_mux>;
    status = "okay";
    op-mode = <0>; /* MCASP_IIS_MODE */
    tdm-slots = <2>;
    num-serializer = <16>;
    serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
    0 1 2 0
    0 0 0 0
    0 0 0 0
    0 0 0 0
    >;
    tx-num-evt = <1>;
    rx-num-evt = <1>;
    };

    / {
    clk_mcasp1_fixed: clk_mcasp1_fixed {
    #clock-cells = <0>;
    compatible = "fixed-clock";
    clock-frequency = <25600000>;
    };

    sound {
    compatible = "simple-audio-card";
    simple-audio-card,name = "SigmaDSP";
    simple-audio-card,format = "i2s";
    simple-audio-card,bitclock-master = <&dailink1_bitclock_master>;
    simple-audio-card,frame-master = <&dailink1_frame_master>;
    simple-audio-card,bitclock-inversion;
    /* simple-audio-card,frame-inversion; */

    dailink1_bitclock_master: simple-audio-card,cpu {
    sound-dai = <&mcasp1>;
    /* clocks = <&clk_mcasp1_fixed>; */
    system-clock-frequency = <25600000>;

    };

    dailink1_frame_master: simple-audio-card,codec {
    sound-dai = <&adau1761>;
    };
    };
    };

    &rtc {
    system-power-controller;
    };
    [pc@pc buildroot]$
  • Can you check the following discussion for ideas:
    e2e.ti.com/.../407700

    Best Regards,
    Yordan
  • In addition, please note that mmc1 is used for eMMC (for example in BBB), so make sure you've changed its function in all kernel & u-boot sources. Maybe there is some leftover settings (i.e. in u-boot) that conflicts with your configuration.

    Best Regards,
    Yordan
  • Thank you,


    I was able to resolve that problem by reducing bus max spped from 50MHZ to 40Mhz.


    But now i see the following error









    Truenorth Avionics WiFi Stylus

    wifi login: [ 26.976589] wlcore: ERROR ELP wakeup timeout!
    [ 26.983597] wlcore: Hardware recovery in progress. FW ver: Rev 8.9.0.1.55
    [ 26.999572] ------------[ cut here ]------------
    [ 27.009649] WARNING: CPU: 0 PID: 6 at drivers/net/wireless/ti/wlcore/io.h:65 wlcore_set_partition+0xa4/0x4dc [wlcore]()
    [ 27.033560] Modules linked in: wl18xx wlcore wlcore_sdio cpufreq_dt adau1761(O) max1641(O) tps61061(O) ili9341(O)
    [ 27.055747] CPU: 0 PID: 6 Comm: kworker/u2:0 Tainted: G O 4.4.41 #3
    [ 27.072555] Hardware name: Generic AM33XX (Flattened Device Tree)
    [ 27.086679] Workqueue: phy0 wl1271_recovery_work [wlcore]
    [ 27.115408] Backtrace:
    [ 27.122271] [<800145f0>] (dump_backtrace) from [<800147e8>] (show_stack+0x18/0x1c)
    [ 27.155037] r7:7f033000 r6:00000041 r5:00000009 r4:00000000
    [ 27.170768] [<800147d0>] (show_stack) from [<80264788>] (dump_stack+0x24/0x28)
    [ 27.199146] [<80264764>] (dump_stack) from [<800321fc>] (warn_slowpath_common+0x88/0xb4)
    [ 27.217549] [<80032174>] (warn_slowpath_common) from [<80032314>] (warn_slowpath_null+0x24/0x2c)
    [ 27.236563] r8:8f002a00 r7:8f426bb8 r6:7f04c300 r5:7f06c944 r4:8f426b80
    [ 27.252720] [<800322f0>] (warn_slowpath_null) from [<7f033000>] (wlcore_set_partition+0xa4/0x4dc [wlcore])
    [ 27.273677] [<7f032f5c>] (wlcore_set_partition [wlcore]) from [<7f02bbc0>] (wl1271_recovery_work+0x84/0x5dc [wlcore])
    [ 27.298548] r7:8f426bb8 r6:808bc048 r5:8f426b80 r4:8f426e1c
    [ 27.308650] [<7f02bb3c>] (wl1271_recovery_work [wlcore]) from [<80048494>] (process_one_work+0x1f0/0x428)
    [ 27.332525] r10:8f01c600 r9:00000000 r8:8f002a00 r7:8f046400 r6:00000000 r5:8f01c600
    [ 27.350709] r4:8f426e1c
    [ 27.355451] [<800482a4>] (process_one_work) from [<8004935c>] (worker_thread+0x7c/0x648)
    [ 27.378550] r10:8f01c600 r9:8f002a00 r8:8f002a10 r7:ffffe000 r6:00000088 r5:8f01c618
    [ 27.395864] r4:8f002a00
    [ 27.403447] [<800492e0>] (worker_thread) from [<8004e82c>] (kthread+0xec/0x104)
    [ 27.420566] r10:00000000 r9:00000000 r8:00000000 r7:800492e0 r6:8f01c600 r5:8f01b300
    [ 27.435963] r4:00000000
    [ 27.443802] [<8004e740>] (kthread) from [<80010a38>] (ret_from_fork+0x14/0x3c)
    [ 27.460556] r7:00000000 r6:00000000 r5:8004e740 r4:8f01b300
    [ 27.474744] ---[ end trace f6b503e3b697d465 ]---
    [ 27.485596] wlcore: down
    [ 27.496616] ieee80211 phy0: Hardware restart was requested
    [ 27.791465] lsm303dlhc_acc: hw init start
    [ 27.811466] lsm303dlhc_acc: hw init done
    [ 35.093661] wlcore: power up
    [ 35.502582] wlcore: PHY firmware version: Rev 8.2.0.0.233
    [ 35.509404] wlcore: firmware booted in PLT mode PLT_ON (Rev 8.9.0.1.55)
    [ 35.517375] wlcore: ERROR command execute failure 2
    [ 35.522569] wlcore: WARNING TEST command failed
    [ 35.527370] wlcore: WARNING testmode cmd test failed: -5
    [ 35.533236] wlcore: power down
    [ 60.942019] wlcore: power up
    [ 61.342802] wlcore: PHY firmware version: Rev 8.2.0.0.233
    [ 61.348924] wlcore: firmware booted in PLT mode PLT_ON (Rev 8.9.0.1.55)
    [ 61.357615] wlcore: ERROR command execute failure 2
    [ 61.362781] wlcore: WARNING TEST command failed
    [ 61.368202] wlcore: WARNING testmode cmd test failed: -5
    [ 61.376425] wlcore: power down
    [ 503.945519] ili9341: sleep
  • Also, we are using mmc2 for Wifi module
  • Hi,

    It seems that this is a problem with the WLAN_IRQ or WLAN_EN.
    I see that you use a fixed-regulator for power control:
    gpio = <&gpio0 30 0>;
    startup-delay-us = <70000>;
    /* off_on_delay = <70>; */
    enable-active-high;

    Try as described here:
    processors.wiki.ti.com/.../WL18xx_Platform_Integration_Guide
    regulator-max-microvolt = <1800000>;
    startup-delay-us = <70000>;

    /* WLAN_EN GPIO for this board - Bank1, pin16 */
    gpio = <&gpio0 30 GPIO_ACTIVE_HIGH>;
    enable-active-high;
    This is being discussed in this thread:
    e2e.ti.com/.../453989

    Another suggestion I have is to add
    #define WL1271_WAKEUP_TIMEOUT 2500
    in drivers/net/wireless/ti/wlcore/ps.c and see if the kernel will be able to overcome this panic using a longer wakeup timeout.

    Best Regards,
    Yordan
  • . Hello Yordan,

    Thank you for suggestions. The problem was that  WLAN_IRQ or WLAN_EN were not wired to gpio30 and 31. After connecting them wverything looks fine now. Also we use #define WL1271_WAKEUP_TIMEOUT 2500.

    Now i am trying to calibrate the module. The main goal is to set user defined mac address in firmware. Every time target restarted this mac address should be used.

    We might change other default params but for now only mac address is the main goal. The calibration script and logs are below.  Calibration script below fails on script line "calibrator plt calibrate single".  

    There is confusing part in here. WL1837 uses wl18xx-conf.bin but booting also checks for wl127x-nvs.bin. I dont have wl18xx-conf.bin and lookup fails with error code -2. In this case default params will be used.

    But for mac address change should we use wl127x-nvs.bin absed on  TQS_S_2.6.ini? 

    Please see scripts and failed logs below:  

    =========================================

    Calibration script"

    #!/bin/bash

    nvs_file='/lib/firmware/ti-connectivity/wl127x-nvs.bin'
    ini_file='/usr/share/ti-utils/ini_files/127x/TQS_S_2.6.ini'

    ip link set dev wlan0 down
    calibrator set ref_nvs $ini_file

    calibrator plt calibrate single                                               <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    calibrator set nvs_mac 00:11:22:33:44:55
    #mv ./new-nvs.bin ./ini_file
    sync

     

    =====================================

    Calibration script failure logs 

    wifi# ./test.sh
    [ 46.969903] wlan0: deauthenticating from 00:1b:b1:01:fe:55 by local choice (Reason: 3=DEAUTH_LEAVING)
    [ 47.035347] wlcore: down
    [ 47.137849] cfg80211: World regulatory domain updated:
    [ 47.147484] cfg80211: DFS Master region: unset
    [ 47.156392] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
    [ 47.166733] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
    [ 47.176317] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz, 92000 KHz AUTO), (N/A, 2000 mBm), (N/A)
    [ 47.186288] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
    [ 47.195238] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
    [ 47.205609] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
    [ 47.216019] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
    [ 47.225137] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
    [ 47.233853] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
    [ 47.263840] wlcore: power up
    [ 47.267005] wlcore: ERROR cannot go into PLT state because not in off state: 2
    Fail to set PLT power mode on

    Usage: calibrator [options] plt calibrate [<single|dual>]

    Do calibrate for single or dual band chip


    Options:
    --debug enable netlink debugging
    Error opening file for reading: No such file or directory

    Usage: calibrator [options] set nvs_mac <nvs file> [<mac addr>]

    Set MAC addr in NVS file (offline), like XX:XX:XX:XX:XX:XX

    Options:
    --debug enable netlink debugging
    [pc@pc ~]$

  • In addition to above information:

    Our buildroot package does not install wl18xx-conf.bin. But kernel is searching for this file. kernel also searches for wl1271-nvs.bin.
    We dont have wl18xx-conf.bin. But for mac address we try to configure wl1271-nvs.bin. Things are not clear.

    # wl18xx
    ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX),y)
    # wl1271-nvs.bin is a symlink to wl127x-nvs.bin
    LINUX_FIRMWARE_FILES += \
    ti-connectivity/wl18xx-fw.bin \
    ti-connectivity/wl18xx-fw-2.bin \
    ti-connectivity/wl18xx-fw-3.bin \
    ti-connectivity/wl18xx-fw-4.bin \
    ti-connectivity/wl1271-nvs.bin \
    ti-connectivity/wl127x-nvs.bin \
    ti-connectivity/TIInit_7.2.31.bts
    LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
    endif
  • Grant,

    If this has evolved to the point where you need to tune the wl1271 firmware binary, and the calibration of the module, then I suggest you start a discussion in the Wireless forum:
    e2e.ti.com/.../

    Folks there are familiar with the actual firmware sources & calibration tips. Linux forum is focused on getting the low level drivers to work and getting the hardware module alive. From now on the wilink forum will provide a better support.

    Best Regards,
    Yordan