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.

DM648 EVM flash accesses and video input

Other Parts Discussed in Thread: TVP5154, TMS320DM648

I have an application for the DM648 EVM that needs two things: 1. SD video from a composite video input and 2. periodic read/write access to the NOR flash.  Since video ports 3 and 4 and the EMIFA share a mux, I need to make sure that mux is set correctly when I need to access flash.

 I tried to follow the UBL and flash writer code as far as setting the mux.  I am able to flip the mux back and forth to access flash, but often when I flip the mux back to video mode, I see some rolling/shifting in the video input.  It corrects itself after a second or so, but QA is not happy about the image shifting.

 Can anyone point me to documentation on how exactly to set the mux? 

I would think that since I am capturing on video port 0, then I should just be able to set the mux for flash access and leave it at that.  Is this true?  How exactly would I do that?

 

  • Chris35513 said:

    I have an application for the DM648 EVM that needs two things: 1. SD video from a composite video input and 2. periodic read/write access to the NOR flash. 

    So are you using VP0 for your composite video input?

    Chris35513 said:

    Since video ports 3 and 4 and the EMIFA share a mux, I need to make sure that mux is set correctly when I need to access flash.

    Correct.  If you're not using VP3 and VP4 then this should be a one time configuration at startup.

    Chris35513 said:

    I tried to follow the UBL and flash writer code as far as setting the mux.  I am able to flip the mux back and forth to access flash, but often when I flip the mux back to video mode, I see some rolling/shifting in the video input.  It corrects itself after a second or so, but QA is not happy about the image shifting.

    What values are you writing to the PINMUX register?  Why are you flipping it back and forth?  Are you using VP3 and VP4?

    Chris35513 said:

    Can anyone point me to documentation on how exactly to set the mux? 

    The PINMUX register is documented in Chapter 3.2.6 of the datasheet.  The current revision is 'B':

    http://www.ti.com/lit/gpn/tms320dm648

    Chris35513 said:

    I would think that since I am capturing on video port 0, then I should just be able to set the mux for flash access and leave it at that.  Is this true?  How exactly would I do that?

     

    Set PINMUX.VP1EN = 11b.

    Set PINMUX.VP34EN = 10b.

  • Thanks, this helps a lot.  However, I also need to set the board mux properly on the EVM.  I cannot find any documentation anywhere on this.  Can you point me to some? 

     I would think this would also be a one-time only thing. 

  • Chris35513 said:

    However, I also need to set the board mux properly on the EVM.  I cannot find any documentation anywhere on this.

     

    There is a document that ships with the board (in pdf) called "DM648 EVM - Technical reference guide".  It has information related to the muxing at the board level.  It was in a directory BSL/docs.  Unfortunately Lyrtech does not have this info on their web site so I cannot post a URL.  Hopefully you can find the doc...

  • Thanks, I did find that doc, but there aren't specific details as far as mux settings.  Your tip did lead me back to the BSL code, though, where I found this

     

    #define EVM_ECP_VIDEO_MUX_REG       (0x06)  // ECP Video Mux register

    #define EVM_ECP_VIDEO_MUX_VP02_MASK                  (0x01C)     // Video Ports 0 and 2 Mux Mask
    #define EVM_ECP_VIDEO_MUX_VPO2_DISCONNECT            (0x0 << 2)  // Video Ports 0 and 2 Disconnect
    #define EVM_ECP_VIDEO_MUX_VPO2_TVP5154               (0x1 << 2)  // Video Ports 0 and 2 Connected to TVP5154
    #define EVM_ECP_VIDEO_MUX_VPO2_TVP7000_AND_DAUGTHER  (0x2 << 2)  // Video Ports 0 to TVP7000 and VP2 to daughter card.

    #define EVM_ECP_VIDEO_MUX_VP34_MASK                  (0xE0)      // Video Ports 3 and 4 Mux Mask
    #define EVM_ECP_VIDEO_MUX_VP34_DISCONNECT            (0x0 << 5)  // Video Ports 3 and 4 Disconnect
    #define EVM_ECP_VIDEO_MUX_VP34_FLASH_BOOTMODE        (0x1 << 5)  // EMIF Connected to EVM flash/Bootmode
    #define EVM_ECP_VIDEO_MUX_VP34_TVP5154               (0x2 << 5)  // VP3 and VP4 connected to EVM TVP5154 Video Inputs Ch5 - Ch8
    #define EVM_ECP_VIDEO_MUX_VP34_DAUGTHER              (0x5 << 5)  // VP3VP4/EMIF connected to daughter card

    Once I had these settings, I was able to set the board mux to what I need.  I think I have the problem resolved.

    Thanks for your quick responses!

  •  Thanks for posting the info back to the forum!  Glad my reply helped.

  • Chris

    I want to write some bytes of data on (external memory) NOR Flash DM648EVM but is unable to do so, this post of yours tells me that you already had done so in order to perform your functions. Can you help me with code snippet or any example or link reference?

     Plz note that I want a solution other than UBL or Flashburn utility

    Regards

    Mark

  • Hi Brad,

                    I have tms320dm648 evm board  I have Installed DM648_DVSDK_setupwin32_1_10_00_26 .when I am Trying Top run Speech Encode Decode Throug Jtag I am Getting following Error:

                    Starting Speech Encoding.

                   Creating Output Channel Failed.

    Please Can You Tell Why This Is Happing?