openwrt/target/linux/bcm27xx/patches-6.1/950-1173-dtoverlays-Add-option-for-cam0-to-camera-mux-Nport-o.patch
Marty Jones 2e715fb4fc bcm27xx: update 6.1 patches to latest version
Add support for BCM2712 (Raspberry Pi 5).
3bb5880ab3
Patches were generated from the diff between linux kernel branch linux-6.1.y
and rpi-6.1.y from raspberry pi kernel source:
- git format-patch linux-6.1.y...rpi-6.1.y

Build system: x86_64
Build-tested: bcm2708, bcm2709, bcm2710, bcm2711
Run-tested: bcm2710/RPi3B, bcm2711/RPi4B

Signed-off-by: Marty Jones <mj8263788@gmail.com>
[Remove applied and reverted patches, squash patches and config commits]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-01-25 17:46:45 +01:00

102 lines
3.3 KiB
Diff

From 08c5904ad00ffc54d37058ead19814f8a85f6f39 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
Date: Mon, 27 Nov 2023 14:50:58 +0000
Subject: [PATCH] dtoverlays: Add option for cam0 to camera-mux-Nport overlays
Seeing as the mux can be connected to either CAM/DISP1 or
CAM/DISP0 on a Pi5, add a cam0 override to allow configuration
of which is used. Default (as with all camera overlays) is CAM/DISP1.
The overlay does NOT update the camera regulator used by all the
sensors as doing so would be a nightmare. The Arducam mulitplexer
boards these overlays are initially supporting seem to tie the
regulator GPIO for all the sensors high anyway.
If it was viewed as necessary, then creating an additional
regulator that listed cam[01]_reg as the parent should work.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
arch/arm/boot/dts/overlays/README | 4 ++++
arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts | 7 +++++--
arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts | 7 +++++--
3 files changed, 14 insertions(+), 4 deletions(-)
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -823,6 +823,8 @@ Params: cam0-arducam-64mp Select A
cam1-ov9281 Select OV9281 for camera on port 1
cam1-imx290-clk-freq Set clock frequency for an IMX290 on port 1
+ cam0 Connect the mux to CAM0 port (default is CAM1)
+
Name: camera-mux-4port
Info: Configures a 4 port camera multiplexer
@@ -878,6 +880,8 @@ Params: cam0-arducam-64mp Select A
cam3-ov9281 Select OV9281 for camera on port 3
cam3-imx290-clk-freq Set clock frequency for an IMX290 on port 3
+ cam0 Connect the mux to CAM0 port (default is CAM1)
+
Name: cap1106
Info: Enables the ability to use the cap1106 touch sensor as a keyboard
--- a/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts
+++ b/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts
@@ -77,7 +77,7 @@
};
/* Mux define */
- fragment@200 {
+ i2c_frag: fragment@200 {
target = <&i2c_csi_dsi>;
__overlay__ {
#address-cells = <1>;
@@ -294,7 +294,7 @@
};
};
- fragment@201 {
+ csi_frag: fragment@201 {
target = <&csi1>;
__overlay__ {
status = "okay";
@@ -501,5 +501,8 @@
<&imx290_0>,"clock-frequency:0";
cam1-imx290-clk-freq = <&clk_imx290>,"clock-frequency:0",
<&imx290_1>,"clock-frequency:0";
+
+ cam0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
+ <&csi_frag>, "target:0=",<&csi0>;
};
};
--- a/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts
+++ b/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts
@@ -135,7 +135,7 @@
};
/* Mux define */
- fragment@200 {
+ i2c_frag: fragment@200 {
target = <&i2c_csi_dsi>;
__overlay__ {
#address-cells = <1>;
@@ -552,7 +552,7 @@
};
};
- fragment@201 {
+ csi_frag: fragment@201 {
target = <&csi1>;
__overlay__ {
status = "okay";
@@ -872,5 +872,8 @@
<&imx290_2>,"clock-frequency:0";
cam3-imx290-clk-freq = <&clk_imx290>,"clock-frequency:0",
<&imx290_3>,"clock-frequency:0";
+
+ cam0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
+ <&csi_frag>, "target:0=",<&csi0>;
};
};