Re: [RFC PATCH 0/8] Fix TCSR representation on SM8750
From: Mukesh Ojha <hidden>
Date: 2026-02-02 18:19:29
Also in:
linux-arm-msm, linux-clk, linux-gpio, lkml
On Mon, Feb 02, 2026 at 03:57:32PM +0100, Konrad Dybcio wrote:
As sparked by this thread: [ref] The current representation of TCSR is wrong. On platforms post and including SM8550, the TCSR had a sub-block in it, containing gate clocks used for distributing the XO output to various consumers. This is what we refer to as TCSR_CC upstream. SM8750 however, is notably different. That same set of tunables had been moved to the TLMM register space. This is made worse, as the sm8750-tcsrcc driver consumes the qcom,sm8750-tcsr compatible. This hardware change had been undone with the generation following 8750. This series attempts to unwind that. It's difficult to merge, both for bindings and functional reasons.. I think it goes without saying this breaks backwards compatibility, but it has to be done to represent TCSR at all. The patches are ordered in a least-destructive order.. I gave this a quick spin on (remote) hw, the UFS (one of the consumers) still works, but more testing would be greatly appreciated. Signed-off-by: Konrad Dybcio <redacted>
Thanks Konrad for taking this forward, while I was also working on your suggestion to make tlmm a clock provider.
---
Konrad Dybcio (8):
dt-bindings: Move qcom,sm8750-tcsr from clock/tcsr to mfd/tcsr
dt-bindings: pinctrl: qcom,sm8750-tlmm: Allow clocks/clock-cells
pinctrl: qcom: Allow exposing reference clocks living in TLMM reg space
pinctrl: qcom: sm8750: Expose reference clocks
arm64: dts: qcom: Remove inexistent TCSR_CC
clk: qcom: Remove tcsrcc-sm8750
arm64: dts: qcom: sm8750: Describe TCSR
arm64: defconfig: Remove CONFIG_SM_TCSRCC_8750
.../bindings/clock/qcom,sm8550-tcsr.yaml | 2 -
.../devicetree/bindings/mfd/qcom,tcsr.yaml | 1 +
.../bindings/pinctrl/qcom,sm8750-tlmm.yaml | 12 ++
arch/arm64/boot/dts/qcom/sm8750.dtsi | 27 ++--
arch/arm64/configs/defconfig | 1 -
drivers/clk/qcom/Kconfig | 8 --
drivers/clk/qcom/Makefile | 1 -
drivers/clk/qcom/tcsrcc-sm8750.c | 141 ---------------------
drivers/pinctrl/qcom/pinctrl-msm.c | 92 ++++++++++++++
drivers/pinctrl/qcom/pinctrl-msm.h | 14 ++
drivers/pinctrl/qcom/pinctrl-sm8750.c | 31 +++++
11 files changed, 163 insertions(+), 167 deletions(-)
---
base-commit: 4c87cdd0328495759f6e9f9f4e1e53ef8032a76f
change-id: 20260202-topic-8750_tcsr-e2dafc2f11d1
Best regards,
--
Konrad Dybcio [off-list ref]-- -Mukesh Ojha