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 on AM3874

Other Parts Discussed in Thread: AM3874, LINUXEZSDK-SITARA

Hello,

we designed a custom board based on AM3874 and I am trying to get VPSS running.

I already read several posts and the wikis about EZSDK Memory Map and VPSS Video Driver, but unfortunately I am still little bit confused and think there is something wrong with our memory map.

For u-boot and Linux kernel we use PSP 4.04.00.02, our file system is arago based out of EZSDK.

Our board has 1GB DDR3 memory at EMIF0, so I changed LISA map to:
DMM_LISA_MAP__0: 0x0
DMM_LISA_MAP__1: 0x0
DMM_LISA_MAP__2: 0x0
DMM_LISA_MAP__3: 0x80600100

I can build and install kernel modules.

EZSDK 5.05.02.00 is used only to build syslink kernel module and firmware_loader app.

At the moment I don't use load-hd-firmware.sh, but I'm doing the steps manually:
- Loading syslink.ko via insmod.
- Loading firmware via firmware_loader (which does work, because I checked with sys_top).
- Loading vpss.ko via insmod, which does not work correctly until now.

My questions are the follwing:
1. What bootargs to use for notifyk.vpssm3_sva and mem?
2. Which firmware to use, dm814x_hdvpss.xem3 out of EZSDK or ti814x_hdvpss_1G.xem3 (or even _512M.bin) out of PSP (which PSP 4.04.00.02 or 4.04.00.01)?
3. How to adjust memsegdef_default.c in firmware_loader to load vpss.ko and reflect correct memory map?

Thanks in advance.

  • Hello,

    Benjamin Meyer said:
    2. Which firmware to use, dm814x_hdvpss.xem3 out of EZSDK or ti814x_hdvpss_1G.xem3 (or even _512M.bin) out of PSP (which PSP 4.04.00.02 or 4.04.00.01)?

    What board you have is it 512MB or 1G?

    EZSDK has different M3 firmware and utility to load M3 with PSP.

    ./slaveloader startup VPSS-M3 ti814x_hdvpss_1G.xem3 is the usage of PSP.

    EZSDK use the below command:

    ./firmware_loader 2 dm814x_hdvpss.xem3 start

    Benjamin Meyer said:
    1. What bootargs to use for notifyk.vpssm3_sva and mem?

    Benjamin Meyer said:
    3. How to adjust memsegdef_default.c in firmware_loader to load vpss.ko and reflect correct memory map?

    This link could help you:

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

    Benjamin Meyer said:
    - Loading vpss.ko via insmod, which does not work correctly until now.

    Could you provide more details?

    BR

    Margarita


  • Hello Margarita.

    Benjamin Meyer said:
    Our board has 1GB DDR3 memory at EMIF0, so I changed LISA map to:

    As I wrote we have 1 GB.

    Margarita Gashova said:

    EZSDK has different M3 firmware and utility to load M3 with PSP.

    ./slaveloader startup VPSS-M3 ti814x_hdvpss_1G.xem3 is the usage of PSP.

    EZSDK use the below command:

    ./firmware_loader 2 dm814x_hdvpss.xem3 start

    This means, that if I use ti814x_hdvpss_1G.xem3 I must use slaveloader and if I use dm814x_hdvpss.xem3 I must use firmware_loader? Then I will try to use slaveloader. Until now I only used firmware_loader for all firmware versions.

    By the way: PSP has two firmware versions for 512MB and 1 GB, but EZSDK only one. Does the EZSDK version use the Memory Map as stated in EZSDK Memory Map for default 1 GB system?

    I will have a look into EZSDK Memory Map wiki again.

    Thank you
    Benny

  • Hello,

    For more information you could check here :

    ti-ezsdk_dm814x-evm_5_05_02_00/board-support/docs

    TI81XX_VPSS_Video_Driver_User_Guide.pdf

    BR

    Margarita

  • Hi Benjamin,

    Benjamin Meyer said:
    For u-boot and Linux kernel we use PSP 4.04.00.02, our file system is arago based out of EZSDK.

    Our board has 1GB DDR3 memory at EMIF0, so I changed LISA map to:
    DMM_LISA_MAP__0: 0x0
    DMM_LISA_MAP__1: 0x0
    DMM_LISA_MAP__2: 0x0
    DMM_LISA_MAP__3: 0x80600100

    I can build and install kernel modules.

    EZSDK 5.05.02.00 is used only to build syslink kernel module and firmware_loader app.

    The last tested EZSDK/PSP for AM387x device is EZSDK5.04.00.11/PSP04.04.00.01

    http://www.ti.com/tool/linuxezsdk-sitara  --> LINUXEZSDK-AM389X-AM387X:

    http://software-dl.ti.com/dsps/dsps_public_sw/ezsdk/5_04_00_11/index_FDS.html

    Using only EMIF0, you need to do more modifications than what you have stated. Refer to the below wiki page:

    http://processors.wiki.ti.com/index.php/TI814x-DDR3-Init-U-Boot#FAQ

    Regards,
    Pavel

  • Margarita,
    Pavel,

    thank you for all the help and information.

    At the mean time I got VPSS running. Basically vpssm3_sva was wrong in bootargs and I changed it to: notifyk.vpssm3_sva=0xBF900000.

    Rereading EZSDK Memory Map helped a lot, especially:

     Linux Notify Module Memory

        The memory for kernel Notify module is specified through Linux bootargs. This address also used in the MC-HDVPSS firmware.

            notifyk.vpssm3_sva=<addr of MC_HDVPSS_NOTIFY_MEM>

    The address of MC_HDVPSS_NOTIFY_MEM can be found in Memory Map, if someone has the same problem.

    I also checked the segments in firmware_loader and filled in two mem section in bootargs.

    Now I am going to optimize my Memory Map, because we don't/can't use DSP and HDVICP.

    I didn't list all the changes we did in u-boot and kernel, because we have our own custom board and I tried to focus on neccessary information.

    Regards
     Benny

  • Benjamin,

    Benjamin Meyer said:
    Now I am going to optimize my Memory Map, because we don't/can't use DSP and HDVICP.

    You can also have a look on the below e2e thread:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/294217/1026748.aspx#1026748

    Regards,
    Pavel