kernel-brax3-ubuntu-touch/drivers/misc/mediatek/apusys/aov/npu_scp_ipi.h
erascape f319b992b1 kernel-5.15: Initial import brax3 UT kernel
* halium configs enabled

Signed-off-by: erascape <erascape@proton.me>
2025-09-23 15:17:10 +00:00

70 lines
1.4 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2020 MediaTek Inc.
*/
#ifndef __NPU_SCP_IPI_H__
#define __NPU_SCP_IPI_H__
#include <linux/types.h>
enum NPU_SCP_IPI_CMD {
NPU_SCP_RESPONSE = 1,
NPU_SCP_STATE_CHANGE,
NPU_SCP_TEST,
NPU_SCP_SYSTEM,
NPU_SCP_NP_MDW,
NPU_SCP_RECOVERY,
};
enum NPU_SCP_STATE_CHANGE_ACT {
NPU_SCP_STATE_CHANGE_TO_SUSPEND = 1,
NPU_SCP_STATE_CHANGE_TO_RESUME,
};
enum NPU_SCP_SYSTEM_ACT {
NPU_SCP_SYSTEM_GET_VERSION = 1,
NPU_SCP_SYSTEM_FUNCTION_ENABLE,
NPU_SCP_SYSTEM_FUNCTION_DISABLE,
NPU_SCP_SYSTEM_FORCE_TO_SUSPEND,
NPU_SCP_SYSTEM_FORCE_TO_RESUME,
};
enum NPU_SCP_TEST_ACT {
NPU_SCP_TEST_START = 1,
NPU_SCP_TEST_STOP,
};
enum NPU_SCP_NP_MDW_ACT {
NPU_SCP_NP_MDW_ACK,
NPU_SCP_NP_MDW_TO_APMCU,
NPU_SCP_NP_MDW_TO_SCP,
};
enum NPU_SCP_RECOVERY_ACT {
NPU_SCP_RECOVERY_ACK,
NPU_SCP_RECOVERY_TO_APMCU,
NPU_SCP_RECOVERY_TO_SCP,
};
#define SCP_IPI_TIMEOUT_MS (10)
#define TESTCASE_TIMEOUT_MS (10000)
#define NPU_SCP_RET_OK (0)
#define NPU_SCP_RET_TEST_START_ERR (-1)
#define NPU_SCP_RET_TEST_STOP_ERR (-2)
#define NPU_SCP_RET_TEST_ERROR (-3)
#define NPU_SCP_RET_TEST_ABORTED (-4)
#define NPU_SCP_RET_TEST_EMPTY (-5)
struct npu_scp_ipi_param {
uint32_t cmd;
uint32_t act;
uint32_t arg;
uint32_t ret;
};
int npu_scp_ipi_send(struct npu_scp_ipi_param *send_msg, struct npu_scp_ipi_param *recv_msg,
uint32_t timeout_ms);
#endif // __NPU_SCP_IPI_H__