openwrt-cghmn-mt300n/target/linux/bcm27xx/patches-6.6/950-1549-dtoverlays-ov9281-Add-continuous-clock-option-as-an-.patch
Álvaro Fernández Rojas 251f76c1c6 bcm27xx: pull 6.6 patches from RPi repo
Adds latest 6.6 patches from the Raspberry Pi repository.

These patches were generated from:
https://github.com/raspberrypi/linux/commits/rpi-6.6.y/
With the following command:
git format-patch -N v6.6.83..HEAD
(HEAD -> 08d4e8f52256bd422d8a1f876411603f627d0a82)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-03-16 08:04:48 +01:00

67 lines
2.0 KiB
Diff

From ac56a225e0889e60e912ecd3a51333a5aee901fc Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Tue, 4 Mar 2025 15:28:53 +0000
Subject: [PATCH] dtoverlays: ov9281: Add continuous clock option as an
override
The previous change to make ov9281 always run in continuous clock
mode causes problems on Pi3 for reasons that aren't fully
understood. Pi4 is quite happy with it.
Change the default back to being non-continuous clock, and add
an override to select continuous clock mode and its slightly
greater max frame rate.
https://forums.raspberrypi.com/viewtopic.php?p=2300215
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
arch/arm/boot/dts/overlays/README | 3 +++
arch/arm/boot/dts/overlays/ov9281-overlay.dts | 16 +++++++++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -3570,6 +3570,9 @@ Params: rotation Mounting
Compute Module (CSI0, i2c_vc, and cam0_reg).
arducam Slow down the regulator for slow Arducam
modules.
+ clk-continuous Switch to continuous mode on the CSI clock lane,
+ which increases the maximum frame rate slightly.
+ Appears not to work on Pi3.
Name: papirus
--- a/arch/arm/boot/dts/overlays/ov9281-overlay.dts
+++ b/arch/arm/boot/dts/overlays/ov9281-overlay.dts
@@ -64,6 +64,20 @@
};
};
+ fragment@6 {
+ target = <&csi_ep>;
+ __overlay__ {
+ clock-noncontinuous;
+ };
+ };
+
+ fragment@7 {
+ target = <&cam_endpoint>;
+ __overlay__ {
+ clock-noncontinuous;
+ };
+ };
+
__overrides__ {
rotation = <&cam_node>,"rotation:0";
orientation = <&cam_node>,"orientation:0";
@@ -75,7 +89,7 @@
<&cam_node>, "avdd-supply:0=",<&cam0_reg>,
<&reg_frag>, "target:0=",<&cam0_reg>;
arducam = <0>, "+5";
-
+ clk-continuous = <0>, "-6-7";
};
};