* [PATCH 0/2] Add the clocks needed for the REFGEN block
@ 2026-07-07 6:55 Kathiravan Thirumoorthy
2026-07-07 6:55 ` [PATCH 1/2] dt-bindings: clock: qcom: Add IPQ9650 REFGEN clock IDs Kathiravan Thirumoorthy
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-07-07 6:55 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel,
Kathiravan Thirumoorthy, Konrad Dybcio
IPQ9650 SoC has 2 REFGEN blocks providing the reference current to
the PCIe and USB, UNIPHY PHYs. For the other SoCs, clocks for this block
is enabled on power up but that's not the case for IPQ9650 and we have
to explicitly enable those clocks. Add the required clocks for the same.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
---
Kathiravan Thirumoorthy (2):
dt-bindings: clock: qcom: Add IPQ9650 REFGEN clock IDs
clk: qcom: ipq9650: Add clocks for the REFGEN block
drivers/clk/qcom/gcc-ipq9650.c | 89 ++++++++++++++++++++++++++++
include/dt-bindings/clock/qcom,ipq9650-gcc.h | 5 ++
2 files changed, 94 insertions(+)
---
base-commit: 8e9685d3c41c35dd1b37df70d854137abcb2fbac
change-id: 20260630-b4-ipq9650_refgen_clocks-39c80df96ac9
Best regards,
--
Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] dt-bindings: clock: qcom: Add IPQ9650 REFGEN clock IDs
2026-07-07 6:55 [PATCH 0/2] Add the clocks needed for the REFGEN block Kathiravan Thirumoorthy
@ 2026-07-07 6:55 ` Kathiravan Thirumoorthy
2026-07-08 10:48 ` Krzysztof Kozlowski
2026-07-07 6:55 ` [PATCH 2/2] clk: qcom: ipq9650: Add clocks for the REFGEN block Kathiravan Thirumoorthy
2026-07-11 19:49 ` (subset) [PATCH 0/2] Add the clocks needed " Bjorn Andersson
2 siblings, 1 reply; 6+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-07-07 6:55 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel,
Kathiravan Thirumoorthy
Add the REFGEN clock IDs for the IPQ9650 SoC. These clocks are used
to enable the REFGEN block, which provides the reference current to
the PHYs in the SoC.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
include/dt-bindings/clock/qcom,ipq9650-gcc.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/include/dt-bindings/clock/qcom,ipq9650-gcc.h b/include/dt-bindings/clock/qcom,ipq9650-gcc.h
index afd17c00d96e..2d43ca36c09c 100644
--- a/include/dt-bindings/clock/qcom,ipq9650-gcc.h
+++ b/include/dt-bindings/clock/qcom,ipq9650-gcc.h
@@ -169,4 +169,9 @@
#define GPLL2 160
#define GPLL2_OUT_MAIN 161
#define GPLL4 162
+#define GCC_REFGEN_CORE_CLK_SRC 163
+#define GCC_REFGEN_PCIE_CORE_CLK 164
+#define GCC_REFGEN_PCIE_HCLK 165
+#define GCC_REFGEN_CMN_UPHY_HCLK 166
+#define GCC_REFGEN_CMN_UPHY_CORE_CLK 167
#endif
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] clk: qcom: ipq9650: Add clocks for the REFGEN block
2026-07-07 6:55 [PATCH 0/2] Add the clocks needed for the REFGEN block Kathiravan Thirumoorthy
2026-07-07 6:55 ` [PATCH 1/2] dt-bindings: clock: qcom: Add IPQ9650 REFGEN clock IDs Kathiravan Thirumoorthy
@ 2026-07-07 6:55 ` Kathiravan Thirumoorthy
2026-07-08 11:27 ` Dmitry Baryshkov
2026-07-11 19:49 ` (subset) [PATCH 0/2] Add the clocks needed " Bjorn Andersson
2 siblings, 1 reply; 6+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-07-07 6:55 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel,
Kathiravan Thirumoorthy, Konrad Dybcio
Add the clocks required to enable the REFGEN block which provides the
reference current to the PHYs in the SoC.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-ipq9650.c | 89 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 89 insertions(+)
diff --git a/drivers/clk/qcom/gcc-ipq9650.c b/drivers/clk/qcom/gcc-ipq9650.c
index c556c2bbfd96..e65a52fdfa91 100644
--- a/drivers/clk/qcom/gcc-ipq9650.c
+++ b/drivers/clk/qcom/gcc-ipq9650.c
@@ -3022,6 +3022,90 @@ static struct clk_branch gcc_usb1_sleep_clk = {
},
};
+static struct clk_rcg2 gcc_refgen_core_clk_src = {
+ .cmd_rcgr = 0x23004,
+ .mnd_width = 0,
+ .hid_width = 5,
+ .parent_map = gcc_parent_map_3,
+ .freq_tbl = ftbl_gcc_nss_ts_clk_src,
+ .clkr.hw.init = &(const struct clk_init_data) {
+ .name = "gcc_refgen_core_clk_src",
+ .parent_data = gcc_parent_data_3,
+ .num_parents = ARRAY_SIZE(gcc_parent_data_3),
+ .ops = &clk_rcg2_ops,
+ },
+};
+
+static struct clk_branch gcc_refgen_cmn_uphy_core_clk = {
+ .halt_reg = 0x2300c,
+ .halt_check = BRANCH_HALT,
+ .clkr = {
+ .enable_reg = 0x2300c,
+ .enable_mask = BIT(0),
+ .hw.init = &(const struct clk_init_data) {
+ .name = "gcc_refgen_cmn_uphy_core_clk",
+ .parent_hws = (const struct clk_hw*[]) {
+ &gcc_refgen_core_clk_src.clkr.hw,
+ },
+ .num_parents = 1,
+ .ops = &clk_branch2_ops,
+ },
+ },
+};
+
+static struct clk_branch gcc_refgen_pcie_core_clk = {
+ .halt_reg = 0x23020,
+ .halt_check = BRANCH_HALT,
+ .clkr = {
+ .enable_reg = 0x23020,
+ .enable_mask = BIT(0),
+ .hw.init = &(const struct clk_init_data) {
+ .name = "gcc_refgen_pcie_core_clk",
+ .parent_hws = (const struct clk_hw*[]) {
+ &gcc_refgen_core_clk_src.clkr.hw,
+ },
+ .num_parents = 1,
+ .ops = &clk_branch2_ops,
+ },
+ },
+};
+
+static struct clk_branch gcc_refgen_pcie_hclk = {
+ .halt_reg = 0x23024,
+ .halt_check = BRANCH_HALT_VOTED,
+ .clkr = {
+ .enable_reg = 0x23024,
+ .enable_mask = BIT(0),
+ .hw.init = &(const struct clk_init_data) {
+ .name = "gcc_refgen_pcie_hclk",
+ .parent_hws = (const struct clk_hw*[]) {
+ &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
+ },
+ .num_parents = 1,
+ .flags = CLK_SET_RATE_PARENT,
+ .ops = &clk_branch2_ops,
+ },
+ },
+};
+
+static struct clk_branch gcc_refgen_cmn_uphy_hclk = {
+ .halt_reg = 0x23010,
+ .halt_check = BRANCH_HALT_VOTED,
+ .clkr = {
+ .enable_reg = 0x23010,
+ .enable_mask = BIT(0),
+ .hw.init = &(const struct clk_init_data) {
+ .name = "gcc_refgen_cmn_uphy_hclk",
+ .parent_hws = (const struct clk_hw*[]) {
+ &gcc_pcnoc_bfdcd_clk_src.clkr.hw,
+ },
+ .num_parents = 1,
+ .flags = CLK_SET_RATE_PARENT,
+ .ops = &clk_branch2_ops,
+ },
+ },
+};
+
static struct clk_regmap *gcc_ipq9650_clocks[] = {
[GCC_ADSS_PWM_CLK] = &gcc_adss_pwm_clk.clkr,
[GCC_ADSS_PWM_CLK_SRC] = &gcc_adss_pwm_clk_src.clkr,
@@ -3179,6 +3263,11 @@ static struct clk_regmap *gcc_ipq9650_clocks[] = {
[GPLL2] = &gpll2.clkr,
[GPLL2_OUT_MAIN] = &gpll2_out_main.clkr,
[GPLL4] = &gpll4.clkr,
+ [GCC_REFGEN_CORE_CLK_SRC] = &gcc_refgen_core_clk_src.clkr,
+ [GCC_REFGEN_PCIE_CORE_CLK] = &gcc_refgen_pcie_core_clk.clkr,
+ [GCC_REFGEN_PCIE_HCLK] = &gcc_refgen_pcie_hclk.clkr,
+ [GCC_REFGEN_CMN_UPHY_HCLK] = &gcc_refgen_cmn_uphy_hclk.clkr,
+ [GCC_REFGEN_CMN_UPHY_CORE_CLK] = &gcc_refgen_cmn_uphy_core_clk.clkr,
};
static const struct qcom_reset_map gcc_ipq9650_resets[] = {
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] dt-bindings: clock: qcom: Add IPQ9650 REFGEN clock IDs
2026-07-07 6:55 ` [PATCH 1/2] dt-bindings: clock: qcom: Add IPQ9650 REFGEN clock IDs Kathiravan Thirumoorthy
@ 2026-07-08 10:48 ` Krzysztof Kozlowski
0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2026-07-08 10:48 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
linux-clk, devicetree, linux-kernel
On Tue, Jul 07, 2026 at 12:25:23PM +0530, Kathiravan Thirumoorthy wrote:
> Add the REFGEN clock IDs for the IPQ9650 SoC. These clocks are used
> to enable the REFGEN block, which provides the reference current to
> the PHYs in the SoC.
>
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
> ---
> include/dt-bindings/clock/qcom,ipq9650-gcc.h | 5 +++++
> 1 file changed, 5 insertions(+)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] clk: qcom: ipq9650: Add clocks for the REFGEN block
2026-07-07 6:55 ` [PATCH 2/2] clk: qcom: ipq9650: Add clocks for the REFGEN block Kathiravan Thirumoorthy
@ 2026-07-08 11:27 ` Dmitry Baryshkov
0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Baryshkov @ 2026-07-08 11:27 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Bjorn Andersson, Michael Turquette, Stephen Boyd, Brian Masney,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
linux-clk, devicetree, linux-kernel, Konrad Dybcio
On Tue, Jul 07, 2026 at 12:25:24PM +0530, Kathiravan Thirumoorthy wrote:
> Add the clocks required to enable the REFGEN block which provides the
> reference current to the PHYs in the SoC.
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
> ---
> drivers/clk/qcom/gcc-ipq9650.c | 89 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 89 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: (subset) [PATCH 0/2] Add the clocks needed for the REFGEN block
2026-07-07 6:55 [PATCH 0/2] Add the clocks needed for the REFGEN block Kathiravan Thirumoorthy
2026-07-07 6:55 ` [PATCH 1/2] dt-bindings: clock: qcom: Add IPQ9650 REFGEN clock IDs Kathiravan Thirumoorthy
2026-07-07 6:55 ` [PATCH 2/2] clk: qcom: ipq9650: Add clocks for the REFGEN block Kathiravan Thirumoorthy
@ 2026-07-11 19:49 ` Bjorn Andersson
2 siblings, 0 replies; 6+ messages in thread
From: Bjorn Andersson @ 2026-07-11 19:49 UTC (permalink / raw)
To: Michael Turquette, Stephen Boyd, Brian Masney, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Kathiravan Thirumoorthy
Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel, Konrad Dybcio
On Tue, 07 Jul 2026 12:25:22 +0530, Kathiravan Thirumoorthy wrote:
> IPQ9650 SoC has 2 REFGEN blocks providing the reference current to
> the PCIe and USB, UNIPHY PHYs. For the other SoCs, clocks for this block
> is enabled on power up but that's not the case for IPQ9650 and we have
> to explicitly enable those clocks. Add the required clocks for the same.
>
>
Applied, thanks!
[2/2] clk: qcom: ipq9650: Add clocks for the REFGEN block
commit: e27e02fff418d713bc52c2d929ea29aa6ac4530c
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-07-11 19:50 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-07 6:55 [PATCH 0/2] Add the clocks needed for the REFGEN block Kathiravan Thirumoorthy
2026-07-07 6:55 ` [PATCH 1/2] dt-bindings: clock: qcom: Add IPQ9650 REFGEN clock IDs Kathiravan Thirumoorthy
2026-07-08 10:48 ` Krzysztof Kozlowski
2026-07-07 6:55 ` [PATCH 2/2] clk: qcom: ipq9650: Add clocks for the REFGEN block Kathiravan Thirumoorthy
2026-07-08 11:27 ` Dmitry Baryshkov
2026-07-11 19:49 ` (subset) [PATCH 0/2] Add the clocks needed " Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox