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 6/8] clk: qcom: Remove tcsrcc-sm8750
Date: Mon, 02 Feb 2026 15:57:38 +0100 [thread overview]
Message-ID: <20260202-topic-8750_tcsr-v1-6-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>
This is now handled from within the pinctrl subsystem, since there is
no "CC" block inside SM8750's TCSR, as the corresponding hardware is
present within TLMM. Remove the leftovers.
Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
drivers/clk/qcom/Kconfig | 8 ---
drivers/clk/qcom/Makefile | 1 -
drivers/clk/qcom/tcsrcc-sm8750.c | 141 ---------------------------------------
3 files changed, 150 deletions(-)
diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
index a8a86ea6bb74..f3ed33173ef6 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -1506,14 +1506,6 @@ config SM_TCSRCC_8650
Support for the TCSR clock controller on SM8650 devices.
Say Y if you want to use peripheral devices such as SD/UFS.
-config SM_TCSRCC_8750
- tristate "SM8750 TCSR Clock Controller"
- depends on ARM64 || COMPILE_TEST
- select QCOM_GDSC
- help
- Support for the TCSR clock controller on SM8750 devices.
- Say Y if you want to use peripheral devices such as UFS/USB/PCIe.
-
config SA_VIDEOCC_8775P
tristate "SA8775P Video Clock Controller"
depends on ARM64 || COMPILE_TEST
diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
index 6b0ad8832b55..f8c81844ee48 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
@@ -184,7 +184,6 @@ obj-$(CONFIG_SM_GPUCC_MILOS) += gpucc-milos.o
obj-$(CONFIG_SM_LPASSCC_6115) += lpasscc-sm6115.o
obj-$(CONFIG_SM_TCSRCC_8550) += tcsrcc-sm8550.o
obj-$(CONFIG_SM_TCSRCC_8650) += tcsrcc-sm8650.o
-obj-$(CONFIG_SM_TCSRCC_8750) += tcsrcc-sm8750.o
obj-$(CONFIG_SM_VIDEOCC_6350) += videocc-sm6350.o
obj-$(CONFIG_SM_VIDEOCC_7150) += videocc-sm7150.o
obj-$(CONFIG_SM_VIDEOCC_8150) += videocc-sm8150.o
diff --git a/drivers/clk/qcom/tcsrcc-sm8750.c b/drivers/clk/qcom/tcsrcc-sm8750.c
deleted file mode 100644
index 242e320986ef..000000000000
--- a/drivers/clk/qcom/tcsrcc-sm8750.c
+++ /dev/null
@@ -1,141 +0,0 @@
-// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
-/*
- * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
- */
-
-#include <linux/clk-provider.h>
-#include <linux/module.h>
-#include <linux/of.h>
-#include <linux/platform_device.h>
-#include <linux/regmap.h>
-
-#include <dt-bindings/clock/qcom,sm8750-tcsr.h>
-
-#include "clk-branch.h"
-#include "clk-regmap.h"
-#include "clk-regmap-divider.h"
-#include "clk-regmap-mux.h"
-#include "common.h"
-
-enum {
- DT_BI_TCXO_PAD,
-};
-
-static struct clk_branch tcsr_pcie_0_clkref_en = {
- .halt_reg = 0x0,
- .halt_check = BRANCH_HALT_DELAY,
- .clkr = {
- .enable_reg = 0x0,
- .enable_mask = BIT(0),
- .hw.init = &(const struct clk_init_data) {
- .name = "tcsr_pcie_0_clkref_en",
- .ops = &clk_branch2_ops,
- },
- },
-};
-
-static struct clk_branch tcsr_ufs_clkref_en = {
- .halt_reg = 0x1000,
- .halt_check = BRANCH_HALT_DELAY,
- .clkr = {
- .enable_reg = 0x1000,
- .enable_mask = BIT(0),
- .hw.init = &(const struct clk_init_data) {
- .name = "tcsr_ufs_clkref_en",
- .parent_data = &(const struct clk_parent_data){
- .index = DT_BI_TCXO_PAD,
- },
- .num_parents = 1,
- .ops = &clk_branch2_ops,
- },
- },
-};
-
-static struct clk_branch tcsr_usb2_clkref_en = {
- .halt_reg = 0x2000,
- .halt_check = BRANCH_HALT_DELAY,
- .clkr = {
- .enable_reg = 0x2000,
- .enable_mask = BIT(0),
- .hw.init = &(const struct clk_init_data) {
- .name = "tcsr_usb2_clkref_en",
- .parent_data = &(const struct clk_parent_data){
- .index = DT_BI_TCXO_PAD,
- },
- .num_parents = 1,
- .ops = &clk_branch2_ops,
- },
- },
-};
-
-static struct clk_branch tcsr_usb3_clkref_en = {
- .halt_reg = 0x3000,
- .halt_check = BRANCH_HALT_DELAY,
- .clkr = {
- .enable_reg = 0x3000,
- .enable_mask = BIT(0),
- .hw.init = &(const struct clk_init_data) {
- .name = "tcsr_usb3_clkref_en",
- .parent_data = &(const struct clk_parent_data){
- .index = DT_BI_TCXO_PAD,
- },
- .num_parents = 1,
- .ops = &clk_branch2_ops,
- },
- },
-};
-
-static struct clk_regmap *tcsr_cc_sm8750_clocks[] = {
- [TCSR_PCIE_0_CLKREF_EN] = &tcsr_pcie_0_clkref_en.clkr,
- [TCSR_UFS_CLKREF_EN] = &tcsr_ufs_clkref_en.clkr,
- [TCSR_USB2_CLKREF_EN] = &tcsr_usb2_clkref_en.clkr,
- [TCSR_USB3_CLKREF_EN] = &tcsr_usb3_clkref_en.clkr,
-};
-
-static const struct regmap_config tcsr_cc_sm8750_regmap_config = {
- .reg_bits = 32,
- .reg_stride = 4,
- .val_bits = 32,
- .max_register = 0x3000,
- .fast_io = true,
-};
-
-static const struct qcom_cc_desc tcsr_cc_sm8750_desc = {
- .config = &tcsr_cc_sm8750_regmap_config,
- .clks = tcsr_cc_sm8750_clocks,
- .num_clks = ARRAY_SIZE(tcsr_cc_sm8750_clocks),
-};
-
-static const struct of_device_id tcsr_cc_sm8750_match_table[] = {
- { .compatible = "qcom,sm8750-tcsr" },
- { }
-};
-MODULE_DEVICE_TABLE(of, tcsr_cc_sm8750_match_table);
-
-static int tcsr_cc_sm8750_probe(struct platform_device *pdev)
-{
- return qcom_cc_probe(pdev, &tcsr_cc_sm8750_desc);
-}
-
-static struct platform_driver tcsr_cc_sm8750_driver = {
- .probe = tcsr_cc_sm8750_probe,
- .driver = {
- .name = "tcsr_cc-sm8750",
- .of_match_table = tcsr_cc_sm8750_match_table,
- },
-};
-
-static int __init tcsr_cc_sm8750_init(void)
-{
- return platform_driver_register(&tcsr_cc_sm8750_driver);
-}
-subsys_initcall(tcsr_cc_sm8750_init);
-
-static void __exit tcsr_cc_sm8750_exit(void)
-{
- platform_driver_unregister(&tcsr_cc_sm8750_driver);
-}
-module_exit(tcsr_cc_sm8750_exit);
-
-MODULE_DESCRIPTION("QTI TCSR_CC SM8750 Driver");
-MODULE_LICENSE("GPL");
--
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 ` [PATCH RFC 4/8] pinctrl: qcom: sm8750: Expose reference clocks Konrad Dybcio
2026-02-17 11:51 ` 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 ` Konrad Dybcio [this message]
2026-02-17 11:48 ` [PATCH RFC 6/8] clk: qcom: Remove tcsrcc-sm8750 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-6-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®