| /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ |
| /* |
| * This file is provided under a dual BSD/GPLv2 license. When using or |
| * redistributing this file, you may do so under either license. |
| * |
| * Copyright(c) 2018 Intel Corporation |
| */ |
| |
| #ifndef __INCLUDE_SOUND_SOF_PM_H__ |
| #define __INCLUDE_SOUND_SOF_PM_H__ |
| |
| #include <sound/sof/header.h> |
| |
| /* |
| * PM |
| */ |
| |
| /* PM context element */ |
| struct sof_ipc_pm_ctx_elem { |
| struct sof_ipc_hdr hdr; |
| uint32_t type; |
| uint32_t size; |
| uint64_t addr; |
| } __packed; |
| |
| /* |
| * PM context - SOF_IPC_PM_CTX_SAVE, SOF_IPC_PM_CTX_RESTORE, |
| * SOF_IPC_PM_CTX_SIZE |
| */ |
| struct sof_ipc_pm_ctx { |
| struct sof_ipc_cmd_hdr hdr; |
| struct sof_ipc_host_buffer buffer; |
| uint32_t num_elems; |
| uint32_t size; |
| |
| /* reserved for future use */ |
| uint32_t reserved[8]; |
| |
| struct sof_ipc_pm_ctx_elem elems[]; |
| } __packed; |
| |
| /* enable or disable cores - SOF_IPC_PM_CORE_ENABLE */ |
| struct sof_ipc_pm_core_config { |
| struct sof_ipc_cmd_hdr hdr; |
| uint32_t enable_mask; |
| } __packed; |
| |
| struct sof_ipc_pm_gate { |
| struct sof_ipc_cmd_hdr hdr; |
| uint32_t flags; /* platform specific */ |
| |
| /* reserved for future use */ |
| uint32_t reserved[5]; |
| } __packed; |
| |
| #endif |