[xM][Camera] Fixes & enhancement for 'beagleboard-merge-20100722' branch

Hi Koen/Jason,

I'm attaching some fixes I came across when trying to validate xM camera
on this branch:

http://gitorious.org/beagleboard-validation/linux/commits/beagleboard-merge-20100722

Specially, check out the patch:

0001-omap3beagle-Partial-revert-HACK-try-to-poweron-stuff.patch,

Which is reverting a change in a recent commit that was breaking camera for me.

Without that patch, I was having this response from mplayer command line:

root@beagleboard:~# mplayer -vo jpeg tv://
MPlayer SVN-r30165-4.3.3 (C) 2000-2009 MPlayer Team

Playing tv://.
TV file format detected.
Selected driver: v4l2
name: Video 4 Linux 2 input
author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
comment: first try, more to come :wink:
[ 54.415954] video4linux video0: can't power up slaves
v4l2: unable to open '/dev/video0': Device or resource busy
v4l2: ioctl set mute failed: Bad file descriptor
v4l2: 0 frames successfully processed, 0 frames dropped.

Exiting... (End of file)

Also, note that cameraboards are now treated as expansion boards, meaning
You need now to specify either: buddy=lbcmvga or buddy=lbcm3m1 in kernel
Bootargs.

Any comments, please let me know.

Regards,
Sergio

forJason_20100722.zip (4.73 KB)

Sergio,

Thanks a lot for these patches! I do have a small question on the buddy stuff, how do I handle my current situation where I have a Tincantools trainerboard and a vga sensor attached? I know the current situation won't work when the expansionboard needs to register i2c devices in the board file :frowning:

regards,

Koen

Hmm...

I guess I haven't considered that..

So, then in that case, we need a separate bootarg, as Jason suggests...

Regards,
Sergio

Correct. We also have the case that no one has discussed, of where there could actually be more than one buddy on the expansion bus itself. As the EEPROM can have sub addresses, that would make sense to have the ability to set that address on a buddy by buddy basis. Also, the expansion card connected to the camera connector would also have a EEPROM, with the same base address as the buddy board on the expansion connector.

Gerald