From: Konrad Dybcio <konradybcio@kernel.org>
To: Bjorn Andersson <andersson@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, Lee Jones <lee@kernel.org>,
Taniya Das <taniya.das@oss.qualcomm.com>,
Linus Walleij <linusw@kernel.org>,
Melody Olvera <quic_molvera@quicinc.com>,
Konrad Dybcio <konradybcio@kernel.org>,
Taniya Das <quic_tdas@quicinc.com>,
Raviteja Laggyshetty <quic_rlaggysh@quicinc.com>,
Jishnu Prakash <quic_jprakash@quicinc.com>
Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-gpio@vger.kernel.org,
Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>,
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Subject: [PATCH RFC 4/8] pinctrl: qcom: sm8750: Expose reference clocks
Date: Mon, 02 Feb 2026 15:57:36 +0100 [thread overview]
Message-ID: <20260202-topic-8750_tcsr-v1-4-cd7e6648c64f@oss.qualcomm.com> (raw)
In-Reply-To: <20260202-topic-8750_tcsr-v1-0-cd7e6648c64f@oss.qualcomm.com>
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
The gating toggles were moved to the TLMM register space on this
platform. They lived inside TCSR a generation prior and are back there
again a generation after.
Expose them, so that they can be consumed by other blocks.
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
drivers/pinctrl/qcom/pinctrl-sm8750.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/drivers/pinctrl/qcom/pinctrl-sm8750.c b/drivers/pinctrl/qcom/pinctrl-sm8750.c
index 6f92f176edd4..1d29cc89e72f 100644
--- a/drivers/pinctrl/qcom/pinctrl-sm8750.c
+++ b/drivers/pinctrl/qcom/pinctrl-sm8750.c
@@ -9,6 +9,8 @@
#include "pinctrl-msm.h"
+#include <dt-bindings/clock/qcom,sm8750-tcsr.h>
+
#define REG_SIZE 0x1000
#define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11) \
@@ -1682,6 +1684,33 @@ static const struct msm_gpio_wakeirq_map sm8750_pdc_map[] = {
{ 204, 158 }, { 205, 107 }, { 209, 159 },
};
+static const struct ref_clk_init_data pcie_0_refclk = {
+ .name = "pcie_0_clkref",
+ .offset = 0x104008,
+};
+
+static const struct ref_clk_init_data ufs_refclk = {
+ .name = "ufs_clkref",
+ .offset = 0x105008,
+};
+
+static const struct ref_clk_init_data usb2_refclk = {
+ .name = "usb2_clkref",
+ .offset = 0x106008,
+};
+
+static const struct ref_clk_init_data usb3_refclk = {
+ .name = "usb3_clkref",
+ .offset = 0x107008,
+};
+
+static const struct ref_clk_init_data *sm8750_ref_clks[] = {
+ [TCSR_PCIE_0_CLKREF_EN] = &pcie_0_refclk,
+ [TCSR_UFS_CLKREF_EN] = &ufs_refclk,
+ [TCSR_USB2_CLKREF_EN] = &usb2_refclk,
+ [TCSR_USB3_CLKREF_EN] = &usb3_refclk,
+};
+
static const struct msm_pinctrl_soc_data sm8750_tlmm = {
.pins = sm8750_pins,
.npins = ARRAY_SIZE(sm8750_pins),
@@ -1693,6 +1722,8 @@ static const struct msm_pinctrl_soc_data sm8750_tlmm = {
.wakeirq_map = sm8750_pdc_map,
.nwakeirq_map = ARRAY_SIZE(sm8750_pdc_map),
.egpio_func = 11,
+ .ref_clks = sm8750_ref_clks,
+ .num_ref_clks = ARRAY_SIZE(sm8750_ref_clks),
};
static int sm8750_tlmm_probe(struct platform_device *pdev)
--
2.52.0
next prev parent reply other threads:[~2026-02-02 14:58 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-02 14:57 [RFC PATCH 0/8] Fix TCSR representation on SM8750 Konrad Dybcio
2026-02-02 14:57 ` [PATCH RFC 1/8] dt-bindings: Move qcom,sm8750-tcsr from clock/tcsr to mfd/tcsr Konrad Dybcio
2026-02-02 14:57 ` [PATCH RFC 2/8] dt-bindings: pinctrl: qcom,sm8750-tlmm: Allow clocks/clock-cells Konrad Dybcio
2026-02-02 14:57 ` [PATCH RFC 3/8] pinctrl: qcom: Allow exposing reference clocks living in TLMM reg space Konrad Dybcio
2026-02-02 19:39 ` Dmitry Baryshkov
2026-02-02 14:57 ` Konrad Dybcio [this message]
2026-02-17 11:51 ` [PATCH RFC 4/8] pinctrl: qcom: sm8750: Expose reference clocks Abel Vesa
2026-02-02 14:57 ` [PATCH RFC 5/8] arm64: dts: qcom: Remove inexistent TCSR_CC Konrad Dybcio
2026-02-17 11:52 ` Abel Vesa
2026-02-17 12:39 ` Krzysztof Kozlowski
2026-02-17 12:43 ` Konrad Dybcio
2026-02-17 12:44 ` Krzysztof Kozlowski
2026-02-02 14:57 ` [PATCH RFC 6/8] clk: qcom: Remove tcsrcc-sm8750 Konrad Dybcio
2026-02-17 11:48 ` Abel Vesa
2026-02-17 11:50 ` Konrad Dybcio
2026-02-17 12:04 ` Abel Vesa
2026-02-02 14:57 ` [PATCH RFC 7/8] arm64: dts: qcom: sm8750: Describe TCSR Konrad Dybcio
2026-02-02 14:57 ` [PATCH RFC 8/8] arm64: defconfig: Remove CONFIG_SM_TCSRCC_8750 Konrad Dybcio
2026-02-17 11:52 ` Abel Vesa
2026-02-02 18:19 ` [RFC PATCH 0/8] Fix TCSR representation on SM8750 Mukesh Ojha
2026-02-03 12:09 ` Konrad Dybcio
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=20260202-topic-8750_tcsr-v1-4-cd7e6648c64f@oss.qualcomm.com \
--to=konradybcio@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=krzk+dt@kernel.org \
--cc=lee@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=mukesh.ojha@oss.qualcomm.com \
--cc=quic_jprakash@quicinc.com \
--cc=quic_molvera@quicinc.com \
--cc=quic_rlaggysh@quicinc.com \
--cc=quic_tdas@quicinc.com \
--cc=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=taniya.das@oss.qualcomm.com \
/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
all inboxes | Powered by JetHome®