On 2012-01-19 05:50, Laurent Pinchart wrote:
Hi Gary,
On Thursday 19 January 2012 13:41:57 Gary Thomas wrote:
On 2012-01-17 08:33, Laurent Pinchart wrote:
<snip>
I already had a couple of YUV support patches in my OMAP3 ISP tree at
git.kernel.org. I've rebased them on top of the lastest V4L/DVB tree and
pushed them to
http://git.linuxtv.org/pinchartl/media.git/shortlog/refs/heads/omap3isp-
omap3isp-yuv. Could you please try them, and see if they're usable with
your sensor ?
I just tried this kernel with my board. The media control infrastructure
comes up and all of the devices are created, but I can't access them.
From the bootup log:
Linux media interface: v0.10
Linux video capture interface: v2.00
Any message from the omap3isp driver and from the sensor driver ?
No, it doesn't appear that the sensor was probed (or maybe it failed but
no messages). I'll check into this.
Has the way of adding the sensors on the i2c bus changed? I have my
TVP5150 on a i2c-2 all by itself and with the 3.0+ kernel, it was being
added when I initialized the camera subsystem.
Do you have an example driver (like the BeagleBoard one that was in
your omap3isp-sensors-next branch previously)?
When I try to access the devices:
root@cobra3530p73:~# media-ctl -p
Opening media device /dev/media0
media_open_debug: Can't open media device /dev/media0
Failed to open /dev/media0
Could you please strace that ?
Attached. Looks like it blows up immediately.
Note: my media-ctl program was built from SRCREV 7266b1b5433b5644a06f05edf61c36864ab11683
The devices look OK to me:
root@cobra3530p73:~# ls -l /dev/v* /dev/med*
crw------- 1 root root 252, 0 Nov 8 10:44 /dev/media0
crw-rw---- 1 root video 81, 7 Nov 8 10:44 /dev/v4l-subdev0
crw-rw---- 1 root video 81, 8 Nov 8 10:44 /dev/v4l-subdev1
crw-rw---- 1 root video 81, 9 Nov 8 10:44 /dev/v4l-subdev2
crw-rw---- 1 root video 81, 10 Nov 8 10:44 /dev/v4l-subdev3
crw-rw---- 1 root video 81, 11 Nov 8 10:44 /dev/v4l-subdev4
crw-rw---- 1 root video 81, 12 Nov 8 10:44 /dev/v4l-subdev5
crw-rw---- 1 root video 81, 13 Nov 8 10:44 /dev/v4l-subdev6
crw-rw---- 1 root video 81, 14 Nov 8 10:44 /dev/v4l-subdev7
crw-rw---- 1 root video 81, 15 Nov 8 10:44 /dev/v4l-subdev8
crw-rw---- 1 root tty 7, 0 Nov 8 10:44 /dev/vcs
crw-rw---- 1 root tty 7, 1 Nov 8 10:44 /dev/vcs1
crw-rw---- 1 root tty 7, 128 Nov 8 10:44 /dev/vcsa
crw-rw---- 1 root tty 7, 129 Nov 8 10:44 /dev/vcsa1
crw-rw---- 1 root video 81, 0 Nov 8 10:44 /dev/video0
crw-rw---- 1 root video 81, 1 Nov 8 10:44 /dev/video1
crw-rw---- 1 root video 81, 2 Nov 8 10:44 /dev/video2
crw-rw---- 1 root video 81, 3 Nov 8 10:44 /dev/video3
crw-rw---- 1 root video 81, 4 Nov 8 10:44 /dev/video4
crw-rw---- 1 root video 81, 5 Nov 8 10:44 /dev/video5
crw-rw---- 1 root video 81, 6 Nov 8 10:44 /dev/video6
Have the device nodes have been created manually ?
No, automatically created by udev.
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
execve("/usr/bin/media-ctl", ["media-ctl", "-p"], [/* 10 vars */]) = 0
brk(0) = 0x13000
uname({sys="Linux", node="cobra3530p73", ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=8733, ...}) = 0
mmap2(NULL, 8733, PROT_READ, MAP_PRIVATE, 3, 0) = 0x400e7000
close(3) = 0
open("/usr/lib/libmediactl.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\340\t\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=8776, ...}) = 0
mmap2(NULL, 40300, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40182000
mprotect(0x40184000, 28672, PROT_NONE) = 0
mmap2(0x4018b000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0x4018b000
close(3) = 0
open("/usr/lib/libv4l2subdev.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\350\10\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=8220, ...}) = 0
mmap2(NULL, 39692, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x400dd000
mprotect(0x400df000, 28672, PROT_NONE) = 0
mmap2(0x400e6000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0x400e6000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0hy\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1175744, ...}) = 0
mmap2(NULL, 1217808, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4018c000
mprotect(0x402a9000, 28672, PROT_NONE) = 0
mmap2(0x402b0000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11c) = 0x402b0000
mmap2(0x402b3000, 9488, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x402b3000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400ea000
set_tls(0x400ea800, 0x400eaed8, 0x400ea800, 0x40042050, 0x40042050) = 0
mprotect(0x402b0000, 8192, PROT_READ) = 0
mprotect(0x40041000, 4096, PROT_READ) = 0
munmap(0x400e7000, 8733) = 0
brk(0) = 0x13000
brk(0x34000) = 0x34000
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(253, 0), ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40045000
write(1, "Opening media device /dev/media0"..., 33) = 33
open("/dev/media0", O_RDWR) = -1 ENXIO (No such device or address)
write(1, "media_open_debug: Can't open med"..., 54) = 54
write(1, "Failed to open /dev/media0\n", 27) = 27
exit_group(1) = ?