summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWojciech Bieganski <wbieganski@antmicro.com>2015-05-21 14:01:47 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2015-06-08 17:36:05 +0200
commitddb9f9cd23069a115433f8b0f243289a9f4fa1d7 (patch)
tree996160813207051fea80ae70ace158420b96c30d
parentc929b31b1ae0cdfe426bd9682ea4b8f60990c475 (diff)
OmniVision ov5640 MIPI-CSI2 camera support
gst-inspect mfw_v4lsrc gst-launch mfw_v4lsrc capture-mode=5 device=/dev/video2 ! mfw_v4lsink
-rw-r--r--arch/arm/boot/dts/imx6qdl-apalis-eval.dtsi43
-rw-r--r--drivers/media/platform/mxc/capture/ov5640_mipi.c2
2 files changed, 44 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/imx6qdl-apalis-eval.dtsi b/arch/arm/boot/dts/imx6qdl-apalis-eval.dtsi
index 609cd022a53f..69a02b511686 100644
--- a/arch/arm/boot/dts/imx6qdl-apalis-eval.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-apalis-eval.dtsi
@@ -70,6 +70,7 @@
status = "okay";
};
};
+
v4l2_cap_0 {
compatible = "fsl,imx6q-v4l2-capture";
ipu_id = <0>;
@@ -77,6 +78,22 @@
mclk_source = <0>;
status = "okay";
};
+
+ v4l2_cap_1 { // second parallel camera
+ compatible = "fsl,imx6q-v4l2-capture";
+ ipu_id = <1>;
+ csi_id = <1>;
+ mclk_source = <0>;
+ status = "okay";
+ };
+
+ v4l2_cap_2 { // mipi-csi2 camera
+ compatible = "fsl,imx6q-v4l2-capture";
+ ipu_id = <0>;
+ csi_id = <1>;
+ mclk_source = <0>;
+ status = "okay";
+ };
#if 0
v4l2_out {
compatible = "fsl,mxc_v4l2_output";
@@ -85,6 +102,14 @@
#endif
};
+&mipi_csi {
+ ipu_id = <0>;
+ csi_id = <1>;
+ v_channel = <0>;
+ lanes = <2>;
+ status = "okay";
+};
+
&backlight {
#if 0
/* PWM polarity: 1 is brightest */
@@ -196,6 +221,7 @@
mclk_source = <1>;
cvbs = <1>;
};
+
max9526: max9526@20 {
compatible = "maxim,max9526";
reg = <0x20>;
@@ -211,6 +237,23 @@
mclk_source = <1>;
cvbs = <1>;
};
+
+ ov5640_mipi@3c {
+ compatible = "ovti,ov5640_mipi";
+ reg = <0x3c>;
+ clocks = <&clks 147>;
+ clock-names = "csi_mclk";
+ DOVDD-supply = <&reg_1p8v>;
+ AVDD-supply = <&reg_2p5v>;
+ DVDD-supply = <&reg_1p8v>;
+ pwn-gpios = <&gpio6 9 1>;
+ rst-gpios = <&gpio2 5 0>;
+ ipu_id = <0>;
+ csi_id = <1>;
+ mclk = <22000000>;
+ mclk_source = <0>;
+ pwms = <&pwm3 0 45>;
+ };
};
/*
diff --git a/drivers/media/platform/mxc/capture/ov5640_mipi.c b/drivers/media/platform/mxc/capture/ov5640_mipi.c
index f91ee983c196..75603cfbac1b 100644
--- a/drivers/media/platform/mxc/capture/ov5640_mipi.c
+++ b/drivers/media/platform/mxc/capture/ov5640_mipi.c
@@ -3383,7 +3383,7 @@ static int ov5640_probe(struct i2c_client *client,
"ov5640_mipi_reset");
if (retval < 0) {
dev_warn(dev, "request of ov5640_mipi_reset failed");
- return retval;
+ //return retval;
}
/* Set initial values for the sensor struct. */