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.

omap3-isp driver: CCDC output to Memory and Resizer

Other Parts Discussed in Thread: DM3730

Hello!

For my project I need configure ISP pipeline like this:

sensor -> CCDC -> CCDC output

                      |

                Resizer -> Resizer output

I use omap3-is driver from Linux-2.6.37

May be somebody did it. Please help me?

  • Hi Michael,

    Could you give more details about you are doing? Do you have some configuration done and it is true could you post it?

    BR

    Tsvetolin Shulev

  • Hi,

    I want that CCDC writes image data to Memory and Resizer.

    After some manipulation with driver I did it.

    But read from Resizer output possible only if other app reads from CCDC output.

    I want that read was independent.

    BR,

    Michael

  • Hello Michael2:

       My English is not good.   I am so sorry for you to understand me.

         I have a driver  receive bt656 UYUV data .    but  it dose not use V4L2.   

    the driver modifies the registers  directly  ,  

    ccdc can writes image date to ccdc,  and the resizer  can be used also.   

        give me your mailbox   and  i send the code with  test programe to you.   

    ----------------------------------

          I also meet a problem,    I want  receive  VGA data and  in the beginning  i   write a driver use v4l2  framework,


    .interface = ISP_INTERFACE_PARALLEL,
    .bus = {
    .parallel = {
    .data_lane_shift = 0,
    //.vdpol=1,
    .bridge =0x3,

    but there  is no  VD0_IRQ ,   so  i  can  not   get   image .  

    After that,   I modified the   driver which can receive bt656  data,    I  found    if the CCDC_VDINT!=0,  the VD0_IRQ will not generate.I can receive VD0_IRQ but the image is not right,   only the fist line has date,  other lines are all 0xffffffff.      

    I also found the ccdc state  is  alwsys   busy.

    8bit  parallel   data  input ,     sensor -》 ccdc - > memory .  

    can you tell me what reason causes  my error?  

      my  mailbox is gaoshanv5@qq.com

  • Hello.


    I need to do same thing on DM3730, kernel 2.6.37.

    Idea is to have in memory video directly from CCDC on /dev/video2 and resized video on /dev/video6

    I'm using media-ctl to create links for this.

    When try to set output from CCDC to memory and to resizer it give me error that device is busy and that is expected because they are on same pad.

    What modification you made in driver to achieve this?

    How to change CCDC topology in driver to have CCDC output on different pad?

    - entity 5: OMAP3 ISP CCDC (3 pads, 9 links)
                type V4L2 subdev subtype Unknown
                device node name /dev/v4l-subdev2
            pad0: Input [UYVY 720x576]
                    <- 'OMAP3 ISP CCP2':pad1 []
                    <- 'OMAP3 ISP CSI2a':pad1 []
                    <- 'bt656_omap 3-005b':pad0 [ACTIVE]
            pad1: Output [UYVY 720x576]
                    -> 'OMAP3 ISP CCDC output':pad0 [ACTIVE]
                    -> 'OMAP3 ISP resizer':pad0 []
            pad2: Output [UYVY 720x575]
                    -> 'OMAP3 ISP preview':pad0 []
                    -> 'OMAP3 ISP AEWB':pad0 [IMMUTABLE,ACTIVE]
                    -> 'OMAP3 ISP AF':pad0 [IMMUTABLE,ACTIVE]
                    -> 'OMAP3 ISP histogram':pad0 [IMMUTABLE,ACTIVE]

    Regards,
    Vojislav

  • Hello

    Here is my driver.

    It works but not stable.

    isp.zip

  • Hello Michael.

    Thank you!
    I will try it.

    Currently I'm disabled check in ccdc_link_setup and on user space with yavta I can open
    both streams, from ccdc and from resizer. The only requirement is to need to have both open.

    What do you mean when say that your driver not stable, locking, crashing...?

    Regards,
    Vojislav
  • Hello Vojislav,

    Sometime it's locking when open/close video stream.

    Here is pipeline configuration:

    media-ctl -v -r -l '"ov5640 2-003c":0->"OMAP3 ISP CCDC":0[1], "OMAP3 ISP CCDC":1->"OMAP3 ISP CCDC output":0[1]'
    media-ctl -v -f '"ov5640 2-003c":0 [UYVY2X8 640x480], "OMAP3 ISP CCDC":0 [UYVY2X8 640x480], "OMAP3 ISP CCDC":1 [UYVY 640x480]'

    media-ctl -l '"OMAP3 ISP CCDC VP":0->"OMAP3 ISP resizer":0[1], "OMAP3 ISP resizer":1->"OMAP3 ISP resizer output":0[1]'
    media-ctl -f '"OMAP3 ISP CCDC VP":0[UYVY2X8 640x480], "OMAP3 ISP resizer":1[UYVY2X8 320x240]'