Skip to content

Commit

Permalink
dts: overlay: ov5647: Specify clock-noncontinuous on CSI endpoint
Browse files Browse the repository at this point in the history
The OV5647 declares that it wants a non-continuous clock in its endpoint
configuration. However, it does not expose this information via
get_mbus_config. Even if it would implement get_mbus_config the
bcm2835-unicam driver would not evaluate the flags field of it.

By also specifying clock-noncontinuous on the CSI endpoint itself, the
CSI driver properly picks up the requests and enables the non-continuous
clock mode.

Signed-off-by: Christian Speich <christian@spei.ch>
  • Loading branch information
kleinweby authored and popcornmix committed Apr 29, 2024
1 parent 2245bb5 commit cde1ebc
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 0 deletions.
2 changes: 2 additions & 0 deletions arch/arm/boot/dts/overlays/camera-mux-2port-overlay.dts
Expand Up @@ -453,6 +453,7 @@
<&imx708_0>,"lens-focus:0=", <&imx708_0_vcm>;
cam0-ov5647 = <&mux_in0>, "remote-endpoint:0=",<&ov5647_0_ep>,
<&ov5647_0_ep>, "remote-endpoint:0=",<&mux_in0>,
<&mux_in0>, "clock-noncontinuous?",
<&ov5647_0>, "status=okay";
cam0-ov7251 = <&mux_in0>, "remote-endpoint:0=",<&ov7251_0_ep>,
<&ov7251_0_ep>, "remote-endpoint:0=",<&mux_in0>,
Expand Down Expand Up @@ -505,6 +506,7 @@
<&imx708_1>,"lens-focus:0=", <&imx708_1_vcm>;
cam1-ov5647 = <&mux_in1>, "remote-endpoint:0=",<&ov5647_1_ep>,
<&ov5647_1_ep>, "remote-endpoint:0=",<&mux_in1>,
<&mux_in1>, "clock-noncontinuous?",
<&ov5647_1>, "status=okay";
cam1-ov7251 = <&mux_in1>, "remote-endpoint:0=",<&ov7251_1_ep>,
<&ov7251_1_ep>, "remote-endpoint:0=",<&mux_in1>,
Expand Down
4 changes: 4 additions & 0 deletions arch/arm/boot/dts/overlays/camera-mux-4port-overlay.dts
Expand Up @@ -748,6 +748,7 @@
<&imx708_0>,"lens-focus:0=", <&imx708_0_vcm>;
cam0-ov5647 = <&mux_in0>, "remote-endpoint:0=",<&ov5647_0_ep>,
<&ov5647_0_ep>, "remote-endpoint:0=",<&mux_in0>,
<&mux_in0>, "clock-noncontinuous?",
<&ov5647_0>, "status=okay";
cam0-ov7251 = <&mux_in0>, "remote-endpoint:0=",<&ov7251_0_ep>,
<&ov7251_0_ep>, "remote-endpoint:0=",<&mux_in0>,
Expand Down Expand Up @@ -800,6 +801,7 @@
<&imx708_1>,"lens-focus:0=", <&imx708_1_vcm>;
cam1-ov5647 = <&mux_in1>, "remote-endpoint:0=",<&ov5647_1_ep>,
<&ov5647_1_ep>, "remote-endpoint:0=",<&mux_in1>,
<&mux_in1>, "clock-noncontinuous?",
<&ov5647_1>, "status=okay";
cam1-ov7251 = <&mux_in1>, "remote-endpoint:0=",<&ov7251_1_ep>,
<&ov7251_1_ep>, "remote-endpoint:0=",<&mux_in1>,
Expand Down Expand Up @@ -852,6 +854,7 @@
<&imx708_2>,"lens-focus:0=", <&imx708_2_vcm>;
cam2-ov5647 = <&mux_in2>, "remote-endpoint:0=",<&ov5647_2_ep>,
<&ov5647_2_ep>, "remote-endpoint:0=",<&mux_in2>,
<&mux_in2>, "clock-noncontinuous?",
<&ov5647_2>, "status=okay";
cam2-ov7251 = <&mux_in2>, "remote-endpoint:0=",<&ov7251_2_ep>,
<&ov7251_2_ep>, "remote-endpoint:0=",<&mux_in2>,
Expand Down Expand Up @@ -904,6 +907,7 @@
<&imx708_3>,"lens-focus:0=", <&imx708_3_vcm>;
cam3-ov5647 = <&mux_in3>, "remote-endpoint:0=",<&ov5647_3_ep>,
<&ov5647_3_ep>, "remote-endpoint:0=",<&mux_in3>,
<&mux_in3>, "clock-noncontinuous?",
<&ov5647_3>, "status=okay";
cam3-ov7251 = <&mux_in3>, "remote-endpoint:0=",<&ov7251_3_ep>,
<&ov7251_3_ep>, "remote-endpoint:0=",<&mux_in3>,
Expand Down
1 change: 1 addition & 0 deletions arch/arm/boot/dts/overlays/ov5647-overlay.dts
Expand Up @@ -34,6 +34,7 @@
csi_ep: endpoint {
remote-endpoint = <&cam_endpoint>;
data-lanes = <1 2>;
clock-noncontinuous;
};
};
};
Expand Down

0 comments on commit cde1ebc

Please sign in to comment.