58 lines
1,018 B
C
58 lines
1,018 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (c) 2020 MediaTek Inc.
|
|
*/
|
|
|
|
#ifndef __MTK_THERMAL_IPI_H__
|
|
#define __MTK_THERMAL_IPI_H__
|
|
|
|
#if IS_ENABLED(CONFIG_MTK_TINYSYS_SSPM_SUPPORT)
|
|
#include <sspm_ipi_id.h>
|
|
#endif
|
|
#if IS_ENABLED(CONFIG_MTK_TINYSYS_MCUPM_SUPPORT)
|
|
#include <mcupm_ipi_id.h>
|
|
#endif
|
|
|
|
#define THERMAL_TARGET_NAME_LEN (10)
|
|
#define THERMAL_SLOT_NUM (4)
|
|
|
|
enum thermal_ipi_target {
|
|
IPI_TARGET_SSPM,
|
|
IPI_TARGET_MCUPM,
|
|
NUM_THERMAL_IPI_TARGET,
|
|
|
|
IPI_TARGET_ALL = 0xFF,
|
|
};
|
|
|
|
enum thermal_ipi_reply_data {
|
|
IPI_SUCCESS,
|
|
IPI_FAIL,
|
|
IPI_NOT_SUPPORT,
|
|
IPI_WRONG_MSG_TYPE,
|
|
NUM_THERMAL_IPI_REPLY
|
|
};
|
|
|
|
enum thermal_ipi_msg_type {
|
|
THERMAL_THROTTLE_DISABLE = 100,
|
|
};
|
|
|
|
struct thermal_ipi_data {
|
|
unsigned int cmd;
|
|
int arg[THERMAL_SLOT_NUM - 1];
|
|
};
|
|
|
|
struct thermal_ipi_config {
|
|
struct mtk_ipi_device *dev;
|
|
int id;
|
|
int use_platform_ipi;
|
|
int opt;
|
|
int ack_data;
|
|
};
|
|
|
|
struct thermal_ipi_target_data {
|
|
const char name[THERMAL_TARGET_NAME_LEN];
|
|
int is_registered;
|
|
struct thermal_ipi_config config;
|
|
};
|
|
|
|
#endif
|