[2/2] clk: qcom: clk-rpmh: Add support for SM8150
diff mbox series

Message ID 20190814122958.4981-2-vkoul@kernel.org
State Not Applicable, archived
Delegated to: Andy Gross
Headers show
Series
  • [1/2] dt-bindings: clock: Document SM8150 rpmh-clock compatible
Related show

Commit Message

Vinod Koul Aug. 14, 2019, 12:29 p.m. UTC
Add support for rpmh clocks found in SM8150

Signed-off-by: Vinod Koul <vkoul@kernel.org>
---
 drivers/clk/qcom/clk-rpmh.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

Comments

Stephen Boyd Aug. 14, 2019, 5:19 p.m. UTC | #1
Quoting Vinod Koul (2019-08-14 05:29:58)
> Add support for rpmh clocks found in SM8150
> 
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---

Patch looks OK, but can you convert this driver to use the new parent
style and then update the binding to handle it? We can fix the other
platforms and dts files that use this driver in parallel, but sm8150
will be forward looking.
Vinod Koul Aug. 16, 2019, 4:24 a.m. UTC | #2
On 14-08-19, 10:19, Stephen Boyd wrote:
> Quoting Vinod Koul (2019-08-14 05:29:58)
> > Add support for rpmh clocks found in SM8150
> > 
> > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > ---
> 
> Patch looks OK, but can you convert this driver to use the new parent
> style and then update the binding to handle it? We can fix the other
> platforms and dts files that use this driver in parallel, but sm8150
> will be forward looking.

Yes but that would also impact sdm845 as it uses this driver, so I
wanted to get this one done so that we have support for rpm clock and
then do the conversion.

Would that be okay with you to get this in and then I convert this?

Thanks
Stephen Boyd Aug. 16, 2019, 4:58 p.m. UTC | #3
Quoting Vinod Koul (2019-08-15 21:24:40)
> On 14-08-19, 10:19, Stephen Boyd wrote:
> > Quoting Vinod Koul (2019-08-14 05:29:58)
> > > Add support for rpmh clocks found in SM8150
> > > 
> > > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > > ---
> > 
> > Patch looks OK, but can you convert this driver to use the new parent
> > style and then update the binding to handle it? We can fix the other
> > platforms and dts files that use this driver in parallel, but sm8150
> > will be forward looking.
> 
> Yes but that would also impact sdm845 as it uses this driver, so I
> wanted to get this one done so that we have support for rpm clock and
> then do the conversion.
> 
> Would that be okay with you to get this in and then I convert this?
> 

How does it impact sdm845? The new way of specifying parents supports
fallback to legacy string matching.
Vinod Koul Aug. 19, 2019, 6:28 a.m. UTC | #4
On 16-08-19, 09:58, Stephen Boyd wrote:
> Quoting Vinod Koul (2019-08-15 21:24:40)
> > On 14-08-19, 10:19, Stephen Boyd wrote:
> > > Quoting Vinod Koul (2019-08-14 05:29:58)
> > > > Add support for rpmh clocks found in SM8150
> > > > 
> > > > Signed-off-by: Vinod Koul <vkoul@kernel.org>
> > > > ---
> > > 
> > > Patch looks OK, but can you convert this driver to use the new parent
> > > style and then update the binding to handle it? We can fix the other
> > > platforms and dts files that use this driver in parallel, but sm8150
> > > will be forward looking.
> > 
> > Yes but that would also impact sdm845 as it uses this driver, so I
> > wanted to get this one done so that we have support for rpm clock and
> > then do the conversion.
> > 
> > Would that be okay with you to get this in and then I convert this?
> > 
> 
> How does it impact sdm845? The new way of specifying parents supports
> fallback to legacy string matching.

Yes it does, I have managed to convert this as well as sdm845 and test.
I will send updates shortly

Thanks

Patch
diff mbox series

diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c
index c3fd632af119..7fea263447c5 100644
--- a/drivers/clk/qcom/clk-rpmh.c
+++ b/drivers/clk/qcom/clk-rpmh.c
@@ -368,6 +368,32 @@  static const struct clk_rpmh_desc clk_rpmh_sdm845 = {
 	.num_clks = ARRAY_SIZE(sdm845_rpmh_clocks),
 };
 
+DEFINE_CLK_RPMH_ARC(sm8150, bi_tcxo, bi_tcxo_ao, "xo.lvl", 0x3, 2);
+DEFINE_CLK_RPMH_VRM(sm8150, ln_bb_clk2, ln_bb_clk2_ao, "lnbclka2", 2);
+DEFINE_CLK_RPMH_VRM(sm8150, ln_bb_clk3, ln_bb_clk3_ao, "lnbclka3", 2);
+DEFINE_CLK_RPMH_VRM(sm8150, rf_clk1, rf_clk1_ao, "rfclka1", 1);
+DEFINE_CLK_RPMH_VRM(sm8150, rf_clk2, rf_clk2_ao, "rfclka2", 1);
+DEFINE_CLK_RPMH_VRM(sm8150, rf_clk3, rf_clk3_ao, "rfclka3", 1);
+
+static struct clk_hw *sm8150_rpmh_clocks[] = {
+	[RPMH_CXO_CLK]		= &sm8150_bi_tcxo.hw,
+	[RPMH_CXO_CLK_A]	= &sm8150_bi_tcxo_ao.hw,
+	[RPMH_LN_BB_CLK2]	= &sm8150_ln_bb_clk2.hw,
+	[RPMH_LN_BB_CLK2_A]	= &sm8150_ln_bb_clk2_ao.hw,
+	[RPMH_LN_BB_CLK3]	= &sm8150_ln_bb_clk3.hw,
+	[RPMH_LN_BB_CLK3_A]	= &sm8150_ln_bb_clk3_ao.hw,
+	[RPMH_RF_CLK1]		= &sm8150_rf_clk1.hw,
+	[RPMH_RF_CLK1_A]	= &sm8150_rf_clk1_ao.hw,
+	[RPMH_RF_CLK2]		= &sm8150_rf_clk2.hw,
+	[RPMH_RF_CLK2_A]	= &sm8150_rf_clk2_ao.hw,
+	[RPMH_RF_CLK3]		= &sm8150_rf_clk3.hw,
+	[RPMH_RF_CLK3_A]	= &sm8150_rf_clk3_ao.hw,
+};
+
+static const struct clk_rpmh_desc clk_rpmh_sm8150 = {
+	.clks = sm8150_rpmh_clocks,
+	.num_clks = ARRAY_SIZE(sm8150_rpmh_clocks),
+};
 static struct clk_hw *of_clk_rpmh_hw_get(struct of_phandle_args *clkspec,
 					 void *data)
 {
@@ -447,6 +473,7 @@  static int clk_rpmh_probe(struct platform_device *pdev)
 
 static const struct of_device_id clk_rpmh_match_table[] = {
 	{ .compatible = "qcom,sdm845-rpmh-clk", .data = &clk_rpmh_sdm845},
+	{ .compatible = "qcom,sm8150-rpmh-clk", .data = &clk_rpmh_sm8150},
 	{ }
 };
 MODULE_DEVICE_TABLE(of, clk_rpmh_match_table);