Re: ISP OMAP3 camera support ov7690

2010-01-13 Thread Michael Trimarchi

Hi,

I have done a step ahead maybe:

The camera has this output format:

YUYV ---> the first use the CCDC_OTHERS_MEM, so seems that it needs the WEN 
signal to syncronize (I don't have this one)
RGB565   ---> is not supported
RAW8 ---> is supported by the ISP but seems that is not implemented as a 
isp formats

So I can't use the first one but I can use the last one because the pipeline 
support RAW format,
the data path is the same of RAW10 expet for the autofocus module. If all is 
correct what are the steps?

- add the isp_format
- add in the if confidition this data format and use the same path of RAW10
...

Regards

Michael
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: ISP OMAP3 camera support ov7690

2010-01-12 Thread Aguirre, Sergio
Michael,

> -Original Message-
> From: Michael Trimarchi [mailto:mich...@panicking.kicks-ass.org]
> Sent: Tuesday, January 12, 2010 3:28 PM
> To: Aguirre, Sergio
> Cc: Nishanth Menon; linux-o...@vger.kernel.org; linux-
> me...@vger.kernel.org
> Subject: Re: ISP OMAP3 camera support ov7690
> 
> Hi,
> 
> Michael Trimarchi wrote:
> > Hi all,
> >
> > Aguirre, Sergio wrote:
> >>
> >>> -Original Message-
> >>> From: Michael Trimarchi [mailto:mich...@panicking.kicks-ass.org]
> >>> Sent: Tuesday, January 12, 2010 7:15 AM
> >>> To: Aguirre, Sergio
> >>> Cc: Nishanth Menon; linux-o...@vger.kernel.org; linux-
> >>> me...@vger.kernel.org
> >>> Subject: Re: ISP OMAP3 camera support ov7690
> >>>
> >>> Hi all,
> >>>
> >>> Now I have a good camera pcb and I can test again the driver. My
> >>> board is
> >>> an overo gumstix board.
> >>
> >> Excellent!
> >>
> >> Please let me know if you're having issues with it.
> >>
> >> Thanks for your interest!
> >>
> >> Regards,
> >> Sergio
> >>
> >
> > maybe I have done some mistake during writing the email, but I have
> > asked few things inside the email.
> > The camera part is ok because I have written a driver using the ov538
> > bridge but I have some problem
> > in configuring the isp omap3 device. It opens correctly the camera, and
> > set xclk frequency. Then
> > seems that vsync and hsync are not routed to the engine because I don't
> > receive any interrupt.
> 
> --- a/drivers/media/video/isp/isp.c
> +++ b/drivers/media/video/isp/isp.c
> @@ -299,6 +299,7 @@ static void isp_enable_interrupts(struct device *dev)
> | IRQ0ENABLE_CSIA_IRQ
> | IRQ0ENABLE_CSIB_IRQ | IRQ0ENABLE_HIST_DONE_IRQ
> | IRQ0ENABLE_H3A_AWB_DONE_IRQ | IRQ0ENABLE_H3A_AF_DONE_IRQ
> +   | IRQ0ENABLE_HS_VS_IRQ
> | isp->interrupts;
> 
> if (CCDC_PREV_CAPTURE(isp))
> @@ -328,6 +329,7 @@ static void isp_disable_interrupts(struct device *dev)
> | IRQ0ENABLE_CSIA_IRQ
> | IRQ0ENABLE_CSIB_IRQ | IRQ0ENABLE_HIST_DONE_IRQ
> | IRQ0ENABLE_H3A_AWB_DONE_IRQ | IRQ0ENABLE_H3A_AF_DONE_IRQ
> +   | IRQ0ENABLE_HS_VS_IRQ
> | isp->interrupts);
> 
> Adding this in the irq mask give me interrupt from the camera, but I don't
> undestarstand
> why they are disabled. Are they disabled in the latest git code?

In the past, we used to rely on HS_VS for signaling when to do some actions, 
like enable ISP preview sub-module, and also had VD0 and VD1 programmable 
interrupts to do other actions.

Nowadays, the usage has changed. We don't really use HS_VS anymore. And we rely 
mainly on VD0 (generated based on CCDC input) for doing many interframe 
operations (like targeting for next buffer in the queue, and updating some 
other settings.)

In conclusion, we disabled HS_VS, because we don't use it anymore.

> 
> how can I get the vrise?
> 
> .hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSFALL,

.hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSRISE,

I'm interested in seeing your board file in which you configure interface from 
sensor to ISP. (See arch/arm/mach-omap2/board-zoom-camera.c for how I use it)

Regards,
Sergio

> 
> 
> Michael
> 
> >>> Aguirre Rodriguez, Sergio Alberto wrote:
> >>>> Hi Michael,
> >>>>
> >>>>> -Original Message-
> >>>>> From: linux-omap-ow...@vger.kernel.org
> >>>>> [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of michael
> >>>>> Sent: Sunday, October 04, 2009 7:29 PM
> >>>>> To: Nishanth Menon
> >>>>> Cc: linux-o...@vger.kernel.org; linux-media@vger.kernel.org
> >>>>> Subject: Re: ISP OMAP3 camera support ov7690
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>> cc: linux-media
> >>>>>
> >>>>> Nishanth Menon wrote:
> >>>>>> michael said the following on 10/03/2009 06:13 PM:
> >>>>>>> I'm writing a driver to support the ov7690 camera and I have some
> >>>>>>> question about the meaning of:
> >>>>>>>
> >>>>>>> - datalane configuration
> >>>>>> CSI2 Data lanes - each CSI2 lane is a differential pair.
> >>>>> And, at least 1
> &

Re: ISP OMAP3 camera support ov7690

2010-01-12 Thread Michael Trimarchi

Hi,

Michael Trimarchi wrote:

Hi all,

Aguirre, Sergio wrote:



-Original Message-
From: Michael Trimarchi [mailto:mich...@panicking.kicks-ass.org]
Sent: Tuesday, January 12, 2010 7:15 AM
To: Aguirre, Sergio
Cc: Nishanth Menon; linux-o...@vger.kernel.org; linux-
me...@vger.kernel.org
Subject: Re: ISP OMAP3 camera support ov7690

Hi all,

Now I have a good camera pcb and I can test again the driver. My 
board is

an overo gumstix board.


Excellent!

Please let me know if you're having issues with it.

Thanks for your interest!

Regards,
Sergio



maybe I have done some mistake during writing the email, but I have 
asked few things inside the email.
The camera part is ok because I have written a driver using the ov538 
bridge but I have some problem
in configuring the isp omap3 device. It opens correctly the camera, and 
set xclk frequency. Then
seems that vsync and hsync are not routed to the engine because I don't 
receive any interrupt.


--- a/drivers/media/video/isp/isp.c
+++ b/drivers/media/video/isp/isp.c
@@ -299,6 +299,7 @@ static void isp_enable_interrupts(struct device *dev)
   | IRQ0ENABLE_CSIA_IRQ
   | IRQ0ENABLE_CSIB_IRQ | IRQ0ENABLE_HIST_DONE_IRQ
   | IRQ0ENABLE_H3A_AWB_DONE_IRQ | IRQ0ENABLE_H3A_AF_DONE_IRQ
+   | IRQ0ENABLE_HS_VS_IRQ
   | isp->interrupts;

   if (CCDC_PREV_CAPTURE(isp))
@@ -328,6 +329,7 @@ static void isp_disable_interrupts(struct device *dev)
   | IRQ0ENABLE_CSIA_IRQ
   | IRQ0ENABLE_CSIB_IRQ | IRQ0ENABLE_HIST_DONE_IRQ
   | IRQ0ENABLE_H3A_AWB_DONE_IRQ | IRQ0ENABLE_H3A_AF_DONE_IRQ
+   | IRQ0ENABLE_HS_VS_IRQ
   | isp->interrupts);

Adding this in the irq mask give me interrupt from the camera, but I don't 
undestarstand
why they are disabled. Are they disabled in the latest git code?

how can I get the vrise?

.hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSFALL,


Michael


Aguirre Rodriguez, Sergio Alberto wrote:

Hi Michael,


-Original Message-
From: linux-omap-ow...@vger.kernel.org
[mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of michael
Sent: Sunday, October 04, 2009 7:29 PM
To: Nishanth Menon
Cc: linux-o...@vger.kernel.org; linux-media@vger.kernel.org
Subject: Re: ISP OMAP3 camera support ov7690

Hi,

cc: linux-media

Nishanth Menon wrote:

michael said the following on 10/03/2009 06:13 PM:

I'm writing a driver to support the ov7690 camera and I have some
question about the meaning of:

- datalane configuration

CSI2 Data lanes - each CSI2 lane is a differential pair.

And, at least 1

clock and data lane is used in devices.

Sorry can you explain a little bit more. I have the camera
connected to the
cam_hs and cam_vs and the data is 8Bit. I use the the isp init
structure. The sccb bus works great and I can send
configuration to it,
but I don't receive any interrupt from the ics, seems that it
doen't see
the transaction:

The ISPCCDC: ###CCDC SYN_MODE=0x31704 seems ok.


static struct isp_interface_config ov7690_if_config = {
.ccdc_par_ser   = ISP_CSIA,
.dataline_shift = 0x0,
.hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSFALL,

Can you try with ISPCTRL_SYNC_DETECT_VSRISE ?


.strobe = 0x0,
.prestrobe  = 0x0,
.shutter= 0x0,
.wenlog = ISPCCDC_CFG_WENLOG_AND,
.wait_hs_vs = 0x4,
.raw_fmt_in = ISPCCDC_INPUT_FMT_GR_BG,
.u.csi.crc  = 0x0,
.u.csi.mode = 0x0,
.u.csi.edge = 0x0,
.u.csi.signalling   = 0x0,
.u.csi.strobe_clock_inv = 0x0,
.u.csi.vs_edge  = 0x0,
.u.csi.channel  = 0x0,
.u.csi.vpclk= 0x1,
.u.csi.data_start   = 0x0,
.u.csi.data_size= 0x0,
.u.csi.format   = V4L2_PIX_FMT_YUYV,
};

and I don't know the meaning of

lanecfg.clk.pol = OV7690_CSI2_CLOCK_POLARITY;
lanecfg.clk.pos = OV7690_CSI2_CLOCK_LANE;
lanecfg.data[0].pol = OV7690_CSI2_DATA0_POLARITY;
lanecfg.data[0].pos = OV7690_CSI2_DATA0_LANE;
lanecfg.data[1].pol = OV7690_CSI2_DATA1_POLARITY;
lanecfg.data[1].pos = OV7690_CSI2_DATA1_LANE;
lanecfg.data[2].pol = 0;
lanecfg.data[2].pos = 0;
lanecfg.data[3].pol = 0;
lanecfg.data[3].pos = 0;


This is the physical connection details:

- The .pol field stands for the differntial pair polarity.
  (i.e. the order in which the negative and positive connections
  are pugged in to the CSI2 ComplexIO module)

What exact the meaning of the pol, sorry? I have a signal that is
connected
to a pin. If the pos is avalaible can I use it?
It's not important how to route the signal but don't route on the same
lane.
Is it right?

This is the timing of the camera so I can check signal, but I don't
receive interrupt
of isp engine

The camera is direct 

Re: ISP OMAP3 camera support ov7690

2010-01-12 Thread Michael Trimarchi

Hi all,

Aguirre, Sergio wrote:



-Original Message-
From: Michael Trimarchi [mailto:mich...@panicking.kicks-ass.org]
Sent: Tuesday, January 12, 2010 7:15 AM
To: Aguirre, Sergio
Cc: Nishanth Menon; linux-o...@vger.kernel.org; linux-
me...@vger.kernel.org
Subject: Re: ISP OMAP3 camera support ov7690

Hi all,

Now I have a good camera pcb and I can test again the driver. My board is
an overo gumstix board.


Excellent!

Please let me know if you're having issues with it.

Thanks for your interest!

Regards,
Sergio



maybe I have done some mistake during writing the email, but I have asked few 
things inside the email.
The camera part is ok because I have written a driver using the ov538 bridge 
but I have some problem
in configuring the isp omap3 device. It opens correctly the camera, and set 
xclk frequency. Then
seems that vsync and hsync are not routed to the engine because I don't receive any interrupt. 


Aguirre Rodriguez, Sergio Alberto wrote:

Hi Michael,


-Original Message-
From: linux-omap-ow...@vger.kernel.org
[mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of michael
Sent: Sunday, October 04, 2009 7:29 PM
To: Nishanth Menon
Cc: linux-o...@vger.kernel.org; linux-media@vger.kernel.org
Subject: Re: ISP OMAP3 camera support ov7690

Hi,

cc: linux-media

Nishanth Menon wrote:

michael said the following on 10/03/2009 06:13 PM:

I'm writing a driver to support the ov7690 camera and I have some
question about the meaning of:

- datalane configuration

CSI2 Data lanes - each CSI2 lane is a differential pair.

And, at least 1

clock and data lane is used in devices.

Sorry can you explain a little bit more. I have the camera
connected to the
cam_hs and cam_vs and the data is 8Bit. I use the the isp init
structure. The sccb bus works great and I can send
configuration to it,
but I don't receive any interrupt from the ics, seems that it
doen't see
the transaction:

The ISPCCDC: ###CCDC SYN_MODE=0x31704 seems ok.


static struct isp_interface_config ov7690_if_config = {
.ccdc_par_ser   = ISP_CSIA,
.dataline_shift = 0x0,
.hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSFALL,

Can you try with ISPCTRL_SYNC_DETECT_VSRISE ?


.strobe = 0x0,
.prestrobe  = 0x0,
.shutter= 0x0,
.wenlog = ISPCCDC_CFG_WENLOG_AND,
.wait_hs_vs = 0x4,
.raw_fmt_in = ISPCCDC_INPUT_FMT_GR_BG,
.u.csi.crc  = 0x0,
.u.csi.mode = 0x0,
.u.csi.edge = 0x0,
.u.csi.signalling   = 0x0,
.u.csi.strobe_clock_inv = 0x0,
.u.csi.vs_edge  = 0x0,
.u.csi.channel  = 0x0,
.u.csi.vpclk= 0x1,
.u.csi.data_start   = 0x0,
.u.csi.data_size= 0x0,
.u.csi.format   = V4L2_PIX_FMT_YUYV,
};

and I don't know the meaning of

lanecfg.clk.pol = OV7690_CSI2_CLOCK_POLARITY;
lanecfg.clk.pos = OV7690_CSI2_CLOCK_LANE;
lanecfg.data[0].pol = OV7690_CSI2_DATA0_POLARITY;
lanecfg.data[0].pos = OV7690_CSI2_DATA0_LANE;
lanecfg.data[1].pol = OV7690_CSI2_DATA1_POLARITY;
lanecfg.data[1].pos = OV7690_CSI2_DATA1_LANE;
lanecfg.data[2].pol = 0;
lanecfg.data[2].pos = 0;
lanecfg.data[3].pol = 0;
lanecfg.data[3].pos = 0;


This is the physical connection details:

- The .pol field stands for the differntial pair polarity.
  (i.e. the order in which the negative and positive connections
  are pugged in to the CSI2 ComplexIO module)

What exact the meaning of the pol, sorry? I have a signal that is
connected
to a pin. If the pos is avalaible can I use it?
It's not important how to route the signal but don't route on the same
lane.
Is it right?

This is the timing of the camera so I can check signal, but I don't
receive interrupt
of isp engine

The camera is direct connected to the
camera omap camera signal and using the oscilloscope I can see the hs/vs
signal
The hs is low and go up, like the vs signal. I have only one camera
with that use D0 to D7 data bit.

http://www.gumstix.net/Hardware/view/I/O-connectors-cabling/Gumstix-Overo-
27-pin-connector-J5-to-manage-camera-controls/112.html

static struct isp_interface_config ov7690_if_config = {
.ccdc_par_ser   = ISP_CSIA,
.dataline_shift = 0x0,
.hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSRISE,
.strobe = 0x0,
.prestrobe  = 0x0,
.shutter= 0x0,
.wenlog = ISPCCDC_CFG_WENLOG_AND,
.wait_hs_vs = 0x4,
.raw_fmt_in = ISPCCDC_INPUT_FMT_GR_BG,
.u.csi.crc  = 0x0,
.u.csi.mode = 0x0,
.u.csi.edge = 0x0,
.u.csi.signalling   = 0x0,
.u.csi.strobe_clock_inv = 0x0,
.u.csi.vs_edge 

RE: ISP OMAP3 camera support ov7690

2010-01-12 Thread Aguirre, Sergio


> -Original Message-
> From: Michael Trimarchi [mailto:mich...@panicking.kicks-ass.org]
> Sent: Tuesday, January 12, 2010 7:15 AM
> To: Aguirre, Sergio
> Cc: Nishanth Menon; linux-o...@vger.kernel.org; linux-
> me...@vger.kernel.org
> Subject: Re: ISP OMAP3 camera support ov7690
> 
> Hi all,
> 
> Now I have a good camera pcb and I can test again the driver. My board is
> an overo gumstix board.

Excellent!

Please let me know if you're having issues with it.

Thanks for your interest!

Regards,
Sergio

> 
> Aguirre Rodriguez, Sergio Alberto wrote:
> > Hi Michael,
> >
> >> -Original Message-
> >> From: linux-omap-ow...@vger.kernel.org
> >> [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of michael
> >> Sent: Sunday, October 04, 2009 7:29 PM
> >> To: Nishanth Menon
> >> Cc: linux-o...@vger.kernel.org; linux-media@vger.kernel.org
> >> Subject: Re: ISP OMAP3 camera support ov7690
> >>
> >> Hi,
> >>
> >> cc: linux-media
> >>
> >> Nishanth Menon wrote:
> >>> michael said the following on 10/03/2009 06:13 PM:
> >>>> I'm writing a driver to support the ov7690 camera and I have some
> >>>> question about the meaning of:
> >>>>
> >>>> - datalane configuration
> >>> CSI2 Data lanes - each CSI2 lane is a differential pair.
> >> And, at least 1
> >>> clock and data lane is used in devices.
> >> Sorry can you explain a little bit more. I have the camera
> >> connected to the
> >> cam_hs and cam_vs and the data is 8Bit. I use the the isp init
> >> structure. The sccb bus works great and I can send
> >> configuration to it,
> >> but I don't receive any interrupt from the ics, seems that it
> >> doen't see
> >> the transaction:
> >>
> >> The ISPCCDC: ###CCDC SYN_MODE=0x31704 seems ok.
> >>
> >>
> >> static struct isp_interface_config ov7690_if_config = {
> >> .ccdc_par_ser   = ISP_CSIA,
> >> .dataline_shift = 0x0,
> >> .hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSFALL,
> >
> > Can you try with ISPCTRL_SYNC_DETECT_VSRISE ?
> >
> >> .strobe = 0x0,
> >> .prestrobe  = 0x0,
> >> .shutter= 0x0,
> >> .wenlog = ISPCCDC_CFG_WENLOG_AND,
> >> .wait_hs_vs = 0x4,
> >> .raw_fmt_in = ISPCCDC_INPUT_FMT_GR_BG,
> >> .u.csi.crc  = 0x0,
> >> .u.csi.mode = 0x0,
> >> .u.csi.edge = 0x0,
> >> .u.csi.signalling   = 0x0,
> >> .u.csi.strobe_clock_inv = 0x0,
> >> .u.csi.vs_edge  = 0x0,
> >> .u.csi.channel  = 0x0,
> >> .u.csi.vpclk= 0x1,
> >> .u.csi.data_start   = 0x0,
> >> .u.csi.data_size= 0x0,
> >> .u.csi.format   = V4L2_PIX_FMT_YUYV,
> >> };
> >>
> >> and I don't know the meaning of
> >>
> >> lanecfg.clk.pol = OV7690_CSI2_CLOCK_POLARITY;
> >> lanecfg.clk.pos = OV7690_CSI2_CLOCK_LANE;
> >> lanecfg.data[0].pol = OV7690_CSI2_DATA0_POLARITY;
> >> lanecfg.data[0].pos = OV7690_CSI2_DATA0_LANE;
> >> lanecfg.data[1].pol = OV7690_CSI2_DATA1_POLARITY;
> >> lanecfg.data[1].pos = OV7690_CSI2_DATA1_LANE;
> >> lanecfg.data[2].pol = 0;
> >> lanecfg.data[2].pos = 0;
> >> lanecfg.data[3].pol = 0;
> >> lanecfg.data[3].pos = 0;
> >>
> >
> > This is the physical connection details:
> >
> > - The .pol field stands for the differntial pair polarity.
> >   (i.e. the order in which the negative and positive connections
> >   are pugged in to the CSI2 ComplexIO module)
> 
> What exact the meaning of the pol, sorry? I have a signal that is
> connected
> to a pin. If the pos is avalaible can I use it?
> It's not important how to route the signal but don't route on the same
> lane.
> Is it right?
> 
> This is the timing of the camera so I can check signal, but I don't
> receive interrupt
> of isp engine
> 
> >
> 
> The camera is direct connected to the
> camera omap camera signal and using the oscilloscope I can see the hs/vs
> signal
> The hs is low and go up, like the vs signal. I have only one camera
> with that use D0 to D7 data bit.
> 
> http:

Re: ISP OMAP3 camera support ov7690

2009-10-05 Thread michael

Hi,

Aguirre Rodriguez, Sergio Alberto wrote:
Hi Michael, 


-Original Message-
From: linux-omap-ow...@vger.kernel.org 
[mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of michael

Sent: Sunday, October 04, 2009 7:29 PM
To: Nishanth Menon
Cc: linux-o...@vger.kernel.org; linux-media@vger.kernel.org
Subject: Re: ISP OMAP3 camera support ov7690

Hi,

cc: linux-media

Nishanth Menon wrote:

michael said the following on 10/03/2009 06:13 PM:

I'm writing a driver to support the ov7690 camera and I have some
question about the meaning of:

- datalane configuration
CSI2 Data lanes - each CSI2 lane is a differential pair. 

And, at least 1

clock and data lane is used in devices.
Sorry can you explain a little bit more. I have the camera 
connected to the

cam_hs and cam_vs and the data is 8Bit. I use the the isp init
structure. The sccb bus works great and I can send 
configuration to it,
but I don't receive any interrupt from the ics, seems that it 
doen't see

the transaction:

The ISPCCDC: ###CCDC SYN_MODE=0x31704 seems ok.


static struct isp_interface_config ov7690_if_config = {
.ccdc_par_ser   = ISP_CSIA,
.dataline_shift = 0x0,
.hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSFALL,


Can you try with ISPCTRL_SYNC_DETECT_VSRISE ?


I just try to invert the polary and I have no problem to share the code with 
the community.
The documentation miss info about the 4 clock and 8 clock before and after the 
frame.
I have the limitation that the camera is always on, so in the POWER_DOWN 
condidion
I reset it to have the output and signal in HZ state. I think that is correct,
Now I will try to take a look to the logic, because that receive interrupt must 
be
normal when I put out the signal connection. I can send the patch set to the 
mailing
linux-media to share the code and maybe there is somenthing else working on the 
same
device. Do you thing that is is a good idea. There are a lot of work to do for 
setting
varius control and I don't have a perfect knolowment of the OMAP part. I try to read 
the code, but I suspect tha I can have basically two problem:


- missend register setting (so I don't enable correcly the signal output
- or somenthing regarding the timing. 


The documentation lack and it's incomplete about timing and setting and I'm 
under nda
but the code is offcorse gpl and I have the intention to submit to review or 
help
people like me that are working around the same issue.




.strobe = 0x0,
.prestrobe  = 0x0,
.shutter= 0x0,
.wenlog = ISPCCDC_CFG_WENLOG_AND,
.wait_hs_vs = 0x4,
.raw_fmt_in = ISPCCDC_INPUT_FMT_GR_BG,
.u.csi.crc  = 0x0,
.u.csi.mode = 0x0,
.u.csi.edge = 0x0,
.u.csi.signalling   = 0x0,
.u.csi.strobe_clock_inv = 0x0,
.u.csi.vs_edge  = 0x0,
.u.csi.channel  = 0x0,
.u.csi.vpclk= 0x1,
.u.csi.data_start   = 0x0,
.u.csi.data_size= 0x0,
.u.csi.format   = V4L2_PIX_FMT_YUYV,
};

and I don't know the meaning of

lanecfg.clk.pol = OV7690_CSI2_CLOCK_POLARITY;
lanecfg.clk.pos = OV7690_CSI2_CLOCK_LANE;
lanecfg.data[0].pol = OV7690_CSI2_DATA0_POLARITY;
lanecfg.data[0].pos = OV7690_CSI2_DATA0_LANE;
lanecfg.data[1].pol = OV7690_CSI2_DATA1_POLARITY;
lanecfg.data[1].pos = OV7690_CSI2_DATA1_LANE;
lanecfg.data[2].pol = 0;
lanecfg.data[2].pos = 0;
lanecfg.data[3].pol = 0;
lanecfg.data[3].pos = 0;



This is the physical connection details:

- The .pol field stands for the differntial pair polarity.
  (i.e. the order in which the negative and positive connections
  are pugged in to the CSI2 ComplexIO module)

- The .pos field is for telling in which position of the 4
  available physically you have your clock, or data lane located.


Ok, so if I don't receive the clock for a wrong routing I can't read the
data but I can receive interumpt for vsync falling or rising transaction.
Is it correct?



Regards,
Sergio


Thank's for your time
Regards Michael



- phyconfiguration
PHY - Physical timing configurations. btw, if it is camera 

specific you

could get a lot of inputs from [1].

Ok I wil ask to them.


Regards,
Nishanth Menon

Ref:
[1] http://vger.kernel.org/vger-lists.html#linux-media
--
To unsubscribe from this list: send the line "unsubscribe 

linux-omap" in

the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Michael
--
To unsubscribe from this list: send the line "unsubscribe 
linux-omap" in

the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html




--
To unsubscribe from this list: send the line "unsubscribe linux-media&quo

RE: ISP OMAP3 camera support ov7690

2009-10-05 Thread Aguirre Rodriguez, Sergio Alberto
Hi Michael, 

> -Original Message-
> From: linux-omap-ow...@vger.kernel.org 
> [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of michael
> Sent: Sunday, October 04, 2009 7:29 PM
> To: Nishanth Menon
> Cc: linux-o...@vger.kernel.org; linux-media@vger.kernel.org
> Subject: Re: ISP OMAP3 camera support ov7690
> 
> Hi,
> 
> cc: linux-media
> 
> Nishanth Menon wrote:
> > michael said the following on 10/03/2009 06:13 PM:
> >> I'm writing a driver to support the ov7690 camera and I have some
> >> question about the meaning of:
> >>
> >> - datalane configuration
> > CSI2 Data lanes - each CSI2 lane is a differential pair. 
> And, at least 1
> > clock and data lane is used in devices.
> 
> Sorry can you explain a little bit more. I have the camera 
> connected to the
> cam_hs and cam_vs and the data is 8Bit. I use the the isp init
> structure. The sccb bus works great and I can send 
> configuration to it,
> but I don't receive any interrupt from the ics, seems that it 
> doen't see
> the transaction:
> 
> The ISPCCDC: ###CCDC SYN_MODE=0x31704 seems ok.
> 
> 
> static struct isp_interface_config ov7690_if_config = {
> .ccdc_par_ser   = ISP_CSIA,
> .dataline_shift = 0x0,
> .hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSFALL,

Can you try with ISPCTRL_SYNC_DETECT_VSRISE ?

> .strobe = 0x0,
> .prestrobe  = 0x0,
> .shutter= 0x0,
> .wenlog = ISPCCDC_CFG_WENLOG_AND,
> .wait_hs_vs = 0x4,
> .raw_fmt_in = ISPCCDC_INPUT_FMT_GR_BG,
> .u.csi.crc  = 0x0,
> .u.csi.mode = 0x0,
> .u.csi.edge = 0x0,
> .u.csi.signalling   = 0x0,
> .u.csi.strobe_clock_inv = 0x0,
> .u.csi.vs_edge  = 0x0,
> .u.csi.channel  = 0x0,
> .u.csi.vpclk= 0x1,
> .u.csi.data_start   = 0x0,
> .u.csi.data_size= 0x0,
> .u.csi.format   = V4L2_PIX_FMT_YUYV,
> };
> 
> and I don't know the meaning of
> 
> lanecfg.clk.pol = OV7690_CSI2_CLOCK_POLARITY;
> lanecfg.clk.pos = OV7690_CSI2_CLOCK_LANE;
> lanecfg.data[0].pol = OV7690_CSI2_DATA0_POLARITY;
> lanecfg.data[0].pos = OV7690_CSI2_DATA0_LANE;
> lanecfg.data[1].pol = OV7690_CSI2_DATA1_POLARITY;
> lanecfg.data[1].pos = OV7690_CSI2_DATA1_LANE;
> lanecfg.data[2].pol = 0;
> lanecfg.data[2].pos = 0;
> lanecfg.data[3].pol = 0;
> lanecfg.data[3].pos = 0;
> 

This is the physical connection details:

- The .pol field stands for the differntial pair polarity.
  (i.e. the order in which the negative and positive connections
  are pugged in to the CSI2 ComplexIO module)

- The .pos field is for telling in which position of the 4
  available physically you have your clock, or data lane located.

Regards,
Sergio

> >> - phyconfiguration
> > PHY - Physical timing configurations. btw, if it is camera 
> specific you
> > could get a lot of inputs from [1].
> 
> Ok I wil ask to them.
> 
> > 
> > Regards,
> > Nishanth Menon
> > 
> > Ref:
> > [1] http://vger.kernel.org/vger-lists.html#linux-media
> > --
> > To unsubscribe from this list: send the line "unsubscribe 
> linux-omap" in
> > the body of a message to majord...@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> 
> Michael
> --
> To unsubscribe from this list: send the line "unsubscribe 
> linux-omap" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> --
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ISP OMAP3 camera support ov7690

2009-10-04 Thread michael

Hi,

cc: linux-media

Nishanth Menon wrote:

michael said the following on 10/03/2009 06:13 PM:

I'm writing a driver to support the ov7690 camera and I have some
question about the meaning of:

- datalane configuration

CSI2 Data lanes - each CSI2 lane is a differential pair. And, at least 1
clock and data lane is used in devices.


Sorry can you explain a little bit more. I have the camera connected to the
cam_hs and cam_vs and the data is 8Bit. I use the the isp init
structure. The sccb bus works great and I can send configuration to it,
but I don't receive any interrupt from the ics, seems that it doen't see
the transaction:

The ISPCCDC: ###CCDC SYN_MODE=0x31704 seems ok.


static struct isp_interface_config ov7690_if_config = {
   .ccdc_par_ser   = ISP_CSIA,
   .dataline_shift = 0x0,
   .hsvs_syncdetect= ISPCTRL_SYNC_DETECT_VSFALL,
   .strobe = 0x0,
   .prestrobe  = 0x0,
   .shutter= 0x0,
   .wenlog = ISPCCDC_CFG_WENLOG_AND,
   .wait_hs_vs = 0x4,
   .raw_fmt_in = ISPCCDC_INPUT_FMT_GR_BG,
   .u.csi.crc  = 0x0,
   .u.csi.mode = 0x0,
   .u.csi.edge = 0x0,
   .u.csi.signalling   = 0x0,
   .u.csi.strobe_clock_inv = 0x0,
   .u.csi.vs_edge  = 0x0,
   .u.csi.channel  = 0x0,
   .u.csi.vpclk= 0x1,
   .u.csi.data_start   = 0x0,
   .u.csi.data_size= 0x0,
   .u.csi.format   = V4L2_PIX_FMT_YUYV,
};

and I don't know the meaning of

lanecfg.clk.pol = OV7690_CSI2_CLOCK_POLARITY;
lanecfg.clk.pos = OV7690_CSI2_CLOCK_LANE;
lanecfg.data[0].pol = OV7690_CSI2_DATA0_POLARITY;
lanecfg.data[0].pos = OV7690_CSI2_DATA0_LANE;
lanecfg.data[1].pol = OV7690_CSI2_DATA1_POLARITY;
lanecfg.data[1].pos = OV7690_CSI2_DATA1_LANE;
lanecfg.data[2].pol = 0;
lanecfg.data[2].pos = 0;
lanecfg.data[3].pol = 0;
lanecfg.data[3].pos = 0;


- phyconfiguration

PHY - Physical timing configurations. btw, if it is camera specific you
could get a lot of inputs from [1].


Ok I wil ask to them.



Regards,
Nishanth Menon

Ref:
[1] http://vger.kernel.org/vger-lists.html#linux-media
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



Michael
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html