[SRU][N:raspi][PATCH 1/3] dtoverlays: Add Arducam override for ov9281

Juerg Haefliger juerg.haefliger at canonical.com
Wed Jul 30 14:35:46 UTC 2025


From: Dave Stevenson <dave.stevenson at raspberrypi.com>

BugLink: https://bugs.launchpad.net/bugs/2116543

The Arducam module is slow starting up, so add an override
to slow the regulator down.
https://forums.raspberrypi.com/viewtopic.php?t=380236

Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.com>
(cherry picked from commit 02dee262a9c7295ea514e9db7b9aa4b239922cb3 rpi-6.6.y)
Signed-off-by: Juerg Haefliger <juerg.haefliger at canonical.com>
---
 arch/arm/boot/dts/overlays/README             |  2 ++
 arch/arm/boot/dts/overlays/ov9281-overlay.dts | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
index aaea53113736..cc9aa0f6a862 100644
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -3387,6 +3387,8 @@ Params: rotation                Mounting rotation of the camera sensor (0 or
                                 configuring the sensor (default on)
         cam0                    Adopt the default configuration for CAM0 on a
                                 Compute Module (CSI0, i2c_vc, and cam0_reg).
+        arducam                 Slow down the regulator for slow Arducam
+                                modules.
 
 
 Name:   papirus
diff --git a/arch/arm/boot/dts/overlays/ov9281-overlay.dts b/arch/arm/boot/dts/overlays/ov9281-overlay.dts
index ec95b7a8b2f1..155294e233f0 100644
--- a/arch/arm/boot/dts/overlays/ov9281-overlay.dts
+++ b/arch/arm/boot/dts/overlays/ov9281-overlay.dts
@@ -57,6 +57,14 @@ __overlay__ {
 		};
 	};
 
+	reg_frag: fragment at 5 {
+		target = <&cam1_reg>;
+		__dormant__ {
+			startup-delay-us = <20000>;
+			off-on-delay-us = <30000>;
+		};
+	};
+
 	__overrides__ {
 		rotation = <&cam_node>,"rotation:0";
 		orientation = <&cam_node>,"orientation:0";
@@ -65,7 +73,10 @@ __overrides__ {
 		       <&csi_frag>, "target:0=",<&csi0>,
 		       <&clk_frag>, "target:0=",<&cam0_clk>,
 		       <&cam_node>, "clocks:0=",<&cam0_clk>,
-		       <&cam_node>, "avdd-supply:0=",<&cam0_reg>;
+		       <&cam_node>, "avdd-supply:0=",<&cam0_reg>,
+		       <&reg_frag>, "target:0=",<&cam0_reg>;
+		arducam = <0>, "+5";
+
 	};
 };
 
-- 
2.48.1




More information about the kernel-team mailing list