Raffaele,
[MK] 0 means the interrupt happens right at VD pulse. 1 means after one line.
You might want to check the signals received from ADV to input of VPFE to see
if adv is doing what it is configured to do.
My colleague has found how to make the vpfe_isr interrupt working with adv7180.
He has made this change in isif.c inside isif_config_ycbcr:
- ccdcfg = ccdcfg | ISIF_DATA_PACK8 | ISIF_YCINSWP_YCBCR;
+ ccdcfg = ccdcfg | ISIF_DATA_PACK8 ;
[MK] What you are doing is essentially swapping the Y and C input lines.
Probably on your board, you are connecting the input differently than on the
DM365 evm. Please confirm if this is the only change that got it working.
He verified that tvp514x was really working using 10bit port.
If he disabled pinmux on Y0 and Y1 interrupts aren't generated.
But in isif_config_ycbcr function the kernel enters in
case VPFE_BT656:
because it lacks a call for setting isif_cfg.if_type.
I think the problem is that the YCINSWP setting on your board. In 8 bit mode,
this decides whether input signals are connected to Y input or C input. In
TVP5146 on DM365, it is connected to C input, where as on your board it is
connected to Y input. So we need to add this as a configurable variable in the
board setup file, read it and set in isif.c. Please send a patch to the list.
For example define a variable y_c_swap and set it to 0 in your board. On DM365
evm board file you can set it to 1 so that it works fine for tvp5146 and
adv7180. In isif.c you can read this variable and update the YCINSWP bit in
CCDCFG. Are you planning to send a patch for this?
Murali
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source