Dear All,
I have custom csi camera properly working under apalis T30 and currently switching to imx6. I have camera reset procedure for apalis T30 as you can see below
#power down
echo out > /sys/class/gpio/gpio146/direction
sleep 3
#reset
echo out > /sys/class/gpio/gpio149/direction
sleep 3
echo 1 > /sys/class/gpio/gpio146/value
sleep 3
echo 1 > /sys/class/gpio/gpio149/value
sleep 3
echo 0 > /sys/class/gpio/gpio149/value
sleep 3
echo 0 > /sys/class/gpio/gpio146/value
sleep 3
echo 1 > /sys/class/gpio/gpio149/value
sleep 3
modprobe videobuf2-memops
sleep 3
modprobe videobuf2-dma-nvmap
sleep 3
modprobe ov5640
sleep 3
modprobe tegra_v4l2_camera
sleep 3
as you can see I’m using different gpios comparing to csi camera connected to eval board, so I have edited device tree for imx6 as below:
diff --git a/arch/arm/boot/dts/imx6qdl-apalis-eval.dtsi b/arch/arm/boot/dts/imx6qdl-apalis-eval.dtsi
index c061717..1e082e2 100644
--- a/arch/arm/boot/dts/imx6qdl-apalis-eval.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-apalis-eval.dtsi
@@ -251,8 +251,10 @@
DOVDD-supply = <®_1p8v>;
AVDD-supply = <®_2p5v>;
DVDD-supply = <®_1p8v>;
- pwn-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
- rst-gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
+ // pwn-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
+ // rst-gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
+ pwn-gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
+ rst-gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
ipu_id = <0>;
csi_id = <1>;
mclk = <22000000>;
but I’m facing an error:
[ 7.176006] ov564x_mipi 3-003c: request of ov5640_mipi_reset failed
[ 7.201054] ov564x_mipi: probe of 3-003c failed with error -16
so my question is how to make gpio2 7 available for camera driver?