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.

DM365 Digital Output

The DM365 was connected to a hdmi chip.

Now I try to set the digital output mode(720P).

The HS, VS, LCD_OE, CLOCK are all right now(through oscillograph). But the data port's values all always zeros(through multimeter).

The pin mux was set as follow:

    PINMUX0 = 0x00FD0000;  // Video Yin, SD0, McBSP, SD1_CLK

    PINMUX1 = 0x00145555;  // Video Cout, EXTCLK, FIELD

    PINMUX2 = 0x00000055;  // EMIFA

    PINMUX3 = 0x375AFFFF;  // SPI0, I2C, UART0, ENET, MDIO

    PINMUX4 = 0x55556555;  // SD1, SPI1, SPI2, SPI4, USBDRVVBUS   

 

The VPBE was initialed as follow:

 

    Uint32 width;

    Uint32 height;

    width = 1280;

height = 720;

    /*

     * Setup clocking / DACs

     */

    VDAC_CONFIG         = 0x081141EF;   // Take DACs out of power down mode, enable HD component out

    VPSS_CLKCTL         = 0x00000018;   // Enable DAC and VENC clock

    VPSS_VPBE_CLK_CTRL  = 0x00000011;   // Select enc_clk*1, turn on VPBE clk

VENC_CLKCTL         = 0x00000011;   // Enable venc & digital LCD clock

    VENC_XHINTVL        = 0x00000000;   // Extend standard 720P horizontal timing

 

    VENC_OSDCLK1        = 0x00000003;

    OSD_MODE        = 0x00fc;   // Blackground color blue using clut in ROM0

    OSD_OSDWIN0MD   = 0x0000;   // Disable both osd windows and cursor window

    OSD_OSDWIN1MD   = 0x0000;

    OSD_RECTCUR     = 0x0000;

    OSD_EXTEND_MODE = 0x0000;

 

    OSD_VIDWIN0OFST = 0x1000 | width >> 4;

    OSD_VIDWINADH   = 0x0000;

    OSD_OSDWIN0ADL  = 0x0000;

    OSD_BASEPX      = 0x0000;

    OSD_BASEPY      = 0x0000;

    OSD_VIDWIN0XP   = 0x0100;

    OSD_VIDWIN0YP   = 0x0000;

 

    OSD_VIDWIN0XL   = width;

    OSD_VIDWIN0YL   = height;

    OSD_VIDWINMD    = 0x00000001;   // Disable vwindow 1 and enable vwindow 0

                                        // Frame mode with no up-scaling

 

 

    /*

     *  Setup VENC

     */

    VENC_VMOD   = 0x01C3;   // 720P(0x01c3)

//    VENC_VDPRO  = 0x0100;   // 0x0100; Colorbars not normal display mode

   VENC_VDPRO  = 0x0000;   // 0x0100; no Colorbars  display mode

    VENC_DACTST = 0x0000;   // Power on DACs

    VENC_DACSEL = 0x0543;   // Component out on DACs

// VENC_CVBS = 0;

// VENC_DACSEL = 0;   // Component out on DACs

 

    /* Enable LCD outputs for test */

    VPSS_MISR_CTRL = 0x0003;

VENC_VIOCTL    = 0x2000;

VENC_SYNCCTL   = 0x0003;

VENC_LCDOUT    = 0x0001;//0x0001;

VENC_DCLKCTL   = 0x8800;

VENC_DCLKPTN0  = 0x0001;

 

 

VENC_HSPLS   = 80;

VENC_HSTART   = 300;

VENC_HVALID   = 1280;

VENC_HINTVL   = 1280+300+70-1;

 

VENC_VSPLS   = 5;

VENC_VSTART   = 26;

VENC_VVALID   = 720;

VENC_VINTVL   = 720+26+3;

 

 

Now i can see the color bar through the dac channel. But I can't capture any signal on the digital data port.(16bit mode )

  • same video data sent to DACs (component 720p output) should be sent out to digital LCD output as hardware only has a single video data path that feeds these two output interfaces.  If you are not seeing anything meaningful, my guess is that one of the LCD configurations registers is wrong (e.g. PINMUX1.LCD_OE. enable digital clock...), but from the above all looks ok.  Are you sure the oscilloscope is not reporting all zeros simply becuase that is the corresponding data at that particular point in time?  have you tried taking more samples to see if it changes over time? 

  •  

    Now I try to set the digital output mode(720P) of DM365

     

    After the 720p analog register value was set, I set the following registers

    VENC_OSDCLK0=0x0

    VENC_OSDCLK1=0x1

    SYS_VPSS_CLKCTL=0x38

    VENC_VMOD=0x1c3

    VPSS_VPBE_CLK_CTRL=0x11

    VENC_CLKCTL=0x11

    VENC_SYNCCTL=0xf

    VENC_LCDOUT=0x1

    VENC_DCLKCTL=0x800

    VENC_DCLKPTN0=0x1

     

    In the linux driver source, If I don’t change VENC_VIDCTL’s value(its original value is 0x101),then the 720p analog display is ok. When I change its value to 100(change the YOUT/COUT I/O Direction), then the network will have some problems as follow:

    nfs: server 192.168.1.55 not responding, still trying

    nfs: server 192.168.1.55 OK

    nfs: server 192.168.1.55 OK

    nfs: server 192.168.1.55 OK

    ARM Load: 33% Video fps: 1 fps Video bit rate: 41 kbps Sound bit rate: 0 kbps Time: 00:00:39 Demo: Decode Display: 720P 60Hz Video Codec: H.264 H

    P Video Resolution: 1280x720 Sound Codec: N/A Sampling Freq: N/A

     

    nfs: server 192.168.1.55 not responding, still trying

    nfs: server 192.168.1.55 OK

    nfs: server 192.168.1.55 OK

    nfs: server 192.168.1.55 OK

    nfs: server 192.168.1.55 not responding, still trying

    nfs: server 192.168.1.55 not responding, still trying

    nfs: server 192.168.1.55 not responding, still trying

    nfs: server 192.168.1.55 not responding, still trying

    nfs: server 192.168.1.55 not responding, still trying

    When I don’t change VENC_VIDCTL’s value, the network is ok as follow:

    ARM Load: 41% Video fps: 33 fps Video bit rate: 2660 kbps Sound bit rate: 0 kbps Time: 00:00:10 Demo: Decode Display: 720P 60Hz Video Codec: H.26

    4 HP Video Resolution: 1280x720 Sound Codec: N/A Sampling Freq: N/A

     

    ARM Load: 26% Video fps: 33 fps Video bit rate: 3462 kbps Sound bit rate: 0 kbps Time: 00:00:12 Demo: Decode Display: 720P 60Hz Video Codec: H.26

    4 HP Video Resolution: 1280x720 Sound Codec: N/A Sampling Freq: N/A

     

    ARM Load: 35% Video fps: 33 fps Video bit rate: 2956 kbps Sound bit rate: 0 kbps Time: 00:00:13 Demo: Decode Display: 720P 60Hz Video Codec: H.26

    4 HP Video Resolution: 1280x720 Sound Codec: N/A Sampling Freq: N/A

     

    ARM Load: 27% Video fps: 33 fps Video bit rate: 2585 kbps Sound bit rate: 0 kbps Time: 00:00:14 Demo: Decode Display: 720P 60Hz Video Codec: H.26

    4 HP Video Resolution: 1280x720 Sound Codec: N/A Sampling Freq: N/A

     

    ARM Load: 35% Video fps: 33 fps Video bit rate: 3233 kbps Sound bit rate: 0 kbps Time: 00:00:15 Demo: Decode Display: 720P 60Hz Video Codec: H.26

    4 HP Video Resolution: 1280x720 Sound Codec: N/A Sampling Freq: N/A

     

     

     

     

    In CCS, If I don’t change VENC_VIDCTL’s value(its original value is 0x101),then the 720p analog display is ok. When I change its value to 100(change the YOUT/COUT I/O Direction), then the CCS will crash.

     

    So I think VENC_VIDCTL.YCDIR can’t be changed to be output. I don’t know the reason. My chip is TMX320DM365AZCE YFA-9IA84GW. Does the chip have some bug?