<commit_before>Title: Power management demo

Description:

A sample implementation of a power manager app that uses the zephyr
power management infrastructure.

This app will cycle through the various power schemes at every call
to _sys_soc_suspend() hook function.
It will cycle through following policies
1. Low Power State (LPS) - puts the CPU in C2 state
2. Device suspend only - demonstrates hooks into kernel idle entry and exit
that can be used to only suspend devices without CPU or SOC PM operations.
3. Deep Sleep - demonstrates invoking suspend/resume handlers of devices to
save device states and switching to deep sleep state.
4. No-op - no operation and letting kernel do its idle

This application runs on quark se boards.

When started, the app waits for a toggle of GPIO pin 16.  GPIO Pin 16 is
DIO 8 in arduino_101 and DIO 4 in quark_se_c1000_devboard.

Toggle the GPIO pin in the following sequence:-
	1) Start connected to GND during power on or reset.
	2) Disconnect from GND and connect to 3.3V
	3) Disconnect from 3.3V. Test should start now.

Known issues:
The test uses RTC to wake it up from deep sleep.  After several iterations,
the RTC might fail to fire an alarm or the alarm is missed.  It appears to be
a timing issue with using RTC for his purpose. If this happens, the app would
be unable to wake up from deep sleep and would need a reset.
--------------------------------------------------------------------------------

Building and Running Project:

This application is architecture and SoC specific.  It is written for x86
architecture and uses features specific to quark_se platforms.

This is a microkernel only project since the zephyr power management
infrastructure currently is only microkernel idle based. In future, when
nanokernel idle is supported, a separate nanokernel app would be created.

    make BOARD=<quark_se board>

--------------------------------------------------------------------------------

Troubleshooting:

Problems caused by out-dated project information can be addressed by
issuing one of the following commands then rebuilding the project:

    make clean          # discard results of previous builds
                        # but keep existing configuration info
or
    make pristine       # discard results of previous builds
                        # and restore pre-defined configuration info

--------------------------------------------------------------------------------

Sample Output:

Power Management Demo
Toggle gpio pin 16 to start test
PM test started


Low power state policy entry!

Low power state policy exit!
Total Elapsed From Suspend To Resume = 163869 RTC Cycles
Device suspend only policy entry!

Device suspend only policy exit!
Total Elapsed From Suspend To Resume = 163868 RTC Cycles


Deep sleep policy entry!
Wake from Deep Sleep!

Deep sleep policy exit!
Total Elapsed From Suspend To Resume = 163986 RTC Cycles
Deep Sleep wake up event handler

...<commit_msg>samples: power_mgmt: Fix README inconsistent info<commit_after>Title: Power management demo

Description:

A sample implementation of a power manager app that uses the zephyr
power management infrastructure.

This app will cycle through the various power schemes at every call
to _sys_soc_suspend() hook function.
It will cycle through following states
1. CPU Low Power State
2. Deep Sleep - demonstrates invoking suspend/resume handlers of devices to
save device states and switching to deep sleep state.
4. No-op - no operation and letting kernel do its idle

This application uses Intel Quark SE Microcontroller C1000 board for
the demo.

When started, the app waits for a toggle of GPIO pin 16.  GPIO Pin 16 is
DIO 8 in arduino_101 and DIO 4 in quark_se_c1000_devboard.

Toggle the GPIO pin in the following sequence:-
	1) Start connected to GND during power on or reset.
	2) Disconnect from GND and connect to 3.3V
	3) Disconnect from 3.3V. Test should start now.

--------------------------------------------------------------------------------

Building and Running Project:

    make BOARD=<board>

--------------------------------------------------------------------------------

Troubleshooting:

Problems caused by out-dated project information can be addressed by
issuing one of the following commands then rebuilding the project:

    make clean          # discard results of previous builds
                        # but keep existing configuration info
or
    make pristine       # discard results of previous builds
                        # and restore pre-defined configuration info

--------------------------------------------------------------------------------

Sample Output:

Power Management Demo
Toggle gpio pin 16 to start test
PM demo started


Low power state entry!

Low power state exit!
Total Elapsed From Suspend To Resume = 163869 RTC Cycles

Deep sleep entry!
Wake from Deep Sleep!

Deep sleep exit!
Total Elapsed From Suspend To Resume = 163986 RTC Cycles
Deep Sleep wake up event handler

...
{'fraction_non_alphanumeric': 0.12259615384615384, 'fraction_numerical': 0.017628205128205128, 'mean_word_length': 2.429258241758242, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1538347', 'n_tokens_mistral': 1239, 'n_tokens_neox': 1134, 'n_words': 681}