From ccfead43b0053c0b318e150b18db516c0990fa88 Mon Sep 17 00:00:00 2001 From: David Collins Date: Fri, 19 Jul 2019 17:07:32 -0700 Subject: [PATCH] clk: qcom: define vdd_levels enum and vdd_corner[] map Define a vdd_levels enum and vdd_corner[] mapping table which can be used by clock controller drivers to configure the vdd_class associated with their clocks. Change-Id: Ia0c2ed35f7c87cc3dc9947844625a463745e2ac5 Signed-off-by: David Collins Signed-off-by: Mike Tipton --- drivers/clk/qcom/vdd-level.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 drivers/clk/qcom/vdd-level.h diff --git a/drivers/clk/qcom/vdd-level.h b/drivers/clk/qcom/vdd-level.h new file mode 100644 index 000000000000..915f016a0751 --- /dev/null +++ b/drivers/clk/qcom/vdd-level.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* Copyright (c) 2019-2021, The Linux Foundation. All rights reserved. */ + +#ifndef __DRIVERS_CLK_QCOM_VDD_LEVEL_H +#define __DRIVERS_CLK_QCOM_VDD_LEVEL_H + +#include +#include + +enum vdd_levels { + VDD_NONE, + VDD_MIN, /* MIN_SVS */ + VDD_LOWER_D1, /* LOW_SVS_D1 */ + VDD_LOWER, /* LOW_SVS / SVS2 */ + VDD_LOW, /* SVS */ + VDD_LOW_L0, /* SVS_L0 */ + VDD_LOW_L1, /* SVS_L1 */ + VDD_NOMINAL, /* NOM */ + VDD_HIGH, /* TURBO */ + VDD_NUM, +}; + +static int vdd_corner[] = { + [VDD_NONE] = 0, + [VDD_MIN] = RPMH_REGULATOR_LEVEL_MIN_SVS, + [VDD_LOWER_D1] = RPMH_REGULATOR_LEVEL_LOW_SVS_D1, + [VDD_LOWER] = RPMH_REGULATOR_LEVEL_LOW_SVS, + [VDD_LOW] = RPMH_REGULATOR_LEVEL_SVS, + [VDD_LOW_L0] = RPMH_REGULATOR_LEVEL_SVS_L0, + [VDD_LOW_L1] = RPMH_REGULATOR_LEVEL_SVS_L1, + [VDD_NOMINAL] = RPMH_REGULATOR_LEVEL_NOM, + [VDD_HIGH] = RPMH_REGULATOR_LEVEL_TURBO, +}; + +#endif