
Moving peak-current threshold to DT to ensure that it'll get configured correctly on different targets. Change-Id: I7c1a7f8dd6ba818f7a1ee14de735729fb6f3abcb Signed-off-by: Mark Bao <quic_mbao@quicinc.com>
48 lignes
917 B
C
48 lignes
917 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _MMRM_RESOURCES_H_
|
|
#define _MMRM_RESOURCES_H_
|
|
|
|
#include <linux/platform_device.h>
|
|
#define MMRM_MAX_THROTTLE_CLIENTS 5
|
|
|
|
struct corner_info {
|
|
const char *name;
|
|
u32 volt_factor;
|
|
u32 scaling_factor_dyn;
|
|
u32 scaling_factor_leak;
|
|
};
|
|
|
|
struct voltage_corner_set {
|
|
struct corner_info *corner_tbl;
|
|
u32 count;
|
|
};
|
|
|
|
struct nom_clk_src_info {
|
|
u32 domain;
|
|
u32 clk_src_id;
|
|
u32 nom_dyn_pwr;
|
|
u32 nom_leak_pwr;
|
|
u32 num_hw_block;
|
|
};
|
|
|
|
struct nom_clk_src_set {
|
|
struct nom_clk_src_info *clk_src_tbl;
|
|
u32 count;
|
|
};
|
|
|
|
struct mmrm_clk_platform_resources {
|
|
struct platform_device *pdev;
|
|
u32 scheme;
|
|
u32 clsid_threshold_clients[MMRM_MAX_THROTTLE_CLIENTS];
|
|
u16 throttle_clients_data_length;
|
|
struct voltage_corner_set corner_set;
|
|
struct nom_clk_src_set nom_clk_set;
|
|
u32 peak_threshold;
|
|
};
|
|
|
|
#endif
|