mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 01:28:59 +00:00
20fe7e687e
Sync 6.1 patches with the RPi foundation. Since rpi-6.6.y is now the main branch of the RPi foundation, there won't be any new patches for linux 6.1. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
130 lines
5.2 KiB
Diff
130 lines
5.2 KiB
Diff
From d02bd251d7f85e3aec02e5752df2f44a35961360 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Erik=20Bot=C3=B6?= <erik.boto@gmail.com>
|
|
Date: Fri, 9 Feb 2024 18:41:24 +0100
|
|
Subject: [PATCH 1295/1295] imx477: Update device tree overlays to support
|
|
trigger-mode
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Also create generic overrides in camera-mux-N-port, that can be extended
|
|
to configure vsync modes for cameras supporting this.
|
|
|
|
Example usages (to be combined with camera_auto_detect=0):
|
|
dtoverlay=imx477,cam0,sync-source
|
|
dtoverlay=imx477,sync-sink
|
|
dtoverlay=camera-mux-2port,cam1-imx477,cam1-sync-sink
|
|
dtoverlay=camera-mux-4port,cam3-imx477,cam3-sync-sink
|
|
|
|
Signed-off-by: Erik Botö <erik.boto@gmail.com>
|
|
---
|
|
arch/arm/boot/dts/overlays/README | 16 ++++++++++++++++
|
|
.../dts/overlays/camera-mux-2port-overlay.dts | 5 +++++
|
|
.../dts/overlays/camera-mux-4port-overlay.dts | 9 +++++++++
|
|
arch/arm/boot/dts/overlays/imx378-overlay.dts | 7 +++++++
|
|
arch/arm/boot/dts/overlays/imx477-overlay.dts | 7 +++++++
|
|
5 files changed, 44 insertions(+)
|
|
|
|
--- a/arch/arm/boot/dts/overlays/README
|
|
+++ b/arch/arm/boot/dts/overlays/README
|
|
@@ -862,6 +862,10 @@ Params: cam0-arducam-64mp Select A
|
|
cam1-ov7251 Select OV7251 for camera on port 1
|
|
cam1-ov9281 Select OV9281 for camera on port 1
|
|
cam1-imx290-clk-freq Set clock frequency for an IMX290 on port 1
|
|
+ cam0-sync-source Set camera on port 0 as vsync source
|
|
+ cam0-sync-sink Set camera on port 0 as vsync sink
|
|
+ cam1-sync-source Set camera on port 1 as vsync source
|
|
+ cam1-sync-sink Set camera on port 1 as vsync sink
|
|
|
|
cam0 Connect the mux to CAM0 port (default is CAM1)
|
|
|
|
@@ -923,6 +927,14 @@ Params: cam0-arducam-64mp Select A
|
|
cam3-ov7251 Select OV7251 for camera on port 3
|
|
cam3-ov9281 Select OV9281 for camera on port 3
|
|
cam3-imx290-clk-freq Set clock frequency for an IMX290 on port 3
|
|
+ cam0-sync-source Set camera on port 0 as vsync source
|
|
+ cam0-sync-sink Set camera on port 0 as vsync sink
|
|
+ cam1-sync-source Set camera on port 1 as vsync source
|
|
+ cam1-sync-sink Set camera on port 1 as vsync sink
|
|
+ cam2-sync-source Set camera on port 2 as vsync source
|
|
+ cam2-sync-sink Set camera on port 2 as vsync sink
|
|
+ cam3-sync-source Set camera on port 3 as vsync source
|
|
+ cam3-sync-sink Set camera on port 3 as vsync sink
|
|
|
|
cam0 Connect the mux to CAM0 port (default is CAM1)
|
|
|
|
@@ -2676,6 +2688,8 @@ Params: rotation Mounting
|
|
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
|
always-on Leave the regulator powered up, to stop the
|
|
camera clamping I/Os such as XVS to 0V.
|
|
+ sync-source Configure as vsync source
|
|
+ sync-sink Configure as vsync sink
|
|
|
|
|
|
Name: imx462
|
|
@@ -2716,6 +2730,8 @@ Params: rotation Mounting
|
|
Compute Module (CSI0, i2c_vc, and cam0_reg).
|
|
always-on Leave the regulator powered up, to stop the
|
|
camera clamping I/Os such as XVS to 0V.
|
|
+ sync-source Configure as vsync source
|
|
+ sync-sink Configure as vsync sink
|
|
|
|
|
|
Name: imx519
|
|
--- a/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts
|
|
@@ -536,5 +536,10 @@
|
|
|
|
cam0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
|
|
<&csi_frag>, "target:0=",<&csi0>;
|
|
+
|
|
+ cam0-sync-source = <&imx477_0>, "trigger-mode:0=1";
|
|
+ cam0-sync-sink = <&imx477_0>, "trigger-mode:0=2";
|
|
+ cam1-sync-source = <&imx477_1>, "trigger-mode:0=1";
|
|
+ cam1-sync-sink = <&imx477_1>, "trigger-mode:0=2";
|
|
};
|
|
};
|
|
--- a/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts
|
|
@@ -939,5 +939,14 @@
|
|
|
|
cam0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
|
|
<&csi_frag>, "target:0=",<&csi0>;
|
|
+
|
|
+ cam0-sync-source = <&imx477_0>, "trigger-mode:0=1";
|
|
+ cam0-sync-sink = <&imx477_0>, "trigger-mode:0=2";
|
|
+ cam1-sync-source = <&imx477_1>, "trigger-mode:0=1";
|
|
+ cam1-sync-sink = <&imx477_1>, "trigger-mode:0=2";
|
|
+ cam2-sync-source = <&imx477_2>, "trigger-mode:0=1";
|
|
+ cam2-sync-sink = <&imx477_2>, "trigger-mode:0=2";
|
|
+ cam3-sync-source = <&imx477_3>, "trigger-mode:0=1";
|
|
+ cam3-sync-sink = <&imx477_3>, "trigger-mode:0=2";
|
|
};
|
|
};
|
|
--- a/arch/arm/boot/dts/overlays/imx378-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/imx378-overlay.dts
|
|
@@ -8,3 +8,10 @@
|
|
&cam_node {
|
|
compatible = "sony,imx378";
|
|
};
|
|
+
|
|
+/{
|
|
+ __overrides__ {
|
|
+ sync-sink = <&cam_node>,"trigger-mode:0=2";
|
|
+ sync-source = <&cam_node>,"trigger-mode:0=1";
|
|
+ };
|
|
+};
|
|
--- a/arch/arm/boot/dts/overlays/imx477-overlay.dts
|
|
+++ b/arch/arm/boot/dts/overlays/imx477-overlay.dts
|
|
@@ -8,3 +8,10 @@
|
|
&cam_node {
|
|
compatible = "sony,imx477";
|
|
};
|
|
+
|
|
+/{
|
|
+ __overrides__ {
|
|
+ sync-sink = <&cam_node>,"trigger-mode:0=2";
|
|
+ sync-source = <&cam_node>,"trigger-mode:0=1";
|
|
+ };
|
|
+};
|