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: AM6442

Part Number: AM6442

Dear all,

        There is a system crush down with Synchronous Abort log,once reading configurations from MAIN_SEC_MMR.

           I want to read core setting from CTRLMMR_SEC_CLSTR0_DEF register and other registers listed in MAIN_SEC_MMR0_CFG0.

           Is there other important step i missed before R/W MAIN_SEC_MMR?  Could you kindly give some advice about it?

thanks,

jimin.li

  • Hello jimin.li, 

    Thank you for the query.

    Can you please provide some additional details about the setup you are using and also share the logs.

    Regards,

    Sreenivasa

  • Dear Kallikuppa Sreenivasa,

        Below are my steps:

    1.build ubooot.img for A53 core0 from ti-processor-sdk-linux-am64xx-evm-08.02.00.23-Linux-x86.

    2.then enter uboot command line

    3.input command "md 0x45a09020" under commandline if i want to read CTRLMMR_SEC_CLSTR9_DEF register.I also try to read other registers listed in MAIN_SEC_MMR0_CFG0/2.

    4.then system crush down with a "Synchronous Abort" handler log shown as below: 

    U-Boot 2021.01-00001-gf0a5b8927d-dirty (Jul 22 2022 - 07:29:29 -0400)

    SoC: AM64X SR1.0
    Model: Texas Instruments AM642 EVM
    DRAM: 2 GiB
    MMC: mmc@fa10000: 0, mmc@fa00000: 1
    In: serial@2810000
    Out: serial@2810000
    Err: serial@2810000
    Net: eth0: ethernet@8000000port@1
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    Hit any key to stop autoboot: 0
    => md 0x45A09020
    45a09020:"Synchronous Abort" handler, esr 0x96000210
    elr: 000000008089da80 lr : 000000008089d9e4 (reloc)
    elr: 00000000fff93a80 lr : 00000000fff939e4
    x0 : 0000000000000009 x1 : 0000000000000000
    x2 : 000000000000003a x3 : 0000000000000000
    x4 : 0000000045a09020 x5 : 00000000fdecb548
    x6 : 00000000fffb4b2a x7 : 0000000000000004
    x8 : 00000000fdecbbb8 x9 : 000000000000000c
    x10: 00000000ffffffd0 x11: 0000000000000010
    x12: 0000000000000006 x13: 000000000001869f
    x14: 00000000fdecbf80 x15: 0000000000000021
    x16: 00000000fff54d9c x17: 00214480d880d6cb
    x18: 00000000fded5de0 x19: 0000000000000040
    x20: 0000000045a09020 x21: 0000000045a09020
    x22: 00000000fffb3d7e x23: 0000000000000008
    x24: 0000000000000009 x25: 0000000000000004
    x26: 0000000000000004 x27: 00000000fdecbc78
    x28: 0000000000000004 x29: 00000000fdecbbf0

    Code: 12800000 17ffffcf 7100135f 54000201 (b9400085)
    Resetting CPU ...

    resetting ...


    U-Boot 2021.01-00001-gf0a5b8927d-dirty (Jul 22 2022 - 07:29:29 -0400)

    SoC: AM64X SR1.0
    Model: Texas Instruments AM642 EVM
    DRAM: 2 GiB
    MMC: mmc@fa10000: 0, mmc@fa00000: 1
    In: serial@2810000
    Out: serial@2810000
    Err: serial@2810000
    Net: eth0: ethernet@8000000port@1
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    Hit any key to stop autoboot: 0
    WARNING: Could not determine device tree to use
    Card did not respond to voltage select! : -110
    SD/MMC found on device 1
    Card did not respond to voltage select! : -110
    Card did not respond to voltage select! : -110
    Card did not respond to voltage select! : -110
    Card did not respond to voltage select! : -110
    Card did not respond to voltage select! : -110
    Bad Linux ARM64 Image magic!
    =>

      Besides,i also try to read registers from MAIN_SEC_MMR0_CFG0/2 in R5F SPL built by ti-processor-sdk-linux-am64xx-evm-08.02.00.23-Linux-x86.I only change sdk install path/board-support/u-boot-xxxx/arch/arm/mach-k3/am642_init.c function void board_init_f(ulong dummy) 

      I've add one line code printf("cluster0 def register 0x45a00020: 0x%x\n",(*(uint *)0x45a00020)); at function void board_init_f(ulong dummy)  last step.It seems to enter system hang as below log:

    U-Boot SPL 2021.01-00001-gf0a5b8927d-dirty (Jul 26 2022 - 22:24:26 -0400)
    SYSFW ABI: 3.1 (firmware rev 0x0016 '22.1.1--v2022.01 (Terrific Llam')

     

    Thanks

    jimin.li

  • Hello jimin.li, 

    Thank you for the inputs.

    I am working to review the inputs and assign to the expert.

    Regards,

    Sreenivasa

  • Hi Jimin,

    I am routing your query to our u-boot expert for comments.

  • Hi Jimin,
    I'm just back to the office from time-off.
    You had made very good progress on customizing boot sequence on R5FSS0/R5FSS1/A53_0 cores in another e2e post.
    Do you still need to configuring the MAIN_SEC_MMR0_CFG0 registers in this e2e post?
    Best,
    -Hong

  • hi Hong Guan64,

    Yes,it still cannot be  figure out why we meet a crush down when reading from MAIN_SEC_MMR register.

    I get the instruction to set processor boot configuration by  ti_sci_proc_set_config funstion from another e2e post. I also find this function aims to set  some of MAIN_SEC_MMR register.So sci cmd is the only way to access  MAIN_SEC_MMR register?

    Thanks!

    jimin.li

  • Hello Jimin,
    Yes, a centralized SoC device control on resource, power, and security are managed by SYSFW on K3 devices (i.e. AM64x).
    For example, processor control and boot functions are configured by calling TISCI APIs:
    software-dl.ti.com/.../PROC_BOOT.html
    software-dl.ti.com/.../PROC_BOOT.html
    Best,
    -Hong

  • Dear Hong Guan64,

      Thanks for your reply.

     Is there other ways to read MAIN_SEC_MMR register If i don't want to use tisci cmd?

     I also want to know  centralized SoC device control by DMSC in K3 devices is the only way to control device power, freq...?

      For example,If I want to enable MAIN_UART0 clock,the only way is send tisci cmd?If config failed by this way,how should i do then?

    thanks,

    jimin.li