>>>include/media/davinci/ccdc_dm355.h - line 851:
>>>static inline void ccdc_setfbaddr(unsigned long paddr){
>>>     regw((paddr >> 21) & 0x007f, STADRH);
>>>     regw((paddr >> 5) & 0x0ffff, STADRL);
>>>}
>>>
>>>I don't catch why should be shifted low part of the address... well, I
>>>don't catch the high part as well.(shifted by 21? why?)  :P

[MK] I think you are trying to debug an issue in your custom board. To explain 
your question, this is as per the hardware user guide for VPFE. See the 
description for STADRL & STADRH.

STADRL

Lower 16 bits of the SDRAM starting address for CCDC output
The address is specified offset from the SDRAM base address in units of 32 
bytes.

STADRH

Upper 7 bits of the SDRAM starting address for CCDC output
The address is specified offset from the SDRAM base address in units of 32 
bytes.

So the first step is to subtract the SDRAM address from the base address.
Then the offset should be specified in units of 32 byes (we already make sure 
the address is aligned to 32 byte boundary in VPFE capture driver. So divide 
the offset by 32 or shift right by 5).

regw((paddr >> 5) & 0x0ffff, STADRL);
>> take lower 16 bit and shift right by 5
regw((paddr >> 21) & 0x007f, STADRH);
>> shift upper by 16 to get it to lower 16 bits and then shift it by additional 
>> 5 to get the value to be in units of 32 bytes (total shift 5 + 16 = 21)
Hope this explains.

If you are not seeing interrupt, make sure the sensor is providing VD signal. 
Also you can check arm interrupt by doing...

[EMAIL PROTECTED]:/opt/lsp210# cat /proc/interrupts
           CPU0
  0:      31686       AINTC  vpfe_capture
  5:          0       AINTC  dm644xpreviewer
  6:          0       AINTC  dm644xresizer
  8:    3554093       AINTC  davinci_osd
 12:          1       AINTC  musb_hdrc
 13:     245992       AINTC  mac
 16:          0       AINTC  EDMA Completion
 17:          1       AINTC  EDMA CC Err
 18:          0       AINTC  EDMA TC0 Error
 19:          0       AINTC  EDMA TC1 Error
 22:          8       AINTC  ide0
 26:     118608       AINTC  davinci-mmc
 32:    5930694       AINTC  clockevent
 33:        372       AINTC  free-run counter
 39:      96317       AINTC  i2c_davinci
 40:      15600       AINTC  serial

In this case vpfe_capture count (31686) should increment.

>>>Thanks, bye
>>>--
>>>Andrea Gasparini
>>>---- ImaVis S.r.l. ----
>>>web: www.imavis.com
>>>
>>>_______________________________________________
>>>Davinci-linux-open-source mailing list
>>>Davinci-linux-open-source@linux.davincidsp.com
>>>http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to