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.

AM4376: Clock Tree Tool questions

Guru 16800 points
Part Number: AM4376
Other Parts Discussed in Thread: CLOCKTREETOOL,

Hello,

My customers have some questions about CLOCKTREETOOL for AM4376.
Could you confirm the followings?

1.The address of PRM_WKUP registers output from CTT seems different from TRM.
  For example, PRCM_RM_WKUP_RSTCTRL is 0x44df2010 in TRM; however, this register's address seems 0x44df2020 in the output file of CCM.
  Which description is correct?

2.CCM output some registers which is not described in TRM; for example, 0x44df0648, 0x44df082c and so on.
  What value should set for these unknown addresses?

3.Are there limitations and bugs expect for the description in the following URL?
  processors.wiki.ti.com/.../AM437x_Clock_Tree_Tool

Best Regards,
Nomo

  • The CTT experts have been notified. They will respond here.
  • Hello,

    1. Looks like a typo in the CTT database, thanks for catching this. That was addressed and will be fixed in the upcoming version. If you want to fix your local installation though, replace this file: 

    <CTT install dir>\XMLFiles\AM437x\AM437x_SR1.x.xml with the attached one. 

    <?xml version="1.0" encoding="UTF-8"?>
    <device id = "AM43xx" partnum = "AM43xx"   XML_version = "1.1"   HW_revision = "1.0"   description = "AM43xx NDA device registers">
    <instance acronym = "OCP_SOCKET_PRM_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "OCP_SOCKET_PRM_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "OCP_SOCKET_PRM_OCP_PRCM"
     baseaddr = "0x44DF0000" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "CM_GFX_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "CM_GFX_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "CM_GFX_OCP_PRCM"
     baseaddr = "0x44DF8400" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "PRM_TAMPER_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "PRM_TAMPER_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "PRM_TAMPER_OCP_PRCM"
     baseaddr = "0x44DF0624" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "CONTROL_MODULE" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "CONTROL_MODULE.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "CONTROL_MODULE"
     baseaddr = "0x44e10000" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "PRM_RTC_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "PRM_RTC_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "PRM_RTC_OCP_PRCM"
     baseaddr = "0x44DF0524" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "CM_DEVICE_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "CM_DEVICE_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "CM_DEVICE_OCP_PRCM"
     baseaddr = "0x44DF4100" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "PRM_PER_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "PRM_PER_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "PRM_PER_OCP_PRCM"
     baseaddr = "0x44DF0800" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "CM_TAMPER_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "CM_TAMPER_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "CM_TAMPER_OCP_PRCM"
     baseaddr = "0x44DF8600" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "PRM_WKUP_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "PRM_WKUP_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "PRM_WKUP_OCP_PRCM"
     baseaddr = "0x44DF2000" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "CM_CEFUSE_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "CM_CEFUSE_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "CM_CEFUSE_OCP_PRCM"
     baseaddr = "0x44DF8700" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "CM_WKUP_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "CM_WKUP_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "CM_WKUP_OCP_PRCM"
     baseaddr = "0x44DF2800" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "CM_DPLL_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "CM_DPLL_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "CM_DPLL_OCP_PRCM"
     baseaddr = "0x44DF4200" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "PRM_CEFUSE_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "PRM_CEFUSE_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "PRM_CEFUSE_OCP_PRCM"
     baseaddr = "0x44DF0700" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "CM_PER_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "CM_PER_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "CM_PER_OCP_PRCM"
     baseaddr = "0x44DF8800" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "PRM_DEVICE_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "PRM_DEVICE_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "PRM_DEVICE_OCP_PRCM"
     baseaddr = "0x44DF4000" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "CM_RTC_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "CM_RTC_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "CM_RTC_OCP_PRCM"
     baseaddr = "0x44DF8500" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "CM_MPU_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "CM_MPU_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "CM_MPU_OCP_PRCM"
     baseaddr = "0x44DF8300" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "PRM_GFX_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "PRM_GFX_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "PRM_GFX_OCP_PRCM"
     baseaddr = "0x44DF0400" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "PRM_MPU_OCP_PRCM" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "PRM_MPU_OCP_PRCM.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "PRM_MPU_OCP_PRCM"
     baseaddr = "0x44DF0300" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    <instance acronym = "RTCSS" href="../Modules/vayu/CTRL_MODULE_CORE.xml" xml = "RTCSS.xml" xmlpath = "../Modules/vayu/" description = "" ver = "" 
     id = "RTCSS"
     baseaddr = "0x44E3E000" 
    endaddr = ""
    size = "0"
    accessnumbytes = "0"
    permissions = ""
    requestor = "" 
    />
    </device>

    2. These are removed from TRM as not used. CTT, however, can incorporate some "generic registers" not always needed for that particular device paper spin. Whichever is not shown in TRM but appears in CTT should be left intact (i.e. do not program it and leave the reset values as is).

    3. Yes. the limitations described in the URL apply to the AM437x CTT.

  • Hello Alex-san,

    Thank you for your reply.
    Your answers are very helpful.

    Best Regards,
    Nomo