linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] drm/imagination: add AM62P/AM67A/J722S support
@ 2025-12-23 12:47 Michael Walle
  2025-12-23 12:47 ` [PATCH v2 1/4] dt-bindings: gpu: img: Add AM62P SoC specific compatible Michael Walle
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Michael Walle @ 2025-12-23 12:47 UTC (permalink / raw)
  To: Frank Binns, Matt Coster, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Nishanth Menon,
	Vignesh Raghavendra, Tero Kristo, Andrew Davis, Santosh Shilimkar,
	Michael Turquette, Stephen Boyd, Kevin Hilman, Randolph Sapp
  Cc: linux-clk, dri-devel, devicetree, linux-kernel, linux-arm-kernel,
	Michael Walle

The AM62P and AM67A/J722S feature the same BXS-4 GPU as the J721S2.
In theory, one have to just add the DT node. But it turns out, that
the clock handling is not working. If I understood Nishan Menon
correct, it is working on the J721S2 because there, the clock is
shared, while on the AM62P the GPU has its own PLL.
In the latter case, the driver will fail with a WARN() because the
queried clock rate is zero due to a wrong cached value.

This was tested on the sa67 board which is based on the AM67A SoC.

v2:
 - collect ACKs
 - rebase onto latest -next
 - new patch which enables 800MHz operation for the sa67 board

v1:
 - https://lore.kernel.org/r/20250915143440.2362812-1-mwalle@kernel.org/
 - Don't set the clock to 800MHz in the soc dtsi. 800MHz is only
   possible if the core voltage is 0.85V. Just use the hardware
   default of 720MHz. A board device tree can set the 800MHz if
   applicable. Thanks Nishan.
 - Also add the new compatible to a conditional in the DT schema.
   Thanks Andrew.
 - Dropped the wrong of_clk_set_defaults() and instead disable
   caching of the clock rate.

RFC:
 - https://lore.kernel.org/r/20250716134717.4085567-1-mwalle@kernel.org/

Michael Walle (4):
  dt-bindings: gpu: img: Add AM62P SoC specific compatible
  clk: keystone: don't cache clock rate
  arm64: dts: ti: add GPU node
  arm64: dts: ti: sa67: set the GPU clock to 800MHz

 .../devicetree/bindings/gpu/img,powervr-rogue.yaml    |  2 ++
 .../arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi | 11 +++++++++++
 arch/arm64/boot/dts/ti/k3-am67a-kontron-sa67-base.dts |  6 ++++++
 drivers/clk/keystone/sci-clk.c                        |  8 ++++++++
 4 files changed, 27 insertions(+)

-- 
2.47.3



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

end of thread, other threads:[~2026-01-02  7:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-23 12:47 [PATCH v2 0/4] drm/imagination: add AM62P/AM67A/J722S support Michael Walle
2025-12-23 12:47 ` [PATCH v2 1/4] dt-bindings: gpu: img: Add AM62P SoC specific compatible Michael Walle
2025-12-23 12:47 ` [PATCH v2 2/4] clk: keystone: don't cache clock rate Michael Walle
2025-12-30 20:12   ` Nishanth Menon
2026-01-02  7:55     ` Michael Walle
2025-12-23 12:47 ` [PATCH v2 3/4] arm64: dts: ti: add GPU node Michael Walle
2025-12-23 12:47 ` [PATCH v2 4/4] arm64: dts: ti: sa67: set the GPU clock to 800MHz Michael Walle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).