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.

AM5728: VIP port questions

Part Number: AM5728
Other Parts Discussed in Thread: SYSCONFIG

Hi Team,

My customer is using the AM5728. We had a question about the description on the AM5728 TRM 9.4.4.3.3 Input: A:RGB, B:YUV422; Output: A:RGB, B:Scaled YUV420

As the input and out for A are both RGB, 

• VIPx_RGB_OUT_HI_SELECT = 0

• VIPx_RGB_OUT_LO_SELECT = 0

• VIPx_MULTI_CHANNEL_SELECT = 1

Figure 9-8. Input: A:RGB, B:YUV422; Output: A:RGB, B:Scaled YUV420


 

I think the red part should be VIPx_RGB_OUT_LO_SELECT = 1.

Is this a typo?

  • In addition, customer is asking for the demo code of the green line dealing. Can anyone help to point out is there any reference code?

    Thanks!

  • What software are they using? Linux or RTOS?
  • Hi,

          We using the windows embbeded compact 2013. I need write a VIP driver to recive the RGB data from FPGA .

  • Hi,

    We have Processor SDK RTOS for VIP processors.wiki.ti.com/.../Processor_SDK_RTOS_VPS_DRIVERS, will this help for you? The source code is under \packages\ti\drv\vps\examples\vip\captureVip\src.

    Regards, Eric
  • Hi Eric,

          Thanks for your help. Now I programming the code for VPDMA and meet some problems. The VpsHal_vpdmaGetFirmwareAddr() (in vpshal_vpdma.c) returned firmware that how to create the firmware?

    Can you check the register list for me? The FPGA sent the 24 bit RGB data(1024*600) to the CPU, use the HSYNC and VSYNC.   I refer to the diagram configuration below.

    PID:00400002 TID:00BC0002 =====VIP_Init 111 OK
    PID:00400002 TID:00BC0002 =====VIP_SYSCONFIG = 0x28
    PID:00400002 TID:00BC0002 =====VIP_INTC_INTR0_STATUS_RAW0 = 0x0
    PID:00400002 TID:00BC0002 =====VIP_INTC_INTR0_STATUS_RAW1 = 0x0
    PID:00400002 TID:00BC0002 =====VIP_INTC_INTR0_STATUS_ENA0 = 0x0
    PID:00400002 TID:00BC0002 =====VIP_INTC_INTR0_STATUS_ENA1 = 0x0
    PID:00400002 TID:00BC0002 =====VIP_INTC_INTR0_ENA_SET0 = 0x100001
    PID:00400002 TID:00BC0002 =====VIP_INTC_INTR0_ENA_SET1 = 0x0
    PID:00400002 TID:00BC0002 =====VIP_INTC_EOI = 0x0
    PID:00400002 TID:00BC0002 =====VIP_CLKC_CLKEN = 0x10001
    PID:00400002 TID:00BC0002 =====VIP_CLKC_RST = 0x0
    PID:00400002 TID:00BC0002 =====VIP_CLKC_DPS = 0x0
    PID:00400002 TID:00BC0002 =====VIP_CLKC_VIP0DPS = 0x40008080
    PID:00400002 TID:00BC0002 =====VIP_CLKC_VIP1DPS = 0x0
    PID:00400002 TID:00BC0002 =====VIP_MAIN = 0x0
    PID:00400002 TID:00BC0002 =====VIP_PORT_A = 0x40193a
    PID:00400002 TID:00BC0002 =====VIP_XTRA_PORT_A = 0x4000258
    PID:00400002 TID:00BC0002 =====VIP_FIQ_MASK = 0x3ffe4f
    PID:00400002 TID:00BC0002 =====VIP_FIQ_STATUS = 0x0
    PID:00400002 TID:00BC0002 =====VIP_PORT_A_VDET_VEC = 0x0
    PID:00400002 TID:00BC0002 =====VIP_ANC_CROP_HORZ_PORT_A = 0x0
    PID:00400002 TID:00BC0002 =====VIP_ANC_CROP_VERT_PORT_A = 0x0
    PID:00400002 TID:03B70006 =====CameraInterruptThread
    PID:00400002 TID:03B70006 0000000VIP_INTC_INTR0_STATUS_ENA0= 0x0
    PID:00400002 TID:03B70006 VIP_INTC_INTR0_STATUS_RAW0= 0x0
    PID:00400002 TID:03B70006 VIP_FIQ_STATUS= 0x0
    PID:00400002 TID:00BC0002 =====VIP_CROP_HORZ_PORT_A = 0x0
    PID:00400002 TID:00BC0002 =====VIP_CROP_VERT_PORT_A = 0x0
    PID:00400002 TID:00BC0002 =====VIP_XTRA6_PORT_A = 0x0
    PID:00400002 TID:00BC0002 =====VIP_XTRA8_PORT_A = 0x0
    PID:00400002 TID:00BC0002 =====VIP_OUTPUT_PORT_A_SRC_FID = 0xffffffff
    PID:00400002 TID:00BC0002 =====VIP_OUTPUT_PORT_A_ENC_FID = 0xffffffff
    PID:00400002 TID:00BC0002 =====VIP_OUTPUT_PORT_A_SRC0_SIZE= 0x0

    Now I can't get the interrupt .

    thanks