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.

VPSS in ezsdk5.03

hello,everyone;

        In ezsdk5.03, i see the DM816x_AM389x_VPSS_Video_Driver_User_Guide.pdf and find the changes:

A new bootargs parameter is required to use notify driver in kernel. This address is valid for DM816X/AM389X
platforms.
$ notifyk.vpssm3_sva=0xA0000000
• M3 firmware loader program is changed from procmgrapp to slaveloaer
$ ./slaveloader startup VPSS-M3 ti816x_hdvpss.xem3

But in the targetfs, i can't find "slaveloader " and i find "firmware_loader $HDVPSS_ID /usr/share/ti/ti-media-controller-utils/dm816x_hdvpss.xem3 start" in the initscript "/etc/rc5.d/S01load-hd-firmware.sh" .This don't  match the user guide. Anybody know it? Thanks very much!

          regards!

  • Hi,

    notifyk.vpssm3_sva is introduced because all the Linux Video drivers are now using Notify feature of syslink integrated with psp-kernel instead of syslink package.

     

    Syslink procmgrapp is changed to slaveloader. This is a minor enhancement.  slaveloader is packaged with HDVPSS binary folder. while firmware_loader is used by SDK which has some more features than slaveloader. If you are trying to load HDVPSS binaries that comes with PSP packages than you can use slaveloader. For any firmware loading from SDK team you have to use firmware_loader.

     

    Regards,

    Hardik shah

  • Hi ,Hardik shah

          Thaks for your replay.

    I use the ezsdk5.03 andevm boots by nfs and the bootargs is:

    setenv bootargs console=ttyO2,115200n8 rootwait rw mem=256M earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M ti816xfb.vram=0:16M,1:16M,2:6M root=/dev/nfs nfsroot=192.168.0.120:/home/yanzhang/targetfs ip=192.168.0.121:192.168.0.120:192.168.0.1:255.255.255.0:${hostname}:eth0:off

    The firmware_loader  can't work rightly. I want to resolve this problem, Is the memory not mapped rightly?

    FIRMWARE: Memory map bin file not passed
    Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [Location of Mem map bin file]
    FIRMWARE: Default memory configuration is used
    MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.1.1
    FIRMWARE: Memory Configuration status : In Progress
    FIRMWARE: 1 start Successful
    Loading HDVPSS Firmware
    FIRMWARE: Memory map bin file not passed
    Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [Location of Mem map bin file]
    FIRMWARE: Default memory configuration is used
    MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.1.1
    FIRMWARE: Memory Configuration status : In Progress
    FIRMWARE: 2 start Successful

      regards

                        zhang yan

  • Hi,

    I am not aware of SDK i will forward your query to concerned team.

     

    Regards,

    Hardik Shah

  • if memory map bin file is not passed, firmware_loade will use default memory map to load the M3 firmware. So it is fine.

    Regards,

    yihe

  • hi,yihe

              Thanks for  your replay very much. The ezsdk5.01 followed in the SD of EVM has not this problem. But when i update to ezsdk 5.02 or 5.03,  the memory map bin file is not passed. I want to why it is?

             In EZSDK i can't find where to rebuild the memory map bin file. I wonder whether i need to modify the memory map bin file in further and how to modify it.

              best regards!

                      zhang yan

  • The firmware loader in the EZSDK5.01 uses static memory map and it does not required memory bin file. in the new EZSDK, SDK team upgrades firmware loader to support dynamica memory map, which is achived by the memory map bin file. if applicaiton does not specify bin file, firmware loader uses default memory/

    please check the below link about how to modify memroy map.

    http://processors.wiki.ti.com/index.php/EZSDK_Memory_Map#Heaps_and_Shared_Regions_Configured_at_Load_Time

    Regards,

    yihe

  • hello,again

               This is very useful for me. Thanks very much!

            Now i meet another problem, i test omx demos "decode_display" in ezsdk 5.03, i rename the "S99matrix-gui-e" and "S30pvr-init" to "K30pvr-init" ,"K99matrix-gui-e".

    After booting the evm, i run the 'decode_display' provided by ezsdk5.03. The following err occurs:

    input file: sample.264
    width: 1920
    height: 1080
    frame_rate: 60
    gfx: fbdev disable
    codec: 264
    display_id: 0
    ===============================
     Decoder-Display example
    ===============================
     OMX_Init completed
     UIAClient is ready to send a UIA configuration command
    UIAClient received UIA_CONFIGURE_ACK
    UIAClient is done sending requests
    UIAClient is ready to send a UIA configuration command
    UIAClient received UIA_CONFIGURE_ACK
    UIAClient is done sending requests
     opening file
     decoder compoenent is created
    PADX: 0 PADY: 0
     scalar compoenent is created
    set input port params (width = 1920, height = 1080)
    set output port params (width = 1920, height = 1080)
    set number of channels
    set input resolution
    set output resolution
    enable scalar input port
    got eventEnable/Disable Event
    enable scalar output port
    got eventEnable/Disable Event
    found handle 0x13ace0 for component OMX.TI.VPSSM3.VFDC
     got display handle
    found handle 0x13e7e8 for component OMX.TI.VPSSM3.CTRL.DC
    Buffer Size computed: 4147200
    set input port params (width = 1920, height = 1080)
    setting input and output memory type to default
    enable input port
    got eventEnable/Disable Event
     connect call for decoder-scalar
      connect call for scalar-display
     decoder inport buffers allocated
    Error in OMX_AllocateBuffer()-Output Port State set : OMX_ErrorBadParameter

    Whether does the err occur due to the memory map or others ? In ezsdk5.02 the decode_display work well!

    best regards!

                     zhang yan

     

  • Hi Yihe

    I am using EZSDK 5.03 usinf the DM816 EVM and have downloaded the patch2 for V4L capture which has the new ti816x_hdvpss.xem3 firmware. 

    Q1. Do I need to Load both the HDVPSS and HDVICP using firmware loader first and then additionally use slaveloader to load  the ti816x_hdvpss.xem3 or does this file replace both the dm816x_XXXX.xem3 firmwares.

    I have changed my bootargs to notifyk.vpssm3_sva=0xA0000000

    Q.2  Do I use insmod  sbuffaddr=0xA020000 as per the DM816X_AM389X_VPSS_Video_Driver_User_Guide_PSP_04.00.01.14

    Q.3 If I change the notifyK sva and sbuff address as above to I have to load the Firmware with a new memory map file ?

    The DM816X_AM389X_VPSS_Video_Driver_User_Guide_PSP_04.00.01.14  specifies: "The usage of loading M3 firmware described in this userguide does not apply for M3 firmware coming from TI SDK packagae. Please check SDK document to get details information"

    Q.4 Can you point me to the correct documentation in the SDK that this is refering to.

     

    Thanks for your support

    Robin

  • Robin

    please see my answer belows

     

    Robin Aproskie said:

    Hi Yihe

    I am using EZSDK 5.03 usinf the DM816 EVM and have downloaded the patch2 for V4L capture which has the new ti816x_hdvpss.xem3 firmware. 

    Q1. Do I need to Load both the HDVPSS and HDVICP using firmware loader first and then additionally use slaveloader to load  the ti816x_hdvpss.xem3 or does this file replace both the dm816x_XXXX.xem3 firmwares.

    [yihe] Both ti816x_hdvpss.xem3 and dm816x_xxxx.xem3 are the M3 firmware running over VPSS M3. only one of them should be loaded. The key is that ti816x_hdvpss has difference memory map with dm816x_XXXX.xem3. if you want to use HDVICP, I would suggest waiting the next SDK release which supports V4L2 capture.

    if HDVICP is not required, you can use ti816x_hdvpss.xem3 with vpssm3_sva=0xA0000000

    I have changed my bootargs to notifyk.vpssm3_sva=0xA0000000

    Q.2  Do I use insmod  sbuffaddr=0xA020000 as per the DM816X_AM389X_VPSS_Video_Driver_User_Guide_PSP_04.00.01.14

    [yihe], like the answer for #1, if ti816x_hdvpss is used, sbufaddr must be set to 0xA0200000

    Q.3 If I change the notifyK sva and sbuff address as above to I have to load the Firmware with a new memory map file ?

    [yihe] if you ar NDA customer and have the capability to rebuild M3 firmware, you can change notifyk_sva an sbufaddr and use slaveloader to load the new firmware

    The DM816X_AM389X_VPSS_Video_Driver_User_Guide_PSP_04.00.01.14  specifies: "The usage of loading M3 firmware described in this userguide does not apply for M3 firmware coming from TI SDK packagae. Please check SDK document to get details information"

    [yihe] above information is for customers who use the M3 firmware from SDK, they need check SDK to get the usage of how to set notifyk_sva and sbufaddr, how to load M3 firmware.

    Q.4 Can you point me to the correct documentation in the SDK that this is refering to.

     [yihe] check this http://processors.wiki.ti.com/index.php/EZSDK_Memory_Map

    Thanks for your support

    Robin

     

  •  

    Thanks

    Do I need to run prcm_config_app s first

    What is an NDA customer. are you saying that I should not  use the patch 2 because I can't build the M3 firmware.

    and therefore can't use the ti816x_hdvpss.xem3 unless I can modify the memory map to match.

    I have looked at the memory map but I am not familiar with any of this so I find it difficult to understand.

    So the memory map should look like this then ?

    MC_HDVPSS_NOTIFY_MEM (HDVPSS_NOTIFY_MEM) 2 MB

    0xA0000000

     

     

  • Hi

    We are an NDA customer How do we get the source code? I might already have it !

    Thanks

    Robin