From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: Andy Gross <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Stephen Boyd <sboyd@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Taniya Das <quic_tdas@quicinc.com>
Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
devicetree@vger.kernel.org
Subject: [PATCH v2 11/16] clk: qcom: gcc-qcs404: sort out the cxo clock
Date: Mon, 26 Dec 2022 06:21:49 +0200 [thread overview]
Message-ID: <20221226042154.2666748-12-dmitry.baryshkov@linaro.org> (raw)
In-Reply-To: <20221226042154.2666748-1-dmitry.baryshkov@linaro.org>
The GCC driver registers the cxo clock as a thin wrapper around board's
xo_board clock. Nowadays we can use the xo_board directly in all the
clocks that use it. Use the fw_name "cxo" for this clock.
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
drivers/clk/qcom/gcc-qcs404.c | 97 +++++++++++++++--------------------
1 file changed, 41 insertions(+), 56 deletions(-)
diff --git a/drivers/clk/qcom/gcc-qcs404.c b/drivers/clk/qcom/gcc-qcs404.c
index 2726a48f2d5c..fa2adf242648 100644
--- a/drivers/clk/qcom/gcc-qcs404.c
+++ b/drivers/clk/qcom/gcc-qcs404.c
@@ -44,14 +44,21 @@ enum {
P_XO,
};
+static const struct parent_map gcc_parent_map_1[] = {
+ { P_XO, 0 },
+};
+
+static const struct clk_parent_data gcc_parent_data_1[] = {
+ { .index = DT_XO, .name = "xo-board" },
+};
+
static struct clk_fixed_factor cxo = {
.mult = 1,
.div = 1,
.hw.init = &(struct clk_init_data){
.name = "cxo",
- .parent_data = &(const struct clk_parent_data) {
- .name = "xo-board",
- },
+ .parent_data = gcc_parent_data_1,
+ .num_parents = ARRAY_SIZE(gcc_parent_data_1),
.num_parents = 1,
.ops = &clk_fixed_factor_ops,
},
@@ -66,10 +73,8 @@ static struct clk_alpha_pll gpll0_sleep_clk_src = {
.enable_is_inverted = true,
.hw.init = &(struct clk_init_data){
.name = "gpll0_sleep_clk_src",
- .parent_data = &(const struct clk_parent_data) {
- .hw = &cxo.hw,
- },
- .num_parents = 1,
+ .parent_data = gcc_parent_data_1,
+ .num_parents = ARRAY_SIZE(gcc_parent_data_1),
.ops = &clk_alpha_pll_ops,
},
},
@@ -84,10 +89,8 @@ static struct clk_alpha_pll gpll0_out_main = {
.enable_mask = BIT(0),
.hw.init = &(struct clk_init_data){
.name = "gpll0_out_main",
- .parent_data = &(const struct clk_parent_data) {
- .hw = &cxo.hw,
- },
- .num_parents = 1,
+ .parent_data = gcc_parent_data_1,
+ .num_parents = ARRAY_SIZE(gcc_parent_data_1),
.ops = &clk_alpha_pll_ops,
},
},
@@ -102,10 +105,8 @@ static struct clk_alpha_pll gpll0_ao_out_main = {
.enable_mask = BIT(0),
.hw.init = &(struct clk_init_data){
.name = "gpll0_ao_out_main",
- .parent_data = &(const struct clk_parent_data) {
- .hw = &cxo.hw,
- },
- .num_parents = 1,
+ .parent_data = gcc_parent_data_1,
+ .num_parents = ARRAY_SIZE(gcc_parent_data_1),
.flags = CLK_IS_CRITICAL,
.ops = &clk_alpha_pll_fixed_ops,
},
@@ -120,10 +121,8 @@ static struct clk_alpha_pll gpll1_out_main = {
.enable_mask = BIT(1),
.hw.init = &(struct clk_init_data){
.name = "gpll1_out_main",
- .parent_data = &(const struct clk_parent_data) {
- .hw = &cxo.hw,
- },
- .num_parents = 1,
+ .parent_data = gcc_parent_data_1,
+ .num_parents = ARRAY_SIZE(gcc_parent_data_1),
.ops = &clk_alpha_pll_ops,
},
},
@@ -153,10 +152,8 @@ static struct clk_alpha_pll gpll3_out_main = {
.clkr = {
.hw.init = &(struct clk_init_data){
.name = "gpll3_out_main",
- .parent_data = &(const struct clk_parent_data) {
- .hw = &cxo.hw,
- },
- .num_parents = 1,
+ .parent_data = gcc_parent_data_1,
+ .num_parents = ARRAY_SIZE(gcc_parent_data_1),
.ops = &clk_alpha_pll_ops,
},
},
@@ -170,10 +167,8 @@ static struct clk_alpha_pll gpll4_out_main = {
.enable_mask = BIT(5),
.hw.init = &(struct clk_init_data){
.name = "gpll4_out_main",
- .parent_data = &(const struct clk_parent_data) {
- .hw = &cxo.hw,
- },
- .num_parents = 1,
+ .parent_data = gcc_parent_data_1,
+ .num_parents = ARRAY_SIZE(gcc_parent_data_1),
.ops = &clk_alpha_pll_ops,
},
},
@@ -189,10 +184,8 @@ static struct clk_pll gpll6 = {
.status_bit = 17,
.clkr.hw.init = &(struct clk_init_data){
.name = "gpll6",
- .parent_data = &(const struct clk_parent_data) {
- .hw = &cxo.hw,
- },
- .num_parents = 1,
+ .parent_data = gcc_parent_data_1,
+ .num_parents = ARRAY_SIZE(gcc_parent_data_1),
.ops = &clk_pll_ops,
},
};
@@ -216,23 +209,15 @@ static const struct parent_map gcc_parent_map_0[] = {
};
static const struct clk_parent_data gcc_parent_data_0[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .hw = &gpll0_out_main.clkr.hw },
};
static const struct clk_parent_data gcc_parent_data_ao_0[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .hw = &gpll0_ao_out_main.clkr.hw },
};
-static const struct parent_map gcc_parent_map_1[] = {
- { P_XO, 0 },
-};
-
-static const struct clk_parent_data gcc_parent_data_1[] = {
- { .hw = &cxo.hw },
-};
-
static const struct parent_map gcc_parent_map_2[] = {
{ P_XO, 0 },
{ P_GPLL0_OUT_MAIN, 1 },
@@ -241,7 +226,7 @@ static const struct parent_map gcc_parent_map_2[] = {
};
static const struct clk_parent_data gcc_parent_data_2[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .hw = &gpll0_out_main.clkr.hw },
{ .hw = &gpll6_out_aux.hw },
{ .index = DT_SLEEP_CLK, .name = "sleep_clk" },
@@ -254,7 +239,7 @@ static const struct parent_map gcc_parent_map_3[] = {
};
static const struct clk_parent_data gcc_parent_data_3[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .hw = &gpll0_out_main.clkr.hw },
{ .hw = &gpll6_out_aux.hw },
};
@@ -265,7 +250,7 @@ static const struct parent_map gcc_parent_map_4[] = {
};
static const struct clk_parent_data gcc_parent_data_4[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .hw = &gpll1_out_main.clkr.hw },
};
@@ -275,7 +260,7 @@ static const struct parent_map gcc_parent_map_5[] = {
};
static const struct clk_parent_data gcc_parent_data_5[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .index = DT_DSI0_PHY_PLL_OUT_BYTECLK, .name = "dsi0pllbyte" },
};
@@ -285,7 +270,7 @@ static const struct parent_map gcc_parent_map_6[] = {
};
static const struct clk_parent_data gcc_parent_data_6[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .index = DT_DSI0_PHY_PLL_OUT_BYTECLK, .name = "dsi0pllbyte" },
};
@@ -297,7 +282,7 @@ static const struct parent_map gcc_parent_map_7[] = {
};
static const struct clk_parent_data gcc_parent_data_7[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .hw = &gpll0_out_main.clkr.hw },
{ .hw = &gpll3_out_main.clkr.hw },
{ .hw = &gpll6_out_aux.hw },
@@ -309,7 +294,7 @@ static const struct parent_map gcc_parent_map_8[] = {
};
static const struct clk_parent_data gcc_parent_data_8[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .index = DT_HDMI_PHY_PLL_CLK, .name = "hdmi_pll" },
};
@@ -321,7 +306,7 @@ static const struct parent_map gcc_parent_map_9[] = {
};
static const struct clk_parent_data gcc_parent_data_9[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .hw = &gpll0_out_main.clkr.hw },
{ .index = DT_DSI0_PHY_PLL_OUT_DSICLK, .name = "dsi0pll" },
{ .hw = &gpll6_out_aux.hw },
@@ -333,7 +318,7 @@ static const struct parent_map gcc_parent_map_10[] = {
};
static const struct clk_parent_data gcc_parent_data_10[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .index = DT_SLEEP_CLK, .name = "sleep_clk" },
};
@@ -343,7 +328,7 @@ static const struct parent_map gcc_parent_map_11[] = {
};
static const struct clk_parent_data gcc_parent_data_11[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .fw_name = "pcie_0_pipe_clk", .name = "pcie_0_pipe_clk" },
};
@@ -353,7 +338,7 @@ static const struct parent_map gcc_parent_map_12[] = {
};
static const struct clk_parent_data gcc_parent_data_12[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .index = DT_DSI0_PHY_PLL_OUT_DSICLK, .name = "dsi0pll" },
};
@@ -365,7 +350,7 @@ static const struct parent_map gcc_parent_map_13[] = {
};
static const struct clk_parent_data gcc_parent_data_13[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .hw = &gpll0_out_main.clkr.hw },
{ .hw = &gpll4_out_main.clkr.hw },
{ .hw = &gpll6_out_aux.hw },
@@ -377,7 +362,7 @@ static const struct parent_map gcc_parent_map_14[] = {
};
static const struct clk_parent_data gcc_parent_data_14[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .hw = &gpll0_out_main.clkr.hw },
};
@@ -386,7 +371,7 @@ static const struct parent_map gcc_parent_map_15[] = {
};
static const struct clk_parent_data gcc_parent_data_15[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
};
static const struct parent_map gcc_parent_map_16[] = {
@@ -395,7 +380,7 @@ static const struct parent_map gcc_parent_map_16[] = {
};
static const struct clk_parent_data gcc_parent_data_16[] = {
- { .hw = &cxo.hw },
+ { .index = DT_XO, .name = "xo-board" },
{ .hw = &gpll0_out_main.clkr.hw },
};
--
2.35.1
next prev parent reply other threads:[~2022-12-26 4:22 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-26 4:21 [PATCH v2 00/16] clk: qcom: gcc-qcs404: convert to parent_data Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 01/16] dt-bindings: clock: qcom: gcc-qcs404: add two GDSC entries Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 02/16] dt-bindings: clock: qcom: gcc-qcs404: switch to gcc.yaml Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 03/16] dt-bindings: clock: qcom: gcc-qcs404: define clocks/clock-names for QCS404 Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 04/16] clk: qcom: gcc-qcs404: use ARRAY_SIZE instead of specifying num_parents Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 05/16] clk: qcom: gcc-qcs404: disable gpll[04]_out_aux parents Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 06/16] clk: qcom: gcc-qcs404: fix names of the DSI clocks used as parents Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 07/16] clk: qcom: gcc-qcs404: fix the name of the HDMI PLL clock Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 08/16] clk: qcom: gcc-qcs404: get rid of the test clock Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 09/16] clk: qcom: gcc-qcs404: move PLL clocks up Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 10/16] clk: qcom: gcc-qcs404: use parent_hws/_data instead of parent_names Dmitry Baryshkov
2022-12-26 4:21 ` Dmitry Baryshkov [this message]
2022-12-26 4:21 ` [PATCH v2 12/16] clk: qcom: gcc-qcs404: add support for GDSCs Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 13/16] arm64: dts: qcom: qcs404: use symbol names for PCIe resets Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 14/16] arm64: dts: qcom: qcs404: add power-domains-cells to gcc node Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 15/16] arm64: dts: qcom: qcs404: add clocks to the " Dmitry Baryshkov
2022-12-26 4:21 ` [PATCH v2 16/16] arm64: dts: qcom: qcs404: add xo clock to rpm clock controller Dmitry Baryshkov
2022-12-27 11:33 ` Konrad Dybcio
2022-12-27 18:04 ` (subset) [PATCH v2 00/16] clk: qcom: gcc-qcs404: convert to parent_data Bjorn Andersson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221226042154.2666748-12-dmitry.baryshkov@linaro.org \
--to=dmitry.baryshkov@linaro.org \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=quic_tdas@quicinc.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).