]> git.ipfire.org Git - thirdparty/openwrt.git/blob
59e4ee1ae0561d506a5b4f6317165f86bb8ee40d
[thirdparty/openwrt.git] /
1 From c5005ab7c28f7b028822c8db7eb09ae1ac790e43 Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.com>
3 Date: Mon, 27 Nov 2023 14:50:58 +0000
4 Subject: [PATCH 0749/1085] dtoverlays: Add option for cam0 to camera-mux-Nport
5 overlays
6
7 Seeing as the mux can be connected to either CAM/DISP1 or
8 CAM/DISP0 on a Pi5, add a cam0 override to allow configuration
9 of which is used. Default (as with all camera overlays) is CAM/DISP1.
10
11 The overlay does NOT update the camera regulator used by all the
12 sensors as doing so would be a nightmare. The Arducam mulitplexer
13 boards these overlays are initially supporting seem to tie the
14 regulator GPIO for all the sensors high anyway.
15 If it was viewed as necessary, then creating an additional
16 regulator that listed cam[01]_reg as the parent should work.
17
18 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
19 ---
20 arch/arm/boot/dts/overlays/README | 4 ++++
21 arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts | 7 +++++--
22 arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts | 7 +++++--
23 3 files changed, 14 insertions(+), 4 deletions(-)
24
25 --- a/arch/arm/boot/dts/overlays/README
26 +++ b/arch/arm/boot/dts/overlays/README
27 @@ -823,6 +823,8 @@ Params: cam0-arducam-64mp Select A
28 cam1-ov9281 Select OV9281 for camera on port 1
29 cam1-imx290-clk-freq Set clock frequency for an IMX290 on port 1
30
31 + cam0 Connect the mux to CAM0 port (default is CAM1)
32 +
33
34 Name: camera-mux-4port
35 Info: Configures a 4 port camera multiplexer
36 @@ -878,6 +880,8 @@ Params: cam0-arducam-64mp Select A
37 cam3-ov9281 Select OV9281 for camera on port 3
38 cam3-imx290-clk-freq Set clock frequency for an IMX290 on port 3
39
40 + cam0 Connect the mux to CAM0 port (default is CAM1)
41 +
42
43 Name: cap1106
44 Info: Enables the ability to use the cap1106 touch sensor as a keyboard
45 --- a/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts
46 +++ b/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts
47 @@ -77,7 +77,7 @@
48 };
49
50 /* Mux define */
51 - fragment@200 {
52 + i2c_frag: fragment@200 {
53 target = <&i2c_csi_dsi>;
54 __overlay__ {
55 #address-cells = <1>;
56 @@ -294,7 +294,7 @@
57 };
58 };
59
60 - fragment@201 {
61 + csi_frag: fragment@201 {
62 target = <&csi1>;
63 __overlay__ {
64 status = "okay";
65 @@ -501,5 +501,8 @@
66 <&imx290_0>,"clock-frequency:0";
67 cam1-imx290-clk-freq = <&clk_imx290>,"clock-frequency:0",
68 <&imx290_1>,"clock-frequency:0";
69 +
70 + cam0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
71 + <&csi_frag>, "target:0=",<&csi0>;
72 };
73 };
74 --- a/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts
75 +++ b/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts
76 @@ -135,7 +135,7 @@
77 };
78
79 /* Mux define */
80 - fragment@200 {
81 + i2c_frag: fragment@200 {
82 target = <&i2c_csi_dsi>;
83 __overlay__ {
84 #address-cells = <1>;
85 @@ -552,7 +552,7 @@
86 };
87 };
88
89 - fragment@201 {
90 + csi_frag: fragment@201 {
91 target = <&csi1>;
92 __overlay__ {
93 status = "okay";
94 @@ -872,5 +872,8 @@
95 <&imx290_2>,"clock-frequency:0";
96 cam3-imx290-clk-freq = <&clk_imx290>,"clock-frequency:0",
97 <&imx290_3>,"clock-frequency:0";
98 +
99 + cam0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
100 + <&csi_frag>, "target:0=",<&csi0>;
101 };
102 };