2020-05-01 22:58:50 +08:00
|
|
|
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
|
2019-04-13 00:05:09 +08:00
|
|
|
/*
|
|
|
|
* 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. All rights reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#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;
|
|
|
|
|
2019-10-26 06:41:09 +08:00
|
|
|
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;
|
|
|
|
|
2019-04-13 00:05:09 +08:00
|
|
|
#endif
|