1 /* SPDX-License-Identifier: GPL-2.0
2  *
3  * Copyright (c) 2021 MediaTek Inc.
4  * Copyright (c) 2024 Collabora Ltd.
5  *                    AngeloGioacchino Del Regno <[email protected]>
6  */
7 
8 #ifndef __MEDIATEK_DVFSRC_H
9 #define __MEDIATEK_DVFSRC_H
10 
11 enum mtk_dvfsrc_cmd {
12 	MTK_DVFSRC_CMD_BW,
13 	MTK_DVFSRC_CMD_HRT_BW,
14 	MTK_DVFSRC_CMD_PEAK_BW,
15 	MTK_DVFSRC_CMD_OPP,
16 	MTK_DVFSRC_CMD_VCORE_LEVEL,
17 	MTK_DVFSRC_CMD_VSCP_LEVEL,
18 	MTK_DVFSRC_CMD_MAX,
19 };
20 
21 #if IS_ENABLED(CONFIG_MTK_DVFSRC)
22 
23 int mtk_dvfsrc_send_request(const struct device *dev, u32 cmd, u64 data);
24 int mtk_dvfsrc_query_info(const struct device *dev, u32 cmd, int *data);
25 
26 #else
27 
mtk_dvfsrc_send_request(const struct device * dev,u32 cmd,u64 data)28 static inline int mtk_dvfsrc_send_request(const struct device *dev, u32 cmd, u64 data)
29 { return -ENODEV; }
30 
mtk_dvfsrc_query_info(const struct device * dev,u32 cmd,int * data)31 static inline int mtk_dvfsrc_query_info(const struct device *dev, u32 cmd, int *data)
32 { return -ENODEV; }
33 
34 #endif /* CONFIG_MTK_DVFSRC */
35 
36 #endif
37