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.

Linux/TCI6630K2L: QMSS Initialization

Part Number: TCI6630K2L

Tool/software: Linux

Hi,

I'm trying to initialize QMSS. In the example code provided by TI to create the virtual memory map they are taking very large block size. I want to know how the size of QMSS_CFG_BLK_SZ and QMSS_DATA_BLK_SZ is taken. On what factor size of it depends and what is the minimum size that can be used to successfully initialize QMSS. How the block size will affect the qmss initialization.

This code is taken from below path of PDK package.

ti/pdk_keystone2_3_01_04_07/packages/ti/drv/qmss/example/InfraDmaSC/src/armv7/linux/fw_main.c

Code sample:

#define QMSS_CFG_BASE_ADDR CSL_QMSS_CFG_BASE
#define QMSS_CFG_BLK_SZ (0x00200000)
#define QMSS_DATA_BASE_ADDR CSL_QMSS_DATA_BASE
#define QMSS_DATA_BLK_SZ (0x00100000)

/* QMSS CFG Regs */
fw_qmssCfgVaddr = fw_memMap((void*)QMSS_CFG_BASE_ADDR,
QMSS_CFG_BLK_SZ);
if (!fw_qmssCfgVaddr)
{
printf("ERROR: Failed to map QMSS CFG registers\n");
return (-1);
}
#ifdef EXT_DEBUG
printf("main:QMSS_CFG_BASE_ADDR:0x%p Memory mapped at address %p.\n",(void*)QMSS_CFG_BASE_ADDR, fw_qmssCfgVaddr);
#endif

/* QMSS DATA Regs */
fw_qmssDataVaddr = fw_memMap((void*)QMSS_DATA_BASE_ADDR,
QMSS_DATA_BLK_SZ);
if (!fw_qmssDataVaddr)
{
printf("ERROR: Failed to map QMSS DATA registers\n");
return (-1);
}
#ifdef EXT_DEBUG
printf("main:QMSS_DATA_BASE_ADDR:0x%p Memory mapped at address %p.\n",(void*)QMSS_DATA_BASE_ADDR, fw_qmssDataVaddr);
#endif

Regards,

Shwetha M