This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Questions about OMAP3 receiving ITU-R BT.656(PAL) from tvp5146m2

Other Parts Discussed in Thread: TVP5146M2, OMAP3530, TVP5146, DM3730, ASH

Hello,

I am currently using an OMAP3530 with an decoder chip(tvp5146m2). There are only cam[7:0], vs, hs and cam_pclk connected.

Now there is a function busy() always return 1 representing the ccdc is always busy. This busy() is called by isp_buf_process(). Meanwhile Isp_buf_process() is called by omap34xx_isp_isr(). I already enable ccdc before tvp5146.

According to the OMAP3 TRM, "The CCDC_PCR 1] BUSY status bit is set when the start of frame occurs (if the CCDC_PCR[0] ENABLE bit is 1 at that time). It is automatically reset to 0 at the end of a frame."(spruf98p, page 1465)

Also some questions confusing me much are as follows:

1. Is it necessary to connect the cam_fld pin in ITU-R BT.656 mode?  According to the OMAP3 TRM, cam_fld is left unconnected in Parallel Interface in ITU-R BT.656 Configuration(page 1316). However, fld field in CCDC_SYN_MODE is always 1 every time when isp interrupt occurs. 

2. What is the exact value of VDINT to trigger isp interrupt? In ITU-R BT.656(PAL) mode, the number of active lines and of frame lines is 576 and 625, respectively. How does isp counts lines to reach VDINT? I have tried 287 and 312(interlaced frame). Both trigger isp interrupt. But 313 does not. What is strange to me is that TI's default value is 287.

3. How ITU-R BT.656(PAL) data are processed by isp is what I want to know most. A relative document will be highly appreciated.

Thanks in advance,

Jack

 

  • Hi Jack,

    As far as your understanding about busy bit is concerned, you are correct. Below are my responses to your questions -

     

    1. Is it necessary to connect the cam_fld pin in ITU-R BT.656 mode?  According to the OMAP3 TRM, cam_fld is left unconnected in Parallel Interface in ITU-R BT.656 Configuration(page 1316). However, fld field in CCDC_SYN_MODE is always 1 every time when isp interrupt occurs. 

    [Vaibhav] Technically you don't need any control signals like HS, VS and FLD signals in case of BT656 interface, but there is hardware errata where ISP-CCDC generates HS/VS interrupts only on external HS and VS. And the driver which you are using is dependent on all 4 interrupts HS, VS, VD1 and VD1.

    Coming back to your Q, I do not think you need external FLD signal here, it should get detected from embedded sync  data.

    2. What is the exact value of VDINT to trigger isp interrupt? In ITU-R BT.656(PAL) mode, the number of active lines and of frame lines is 576 and 625, respectively. How does isp counts lines to reach VDINT? I have tried 287 and 312(interlaced frame). Both trigger isp interrupt. But 313 does not. What is strange to me is that TI's default value is 287.

    [Vaibhav] Please note that in case of BT656 you are dealing with interlaced data. You receive 2 fields so you must configure VDINT to less than half of actual frame.

    3. How ITU-R BT.656(PAL) data are processed by isp is what I want to know most. A relative document will be highly appreciated.

    [Vaibhav] There is not difference in processing between NTSC and PAL. Also please note that, if you are using PSP03.00.01.06 release then we do only support TVP5146 => CCDC = > Memory path, we do not support any other processing paths which are possible in HW.

     

    Thanks,

    Vaibhav

  • Hello Vaibhav,

    It is hardware problem finally. Thanks for your answers anyway.

     

    Regards,

    Jack

  • Hi

       Vaibhav

     

       I want to use tvp5146m2 input 723x579 sizer , crurent dm3730 tvp5146m2 bt565 input sizer 720x579,720x576 is ok.

      The omap-resizer to resizer 720x576 input must be 723x579. So  i need input 723x579.

     Change the tvp514x-int.h

       /* Number of pixels and number of lines per frame for different standards */
       #define NTSC_NUM_ACTIVE_PIXELS        (723)
       #define NTSC_NUM_ACTIVE_LINES        (483)
       #define PAL_NUM_ACTIVE_PIXELS        (723)
       #define PAL_NUM_ACTIVE_LINES        (579)

        kernel errors:

       omap3isp omap3isp: isp_wait: wait is too much
    omap3isp omap3isp: ccdc 1 won't become idle!
    omap3isp omap3isp: omap34xx_isp_isr: sbl overflow, sbl_pcr = 00800000
    omap-iommu omap-iommu.0: omap2_iommu_fault_isr: da:0019b340 translation fault
    omap-iommu omap-iommu.0: iommu_fault_handler: da:0019b340 pgd:cf930004 *pgd:8fba9801 pte:cfba9a6c *pte:00000000
    omap3isp omap3isp: omap34xx_isp_isr: sbl overflow, sbl_pcr = 00800000
    omap-iommu omap-iommu.0: omap2_iommu_fault_isr: da:0019b340 translation fault
    omap-iommu omap-iommu.0: iommu_fault_handler: da:0019b340 pgd:cf930004 *pgd:8fba9801 pte:cfba9a6c *pte:00000000
    omap3isp omap3isp: omap34xx_isp_isr: sbl overflow, sbl_pcr = 00800000
    omap-iommu omap-iommu.0: omap2_iommu_fault_isr: da:0019b340 translation fault
    omap-iommu omap-iommu.0: iommu_fault_handler: da:0019b340 pgd:cf930004 *pgd:8fba9801 pte:cfba9a6c *pte:00000000
    omap3isp omap3isp: isp_wait: wait is too much

  • I have already responded to your query on Linux forum - http://e2e.ti.com/support/embedded/linux/f/354/t/155479.aspx#564353

     

    Thanks,

    Vaibhav

  • Hi  

    I have the same problem. CCDC remains busy once it goes to isp_buf_process. Can you please share how you solved he problem.

    Thanks 

    Ash