Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ace54dc authored by Veera Vegivada's avatar Veera Vegivada
Browse files

clk: qcom: sm6150: 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: I7b1ad5f51c414694bc9d5101afc411b1d63bad42
Signed-off-by: default avatarVeera Vegivada <vvegivad@codeaurora.org>
parent 9ddceddf
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/* Copyright (c) 2021, The Linux Foundation. All rights reserved. */

#ifndef __DRIVERS_CLK_QCOM_VDD_LEVEL_SM6150_H
#define __DRIVERS_CLK_QCOM_VDD_LEVEL_SM6150_H

#include <linux/regulator/consumer.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>

enum vdd_levels {
	VDD_NONE,
	VDD_MIN,		/* MIN SVS */
	VDD_LOWER,		/* SVS2 */
	VDD_LOW,		/* SVS */
	VDD_LOW_L1,		/* SVSL1 */
	VDD_NOMINAL,		/* NOM */
	VDD_NOMINAL_L1,		/* NOM1 */
	VDD_HIGH,		/* TURBO */
	VDD_HIGH_L1,		/* TURBO_L1 */
	VDD_NUM_SA6155 = VDD_HIGH_L1,
	VDD_NUM,
};

static int vdd_corner[] = {
	[VDD_NONE]		= 0,
	[VDD_MIN]		= RPMH_REGULATOR_LEVEL_MIN_SVS,
	[VDD_LOWER]		= RPMH_REGULATOR_LEVEL_LOW_SVS,
	[VDD_LOW]		= RPMH_REGULATOR_LEVEL_SVS,
	[VDD_LOW_L1]		= RPMH_REGULATOR_LEVEL_SVS_L1,
	[VDD_NOMINAL]		= RPMH_REGULATOR_LEVEL_NOM,
	[VDD_NOMINAL_L1]	= RPMH_REGULATOR_LEVEL_NOM_L1,
	[VDD_HIGH]		= RPMH_REGULATOR_LEVEL_TURBO,
	[VDD_HIGH_L1]		= RPMH_REGULATOR_LEVEL_TURBO_L1,
};

#endif