public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/31] arm64: dts: qcom: move board clocks to SoC DTSI files
@ 2024-11-30  1:44 Dmitry Baryshkov
  2024-11-30  1:44 ` [PATCH v2 01/31] arm64: dts: qcom: msm8916: correct sleep clock frequency Dmitry Baryshkov
                   ` (31 more replies)
  0 siblings, 32 replies; 52+ messages in thread
From: Dmitry Baryshkov @ 2024-11-30  1:44 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: Leo Yan, Joseph Gates, Georgi Djakov, Shawn Guo, Stephan Gerhold,
	Zac Crosby, Bastian Köcher, Andy Gross, Jeremy McNicoll,
	Rohit Agarwal, Melody Olvera, Bhupesh Sharma,
	cros-qcom-dts-watchers, Stephen Boyd, Rajendra Nayak,
	Martin Botka, Jonathan Marek, Vinod Koul, Tengfei Fan, Fenglin Wu,
	Neil Armstrong, Abel Vesa, Alexandru Marc Serdeliuc,
	Vladimir Zapolskiy, Sibi Sankar, Bryan O'Donoghue, Jun Nie,
	James Willcox, Max Chen, Vincent Knecht, Benjamin Li,
	Krzysztof Kozlowski, linux-arm-msm, devicetree, linux-kernel,
	Dmitry Baryshkov

Multiple Qualcomm platforms play strange tricks with board-level clocks
(XO, sleep) definitions. On some (older) platforms such clocks are
completely defined within SoC.dtsi file (although these clocks are not a
part of the SoC). On other platforms definitions of such clocks are
split between the SoC dtsi file and the board file. Several obscure
platforms define those clocks completely in the board files. Unify the
design and move complete description of those clocks to the SoC DTSI
file.

The XO clock is (usually) an external crystal used by the external PMIC,
which then provides RF CLK and LN BB CLK to the main SoC. However for
technical reasons this part of the PMIC is modelled as a part of the SoC
as RPM or RPMh clock controllers. It makes it impractical to describe XO
clock as being used or being connected to the PMIC.

Sleep clock is a 32.764 kHz RC oscillator provided by one of
PMICs. However pushing it into the PMIC might interact badly with fw
devlink, causing unnecessary probe delays and/or devlink loops. One of
the possible solutions might be to move it to the corresponding
PMIC.dtsi, but model the clock outside of the PMIC node, providing
/clocks/sleep-clk node from that file.

Note, the series includes a set of fixes for the sleep clocks
frequencies. For several platforms I wasn't able to find corresponding
document and as such I didn't change defined clocks. These platforms
are: IPQ5018, IPQ5332, IPQ5424, IPQ6018, IPQ8074, IPQ9574, MSM8953.

Also several MSM8996 / MSM8994 devices define divisor clocks at
32.768 kHz. Most likely these clocks are also generated by dividing the
19.2 MHz clock and should have the frequency 32.764 kHz, but being not
100% sure I decided to leave those as is for now.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Changes in v2:
- Move clocks to SoC DTSI (offline discussion with Bjorn)
- Link to v1: https://lore.kernel.org/r/20241115-fix-board-clocks-v1-0-8cb00a4f57c2@linaro.org

---
Dmitry Baryshkov (31):
      arm64: dts: qcom: msm8916: correct sleep clock frequency
      arm64: dts: qcom: msm8939: correct sleep clock frequency
      arm64: dts: qcom: msm8994: correct sleep clock frequency
      arm64: dts: qcom: qcs404: correct sleep clock frequency
      arm64: dts: qcom: q[dr]u1000: correct sleep clock frequency
      arm64: dts: qcom: qrb4210-rb2: correct sleep clock frequency
      arm64: dts: qcom: sar2130p: correct sleep clock frequency
      arm64: dts: qcom: sc7280: correct sleep clock frequency
      arm64: dts: qcom: sdx75: correct sleep clock frequency
      arm64: dts: qcom: sm4450: correct sleep clock frequency
      arm64: dts: qcom: sm6125: correct sleep clock frequency
      arm64: dts: qcom: sm6375: correct sleep clock frequency
      arm64: dts: qcom: sm8250: correct sleep clock frequency
      arm64: dts: qcom: sm8350: correct sleep clock frequency
      arm64: dts: qcom: sm8450: correct sleep clock frequency
      arm64: dts: qcom: sm8550: correct sleep clock frequency
      arm64: dts: qcom: sm8650: correct sleep clock frequency
      arm64: dts: qcom: x1e80100: correct sleep clock frequency
      arm64: dts: qcom: sc8180x: drop extra XO clock frequencies
      arm64: dts: qcom: ipq5018: move board clocks to ipq5018.dtsi file
      arm64: dts: qcom: ipq5332: move board clocks to ipq5332.dtsi file
      arm64: dts: qcom: ipq5424: move board clocks to ipq5424.dtsi file
      arm64: dts: qcom: ipq9574: move board clocks to ipq9574.dtsi file
      arm64: dts: qcom: qcm2290: move board clocks to qcm2290.dtsi file
      arm64: dts: qcom: sc8280xp: move board clocks to sc8280xp.dtsi file
      arm64: dts: qcom: sm6115: move board clocks to sm6115.dtsi file
      arm64: dts: qcom: sm6375: move board clocks to sm6375.dtsi file
      arm64: dts: qcom: sm8550: move board clocks to sm8550.dtsi file
      arm64: dts: qcom: sm8650: move board clocks to sm8650.dtsi file
      arm64: dts: qcom: sdm670: move board clocks to sdm670.dtsi file
      arm64: dts: qcom: q[dr]u1000: move board clocks to qdu1000.dtsi file

 arch/arm64/boot/dts/qcom/ipq5018-rdp432-c2.dts             |  8 --------
 arch/arm64/boot/dts/qcom/ipq5018-tplink-archer-ax55-v1.dts |  8 --------
 arch/arm64/boot/dts/qcom/ipq5018.dtsi                      |  2 ++
 arch/arm64/boot/dts/qcom/ipq5332-rdp-common.dtsi           |  8 --------
 arch/arm64/boot/dts/qcom/ipq5332.dtsi                      |  2 ++
 arch/arm64/boot/dts/qcom/ipq5424-rdp466.dts                |  9 ---------
 arch/arm64/boot/dts/qcom/ipq5424.dtsi                      |  2 ++
 arch/arm64/boot/dts/qcom/ipq9574-rdp-common.dtsi           |  8 --------
 arch/arm64/boot/dts/qcom/ipq9574.dtsi                      |  2 ++
 arch/arm64/boot/dts/qcom/msm8916.dtsi                      |  2 +-
 arch/arm64/boot/dts/qcom/msm8939.dtsi                      |  2 +-
 arch/arm64/boot/dts/qcom/msm8994.dtsi                      |  2 +-
 arch/arm64/boot/dts/qcom/qcm2290.dtsi                      |  1 +
 arch/arm64/boot/dts/qcom/qcs404.dtsi                       |  2 +-
 arch/arm64/boot/dts/qcom/qcs8550-aim300.dtsi               |  8 --------
 arch/arm64/boot/dts/qcom/qdu1000-idp.dts                   | 14 --------------
 arch/arm64/boot/dts/qcom/qdu1000.dtsi                      | 14 ++++++++++++++
 arch/arm64/boot/dts/qcom/qrb2210-rb1.dts                   |  4 ----
 arch/arm64/boot/dts/qcom/qrb4210-rb2.dts                   |  8 --------
 arch/arm64/boot/dts/qcom/qru1000-idp.dts                   | 14 --------------
 arch/arm64/boot/dts/qcom/sa8295p-adp.dts                   |  4 ----
 arch/arm64/boot/dts/qcom/sa8540p-ride.dts                  |  4 ----
 arch/arm64/boot/dts/qcom/sar2130p.dtsi                     |  2 +-
 arch/arm64/boot/dts/qcom/sc7280.dtsi                       |  2 +-
 arch/arm64/boot/dts/qcom/sc8180x-lenovo-flex-5g.dts        |  4 ----
 arch/arm64/boot/dts/qcom/sc8180x-primus.dts                |  4 ----
 arch/arm64/boot/dts/qcom/sc8280xp-crd.dts                  |  4 ----
 arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts |  4 ----
 arch/arm64/boot/dts/qcom/sc8280xp-microsoft-arcata.dts     |  4 ----
 arch/arm64/boot/dts/qcom/sc8280xp.dtsi                     |  1 +
 arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts           | 14 --------------
 arch/arm64/boot/dts/qcom/sdm670.dtsi                       | 14 ++++++++++++++
 arch/arm64/boot/dts/qcom/sdx75.dtsi                        |  2 +-
 arch/arm64/boot/dts/qcom/sm4250-oneplus-billie2.dts        |  8 --------
 arch/arm64/boot/dts/qcom/sm4450.dtsi                       |  2 +-
 arch/arm64/boot/dts/qcom/sm6115-fxtec-pro1x.dts            |  8 --------
 arch/arm64/boot/dts/qcom/sm6115.dtsi                       |  2 ++
 arch/arm64/boot/dts/qcom/sm6115p-lenovo-j606f.dts          |  8 --------
 arch/arm64/boot/dts/qcom/sm6125.dtsi                       |  2 +-
 .../boot/dts/qcom/sm6375-sony-xperia-murray-pdx225.dts     |  4 ----
 arch/arm64/boot/dts/qcom/sm6375.dtsi                       |  3 ++-
 arch/arm64/boot/dts/qcom/sm8250.dtsi                       |  2 +-
 arch/arm64/boot/dts/qcom/sm8350.dtsi                       |  2 +-
 arch/arm64/boot/dts/qcom/sm8450.dtsi                       |  2 +-
 arch/arm64/boot/dts/qcom/sm8550-hdk.dts                    |  8 --------
 arch/arm64/boot/dts/qcom/sm8550-mtp.dts                    |  8 --------
 arch/arm64/boot/dts/qcom/sm8550-qrd.dts                    |  8 --------
 arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts            |  8 --------
 .../arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts |  8 --------
 arch/arm64/boot/dts/qcom/sm8550.dtsi                       |  2 ++
 arch/arm64/boot/dts/qcom/sm8650-hdk.dts                    |  8 --------
 arch/arm64/boot/dts/qcom/sm8650-mtp.dts                    |  8 --------
 arch/arm64/boot/dts/qcom/sm8650-qrd.dts                    |  8 --------
 arch/arm64/boot/dts/qcom/sm8650.dtsi                       |  2 ++
 arch/arm64/boot/dts/qcom/x1e80100.dtsi                     |  2 +-
 55 files changed, 59 insertions(+), 237 deletions(-)
---
base-commit: cfba9f07a1d6aeca38f47f1f472cfb0ba133d341
change-id: 20241115-fix-board-clocks-e3afe520627c

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>


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

end of thread, other threads:[~2024-11-30 13:14 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-30  1:44 [PATCH v2 00/31] arm64: dts: qcom: move board clocks to SoC DTSI files Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 01/31] arm64: dts: qcom: msm8916: correct sleep clock frequency Dmitry Baryshkov
2024-11-30 10:21   ` Stephan Gerhold
2024-11-30 10:42     ` Dmitry Baryshkov
2024-11-30 10:59       ` Stephan Gerhold
2024-11-30  1:44 ` [PATCH v2 02/31] arm64: dts: qcom: msm8939: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 03/31] arm64: dts: qcom: msm8994: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 04/31] arm64: dts: qcom: qcs404: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 05/31] arm64: dts: qcom: q[dr]u1000: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 06/31] arm64: dts: qcom: qrb4210-rb2: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 07/31] arm64: dts: qcom: sar2130p: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 08/31] arm64: dts: qcom: sc7280: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 09/31] arm64: dts: qcom: sdx75: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 10/31] arm64: dts: qcom: sm4450: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 11/31] arm64: dts: qcom: sm6125: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 12/31] arm64: dts: qcom: sm6375: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 13/31] arm64: dts: qcom: sm8250: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 14/31] arm64: dts: qcom: sm8350: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 15/31] arm64: dts: qcom: sm8450: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 16/31] arm64: dts: qcom: sm8550: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 17/31] arm64: dts: qcom: sm8650: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 18/31] arm64: dts: qcom: x1e80100: " Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 19/31] arm64: dts: qcom: sc8180x: drop extra XO clock frequencies Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 20/31] arm64: dts: qcom: ipq5018: move board clocks to ipq5018.dtsi file Dmitry Baryshkov
2024-11-30  9:29   ` Krzysztof Kozlowski
2024-11-30  9:57     ` Dmitry Baryshkov
2024-11-30 10:00       ` Krzysztof Kozlowski
2024-11-30 10:26         ` Dmitry Baryshkov
2024-11-30 10:43           ` Krzysztof Kozlowski
2024-11-30 11:08             ` Dmitry Baryshkov
2024-11-30 13:14             ` Konrad Dybcio
2024-11-30  1:44 ` [PATCH v2 21/31] arm64: dts: qcom: ipq5332: move board clocks to ipq5332.dtsi file Dmitry Baryshkov
2024-11-30  9:29   ` Krzysztof Kozlowski
2024-11-30  1:44 ` [PATCH v2 22/31] arm64: dts: qcom: ipq5424: move board clocks to ipq5424.dtsi file Dmitry Baryshkov
2024-11-30  9:30   ` Krzysztof Kozlowski
2024-11-30  1:44 ` [PATCH v2 23/31] arm64: dts: qcom: ipq9574: move board clocks to ipq9574.dtsi file Dmitry Baryshkov
2024-11-30  9:30   ` Krzysztof Kozlowski
2024-11-30  1:44 ` [PATCH v2 24/31] arm64: dts: qcom: qcm2290: move board clocks to qcm2290.dtsi file Dmitry Baryshkov
2024-11-30  9:30   ` Krzysztof Kozlowski
2024-11-30  1:44 ` [PATCH v2 25/31] arm64: dts: qcom: sc8280xp: move board clocks to sc8280xp.dtsi file Dmitry Baryshkov
2024-11-30  9:30   ` Krzysztof Kozlowski
2024-11-30  1:44 ` [PATCH v2 26/31] arm64: dts: qcom: sm6115: move board clocks to sm6115.dtsi file Dmitry Baryshkov
2024-11-30  9:30   ` Krzysztof Kozlowski
2024-11-30  1:44 ` [PATCH v2 27/31] arm64: dts: qcom: sm6375: move board clocks to sm6375.dtsi file Dmitry Baryshkov
2024-11-30  9:31   ` Krzysztof Kozlowski
2024-11-30  1:44 ` [PATCH v2 28/31] arm64: dts: qcom: sm8550: move board clocks to sm8550.dtsi file Dmitry Baryshkov
2024-11-30  9:31   ` Krzysztof Kozlowski
2024-11-30  1:44 ` [PATCH v2 29/31] arm64: dts: qcom: sm8650: move board clocks to sm8650.dtsi file Dmitry Baryshkov
2024-11-30  9:31   ` Krzysztof Kozlowski
2024-11-30  1:44 ` [PATCH v2 30/31] arm64: dts: qcom: sdm670: move board clocks to sdm670.dtsi file Dmitry Baryshkov
2024-11-30  1:44 ` [PATCH v2 31/31] arm64: dts: qcom: q[dr]u1000: move board clocks to qdu1000.dtsi file Dmitry Baryshkov
2024-11-30 10:18 ` [PATCH v2 00/31] arm64: dts: qcom: move board clocks to SoC DTSI files Marijn Suijten

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