/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (c) 2019 MediaTek Inc. */ #ifndef __DVFSRC_MET_H #define __DVFSRC_MET_H #include #define MAX_EMI_MON_COUNT 12 struct mtk_dvfsrc_met; struct dvfsrc_met_config { u32 ip_verion; int (*dvfsrc_get_src_req_num)(void); char **(*dvfsrc_get_src_req_name)(void); unsigned int *(*dvfsrc_get_src_req)(struct mtk_dvfsrc_met *dvfs); int (*dvfsrc_get_ddr_ratio)(struct mtk_dvfsrc_met *dvfs); u32 (*get_current_level)(struct mtk_dvfsrc_met *dvfsrc); }; struct dvfsrc_met_data { const struct dvfsrc_met_config *met; u32 version; u32 max_emi_mon; }; struct mtk_dvfsrc_met { struct device *dev; void __iomem *regs; const struct dvfsrc_met_data *dvd; struct regulator *dvfsrc_vcore_power; struct icc_path *bw_path; struct icc_path *hrt_path; }; extern const struct dvfsrc_met_config mt6873_met_config; extern const struct dvfsrc_met_config mt6983_met_config; #endif