Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [RFC PATCH 0/8] Fix TCSR representation on SM8750
@ 2026-02-02 14:57 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
                   ` (8 more replies)
  0 siblings, 9 replies; 21+ messages in thread
From: Konrad Dybcio @ 2026-02-02 14:57 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Lee Jones, Taniya Das,
	Linus Walleij, Melody Olvera, Konrad Dybcio, Taniya Das,
	Raviteja Laggyshetty, Jishnu Prakash
  Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel, linux-gpio,
	Mukesh Ojha, Konrad Dybcio, stable+noautosel

As sparked by this thread:
<20260112151725.2308971-1-mukesh.ojha@oss.qualcomm.com>

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@oss.qualcomm.com>
---
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@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2026-02-17 12:44 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox