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.

TDA3MV: TDA3 AVS Ambiguity in TRM and Memory Map

Part Number: TDA3MV

Hi All,

 We have an ambiguity in the datasheet, TI header and Memory Map view of  HW registers for AVS on TDA3

 

In TI header file #include "hw_ctrl_core.h", we have  the register name as mentioned in the datasheet

#define CTRL_CORE_STD_FUSE_OPP_VMIN_DSPEVE_2                        (0x4e0U) but the offset is different.

 

 

The memory map view shows a different register name altogether with the same physical address as mentioned in datasheet.

CTRL_MODULE_CORE_CTRL_CORE_STD_FUSE_OPP_VMIN_DSPEVE_2 = 0x420025E0;

The same is for all the other registers.

 

 So should we read the registers with memory address from the memory map view of the TDA3 HW

CTRL_MODULE_CORE_CTRL_CORE_STD_FUSE_OPP_VMIN_DSPEVE_2 = 0x420025E0; and

CTRL_MODULE_CORE_CTRL_CORE_STD_FUSE_OPP_VMIN_CORE_2   = 0x420025F4;

 

Values Read from these registers

 

Thanks

  • Hello,

    By datasheet you mean TRM (Technical Reference Manual) right? Anyway, in the header file you are stating, looks like the base address for all registers is 0x4A00 2100 while in TRM the offset is 0x4A00 2000. Then when you make the calculations, you will see that the same register appears on that address for both TRM/Memory View and header file. 

    Bottom line, it should be the same register everywhere whether you look at TRM, Memory View, or source code header files.

    Note1, the memory view just adds a prefix for the instance "CTRL_MODULE_CORE", the root register name is the same "CTRL_MODULE_CORE_*CTRL_CORE_STD_FUSE_OPP_VMIN_DSPEVE_2*"

    Note2, there is also a register view(slightly different from Memory View) in CCS, there you can also clearly see the addresses that match TRM.

  • Yep, that was it, here is the #define I found in the soc.h

    #define SOC_CTRL_MODULE_CORE_CORE_REGISTERS_BASE                                (0x4a002100U)

    So all addresses match in the end.

  • Thanks for the reply. The naming of the registers in the hw_ctrl_core.h caused the ambiguity.

    This makes everything clear now.
    Note1, the memory view just adds a prefix for the instance "CTRL_MODULE_CORE", the root register name is the same "CTRL_MODULE_CORE_*CTRL_CORE_STD_FUSE_OPP_VMIN_DSPEVE_2*"

  • OK, glad it's clear now.  If you don't have additional related questions, would you mind marking this post verified to close this issue?

    Thanks,

    Alex