From: William v. A. <wvo...@ie...> - 2010-06-30 21:52:11
|
Thanks so much for this. I've got that kernel running on the Overo, and under /dev I can see omap-previewer and omap-resizer, but no video0 ... does the ISP actually need a video signal to show up under /dev? To answer your question, we're doing something very similar. We have designed our own board that has a TVP5146 video decoder (among other things), which spits out BT656 to the Overo via a ribbon cable between the two boards. Thanks again, -- William von Achen > If you use the mainline angstrom stuff, it's linux-omap-psp recipe > uses the v2.6.32_OMAPPSP_03.00.00.05 kernel (and applies several > patches to it). > > Just use the angstrom setup scripts (git clone > git://gitorious.org/angstrom/angstrom-setup-scripts.git) and configure > for overo (./oebb.sh config overo) > > I'm using it without any trouble so far. I would prefer to go with > Steve's overo branch, but I need the ISP as well... We're trying to > connect a bt656 ntsc video encoder. What kind of sensor are you > working with? > > -chris |
From: Greg <gu...@mo...> - 2010-07-05 20:12:53
|
(Sorry if this is a duplicate, but this seems to have not gone through the first time...) I'm very curious about this as well, as I'm in the process of getting a Gumstix up and running here with an image sensor connected via the 27-pin camera port. I'm rather new to OpenEmbedded and OMAP Linux, however, and therefore still unclear on some aspects of this. Can someone summarize the difference between the "mainline angstrom" stuff as described below (i.e., from gitorious.org/angstrom/angstrom-setup-scripts.git), and the default stuff that ships with Gumstix - i.e., from gitorious.org/gumstix-oe/mainline.git? BTW, I'm currently working from the gumstix-provided instructions here: http://www.gumstix.net/Setup-and-Programming/view/Overo-Setup-and-Programming/Source-code/111.html Thanks, Greg At 11:58 AM 6/29/2010, you wrote: >If you use the mainline angstrom stuff, it's linux-omap-psp recipe >uses the v2.6.32_OMAPPSP_03.00.00.05 kernel (and applies several >patches to it). > >Just use the angstrom setup scripts (git clone >git://gitorious.org/angstrom/angstrom-setup-scripts.git) and configure >for overo (./oebb.sh config overo) > >I'm using it without any trouble so far. I would prefer to go with >Steve's overo branch, but I need the ISP as well... We're trying to >connect a bt656 ntsc video encoder. What kind of sensor are you >working with? > >-chris |
From: William v. A. <wvo...@ie...> - 2010-07-08 21:33:32
|
OK, I've finally gotten some more time to work on this ... I created a board-overo-camera.c file based on board-omap3evm-camera.c, changing very little other than removing the mux-related stuff and altering the definition of the decoder's reset pin so that it maps to the GPIO we tied it to. Also changed the i2c slave address of the decoder to 0x5d to match our board. However, I still don't see /dev/video0 populated on boot. I hooked a logic analyzer up to the i2c pins and the only traffic I see during boot is going to slave address 0x51, which seems to be an EEPROM on the Tobi board. After inserting a bunch of printk statements into the functions in board-overo-camera.c, I could see that the functions tvp5146_set_prv_data and tvp5146_power_set are never called, the latter of which looks like it does most of the setup. Am I correct in assuming that these functions are supposed to be called automatically by v4l2? Or do I need to do something in the init function to kick off the process? Currently, the init function only calls omap3evmdc_mdc_config and i2c_register_board_info, both successfully. Thanks, -- William von Achen > Assuming you have things properly configured in the > board-overo-camera.c file (which you need to create based on the > board-omap3evm-camera.c file)... The overo will try to talk to the > tvp5146 over the i2c connection, and if it finds it correctly, it will > create a /dev/video0. If you connected a GPIO line to the reset of > your TVP5146, you will also need to make sure it's set correctly. > > I hope your tvp5146 board also connected the vs and hs sync signals > because the isp code expects them to be active. If you didn't > anticipate this, then you may need to hack the code in isp.c and > ispccdc.c to work without the HS_VS interrupts (ie work with only VD0 > interrupts). You can see a current discussion of this issue here: > http://e2e.ti.com/support/dsp/omap_applications_processors/f/447/p/52192/192701.aspx > > Please followup with your results-- I have my tvp5150 working, but its > still getting timeouts that I haven't been able to clear up. Not sure > if it is hardware or software. > > -chris > > |
From: Dave H. <dhy...@gm...> - 2010-07-08 21:49:41
|
Hi William, On Thu, Jul 8, 2010 at 2:33 PM, William von Achen <wvo...@ie...> wrote: > OK, I've finally gotten some more time to work on this ... > > I created a board-overo-camera.c file based on board-omap3evm-camera.c, > changing very little other than removing the mux-related stuff and > altering the definition of the decoder's reset pin so that it maps to > the GPIO we tied it to. Also changed the i2c slave address of the > decoder to 0x5d to match our board. > > However, I still don't see /dev/video0 populated on boot. I hooked a > logic analyzer up to the i2c pins and the only traffic I see during boot > is going to slave address 0x51, which seems to be an EEPROM on the Tobi > board. After inserting a bunch of printk statements into the functions > in board-overo-camera.c, I could see that the functions > tvp5146_set_prv_data and tvp5146_power_set are never called, the latter > of which looks like it does most of the setup. > > Am I correct in assuming that these functions are supposed to be called > automatically by v4l2? Or do I need to do something in the init function > to kick off the process? Currently, the init function only calls > omap3evmdc_mdc_config and i2c_register_board_info, both successfully. I don't have your board file (and can't seem to find board-omap3evm-camera.c, but it's probably just because my view is old. My suspicion is related to drivers and devices. Normally, the board will register a bunch of platform_devices, and a driver somewhere will register a platform_driver. When a driver and device with matching names are both loaded, then the probe function will be called. So things to check: 1 - Does the driver name match the device name? 2 - Was the driver actually loaded? (i.e. typically via modprobe). If you cat /proc/devices you should see your driver listed. If it's not listed, then you need to figure out why not. -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Chris W. <whi...@gm...> - 2010-07-09 02:07:20
|
/dev/video0 won't be there on boot, the tvp51xx has to be found first. In your camera file, the last line defines the init function: arch_initcall(something). Does this function get called? Did you make changes to the Makefile there to add your board-overo-camera.c? If so, then the next thing to check is: Did you use menuconfig to turn on the proper CONFIG_VIDEO_TVP514X options? You will need to do this so that tvp514x-int.c gets compiled into your kernel. Does tvp514x_init() get called? -chris On Thu, Jul 8, 2010 at 4:33 PM, William von Achen <wvo...@ie...> wrote: > OK, I've finally gotten some more time to work on this ... > > I created a board-overo-camera.c file based on board-omap3evm-camera.c, > changing very little other than removing the mux-related stuff and > altering the definition of the decoder's reset pin so that it maps to > the GPIO we tied it to. Also changed the i2c slave address of the > decoder to 0x5d to match our board. > > However, I still don't see /dev/video0 populated on boot. I hooked a > logic analyzer up to the i2c pins and the only traffic I see during boot > is going to slave address 0x51, which seems to be an EEPROM on the Tobi > board. After inserting a bunch of printk statements into the functions > in board-overo-camera.c, I could see that the functions > tvp5146_set_prv_data and tvp5146_power_set are never called, the latter > of which looks like it does most of the setup. > > Am I correct in assuming that these functions are supposed to be called > automatically by v4l2? Or do I need to do something in the init function > to kick off the process? Currently, the init function only calls > omap3evmdc_mdc_config and i2c_register_board_info, both successfully. > > Thanks, > -- > William von Achen |
From: William v. A. <wvo...@ie...> - 2010-07-09 22:06:07
|
OK, found the problem: The file tvp514x.c was being built into the kernel instead of tvp514x-int.c ... this was because the makefile in drivers/media/video only builds the -int flavor if the machine configuration is set to omap3evm (CONFIG_MACH_OMAP3EVM), and I had it set to overo. A quick change to that makefile to build tvp514x-int.c for CONFIG_MACH_OVERO as well resulted in /dev/video0 showing up. I still haven't been able to get any sort of video out of the decoder though ... I've tried using mplayer like so: mplayer -tv device=/dev/video0:driver=v4l2:width=720:height=480:norm=ntsc tv://1 The first few times I tried this, I got a green screen and a series of messages saying "v4l2: select timeout", but now it just hangs the system. I'm not very familiar with mplayer, so I'm currently building VLC in bitbake to see if I have any luck with that route. -- William von Achen > Message: 3 > Date: Thu, 8 Jul 2010 20:44:04 -0500 > From: Chris Whittenburg <whi...@gm...> > Subject: Re: [Gumstix-users] TI Linux PSP on Overo > To: "General mailing list for gumstix users." > <gum...@li...> > Message-ID: > <AAN...@ma...> > Content-Type: text/plain; charset=ISO-8859-1 > > /dev/video0 won't be there on boot, the tvp51xx has to be found first. > > In your camera file, the last line defines the init function: > arch_initcall(something). Does this function get called? Did you > make changes to the Makefile there to add your board-overo-camera.c? > > If so, then the next thing to check is: Did you use menuconfig to turn > on the proper CONFIG_VIDEO_TVP514X options? You will need to do this > so that tvp514x-int.c gets compiled into your kernel. Does > tvp514x_init() get called? > > -chris > |
From: Chris W. <whi...@gm...> - 2010-07-09 22:42:00
|
Great. You might try gstreamer to test it. Something like: gst-launch v4l2src ! omapdmaifbsink -chris On Fri, Jul 9, 2010 at 5:05 PM, William von Achen <wvo...@ie...> wrote: > OK, found the problem: > > The file tvp514x.c was being built into the kernel instead of tvp514x-int.c ... this was because the makefile in drivers/media/video only builds the -int flavor if the machine configuration is set to omap3evm (CONFIG_MACH_OMAP3EVM), and I had it set to overo. A quick change to that makefile to build tvp514x-int.c for CONFIG_MACH_OVERO as well resulted in /dev/video0 showing up. > > I still haven't been able to get any sort of video out of the decoder though ... I've tried using mplayer like so: > > mplayer -tv device=/dev/video0:driver=v4l2:width=720:height=480:norm=ntsc tv://1 > > The first few times I tried this, I got a green screen and a series of messages saying "v4l2: select timeout", but now it just hangs the system. I'm not very familiar with mplayer, so I'm currently building VLC in bitbake to see if I have any luck with that route. > -- > William von Achen > >> Message: 3 >> Date: Thu, 8 Jul 2010 20:44:04 -0500 >> From: Chris Whittenburg <whi...@gm...> >> Subject: Re: [Gumstix-users] TI Linux PSP on Overo >> To: "General mailing list for gumstix users." >> <gum...@li...> >> Message-ID: >> <AAN...@ma...> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> /dev/video0 won't be there on boot, the tvp51xx has to be found first. >> >> In your camera file, the last line defines the init function: >> arch_initcall(something). Does this function get called? Did you >> make changes to the Makefile there to add your board-overo-camera.c? >> >> If so, then the next thing to check is: Did you use menuconfig to turn >> on the proper CONFIG_VIDEO_TVP514X options? You will need to do this >> so that tvp514x-int.c gets compiled into your kernel. Does >> tvp514x_init() get called? >> >> -chris >> > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |
From: William v. A. <wvo...@ie...> - 2010-07-15 16:25:47
|
OK, I think I've got things working now (sort of). We had some h/w snafus on the I2C bus that were causing the system to hang. Once those were fixed, I was getting only black frames. The solution to that was simple: for historical reasons that aren't very interesting, we connected our CVBS signal to pin 8 of the TVP5146. The TI driver was ostensibly written for their EVM, so it wants to see CVBS on pin 23. Shorting the two pins with a scope lead produced video in mplayer (albeit poorly synced due to the degradation of the input video signal caused by shorting the pins). Since I'd like to avoid a h/w mod, I'd like to modify the driver to use a different input pin. It should be simple enough: just write 0x05 to register 0x00 on the decoder. Problem is, I can't find where that register write is being done. I thought about crudely hacking tvp514x_write_reg to force any writes of register 0x00 to be 0x05, but that function doesn't seem to be called. Does anyone know where in the source this configuration is performed? Thanks, -- William von Achen > Message: 7 > Date: Fri, 9 Jul 2010 17:41:53 -0500 > From: Chris Whittenburg<whi...@gm...> > Subject: Re: [Gumstix-users] TI Linux PSP on Overo > To: "General mailing list for gumstix users." > <gum...@li...> > Message-ID: > <AAN...@ma...> > Content-Type: text/plain; charset=ISO-8859-1 > > Great. You might try gstreamer to test it. Something like: > > gst-launch v4l2src ! omapdmaifbsink > > -chris > |
From: William v. A. <wvo...@ie...> - 2010-07-15 18:52:46
|
Found it. A quick find and replace through omap34xxcam.c, replacing INPUT_CVBS_VI4A with INPUT_CVBS_VI2B, did it. Got a nice looking video feed running in mplayer right now. :-) Though it does seem like something like this should be configurable from board-overo-camera.c ... Thanks again to everyone for all the help. -- William von Achen On 7/15/2010 12:25, gum...@li... wrote: > Message: 5 > Date: Thu, 15 Jul 2010 12:25:34 -0400 > From: William von Achen<wvo...@ie...> > Subject: Re: [Gumstix-users] TI Linux PSP on Overo > To:gum...@li... > Message-ID:<4C3...@ie...> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > OK, I think I've got things working now (sort of). > > We had some h/w snafus on the I2C bus that were causing the system to > hang. Once those were fixed, I was getting only black frames. The > solution to that was simple: for historical reasons that aren't very > interesting, we connected our CVBS signal to pin 8 of the TVP5146. The > TI driver was ostensibly written for their EVM, so it wants to see CVBS > on pin 23. Shorting the two pins with a scope lead produced video in > mplayer (albeit poorly synced due to the degradation of the input video > signal caused by shorting the pins). > > Since I'd like to avoid a h/w mod, I'd like to modify the driver to use > a different input pin. It should be simple enough: just write 0x05 to > register 0x00 on the decoder. Problem is, I can't find where that > register write is being done. I thought about crudely hacking > tvp514x_write_reg to force any writes of register 0x00 to be 0x05, but > that function doesn't seem to be called. > > Does anyone know where in the source this configuration is performed? > |
From: Jason C. M. <jas...@am...> - 2010-06-30 22:05:18
|
I don't believe it requires a video signal to show up under /dev Is it being initialized within the Overo board file? -----Original Message----- From: William von Achen [mailto:wvo...@ie...] Sent: Wednesday, June 30, 2010 2:52 PM To: gum...@li... Subject: Re: [Gumstix-users] TI Linux PSP on Overo Thanks so much for this. I've got that kernel running on the Overo, and under /dev I can see omap-previewer and omap-resizer, but no video0 ... does the ISP actually need a video signal to show up under /dev? To answer your question, we're doing something very similar. We have designed our own board that has a TVP5146 video decoder (among other things), which spits out BT656 to the Overo via a ribbon cable between the two boards. Thanks again, -- William von Achen > If you use the mainline angstrom stuff, it's linux-omap-psp recipe > uses the v2.6.32_OMAPPSP_03.00.00.05 kernel (and applies several > patches to it). > > Just use the angstrom setup scripts (git clone > git://gitorious.org/angstrom/angstrom-setup-scripts.git) and configure > for overo (./oebb.sh config overo) > > I'm using it without any trouble so far. I would prefer to go with > Steve's overo branch, but I need the ISP as well... We're trying to > connect a bt656 ntsc video encoder. What kind of sensor are you > working with? > > -chris ------------------------------------------------------------------------------ This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first _______________________________________________ gumstix-users mailing list gum...@li... https://lists.sourceforge.net/lists/listinfo/gumstix-users |
From: Chris W. <whi...@gm...> - 2010-06-30 22:10:47
|
Assuming you have things properly configured in the board-overo-camera.c file (which you need to create based on the board-omap3evm-camera.c file)... The overo will try to talk to the tvp5146 over the i2c connection, and if it finds it correctly, it will create a /dev/video0. If you connected a GPIO line to the reset of your TVP5146, you will also need to make sure it's set correctly. I hope your tvp5146 board also connected the vs and hs sync signals because the isp code expects them to be active. If you didn't anticipate this, then you may need to hack the code in isp.c and ispccdc.c to work without the HS_VS interrupts (ie work with only VD0 interrupts). You can see a current discussion of this issue here: http://e2e.ti.com/support/dsp/omap_applications_processors/f/447/p/52192/192701.aspx Please followup with your results-- I have my tvp5150 working, but its still getting timeouts that I haven't been able to clear up. Not sure if it is hardware or software. -chris On Wed, Jun 30, 2010 at 4:52 PM, William von Achen <wvo...@ie...> wrote: > Thanks so much for this. > > I've got that kernel running on the Overo, and under /dev I can see > omap-previewer and omap-resizer, but no video0 ... does the ISP actually > need a video signal to show up under /dev? > > To answer your question, we're doing something very similar. We have > designed our own board that has a TVP5146 video decoder (among other > things), which spits out BT656 to the Overo via a ribbon cable between > the two boards. > > Thanks again, > -- > William von Achen > >> If you use the mainline angstrom stuff, it's linux-omap-psp recipe >> uses the v2.6.32_OMAPPSP_03.00.00.05 kernel (and applies several >> patches to it). >> >> Just use the angstrom setup scripts (git clone >> git://gitorious.org/angstrom/angstrom-setup-scripts.git) and configure >> for overo (./oebb.sh config overo) >> >> I'm using it without any trouble so far. I would prefer to go with >> Steve's overo branch, but I need the ISP as well... We're trying to >> connect a bt656 ntsc video encoder. What kind of sensor are you >> working with? >> >> -chris > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > |