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.

DM814x ISS Pattern Generator Test

Hi all.

 

Target H/W : DM8127 Ipnc

Software Version : 2.0.0

 

Using default Image Sensor(MT9J003), HDMI out is OK and PC side streaming also OK.

 

For some reason i'd like to test the PG(Pattern Generator) block of ISS Module.

So i set the related register like this to make 1920x1080 resolution image :

    (1)

    isp_regs->ISP5_PG_PULSE_CTRL = 0x077F0437    // HD Width --> 1920-1, VD Width --> 1080-1

    isp_regs->ISP5_PG_FRAME_SIZE = 0x08970457    // Frame PPLN --> 2200-1, Frame HLPFR : 1120-1

    isp_regs->ISP5_PG = 0x38    // Bit[5:4] SRC_SEL --> Pattern Generator port is selected, Bit[3] EN : Enable

 

    (2)

    isp_regs->ISP5_PG_PULSE_CTRL = 0x00100010    // HD Width --> 1920-1, VD Width --> 1080-1

    isp_regs->ISP5_PG_FRAME_SIZE = 0x077F0437    // Frame PPLN --> 2200-1, Frame HLPFR : 1120-1

    isp_regs->ISP5_PG = 0x38    // Bit[5:4] SRC_SEL --> Pattern Generator port is selected, Bit[3] EN : Enable

 

and changed the register value many times but there is no HDMi output .

My question is : are there any other register must changed except above 3 registers ?

 

Thanks in advanced

Best Regards

Hennessy

 

 

 

  • Hi Hennessy,

    When you enable the pattern generator, do you disconnect the sensor module or is it still streaming the data?

    Regards

    Rajat

  • Hi Rajat

     

    Thanks for quick response.

    The sensor module is still connected to paralled port and it send the signals normally that's because sensor module don't know this test situation.

     When enabled the PG module

        1) HDMI out is just white and never changed

        2) Streaming(PC Side) -- Black and never changed

    Regards

    Hennessy

     

     

     

  • Hennessy,

    Can you dump and send the complete registers for ISIF, ISP ?

    A black output could mean that you are not getting any resizer output - this could be because of some configuration mistake.

    Regards

    Rajat

  • Rajat Sagar

    Below is the dumped register value.

    For better understanding, My code is out of box state(Revision 2.0) and i added these code at the start of Iss_captStart() function.

     

    Int32 Iss_captStart(Fdrv_Handle handle)

    {

        Iss_CaptObj *pObj = (Iss_CaptObj *) handle;

         Int32 status = FVID2_EFAIL;

       

        Iss_CaptChObj *pChObj;

        {
            isp_regs->ISP5_PG = 0x3B;
            isp_regs->ISP5_PG_PULSE_CTRL = 0x0437077F;
            isp_regs->ISP5_PG_FRAME_SIZE = 0x0897044B;
            //isp_regs->ISP5_PG_PULSE_CTRL = 0x00100100;
            //isp_regs->ISP5_PG_FRAME_SIZE = 0x077F0437;
        }

        /*

         * check if global handle, this operation is not supportted

         * for global handles

         */

        if (handle == (Fdrv_Handle) ISS_CAPT_INST_ALL)

            return FVID2_EFAIL;

             .

             .

        GT_assert(GT_DEFAULT_MASK, pObj != NULL)

    }

     

     

     

    ========== ISP5 Register ===============
    55050000 : 40000100 15001500 00000bc0 00000000
    55050010 : 00000021 00000000 00000000 00000000
    55050020 : 00000000 00000200 00000000 00009089
    55050030 : 00009089 00000200 00000000 00000000
    55050040 : 00000000 00000200 00000000 00000000
    55050050 : 00000000 00000200 00000000 00000000
    55050060 : 00000000 00000000 00000000 0040fff1
    55050070 : 0000003b 0437077f 0897044b 00000000
    55050080 : 00000000 00000000 00000024 00000000

    ========== ISIF Register ===============
    55051000 : 00000001 0000000c 00000791 0000043b
    55051010 : 00000791 00000877 0000000e 00000783
    55051020 : 00000000 00000000 00000439 0000ffff
    55051030 : 000000ff 00000078 00000000 00000000
    55051040 : 00000000 00000000 00000400 00000606
    55051050 : 00000200 00000200 00000200 00000200
    55051060 : 00000000 00000000 00000000 00000000
    55051070 : 00000433 00000433 00000433 00002000
    55051080 : 00000008 00000000 00008000 00000000
    55051090 : 00000000 00000000 00000000 00000000
    550510a0 : 00000000 00000000 00000000 00000012
    550510b0 : 00001f58 0000000a 00003361 0000000d
    550510c0 : 0000000f 000000ea 00000e25 0000000c
    550510d0 : 0000000a 0000000b 00000000 00000000
    550510e0 : 00000000 00000000 00006600 00008000
    550510f0 : 00000000 00000000 00000000 00000000
    55051100 : 00000000 00000000 00000000 00000000
    55051110 : 00000000 00000000 00000000 00000000
    55051120 : 00000000 00000000 00000000 00000000
    55051130 : 00000000 00000000 00000000 00000000
    55051140 : 00000000 00000000 00000000 00000000
    55051150 : 00000000 00000000 00000000 00000000
    55051160 : 00000000 00000000 00000000 00000000
    55051170 : 00000000 00000000 00000000 00000000
    55051180 : 00000000 00000000 00000000 00000000
    55051190 : 00000000 00000000 00000000 00000000
    550511a0 : 00000000 00000000 00000000 00000000
    550511b0 : 00000000 00000000 00000000 00000000
    550511c0 : 00000000 00000000 00000000 00000000
    550511d0 : 00000000 00000000 00000000 00000000
    550511e0 : 00000000 00000000 00000000 00000000
    550511f0 : 00000000 00000000 00000000 00000000

    ========== IPIPEIF Register ===============
    55051200 : 00000000 00000000 00000000 00000000
    55051210 : 00000000 00000000 00000000 00000000
    55051220 : 00000000 00000010 00000200 00000000
    55051230 : 00000006 00000000 00000fff 00000000
    55051240 : 00000001 00000000 00001014 00000000
    55051250 : 00000fff 00000010 0000000 00000000

    ========== IPIPE Register ===============
    55050800 : 00000001 00000000 00000000 000000b1
    55050810 : 00000000 0000043b 00000000 00000791
    55050820 : 00000000 00000000 00000001 0000000e
    55050830 : 00000000 00000000 00000000 00000000
    55050840 : 000003ff 00000001 00000001 00000000
    55050850 : 00000000 00000000 00000000 00000000
    55050860 : 00000000 00000000 00000000 00000003
    55050870 : 00000400 00000001 00000014 000000c8
    55050880 : 00000400 00000001 00000014 000000c8
    55050890 : 00000000 00000000 00000000 00000000
    550508a0 : 00000000 00000000 00000000 00000000
    550508b0 : 000000ff 000000ff 000000ff 000000ff
    550508c0 : 00000020 00000020 00000020 00000020
    550508d0 : 00000000 000001ff 00000000 00000243
    550508e0 : 00000014 0000001e 00000023 00000028
    550508f0 : 00000028 00000028 00000028 00000028
    55050900 : 00000010 00000010 00000010 00000010
    55050910 : 00000010 00000010 00000010 00000010
    55050920 : 00000003 00000003 00000003 00000003
    55050930 : 00000003 00000003 00000003 00000003
    55050940 : 00000000 000007ff 00000001 00000243
    55050950 : 00000014 0000001e 00000023 00000028
    55050960 : 00000028 00000028 00000028 00000028
    55050970 : 00000010 00000010 00000010 00000010
    55050980 : 00000010 00000010 00000010 00000010
    55050990 : 00000003 00000003 00000003 00000003
    550509a0 : 00000003 00000003 00000003 00000003
    550509b0 : 00000000 000007ff 00000000 00000006
    550509c0 : 00000080 0000001f 00000200 00000200
    550509d0 : 00000000 00000000 00000000 00000000
    550509e0 : 000002f8 00000200 00000200 0000044c
    550509f0 : 00000000 00000258 00000039 00000064
    55050a00 : 0000000a 00000004 0000000a 00000010
    55050a10 : 00000018 00000019 0000001b 00000014
    55050a20 : 00000032 00000028 00000010 000001ba
    55050a30 : 00000f3e 00000008 00000f78 000001b9
    55050a40 : 00000fcf 00000fee 00000ec5 00000190
    55050a50 : 00000000 00000000 00000000 00000060
    55050a60 : 00000100 00000000 00000000 00000000
    55050a70 : 00000100 00000000 00000000 00000000
    55050a80 : 00000100 00000000 00000000 00000000
    55050a90 : 00000000 00000010 0000004d 00000096
    55050aa0 : 0000001d 00000fd5 00000fab 00000080
    55050ab0 : 00000080 00000f95 00000feb 00000000
    55050ac0 : 00000080 00000080 00000000 00000000
    55050ad0 : 00000000 00000000 00000003 0000000a
    55050ae0 : 00000054 000003f8 000003fc 000003f8
    55050af0 : 000003fc 000003fe 000003fc 000003fe
    55050b00 : 000003ff 0000000c 00000020 00000080
    55050b10 : 0000000c 00000020 00000000 00000000
    55050b20 : 00000001 0000c0ff 00000003 00000000
    55050b30 : 00000020 000000ff 00000005 00000080
    55050b40 : 000000ff 00000006 00000080 00000000
    55050b50 : 00000000 00000000 00000000 00000000
    55050b60 : 00000000 00000000 00000000 00000000
    55050b70 : 00000000 00000000 00000000 00000000
    55050b80 : 00000000 00000000 00000000 00000000
    55050b90 : 00000000 00000000 00000000 00000000
    55050ba0 : 00000000 00000000 00000000 00000000
    55050bb0 : 00000001 00000000 00000001 00000000
    55050bc0 : 00000001 00000000 00000001 00000000
    55050bd0 : 00000001 00000000 00000001 00000000
    55050be0 : 00000001 00000000 00000001 00000000
    55050bf0 : 00000000 00000000 00000000 00000000
    55050c00 : 00000001 00000000 0000000c 00000002
    55050c10 : 00000000 00000000 00000161 00000002
    55050c20 : 00000000 000000d3 00000002 00000002
    55050c30 : 00000000 00000000 00000075 00000002
    55050c40 : 00000000 0000027b 00000002 00000000

    ========== RESIZE Register ===============
    55050400 : 00000010 00000301 00000000 00000000
    55050410 : 09201500 0000ffff 00000000 00000000
    55050420 : 00000001 00000000 00000000 00000000
    55050430 : 00000002 00000433 00000000 0000077d
    55050440 : 00000000 00000000 00000000 00000001
    55050450 : 00000000 00000001 00000000 00000000
    55050460 : 00000000 000000ff 00000000 000000ff
    55050470 : 00000000 00000000 00000001 00000000
    55050480 : 00000000 00000000 00000000 00000437
    55050490 : 0000077f 00000000 00000000 00000100
    550504a0 : 00000000 000003ce 00000000 00000000
    550504b0 : 00000100 00000000 00000595 00000000
    550504c0 : 00000000 00000000 00000000 00000000
    550504d0 : 0000b02f 00007680 0000b02f 00007680
    550504e0 : 00000780 00000000 00000fff 00000000
    550504f0 : 00000000 00000000 00000000 00000000
    55050500 : 00000000 00000000 00000001 00000000
    55050510 : 00000003 00000000 00000000 000001df
    55050520 : 000002cf 00000000 00000000 00000240
    55050530 : 00000000 000003ce 00000000 00000000
    55050540 : 000002aa 00000000 00000595 00000000
    55050550 : 00000000 00000000 00000000 00000000
    55050560 : 0000b426 00007680 0000b426 00007680
    55050570 : 000002d0 00000000 00000fff 0000b42b
    55050580 : 0000bc80 0000b42b 0000bc80 000002d0
    55050590 : 00000000 00000fff 00000000 00000000

    Thanks in advance

    Hennessy

     

     

  • There is answer about the question?

    1.Why IPIPEIF is disable?when disabled,the data can pass on to IPIPE?

    2.whe  ISP5_PG enabled,which module the pixel clock come from?


    Thanks very much!

  • Hi all.

     

    Target H/W : DM8127 Ipnc

    Software Version : 2.8.0

    I  added some line in function Int32  Iss_captStart(Fdrv_Handle handle)

        isp_regs->ISP5_PG_PULSE_CTRL = 0;

        isp_regs->ISP5_PG_FRAME_SIZE = 0x07910877   // the sensor is MT9J003

        isp_regs->ISP5_PG = 0x38

    I can capture some color bar data,and hdmi is ok 。but about a moment later,the edma stop。

    root@DM8127_IPNC:~# cat /proc/interrupts
    CPU0
    4: 0 INTC omap2_elm
    12: 135 INTC edma
    14: 0 INTC edma_error
    17: 0 INTC cppi41_dma
    18: 0 INTC musb-hdrc.0
    20: 0 INTC gpmc
    28: 13 INTC mmc0
    38: 1 INTC HDMI
    40: 0 INTC cpsw.0
    41: 29466 INTC cpsw.0
    42: 24030 INTC cpsw.0
    43: 0 INTC cpsw.0
    44: 0 INTC serial idle
    45: 0 INTC serial idle
    46: 0 INTC serial idle
    67: 100914 INTC gp timer
    70: 170 INTC omap_i2c
    72: 2110 INTC serial idle, OMAP UART0
    73: 0 INTC serial idle
    74: 0 INTC serial idle
    77: 78 INTC mailbox-dsp, mailbox-video, mailbox-vpss
    122: 0 INTC omap-iommu.1
    123: 0 INTC omap-iommu.0
    239: 0 GPIO mmc0
    Err: 0

    the m3 can capture data,but the edma is stoped。some thing is wrong?

  • Now,it work correctly!

  • Could you tell me what was wrong?

    Regards,
    Lajos 

  • Could you tell me too what was wrong??