No question involving the video front end is trivial on this platform ;)
You are right about the mux select - I didn't check where it actually
lived, but that makes total sense. Since it's just a comment at this
point, yes you would have to figure out how to make the decoder_imager
line toggle - and this is coming from the MSP430. The only way around
this would be to do some surgery on the PCB.
The reason I suggested starting with the tvp5146 is that it is close to
what you have now. I'd take that file and rename it to something else
and stick it into the build. This is a little more complicated than it
sounds since you will need to modify the Makefile in the media/video
directory, and to do it right you should change the Kconfig files to
allow you to select which driver to include when you build the kernel.
If you just want to hack the kernel to get something working, then you
can just modify the tvp5146 code itself and the vpfe to switch the mux.
The MSP430 is probably your biggest problem here - and I can't really
help with that since our hardware doesn't use one...
Steve
Anthony Gutierrez wrote:
Sorry if these questions seem trivial, but I'm a little confused by
this. The tvp5146 is just the decoder and is MUX'd into the VPFE with
the imager interface correct? So would the code to select which is
sent to the VPFE be in the tvp5146.c driver? There is a comment in the
davinci_vpfe.c file that says code needs to be added to switch between
the tvp5146 and the mt9t001 which I'm assuming is the Micron sensor
and that it would be connected to the imager interface, connectors J30
and J31 on the dm355 DVEVM. Because of that comment I'm guessing it's
not in the davinci_vpfe.c file. Do I have to write it myself then? I
guess my question is do I need to modify the tvp5146.c code if not
using the tvp5146 and instead using the imager interface?
Stephen Berry wrote:
BT656 is what you want (and I believe it is the exact same thing as
CCIR656).
For the EVM you will need to switch the mux if you are using the
connector - I'm not sure but I think there is code in the tvp5146
driver to do this, you would just need to switch it the other way.
Based on what you have told me - I think you can get away with
changing the tvp5146.c driver to suit your sensor. You'll need to
compare the setup of the decoder to what needs to get done with the
sensor. Personally I'd start by copying the tvp5146.c file and
creating a new driver.
There is some code already written for the 7620, in
linux/drivers/media/video/ovcamchip/ov7x20.c. The problem with this
code is that it is written for v4l1 and it's not integrated into the
VPFE. But you can use it to figure out register settings....
Yes there are functions for the I2C bus in the tvp driver. No, there
isn't any documentation other than the code.
It looks like your 7620 also has auto exposure and white balance
modes... thats good news. Otherwise your application would need to do
it.
Steve
Anthony Gutierrez wrote:
The camera module I have can uses an Omnivision OV7620:
http://www.electronics123.com/s.nl/it.A/id.42/.f
It has a resolution of 640x480 and can output the CCIR 601/656
standard, which is just the former name of and should be the same as
BT 601/656 correct? Assuming my camera output is pretty close to the
decoder output will I just need to select the imager interface as
the input into the VPFE instead of the tvp5146 decoder and configure
my camera via I2C? How can I do this? Are there functions for using
the I2C bus already? I'm having trouble following the
davinci_vpfe.c, tvp5146.c, ccdc_dm355.c etc. driver files and there
seems to be no documentation on these.
Stephen Berry wrote:
If your sensor is generating BT656 (that is YCbCr with embedded
sync's, horizontal and vertical blanking etc) in D1 format, then
you might not have to do too much. The default input to the 355 is
from the NTSC decoder which uses BT656.
If the sensor output is not identical to the output of an NTSC
decoder, then you will need to modify the ccdc so that you can
capture your frames correctly. If your sync signals are external
you will need to enable the inputs to the VPFE. It is likely that
you may need to modify dm355_vpfe.c and tvp5146.c as well if the
sensor raw output is a different resolution or the sensor itself
needs to be setup differently.
If your sensor does not have an automatic AWB/AE mode, then you
will need to write an application level control loop to manage this.
If you haven't guessed - this can be a big job if your sensor isn't
a direct substitute for a decoder.
Steve
Anthony Gutierrez wrote:
I want to use a CMOS imager outputting 8bit YCbCr 4:2:2 with the
dm355 EVM. What do I need to modify within the davinci_VPFE.c and
ccdc_dm355.c driver files to do something like this? And are there
any other files I need to modify? Is there any guide or
documentation for using these drivers?
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
There is some code already written for the 7620,
Anthony Gutierrez wrote:
The camera module I have can uses an Omnivision OV7620:
http://www.electronics123.com/s.nl/it.A/id.42/.f
It has a resolution of 640x480 and can output the CCIR 601/656
standard, which is just the former name of and should be the same as
BT 601/656 correct? Assuming my camera output is pretty close to the
decoder output will I just need to select the imager interface as
the input into the VPFE instead of the tvp5146 decoder and configure
my camera via I2C? How can I do this? Are there functions for using
the I2C bus already? I'm having trouble following the
davinci_vpfe.c, tvp5146.c, ccdc_dm355.c etc. driver files and there
seems to be no documentation on these.
Stephen Berry wrote:
If your sensor is generating BT656 (that is YCbCr with embedded
sync's, horizontal and vertical blanking etc) in D1 format, then
you might not have to do too much. The default input to the 355 is
from the NTSC decoder which uses BT656.
If the sensor output is not identical to the output of an NTSC
decoder, then you will need to modify the ccdc so that you can
capture your frames correctly. If your sync signals are external
you will need to enable the inputs to the VPFE. It is likely that
you may need to modify dm355_vpfe.c and tvp5146.c as well if the
sensor raw output is a different resolution or the sensor itself
needs to be setup differently.
If your sensor does not have an automatic AWB/AE mode, then you
will need to write an application level control loop to manage this.
If you haven't guessed - this can be a big job if your sensor isn't
a direct substitute for a decoder.
Steve
Anthony Gutierrez wrote:
I want to use a CMOS imager outputting 8bit YCbCr 4:2:2 with the
dm355 EVM. What do I need to modify within the davinci_VPFE.c and
ccdc_dm355.c driver files to do something like this? And are there
any other files I need to modify? Is there any guide or
documentation for using these drivers?
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source