Hi,
I have problems with ov5640(CAM500B) and nanopi neo air, there is no video0 under /dev. `modprobe vfe_v4l2` gave no output but when I checked dmesg, I got the following errors
[ 180.531978] [OV5640@lex]init_sensor - frame_rate: 0, max_win_size: 11
[ 216.550806] sunxi-pinctrl sunxi-pinctrl: pin already requested
[ 216.557336] sunxi-pinctrl sunxi-pinctrl: pin-140 (csi0) status -22
[ 216.564310] sunxi-pinctrl sunxi-pinctrl: could not get request pin 140 on device sunxi-pinctrl
[ 216.573957] [VFE_ERR]vip0 request pinctrl handle for device [csi0] failed!
[ 216.581741] [ISP] isp platform_id = 5!
[ 216.602304] [OV5640@lex]CSI_SUBDEV_PWR_ON!
[ 216.670045] [OV5640@lex]sensor_init 0x0
[ 216.670865] [OV5640@lex]sensor read retry=2
[ 216.670876] [OV5640@lex]error at sensor_detect
[ 216.670885] [OV5640@lex]chip found is not an target chip.
[ 216.670897] [OV5640@lex]CSI_SUBDEV_PWR_OFF!
This can be reproduced on both latest Debian/Ubuntu releases. I've went through this thread and done the followings trying to make it work:
Modify the fex file to enable i2c2 and csi. Change logic level of the camera module to 3V. I tried to compile the kernel with latest codes, but no luck
I tried to power the board with MP2303 based DCDC converter which is capable of 5V/3A output. And again, I got the same output.
I also checked I2C comms with i2c-tools, it seemed to work(I can read ID register of ov5640).
root@nanopiair:~# i2cset -y 2 0x3c 0x30 0x0a
root@nanopiair:~# i2cget -y 2 0x3c
0x56
root@nanopiair:~# i2cset -y 2 0x3c 0x30 0x0b
root@nanopiair:~# i2cget -y 2 0x3c
0x40
I'm out of ideas, any help are appreciated.