[PATCH 4/5] arm64: dts: st: add LTDC pixel clock controller on stm32mp23
From: Gabriel Fernandez
Date: Tue Nov 10 2026 - 05:50:02 EST
Describe the LTDC pixel clock multiplexer of the SYSCFG as a
clock-controller sub-node and use it as the LTDC "ref" clock instead of
the SYSCFG node itself.
Only the LTDC kernel clock is available as parent on STM32MP231; the
LVDS and DSI clocks are added on STM32MP235.
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@xxxxxxxxxxx>
---
arch/arm64/boot/dts/st/stm32mp231.dtsi | 8 ++++++++
arch/arm64/boot/dts/st/stm32mp235.dtsi | 8 +++++++-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/st/stm32mp231.dtsi b/arch/arm64/boot/dts/st/stm32mp231.dtsi
index fefbf6f4f153..6b6b4aa2bb5d 100644
--- a/arch/arm64/boot/dts/st/stm32mp231.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp231.dtsi
@@ -4,6 +4,7 @@
* Author: Alexandre Torgue <alexandre.torgue@xxxxxxxxxxx> for STMicroelectronics.
*/
#include <dt-bindings/clock/st,stm32mp25-rcc.h>
+#include <dt-bindings/clock/st,stm32mp25-syscfg-clk.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/regulator/st,stm32mp25-regulator.h>
#include <dt-bindings/reset/st,stm32mp25-rcc.h>
@@ -1125,6 +1126,13 @@ syscfg: syscon@44230000 {
#address-cells = <1>;
#size-cells = <1>;
+ syscfg_clk: clock-controller {
+ compatible = "st,stm32mp25-syscfg-clk";
+ #clock-cells = <1>;
+ clocks = <&rcc CK_KER_LTDC>;
+ clock-names = "ltdc";
+ };
+
usb2_phy1: phy@2400 {
compatible = "st,stm32mp25-usb2phy1";
reg = <0x2400 0x24>;
diff --git a/arch/arm64/boot/dts/st/stm32mp235.dtsi b/arch/arm64/boot/dts/st/stm32mp235.dtsi
index 7a87c344a4fe..0ef5f2cdd18e 100644
--- a/arch/arm64/boot/dts/st/stm32mp235.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp235.dtsi
@@ -7,10 +7,16 @@
<dc {
compatible = "st,stm32mp255-ltdc";
- clocks = <&clk_flexgen_27_fixed>, <&rcc CK_BUS_LTDC>, <&syscfg>, <&lvds>;
+ clocks = <&clk_flexgen_27_fixed>, <&rcc CK_BUS_LTDC>,
+ <&syscfg_clk CK_SYSCFG_PIX_LTDC>, <&lvds>;
clock-names = "lcd", "bus", "ref", "lvds";
};
+&syscfg_clk {
+ clocks = <&rcc CK_KER_LTDC>, <&lvds>, <&clk_dsi_txbyte>;
+ clock-names = "ltdc", "lvds", "dsi";
+};
+
&rifsc {
lvds: lvds@48060000 {
compatible = "st,stm32mp255-lvds", "st,stm32mp25-lvds";
--
2.43.0