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.

AM6442: TMDS64EVM, MCU+SDK v9.1, CCS v12.6: why does NULL bootloader show A53 not running 1GHz ?

Part Number: AM6442


Ran the Hello World example; saw questionable values:

Starting NULL Bootloader ...

DMSC Firmware Version 9.1.6--v09.01.06 (Kool Koala)
DMSC Firmware revision 0x9
DMSC ABI revision 3.1

INFO: Bootloader_runCpu:155: CPU r5f1-0 is initialized to 800000000 Hz !!!
INFO: Bootloader_runCpu:155: CPU r5f1-1 is initialized to 800000000 Hz !!!
INFO: Bootloader_runCpu:155: CPU m4f0-0 is initialized to 400000000 Hz !!!
INFO: Bootloader_runCpu:155: CPU a530-0 is initialized to 800000000 Hz !!!
INFO: Bootloader_runCpu:155: CPU a530-1 is initialized to 800000000 Hz !!!
INFO: Bootloader_loadSelfCpu:207: CPU r5f0-0 is initialized to 800000000 Hz !!!
INFO: Bootloader_loadSelfCpu:207: CPU r5f0-1 is initialized to 800000000 Hz !!!
INFO: Bootloader_runSelfCpu:217: All done, reseting self ...

I'm suspecting that the frequency computation cannot support a 10 character format %d for 1000000000 Hz

Are we running the A53 cores at 1GHz or not? 

(perhaps future processors should display in KHz or MHz units)

  • Hi Jim,

    The A53 cores are by default initialized with 800 MHz clock only. The default clocks are shown below

    If you are working with Speed Grade S which supports 1000 MHz then you can modify the default clock in the bootloader driver.

    (+) AM6411: AM6411 speed grade - Processors forum - Processors - TI E2E support forums

    Regards,

    Prashant

  • Prashant:

     There must have been some reason as to why the A53s installed onto EVMs in the Sitata product line (not just AM64x) were set to 800MHz and not at full speed 1GHz - we should ask why.  Someone probably had very good reason to not be able to test at 1GHz rate those cores.

     Also, the speeds on the MCU/MPU products are increasing. It would be smarter to start expressing those frequencies in KHz or MHz (and not have so many zeros)

    thanks

    Jim

    ex-TIer '82-'97

  • Hi Jim,

    I think it's just the MCU+ SDK that runs the A53 at 800 MHz. The Processor SDK runs them at their full speed as shown in the below logs. I guess the MCU+ SDK team might have some reasons to run them at 800 MHz by default.

    root@am64xx-evm:~# k3conf --cpuinfo
    |------------------------------------------------------------------------------|
    | VERSION INFO                                                                 |
    |------------------------------------------------------------------------------|
    | K3CONF | (version 0.3-nogit built Fri Oct 06 12:20:16 UTC 2023)              |
    | SoC    | AM64x SR2.0                                                         |
    | SYSFW  | ABI: 3.1 (firmware version 0x0009 '9.1.8--v09.01.08 (Kool Koala))') |
    |------------------------------------------------------------------------------|
    
    |--------------------------------------------------------|
    | Processor Name | Processor State | Processor Frequency |
    |--------------------------------------------------------|
    | A53SS0_CORE_0  | DEVICE_STATE_ON | 1000000000          |
    | A53SS0_CORE_1  | DEVICE_STATE_ON | 1000000000          |
    |--------------------------------------------------------|

    It would be smarter to start expressing those frequencies in KHz or MHz (and not have so many zeros)

    I will give your feedback to the team. But it's very unlikely the team will be willing to change this as this will require performing a floating operation or they might already have some reasons to express in Hz only.

    Regards,

    Prashant

  • Hello Prashant,

    Can we check with the team on the "why" of running the core frequency at 800MHz instead of 1GHz? Without context, I would expect that the processor cores ought to be set to their highest frequency settings to give the best results in benchmark tests.

    Thanks,

    Nick

  • Hello Nick,

    On checking with the dev team, it seems there is no specific reason as such to run A53 cores at 800 MHz only. It's just that the team didn't validate the 1000MHz option.

    Regards,

    Prashant

  • Prashant, Nick: 

     Dependent on the IC speed grade, you can have A53 cores limited to 800MHz -- from sprsp56f

    I look upon my EVMs and I see the XAM6442BS... so I should be able to run at the 1GHz rate on the EVM?

    Put it another way, (from the first of Prashant's screenshots)

    if I were to change the bootloader core info .defaultClockHz parameter to 1000*1000000 , would those MCU+SDK examples run on S grade ICs ? (would there be time before the v9.2 SDK releases to prove that?)

    thanks

    Jim

  • Hi Jim,

    We have created the marketing requirement to run the A53 cores at 1000MHz. Let's see how it goes.

    For the time being, with the following changes in the bootloader driver,

    diff --git a/source/drivers/bootloader/soc/am64x_am243x/bootloader_soc.c b/source/drivers/bootloader/soc/am64x_am243x/bootloader_soc.c
    index ee9223c..ce278ac 100644
    --- a/source/drivers/bootloader/soc/am64x_am243x/bootloader_soc.c
    +++ b/source/drivers/bootloader/soc/am64x_am243x/bootloader_soc.c
    @@ -161,7 +161,7 @@ Bootloader_CoreBootInfo gCoreBootInfo[] =
             .tisciProcId    = SCICLIENT_PROCID_A53_CL0_C0,
             .tisciDevId     = TISCI_DEV_A53SS0_CORE_0,
             .tisciClockId   = TISCI_DEV_A53SS0_COREPAC_ARM_CLK_CLK,
    -        .defaultClockHz = (uint32_t)(800*1000000),
    +        .defaultClockHz = (uint32_t)(1000*1000000),
             .coreName       = "a530-0",
         },
     
    

    the simple A53 Hello World example seems to be running without any trouble.

    DMSC Firmware Version 9.1.6--v09.01.06 (Kool Koala)
    DMSC Firmware revision 0x9
    DMSC ABI revision 3.1
    
    [BOOTLOADER_PROFILE] Boot Media       : undefined
    [BOOTLOADER_PROFILE] Boot Image Size  : 127 KB
    [BOOTLOADER_PROFILE] Cores present    :
    a530-0
    [BOOTLOADER PROFILE] SYSFW init                       :      12450us
    [BOOTLOADER PROFILE] System_init                      :     349141us
    [BOOTLOADER PROFILE] Drivers_open                     :      19543us
    [BOOTLOADER PROFILE] Board_driversOpen                :          0us
    [BOOTLOADER PROFILE] Sciclient Get Version            :      10033us
    [BOOTLOADER PROFILE] CPU Load                         :     537245us
    [BOOTLOADER_PROFILE] SBL Total Time Taken             :     928415us
    
    Image loading done, switching to application ...
    INFO: Bootloader_runCpu:155: CPU a530-0 is initialized to 1000000000 Hz !!!
    INFO: Bootloader_runSelfCpu:217: All done, reseting self ...
    
    Hello World!

    Regards,

    Prashant

  • Prashant, Nick: 

     I would suggest that the examples in the SDKs 9.2 (MCU+ and the Linux ones) have a disclaimers list (at least) that the A53 core implementations were/were not tested to 1GHz in the release notes. That way you would know the backlog for future examples re-tuning, and this probably is needed on other Sitara products that support their A53 cores to 1GHz.   thanks, Jim