zephyr/kernel/microkernel
Julien Delayen fec01af64a power: Update Quark SE PM layer with QMSI 1.3
QMSI 1.3 natively supports restoring the SoC and peripherals
after sleep.

The Zephyr Power Management shim layer is updated
in order to support QMSI functions.

The following functions have been added:
void _sys_soc_set_power_state(enum power_state);
void _sys_soc_power_state_post_ops(void);

In order to fully support deep sleep, the function
_sys_soc_set_power_state now support saving and
restoring CPU context and returns to the application.

_sys_soc_set_power_state function also abstracts
QMSI cpu states and enable the application to choose
between C1/C2 or C2LP states.

The QMSI power states are mapped as follows:
SYS_SOC_POWER_STATE_CPU_LPS -> power_cpu_c2lp
SYS_SOC_POWER_STATE_CPU_LPS_1 -> power_cpu_c2
SYS_SOC_POWER_STATE_CPU_LPS_2 -> power_cpu_c1
SYS_SOC_POWER_STATE_DEEP_SLEEP -> power_soc_deep_sleep
SYS_SOC_POWER_STATE_DEEP_SLEEP_1 -> power_soc_sleep

The following functions have been removed:
void _sys_soc_set_power_policy(uint32_t pm_policy);
int _sys_soc_get_power_policy(void);
FUNC_NORETURN void _sys_soc_put_deep_sleep(void);
void _sys_soc_put_low_power_state(void);
void _sys_soc_deep_sleep_post_ops(void);

Those changes are propagated to the samples.
All calls to QMSI are removed.

Jira: ZEP-1045, ZEP-993, ZEP-1047

Change-Id: I26822727985b63be0a310cc3590a3e71b8e72c8c
Signed-off-by: Julien Delayen <julien.delayen@intel.com>
Signed-off-by: Ramesh Thomas <ramesh.thomas@intel.com>
2016-11-03 21:31:30 +00:00
..
include kernel: Cosmetic cleanups to memory pool code 2016-07-08 23:04:40 +00:00
k_command_packet.c kernel: catch overflowing kserver stack with asserts 2016-05-18 22:06:39 +00:00
k_event.c kernel: catch overflowing kserver stack with asserts 2016-05-18 22:06:39 +00:00
k_fifo.c fifo: Simplify task_fifo_get() API family 2016-02-05 20:25:06 -05:00
k_idle.c power: Update Quark SE PM layer with QMSI 1.3 2016-11-03 21:31:30 +00:00
k_init.c tracing: _k_command_stack is explicitly not tracked. 2016-06-16 16:30:46 +00:00
k_mailbox.c mem_pool: Simplify task_mem_pool_alloc() API family 2016-02-05 20:25:05 -05:00
k_memory_map.c mem_map: Simplify task_mem_map_alloc() API family 2016-02-05 20:25:05 -05:00
k_memory_pool.c kernel: Remove unneeded ASSERT from memory pool subsystem 2016-07-26 04:53:07 +00:00
k_move_data.c checkpatch: warning - block_comment_style 2016-02-05 20:24:33 -05:00
k_mutex.c mutex: Simplify task_mutex_lock() API family 2016-02-05 20:25:05 -05:00
k_nano.c microkernel: [un]block tasks on nanokernel objects infrastructure 2016-05-04 22:51:33 +00:00
k_nop.c microkernel: Fibers and ISRs may invoke microkernel no-op 2016-05-04 22:51:35 +00:00
k_offload.c Change BSD-3 licenses to Apache 2 2016-02-05 20:24:29 -05:00
k_pipe_buffer.c pipe, cosmetic: Put constant in comparisons on the right 2016-02-05 20:25:05 -05:00
k_pipe_get.c pipe, cosmetic: Put constant in comparisons on the right 2016-02-05 20:25:05 -05:00
k_pipe_put.c pipe, cosmetic: Put constant in comparisons on the right 2016-02-05 20:25:05 -05:00
k_pipe_util.c pipe, cosmetic: Put constant in comparisons on the right 2016-02-05 20:25:05 -05:00
k_pipe_xfer.c pipe, cosmetic: Put constant in comparisons on the right 2016-02-05 20:25:05 -05:00
k_pipe.c pipes: Simplify task_pipe_get() API family 2016-02-05 20:25:05 -05:00
k_semaphore.c kernel: catch overflowing kserver stack with asserts 2016-05-18 22:06:39 +00:00
k_server.c microkernel: use _thread_essential_set() 2016-05-03 17:42:54 +00:00
k_task_monitor.c kernel event logger: add possibility to use custom timestamp 2016-05-23 21:27:49 +00:00
k_task.c kernel: Revise thread monitoring exit API naming 2016-10-26 17:03:12 +00:00
k_ticker.c microkernel: Add support for *_sleep() during initialization 2016-03-26 10:17:15 +00:00
k_timer.c kernel: add _IS_IDLE_TASK() 2016-05-11 20:22:24 +00:00
Kconfig microkernel: remove deprecated task IRQs 2016-09-06 16:15:59 +00:00
Makefile microkernel: remove deprecated task IRQs 2016-09-06 16:15:59 +00:00