The sensor seems to be detected at the right I2C address (0x5C), however when running v4l2-ctl --all (or v4l2grab) the image width and height are both set to 0. Can someone please explain what I'm missing or how to debug this further ? Thanks!
Code: Select all
# uname --all
Linux openmv 4.9.87-linux4sam_5.8 #1 Sat Aug 18 17:17:08 EET 2018 armv7l GNU/Linux
Code: Select all
#v4l2-ctl --all
Driver Info (not using libv4l2):
Driver name : atmel_isc
Card type : Atmel Image Sensor Controller
Bus info : platform:atmel_isc f0008000.isc
Driver version: 4.9.87
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera: ok)
Format Video Capture:
Width/Height : 0/0
Pixel Format : 'YU12'
Field : None
Bytes per Line : 0
Size Image : 0
Colorspace : Default
Transfer Function : Default (maps to Rec. 709)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Limited Range)
Flags :
User Controls
brightness 0x00980900 (int) : min=-1024 max=1023 step=1 default=0 value=0 flags=slider
contrast 0x00980901 (int) : min=-2048 max=2047 step=1 default=256 value=256 flags=slider
white_balance_automatic 0x0098090c (bool) : default=1 value=1
gamma 0x00980910 (int) : min=0 max=2 step=1 default=2 value=2 flags=slider
Code: Select all
# v4l2grab -d /dev/video0 -o test.jpg
Image width set to 0 by device /dev/video0.
Image height set to 0 by device /dev/video0.
Unable to set frame interval.
VIDIOC_REQBUFS error 12, Cannot allocate memory
Code: Select all
/ {
ahb {
apb {
isc: isc@f0008000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_isc_base &pinctrl_isc_data_8bit &pinctrl_isc_data_9_10 &pinctrl_isc_data_11_12>;
status = "okay";
port {
isc_0: endpoint@0 {
remote-endpoint = <&mt9v032_0>;
bus-width = <10>;
hsync-active = <1>;
vsync-active = <1>;
pclk-sample = <1>;
};
};
};
i2c1: i2c@fc028000 {
mt9v032: camera@5c {
compatible = "aptina,mt9v034";
reg = <0x5C>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sensor_standby &pinctrl_sensor_reset>;
clocks = <&isc>;
clock-names = "isc-mck";
assigned-clocks = <&isc>;
assigned-clock-rates = <26000000>;
resetb-gpios = <&pioA 102 GPIO_ACTIVE_LOW>;
standby-gpios = <&pioA 103 GPIO_ACTIVE_HIGH>;
port {
mt9v032_0: endpoint {
remote-endpoint = <&isc_0>;
};
};
};
};
pinctrl@fc038000 {
pinctrl_isc_base: isc_base {
pinmux = <PIN_PC21__ISC_PCK>,
<PIN_PC22__ISC_VSYNC>,
<PIN_PC23__ISC_HSYNC>,
<PIN_PC24__ISC_MCK>;
bias-disable;
};
pinctrl_isc_data_8bit: isc_data_8bit {
pinmux = <PIN_PC20__ISC_D11>,
<PIN_PC19__ISC_D10>,
<PIN_PC18__ISC_D9>,
<PIN_PC17__ISC_D8>,
<PIN_PC16__ISC_D7>,
<PIN_PC15__ISC_D6>,
<PIN_PC14__ISC_D5>,
<PIN_PC13__ISC_D4>;
bias-disable;
};
pinctrl_isc_data_9_10: isc_data_9_10 {
pinmux = <PIN_PC12__ISC_D3>,
<PIN_PC11__ISC_D2>;
bias-disable;
};
pinctrl_isc_data_11_12: isc_data_11_12 {
pinmux = <PIN_PC10__ISC_D1>,
<PIN_PC9__ISC_D0>;
bias-disable;
};
pinctrl_sensor_standby: sensor_standby {
pinmux = <PIN_PD7__GPIO>;
bias-disable;
};
pinctrl_sensor_reset: sensor_reset {
pinmux = <PIN_PD6__GPIO>;
bias-disable;
};
};
};
};
};