[RFC PATCH 0/8] Fix TCSR representation on SM8750

From: Konrad Dybcio

Date: Mon Feb 02 2026 - 10:10:15 EST


As sparked by this thread:
<20260112151725.2308971-1-mukesh.ojha@xxxxxxxxxxxxxxxx>

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 <konrad.dybcio@xxxxxxxxxxxxxxxx>
---
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 <konrad.dybcio@xxxxxxxxxxxxxxxx>