[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240620081427.2860066-4-quic_varada@quicinc.com>
Date: Thu, 20 Jun 2024 13:44:23 +0530
From: Varadarajan Narayanan <quic_varada@...cinc.com>
To: <robh@...nel.org>, <krzk+dt@...nel.org>, <conor+dt@...nel.org>,
<angelogioacchino.delregno@...labora.com>, <andersson@...nel.org>,
<konrad.dybcio@...aro.org>, <mturquette@...libre.com>,
<sboyd@...nel.org>, <ulf.hansson@...aro.org>, <quic_sibis@...cinc.com>,
<quic_rjendra@...cinc.com>, <luca@...tu.xyz>, <abel.vesa@...aro.org>,
<quic_varada@...cinc.com>, <quic_rohiagar@...cinc.com>,
<danila@...xyga.com>, <otto.pflueger@...cue.de>,
<linux-arm-msm@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-clk@...r.kernel.org>,
<linux-pm@...r.kernel.org>
CC: Praveenkumar I <quic_ipkumar@...cinc.com>
Subject: [PATCH v1 3/7] pmdomain: qcom: rpmpd: Add IPQ9574 power domains
Add the APC power domain definitions used in IPQ9574.
Signed-off-by: Varadarajan Narayanan <quic_varada@...cinc.com>
Signed-off-by: Praveenkumar I <quic_ipkumar@...cinc.com>
---
drivers/pmdomain/qcom/rpmpd.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/drivers/pmdomain/qcom/rpmpd.c b/drivers/pmdomain/qcom/rpmpd.c
index 5e6280b4cf70..947d6a9c3897 100644
--- a/drivers/pmdomain/qcom/rpmpd.c
+++ b/drivers/pmdomain/qcom/rpmpd.c
@@ -38,6 +38,7 @@ static struct qcom_smd_rpm *rpmpd_smd_rpm;
#define KEY_FLOOR_CORNER 0x636676 /* vfc */
#define KEY_FLOOR_LEVEL 0x6c6676 /* vfl */
#define KEY_LEVEL 0x6c766c76 /* vlvl */
+#define RPM_KEY_UV 0x00007675 /* "uv" */
#define MAX_CORNER_RPMPD_STATE 6
@@ -644,6 +645,23 @@ static const struct rpmpd_desc mdm9607_desc = {
.max_state = RPM_SMD_LEVEL_TURBO,
};
+static struct rpmpd apc_s1_lvl = {
+ .pd = { .name = "apc", },
+ .res_type = RPMPD_SMPA,
+ .res_id = 1,
+ .key = RPM_KEY_UV,
+};
+
+static struct rpmpd *ipq9574_rpmpds[] = {
+ [IPQ9574_VDDAPC] = &apc_s1_lvl,
+};
+
+static const struct rpmpd_desc ipq9574_desc = {
+ .rpmpds = ipq9574_rpmpds,
+ .num_pds = ARRAY_SIZE(ipq9574_rpmpds),
+ .max_state = RPM_SMD_LEVEL_TURBO_HIGH,
+};
+
static struct rpmpd *msm8226_rpmpds[] = {
[MSM8226_VDDCX] = &cx_s1a_corner,
[MSM8226_VDDCX_AO] = &cx_s1a_corner_ao,
@@ -931,6 +949,7 @@ static const struct rpmpd_desc qcm2290_desc = {
};
static const struct of_device_id rpmpd_match_table[] = {
+ { .compatible = "qcom,ipq9574-rpmpd", .data = &ipq9574_desc },
{ .compatible = "qcom,mdm9607-rpmpd", .data = &mdm9607_desc },
{ .compatible = "qcom,msm8226-rpmpd", .data = &msm8226_desc },
{ .compatible = "qcom,msm8909-rpmpd", .data = &msm8916_desc },
--
2.34.1
Powered by blists - more mailing lists