[PATCH v1] media: aspeed: Fix driver probe failure
From: Haiyue Wang
Date: Fri Feb 27 2026 - 07:40:16 EST
The aspeed video (be compatible for ast2400, ast2500, ast2600) now needs
the reset DTS handle specified, otherwise it will fail to load:
[ 0.000000] OF: reserved mem: initialized node video, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0xbb000000..0xbeffffff (65536 KiB) map reusable video
[ 0.377039] videodev: Linux video capture interface: v2.00
[ 4.809494] aspeed-video 1e700000.video: irq 57
[ 4.809977] aspeed-video 1e700000.video: Unable to get reset
[ 4.810341] aspeed-video 1e700000.video: probe with driver aspeed-video failed with error -2
Fixes: e83f8dd668ea ("media: aspeed: Fix dram hang at res-change")
Signed-off-by: Haiyue Wang <haiyuewa@xxxxxxx>
---
arch/arm/boot/dts/aspeed/aspeed-g4.dtsi | 1 +
arch/arm/boot/dts/aspeed/aspeed-g5.dtsi | 1 +
arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 1 +
include/dt-bindings/clock/ast2600-clock.h | 1 +
4 files changed, 4 insertions(+)
diff --git a/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi
index c3d4d916c69b..1547e28d77e2 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi
@@ -242,6 +242,7 @@ video: video@1e700000 {
<&syscon ASPEED_CLK_GATE_ECLK>;
clock-names = "vclk", "eclk";
interrupts = <7>;
+ resets = <&syscon ASPEED_RESET_VIDEO>;
status = "disabled";
};
diff --git a/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi
index 39500bdb4747..793570ca2518 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi
@@ -296,6 +296,7 @@ video: video@1e700000 {
<&syscon ASPEED_CLK_GATE_ECLK>;
clock-names = "vclk", "eclk";
interrupts = <7>;
+ resets = <&syscon ASPEED_RESET_VIDEO>;
status = "disabled";
};
diff --git a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
index 189bc3bbb47c..3adf48987a17 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
@@ -428,6 +428,7 @@ video: video@1e700000 {
<&syscon ASPEED_CLK_GATE_ECLK>;
clock-names = "vclk", "eclk";
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+ resets = <&syscon ASPEED_RESET_VIDEO>;
status = "disabled";
};
diff --git a/include/dt-bindings/clock/ast2600-clock.h b/include/dt-bindings/clock/ast2600-clock.h
index f60fff261130..7b9b80c38a8b 100644
--- a/include/dt-bindings/clock/ast2600-clock.h
+++ b/include/dt-bindings/clock/ast2600-clock.h
@@ -124,6 +124,7 @@
#define ASPEED_RESET_PCIE_RC_OEN 18
#define ASPEED_RESET_MAC2 12
#define ASPEED_RESET_MAC1 11
+#define ASPEED_RESET_VIDEO 6
#define ASPEED_RESET_PCI_DP 5
#define ASPEED_RESET_HACE 4
#define ASPEED_RESET_AHB 1
--
2.53.0