On Mon, Mar 25, 2024 at 9:35 AM Nishanth Menon <nm@xxxxxx> wrote: > > From: Sukrut Bellary <sukrut.bellary@xxxxxxxxx> > > BeaglePlay SBC[1] has Texas Instrument's WL18xx WiFi chipset[2]. > > Currently, WLAN_EN is configured as regulator and regulator-always-on. > However, the timing and wlan_en sequencing is not correctly modelled. > > This causes the sdio access to fail during runtime-pm power operations > saving or during system suspend/resume/hibernation/freeze operations. > This is because the WLAN_EN line is not deasserted to low '0' to power > down the WiFi. So during restore, the WiFi driver tries to load the FW > without following correct power sequence. WLAN_EN => '1'/assert (high) > to power-up the chipset. > > Use mmc-pwrseq-simple to drive TI's WiFi (WL18xx) chipset enable > 'WLAN_EN'. mmc-pwrseq-simple provides power sequence flexibility with > support for post power-on and power-off delays. > > Typical log signature that indicates this bug is: > wl1271_sdio mmc2:0001:2: sdio write failed (-110) > > Followed by possibly a kernel warning (depending on firmware present): > WARNING: CPU: 1 PID: 45 at drivers/net/wireless/ti/wlcore/sdio.c:123 wl12xx_sdio_raw_write+0xe4/0x168 [wlcore_sdio] > > [1] https://www.beagleboard.org/boards/beagleplay > [2] https://www.ti.com/lit/ds/symlink/wl1807mod.pdf > > Fixes: f5a731f0787f ("arm64: dts: ti: Add k3-am625-beagleplay") > Suggested-by: Shengyu Qu <wiagn233@xxxxxxxxxxx> > Signed-off-by: Sukrut Bellary <sukrut.bellary@xxxxxxxxx> > Signed-off-by: Nishanth Menon <nm@xxxxxx> Tested-by: Robert Nelson <robertcnelson@xxxxxxxxx> With v6.9.0-rc1 on BeaglePlay.. debian@BeaglePlay-57:~$ uname -r 6.9.0-rc1-dirty debian@BeaglePlay-57:~$ dmesg | grep wl [ 12.621555] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11) [ 12.623215] wlcore: WARNING Detected unconfigured mac address in nvs, derive from fuse instead. [ 12.623253] wlcore: WARNING This default nvs file can be removed from the file system [ 12.630813] wlcore: loaded [ 13.061833] wlcore: using inverted interrupt logic: 2 [ 13.120366] wlcore: PHY firmware version: Rev 8.2.0.0.243 [ 13.218832] wlcore: firmware booted (Rev 8.9.0.0.83) [ 13.795189] wlan0: no VHT support on 5 GHz, limiting to HT [ 13.795232] wlan0: determined local STA to be HT, BW limited to 40 MHz [ 13.795303] wlan0: determined AP ba:fb:e4:f5:7b:d2 to be HT [ 13.799461] wlan0: connecting with HT mode, max bandwidth 40 MHz [ 13.802189] wlan0: authenticate with ba:fb:e4:f5:7b:d2 (local address=6c:30:2a:2a:84:f0) [ 13.802246] wlan0: send auth to ba:fb:e4:f5:7b:d2 (try 1/3) [ 13.873457] wlan0: authenticated [ 13.873746] wlan0: no VHT support on 5 GHz, limiting to HT [ 13.873764] wlan0: determined local STA to be HT, BW limited to 40 MHz [ 13.875500] wlan0: associate with ba:fb:e4:f5:7b:d2 (try 1/3) [ 13.881981] wlan0: RX AssocResp from ba:fb:e4:f5:7b:d2 (capab=0x1511 status=0 aid=3) [ 13.889436] wlan0: associated [ 13.889660] wlan0: Limiting TX power to 30 (30 - 0) dBm as advertised by ba:fb:e4:f5:7b:d2 [ 13.990788] wlcore: Association completed. -- Robert Nelson https://rcn-ee.com/