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.

TMDSIDK437X: Base address definitions in .cfg file

Part Number: TMDSIDK437X

Hi, 

      Currently I am looking at SPI example for Idk473x. I am referring " C:\ti\pdk_am437x_1_0_5\packages\ti\drv\spi\example\mcspi_slavemode\am437x\armv7\bios\spi_arm_idkAM437x_slavemode_master.cfg " 

      at the bottom of the file i am unable to understand why following lines are declared twice with different " peripheralBaseAddr "

On SPI .CFG

/* Define the base address of the 1 Meg page the peripheral resides in. */
var peripheralBaseAddr = 0x44DF2800;

/* Configure the corresponding MMU page descriptor accordingly */
Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
peripheralBaseAddr,
peripheralAttrs);


/* Define the base address of the 1 Meg page the peripheral resides in. */
var peripheralBaseAddr = 0x481AE000;

/* Configure the corresponding MMU page descriptor accordingly */
Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
peripheralBaseAddr,
peripheralAttrs);

I have compare it with other .cfg file i.e Uart Example " C:\ti\pdk_am437x_1_0_5\packages\ti\drv\uart\example\sample\am437x\armv7\bios\am437x_app_idkam437x.cfg" there it is declared only once.

On uart .cfg

/* Define the base address of the 1 Meg page the peripheral resides in. */
var peripheralBaseAddr = 0x44DF2800;

/* Configure the corresponding MMU page descriptor accordingly */
Mmu.setFirstLevelDescMeta(peripheralBaseAddr,
peripheralBaseAddr,
peripheralAttrs);

please help me on understanding above two differences on .cfg file.

1) why it is declared twice on spi example ?

2) why it is declared once on uart example ?

Thanks & Regards,

 nikhil Muley

  • The RTOS team have been notified. They will respond here.
  • Hi,

    The 0x44DF2800 address is for CM_WKUP domain, the program needs to access this to enable many clocks, so you have to setup the MMU attribute for this region in both SPI and UART case.

    The 0x481AE000 address is for GPIO3, the spi_arm_idkAM437x_slavemode_master doesn't call into any GPIO code, in my opinion there is no need for this portion in the .cfg file. Perhaps, this is copied from the pdk_am437x_1_0_5\packages\ti\drv\spi\example\mcspi_serializer\am437x\armv7\bios\am437x_app_idkam437x.cfg, the mcspi_serializer code needs GPIO. You may try to remove the 0x481AE000 MMU config portion in the .cfg file for slavemode_master project to see if it still works.

    Regards, Eric
  • hi,
    Thanks for brief description, It helped in understanding cfg file.

    Thanks & Regards,
    Nikhil Muley