NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

OMAP Wireless Connectivity Suspend Resume

From Texas Instruments Wiki
Jump to: navigation, search

Suspend Resume[edit]


Suspend Resume in shutdown mode[edit]

On Suspend state, the WL18xx chip will be held in shutdown mode, were the host disable the WLAN portion by keeping the WLAN_Enable signal OFF, in that mode the WL18xx chip consumes minimal current consumption.

How to operate Suspend Resume[edit]

to enable the omap to enter sleep, low voltage, & low power perform the following: attach the file system "debugfs" which is of type debugfs) at the directory "tmp"

mount -t debugfs debugfs /tmp/

Enabling system for hitting OFF:
By default, retention is the deepest sleep state attempted. To enable power domain transitions to off mode

echo 1 > /tmp/pm_debug/enable_off_mode


To enter suspend mode:

echo mem > /sys/power/state


To Resume from suspend:

Serial console activity or other configured wakeup sources (keypad, touchscreen) will trigger resume



Suspend Resume Example[edit]

Following is the example:

  1. AM335x EVM with WL18x Assuming to work in station mode
  2. Connect the station, using WPA supplicant configuration file to commercial AP
  3. After connection enter the station to suspend mode
  4. After some time resume from suspend.


WLAN Station 1.jpg

to connect to AP (no security), edit the /etc/wpa_supplicant.conf file to the following content

ctrl_interface=/var/run/wpa_supplicant
update_config=1

network={
        key_mgmt=NONE
        ssid="TP_Eyal"   #optional
}

and then run the WPA supplicant

wpa_supplicant -d -Dnl80211 -c /etc/wpa_supplicant.conf -iwlan0 -B

Following that command the Station mode will connect to the AP with the SSID "TP_Eyal"

next step is to enter Suspend mode, by the typing the following command on the terminal console:

echo mem > /sys/power/state

the expecte results, is the following log, and the EVM screen turns OFF

[  344.900146] PM: Syncing filesystems ... done.
[  347.304138] Freezing user space processes ... (elapsed 0.01 seconds) done.
[  347.324859] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[  347.344879] Suspending console(s) (use no_console_suspend to debug)
[  347.359039] wl12xx: down
[  347.492248] PM: suspend of devices complete after 139.892 msecs
[  347.494049] PM: late suspend of devices complete after 1.708 msecs
[  354.081787] GFX domain entered low power state
[  354.081848] Successfully transitioned all domains to low power state

[ 1599.585723] PM: Syncing filesystems ... done.
[ 1602.515808] Freezing user space processes ... (elapsed 0.01 seconds) done.
[ 1602.539642] Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
[ 1602.559600] Suspending console(s) (use no_console_suspend to debug)
[ 1602.567535] wl12xx: down
[ 1602.706909] PM: suspend of devices complete after 139.770 msecs
[ 1602.708557] PM: late suspend of devices complete after 1.556 msecs
[ 1634.825073] GFX domain entered low power state

Comment: the last 4 lines will be shown only after resume (since suspend happend before the print task was completed)

After hitting the terminal console - in order to resume from suspend mode, the EVM screen will be active again, following the logs below:

[  354.290771] PM: early resume of devices complete after 208.465 msecs
[  354.606018] net eth0: CPSW phy found : id is : 0x4dd074
[  354.610931] wl12xx: state: 0
[  355.069427] wl12xx: PHY firmware version: Rev 8.4.999.A2.129
[  355.069488] wl12xx: firmware booted (Rev 8.2.0.0.100)
[  355.130493] wl12xx: Association completed.
[  355.153411] PM: resume of devices complete after 861.928 msecs
[  355.216430] Restarting tasks ... done.

Comment: after Resume from Suspend,

After a suspend or after some idle time, use the powerdomain transition stats to check that transitions to off-mode are happening

 # cat /tmp/pm_debug/count

the results are:

root@am335x-evm:~# cat /tmp/pm_debug/count
[  611.886413] pwrdm state mismatch(cefuse_pwrdm) 3 != 0
cefuse_pwrdm (ON),OFF:0,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0
mpu_pwrdm (ON),OFF:0,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0
per_pwrdm (ON),OFF:0,RET:0,INA:0,ON:1,RET-LOGIC-OFF:7,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0
rtc_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:0,RET-LOGIC-OFF:0
gfx_pwrdm (ON),OFF:0,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
l4_cefuse_clkdm->cefuse_pwrdm (0)
gfx_l4ls_gfx_clkdm->gfx_pwrdm (0)
gfx_l3_clkdm->gfx_pwrdm (1)
l4_rtc_clkdm->rtc_pwrdm (1)
mpu_clkdm->mpu_pwrdm (1)
l4_wkup_aon_clkdm->wkup_pwrdm (3)
l3_aon_clkdm->wkup_pwrdm (1)
l4_wkup_clkdm->wkup_pwrdm (5)
clk_24mhz_clkdm->per_pwrdm (1)
lcdc_clkdm->per_pwrdm (1)
cpsw_125mhz_clkdm->per_pwrdm (2)
pruss_ocp_clkdm->per_pwrdm (0)
ocpwp_l3_clkdm->per_pwrdm (0)
l4hs_clkdm->per_pwrdm (1)
l3_clkdm->per_pwrdm (10)
l4fw_clkdm->per_pwrdm (2)
l3s_clkdm->per_pwrdm (4)
l4ls_clkdm->per_pwrdm (19)

The counter that will advance each suspend resume cycle is: per_pwrdm (ON),OFF:0,RET:0,INA:0,ON:1,RET-LOGIC-OFF:7,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0



External Link[edit]

for more information use OMAP Power Management

HomepageIcon.jpgHOME

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article OMAP Wireless Connectivity Suspend Resume here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article OMAP Wireless Connectivity Suspend Resume here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article OMAP Wireless Connectivity Suspend Resume here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article OMAP Wireless Connectivity Suspend Resume here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article OMAP Wireless Connectivity Suspend Resume here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article OMAP Wireless Connectivity Suspend Resume here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article OMAP Wireless Connectivity Suspend Resume here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article OMAP Wireless Connectivity Suspend Resume here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article OMAP Wireless Connectivity Suspend Resume here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity