]> git.ipfire.org Git - thirdparty/openwrt.git/blob
daea0f555fa76167a86805dfbdda493662d367d3
[thirdparty/openwrt.git] /
1 From 6d523c00412b5c6bc2e3020bbc1b48abd8b68804 Mon Sep 17 00:00:00 2001
2 From: Christian Speich <christian@spei.ch>
3 Date: Mon, 22 Apr 2024 17:36:34 +0000
4 Subject: [PATCH 1057/1085] dts: overlay: ov5647: Specify clock-noncontinuous
5 on CSI endpoint
6
7 The OV5647 declares that it wants a non-continuous clock in its endpoint
8 configuration. However, it does not expose this information via
9 get_mbus_config. Even if it would implement get_mbus_config the
10 bcm2835-unicam driver would not evaluate the flags field of it.
11
12 By also specifying clock-noncontinuous on the CSI endpoint itself, the
13 CSI driver properly picks up the requests and enables the non-continuous
14 clock mode.
15
16 Signed-off-by: Christian Speich <christian@spei.ch>
17 ---
18 arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts | 2 ++
19 arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts | 4 ++++
20 arch/arm/boot/dts/overlays/ov5647-overlay.dts | 1 +
21 3 files changed, 7 insertions(+)
22
23 --- a/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts
24 +++ b/arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts
25 @@ -453,6 +453,7 @@
26 <&imx708_0>,"lens-focus:0=", <&imx708_0_vcm>;
27 cam0-ov5647 = <&mux_in0>, "remote-endpoint:0=",<&ov5647_0_ep>,
28 <&ov5647_0_ep>, "remote-endpoint:0=",<&mux_in0>,
29 + <&mux_in0>, "clock-noncontinuous?",
30 <&ov5647_0>, "status=okay";
31 cam0-ov7251 = <&mux_in0>, "remote-endpoint:0=",<&ov7251_0_ep>,
32 <&ov7251_0_ep>, "remote-endpoint:0=",<&mux_in0>,
33 @@ -505,6 +506,7 @@
34 <&imx708_1>,"lens-focus:0=", <&imx708_1_vcm>;
35 cam1-ov5647 = <&mux_in1>, "remote-endpoint:0=",<&ov5647_1_ep>,
36 <&ov5647_1_ep>, "remote-endpoint:0=",<&mux_in1>,
37 + <&mux_in1>, "clock-noncontinuous?",
38 <&ov5647_1>, "status=okay";
39 cam1-ov7251 = <&mux_in1>, "remote-endpoint:0=",<&ov7251_1_ep>,
40 <&ov7251_1_ep>, "remote-endpoint:0=",<&mux_in1>,
41 --- a/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts
42 +++ b/arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts
43 @@ -748,6 +748,7 @@
44 <&imx708_0>,"lens-focus:0=", <&imx708_0_vcm>;
45 cam0-ov5647 = <&mux_in0>, "remote-endpoint:0=",<&ov5647_0_ep>,
46 <&ov5647_0_ep>, "remote-endpoint:0=",<&mux_in0>,
47 + <&mux_in0>, "clock-noncontinuous?",
48 <&ov5647_0>, "status=okay";
49 cam0-ov7251 = <&mux_in0>, "remote-endpoint:0=",<&ov7251_0_ep>,
50 <&ov7251_0_ep>, "remote-endpoint:0=",<&mux_in0>,
51 @@ -800,6 +801,7 @@
52 <&imx708_1>,"lens-focus:0=", <&imx708_1_vcm>;
53 cam1-ov5647 = <&mux_in1>, "remote-endpoint:0=",<&ov5647_1_ep>,
54 <&ov5647_1_ep>, "remote-endpoint:0=",<&mux_in1>,
55 + <&mux_in1>, "clock-noncontinuous?",
56 <&ov5647_1>, "status=okay";
57 cam1-ov7251 = <&mux_in1>, "remote-endpoint:0=",<&ov7251_1_ep>,
58 <&ov7251_1_ep>, "remote-endpoint:0=",<&mux_in1>,
59 @@ -852,6 +854,7 @@
60 <&imx708_2>,"lens-focus:0=", <&imx708_2_vcm>;
61 cam2-ov5647 = <&mux_in2>, "remote-endpoint:0=",<&ov5647_2_ep>,
62 <&ov5647_2_ep>, "remote-endpoint:0=",<&mux_in2>,
63 + <&mux_in2>, "clock-noncontinuous?",
64 <&ov5647_2>, "status=okay";
65 cam2-ov7251 = <&mux_in2>, "remote-endpoint:0=",<&ov7251_2_ep>,
66 <&ov7251_2_ep>, "remote-endpoint:0=",<&mux_in2>,
67 @@ -904,6 +907,7 @@
68 <&imx708_3>,"lens-focus:0=", <&imx708_3_vcm>;
69 cam3-ov5647 = <&mux_in3>, "remote-endpoint:0=",<&ov5647_3_ep>,
70 <&ov5647_3_ep>, "remote-endpoint:0=",<&mux_in3>,
71 + <&mux_in3>, "clock-noncontinuous?",
72 <&ov5647_3>, "status=okay";
73 cam3-ov7251 = <&mux_in3>, "remote-endpoint:0=",<&ov7251_3_ep>,
74 <&ov7251_3_ep>, "remote-endpoint:0=",<&mux_in3>,
75 --- a/arch/arm/boot/dts/overlays/ov5647-overlay.dts
76 +++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts
77 @@ -34,6 +34,7 @@
78 csi_ep: endpoint {
79 remote-endpoint = <&cam_endpoint>;
80 data-lanes = <1 2>;
81 + clock-noncontinuous;
82 };
83 };
84 };