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.

DRA821U: keywriter doesn't output any message on UART

Part Number: DRA821U
Other Parts Discussed in Thread: DRA821

Hi there,

We built Keywriter and loaded it to our custom board using DFU mode. However, there's nothing coming out of WKUP_UART0 at all. We are using Keywriter in pdk_j7200_11_00_00_21.

Do you know what may cause the problem?

Thanks,

Charles

  • HI Charles

    Please provide complete detailed steps on how you generated the keywriter binary.

    Regards
    Diwakar

  • 1. Basic Environment Information
    • SDK Version Dependent on Keywriter: ti-processsor-sdk-rtos-j7200-evm-11_00_00_03
    • Target Hardware: custom board
    • Current Blocking Issue: After loading the Keywriter image, no console message came out of the 4 available UARTs (WKUP_UART0, MCU_UART0, MAIN_UART0, MAIN_UART1) at all.

    2. Modification Steps for the Keywriter Tool
    a. File to Modify: main.c in the Keywriter module under the SDK path.
    b. Modification Content: Comment out the function call statement of Sciclient_otpProcessKeyCfg() to avoid key writing. The specific code lines are as follows:
    ◦ Original code: Sciclient_otpProcessKeyCfg();
    ◦ Modified code: //Sciclient_otpProcessKeyCfg(); (Only this function is commented; no other code logic is modified.)

    3. Build and Flashing Steps for the Keywriter Image
    a. Compilation Environment: Ubuntu 20.04 LTS (equipped with an ARM cross-compilation toolchain, whose version is compatible with the SDK).
    b. Build Command: Execute the compilation command in the SDK root directory, specifying the target board and number of parallel compilations:
    make keywriter_img -j4 BOARD=j7200_evm

    3. Rename bin file: After compilation is completed, keywriter_img_j7200_release.bin is generated. Rename this file to tiboot3.bin.

    4. Running Keywriter tool: Loading tiboot3.bin to our custom board via the DFU tool (Version: dfu-util 0.9). The loading is successful and no messages from any UART port.

  • Hi Charles,

    You need to get the OTP keywriter package and need to follow the steps mentioned in the README included in the package to build the keywriter tool. 

    If you don't have OTP keywriter package, please reach out to local FAE for the same.

    Regards
    Diwakar

  • Hi Diwakar,

    Thanks for your reply. Are you referring to OTP_KEYWRITER_ADD_ON_j7200_sr2_v2022.01-linux-installer.run? We already applied this to our PDK before we built Keywriter tool. Our build log is attached below.

    Is there any means to debug this issue? If we use JTAG debugger to trouble-shooting, what things (registers) should we check?

    What else may cause this problem? 

    Build log:

    ~/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/build$ make keywriter_img -j4 BOARD=j7200_evm
    make -C /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build -f/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build/keywriter.mk
    make[1]: Enter directory “/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build”
    make -f/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build/keywriter.mk pmic sciclient_direct board uart osal_nonos csl csl_init i2c gpio rm_pm_hal  
    make[2]: Entering directory “/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build”
    make[2]: For “pmic” nothing to do。
    make[2]: For “sciclient_direct” nothing to do。
    make[2]: For “board” nothing to do。
    make[2]: For “uart” nothing to do。
    make[2]: For “osal_nonos” nothing to do。
    make[2]: For “csl” nothing to do。
    make[2]: For “csl_init” nothing to do。
    make[2]: For “i2c” nothing to do。
    make[2]: For “gpio” nothing to do。
    make[2]: For “rm_pm_hal” nothing to do。
    make[2]: Entering directory “/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build”
    make -f/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build/keywriter.mk /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.xer5f
    make[2]: Entering directory “/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build”
    make[2]: “/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.xer5f”已是最新。
    make[2]: Leaving directory “/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build”
    make[1]: Leaving directory “/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build”
    make -C /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build -f/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build/keywriter.mk keywr_imagegen
    make[1]: Entering directory “/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build”
    /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-objcopy --gap-fill=0xff -O binary /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.xer5f /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.bin
    /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf/bin/aarch64-none-elf-objcopy --gap-fill=0xff -O binary /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.xer5f /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.bin
    # Appending certificate to keywriter binary file.
    /bin/cat /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/x509cert/final_certificate.bin >> /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.bin
    /bin/chmod a+x /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/build/makerules/x509CertificateGen.sh
    /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/build/makerules/x509CertificateGen.sh -b /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.bin -o /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.tiimage -c R5 -l 0x41C00100 -k /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/build/makerules/k3_dev_mpk.pem -d DEBUG -j DBG_FULL_ENABLE -m SPLIT_MODE
    ~/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build ~/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build
    
    Debug Extension is Enabled :
    SoC UID not specified for Debug Extension. Using UID 0
    	UID = 0000000000000000000000000000000000000000000000000000000000000000
    	DBG_TYPE = 4
    R5 Certificate being generated :
    	X509_CFG = ./x509-temp.cfg
    	KEY = /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/build/makerules/k3_dev_mpk.pem
    	BIN = /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.bin
    	CERT TYPE = R5, 1
    	CORE ID = 16
    	LOADADDR = 0x41c00100
    	IMAGE_SIZE = 474782
    	BOOT_OPTIONS = 2
    SUCCESS: Image /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.tiimage generated. Good to boot
    # Signed Keywriter image /home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.tiimage created.
    #
    make[1]: Leaving directory “/home/kotei/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/build”
    

    Thanks,

    Charles

  • Hi Charles,

    Thanks for your reply. Are you referring to OTP_KEYWRITER_ADD_ON_j7200_sr2_v2022.01-linux-installer.run? We already applied this to our PDK before we built Keywriter tool. Our build log is attached below.

    Thanks for confirming, so you already copied TIFS keywriter and TI FEK public key to their respective location. 

    One more things which I would like to confirm. Above package is for DRA821 Silicon Revision 2.0. Can you confirm that you are using the same silicon revision? 

    However, there's nothing coming out of WKUP_UART0 at all. We are using Keywriter in pdk_j7200_11_00_00_21.

    Also, we need to look for the traces from MCU_UART first. R5 application traces will come in MCU_UART, whereas TIFS traces will come in WKUP_UART.

    If there is issue in loading Keywriter TIFS , you will not see any log on WKUP_UART. 

    Regards
    Diwakar

  • Yes, our chip is SR2.0. Chip mark is DRA821U4T5BALM.

    We can access four UARTs (WKUP_UART0, MCU_UART0, MAIN_UART0, MAIN_UART1). When running Keywriter, none of them had output at all.

    Here's the list of all steps we've done:

    1. install ti-processor-sdk-rtos-j7200-evm-08_01_00_11

    2. install OTP_KEYWRITER_ADD_ON_j7200_sr2_v2022.01-linux-installer.run

    3. cp <OTP_KEYWRITER_ADD_ON>/ti-fs-keywriter.bin <PDK>/packages/ti/boot/keywriter/tifs_bin/j7200/ti-fs-keywriter.bin

    4. cp <OTP_KEYWRITER_ADD_ON>/ti_fek_public.pem <PDK>/packages/ti/boot/keywriter/scripts/ti_fek_public.pem

    5. cd <PDK>/packages/ti/boot/keywriter/scripts && ./gen_keywr_cert.sh -g
    ls ~/ti/pdk_j7200_11_00_00_21/packages/ti/boot/keywriter/scripts/keys
    aes256.key bmek.key bmpk.pem smek.key smpk.pem

    6. Copy ti_fek_public.pem:
    cp ~/OTP_KEYWRITER_ADD_ON_j7200_sr2_v2022.01/addon/ti_fek_public.pem <PDK>/packages/ti/boot/keywriter/scripts/keys/tifekpub.pem

    7. Generate x509 file:
    cd <PDK>/packages/ti/boot/keywriter/scripts
    ./gen_keywr_cert.sh -s keys/smpk.pem --smek keys/smek.key -t keys/tifekpub.pem -a keys/aes256.key
    The file is here:
    <PDK>/packages/ti/boot/keywriter/x509cert/final_certificate.bin

    8. Compile keywriter:
    cd <PDK>/packages/ti/build
    make keywriter_img -j4 BOARD=j7200_evm
    The keywriter bin is here:
    <PDK>/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.bin

    9. DFU flash keywriter
    cp keywriter_img_j7200_release.bin tiboot3.bin
    dfu-util -d 0451:6164 -a tiboot3.bin.raw -D tiboot3.bin

    10. Recycled power, keywriter did not work (i.e., no output from four UARTs mentioned above).

  • Hi Charls,

    10. Recycled power, keywriter did not work (i.e., no output from four UARTs mentioned above).

    You should not reset the board. In DFU boot mode, you are directly passing image to ROM to read and load it to core.

    In the same power cycle, you will get the traces on MCU_UART. Are you not getting that as well ?

    Also send me the image of the test setup.

    Regards
    Diwakar

  • In the same power cycle, you will get the traces on MCU_UART. Are you not getting that as well ?

    No, we didn't get anything either in the same power cycle.

    I attached the whole binary folder content. BTW, the readme file is overly simplified. Do you have more detailed documentation for keywriter?

    keywriter-j7200-20251031.zip

  • Hi Charles,

    There are public documentation on the keywriter which explain the flow, below are the links for the same.

    1. https://software-dl.ti.com/tisci/esd/latest/6_topic_user_guides/key_writer.html
    2. https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/security/keywriter.html
    3. https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/08_02_00_05/exports/docs/pdk_jacinto_08_02_00_21/docs/userguide/jacinto/modules/keywriter.html

    Can you try using UART boot mode and see if it works. You can also test it with other board as well. I have tested the package in the past it used to work, but if you still face any issue even after using UART boot mode, will try to arrange the board and test it out on that.

    Help share the ROM UART string as well. You can follow FAQ for the same.

    Regards
    Diwakar

  • Hi Diwakar,

    We tried UART boot mode and the ROM code didn't even take the Keywriter binary (we renamed keywriter_img_j7200_release.bin to tiboot3.bin) through X-modem protocol at all as shown below. However, we have no problem to load HS-FS binaries using UART boot mode and the board can boot into U-Boot.

    ROM string from UART

    02000000011a00006a3776636c0000000000000048534653010102000101020002a600000000000004a0cc3e38a1aa0a31fad2423895bfc21ffc7da765dff4aa6e0991fb6e197442ae4d3becef35fe5ed4b63abbcc45c3ecca5ce97ad552fb882fc0eb008c9e5ce2ad0bc40b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f8449b915a15a5d8a7d59d4177a2443be37fcadcaa5db3075f8df5a0a6a0d5d2CCCCCCCC

  • Hi Charles,

    I will arrange sample and board at my end to see if it is working or not.Will update you by mid of next week on this.

    Regards
    Diwakar

  • Hi Diwakar,

    I’m Charles’s colleague and We are also working on thsi issue, since we didn't have the correct manual for uart boot mode test, Could you please provide us the complete manual of UART bootmode for DRA821,so that we can try again. 

    Thanks. 

  • Hi Jing,

    You can refer to https://www.ti.com/lit/pdf/spracy5 app note for the same, section "3.4 Running Until u-boot" in particular.

    Regards
    Diwakar

  • Hi Diwakar,
    Thanks a lot for your arrangement to test with the sample and board!
    We wanted to follow up on this thread as our project progress is currently blocked by the Keywriter issue (we’ve completed all feasible self-verifications: UART boot mode tests, multi-SDK version validations, and confirmed the hardware/tool configurations are normal, with only Keywriter failing to load while HS-FS works well). We’re eager to clarify the next troubleshooting direction, so could you please help prioritize this test and update us as soon as you have any findings (ideally earlier than mid-next week if possible)?
    Your timely feedback will help us unblock the project and align our next steps quickly. We really appreciate your support on this!
    Best regards,
  • Hi Jing,

    I understand your concern. I am trying to arrange HS-FS sample at my end. In the meantime, can you connect to R5 core and see if R5 keywriter application is even getting loaded or not ?

    Regards
    Diwakar

  • Hi Jing,

    I quickly tested with 9.1 SDK, below are the logs . Can you try with 9.1 sdk if possible? I will check with 8.1 sdk in some time.

    Regards
    Diwakar

  • Hi Jing,

    I tested in 8.1 SDK as with some modification it starts working. For some reason, "ti-fs-keywriter.h" is not getting generated, which gets included in the final keywriter image.

    I manually generated it after copying necessary files from OTP Keywriter package. using command:
    "/ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/drv/sciclient/tools/bin2c/bin2c.out  /ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/tifs_bin/j7200/ti-fs-keywriter.bin /ti-processor-sdk-rtos-j7200-evm-08_01_00_11/pdk_j7200_08_01_00_33/packages/ti/boot/keywriter/ti-fs-keywriter.h TIFS_KEYWRITER_BIN"

    After running the above command, i re-built keywriter image and copied to the sd card.Power on the board and could see the keywriter logs.

    Regards
    Diwakar

  • Hi Diwakar,

    Thanks for your quick response! We’ll follow your suggestions and update you on the results ASAP.

    BTW,Which file is used for burning the image, keywirter_img_j7200_release.bin or keywirter_img_j7200_release.tiimg?

    Regards

    Jing

  • Hi Diwakar,

    Thanks for your quick response! We’ll follow your suggestions and update you on the results ASAP.

    BTW, Which file is used for burning the image, keywirter_img_j7200_release.bin or keywirter_img_j7200_release.tiimg?

    The log output is now available when the 9.1 SDK compilation image keywirter_img_j7200_release.tiimg is burned into the EMMC. There is a mistake in the TI document, which states that it is keywirter_img_j7200_release.bin.

    Regards

    Jing

  • Hi Jing,

    BTW, Which file is used for burning the image, keywirter_img_j7200_release.bin or keywirter_img_j7200_release.tiimg?

    We need to use keywriter_img_j7200_release.tiimage image.

    There is a mistake in the TI document, which states that it is keywirter_img_j7200_release.bin.

    Can you point out which document so that we can fix that?

    Regards
    Diwakar

  • 《Jacinto7 High Security Device Development》

  • Hi Jing,

    Thanks for pointing out , will fix this. Do let me know if we can close this issue or not.

    Regards
    Diwakar

  • Hi Diwakar,

    We are currently following the document for burning, but the key still cannot be written successfully. We need help to confirm what factors might cause this problem and whether there are any other errors in the document.

    Regards

  • Hi Diwakar

    Could you pls help go through those steps and check if there are any mistakes.

    Regards

  • Hi jing ,

    What issue you are facing now any logs ?

    Regards 

    Diwakar 

  • Hi Diwakar

    We’re currently making hardware modifications to continue debugging, and will share any log output with you right away once we have it.
    We know you’re likely swamped with tasks right now, so it’s totally understandable if you haven’t had the chance to review the 10 steps we shared earlier in full detail. That said, we identified an image usage error yesterday—this issue is actually noted in those steps, and we’ve spent over a week troubleshooting problems that stemmed from this oversight.
    We just wanted to flag this to help align on the steps moving forward, and we really appreciate your understanding as we work through this! 
    Regards
  • Could you please help conduct a further review of the detailed aspects of the steps—such as the Key in use and the referenced images—to identify any potential issues?

  • Hi Jing,

    We’re currently making hardware modifications to continue debugging, and will share any log output with you right away once we have it.
    We know you’re likely swamped with tasks right now, so it’s totally understandable if you haven’t had the chance to review the 10 steps we shared earlier in full detail. That said, we identified an image usage error yesterday—this issue is actually noted in those steps, and we’ve spent over a week troubleshooting problems that stemmed from this oversight.

    Thank you for understanding. Apart from below step, rest of the steps are fine. We need to use keywriter_img_j7200_release.tiimage generated binary. Unfortunately I missed this point earlier, sorry for the same.

    The keywriter bin is here:
    <PDK>/packages/ti/boot/keywriter/binary/j7200/keywriter_img_j7200_release.bin

    Also as you said earlier you are able to see some logs now. Can you help me with those logs.

    The log output is now available when the 9.1 SDK compilation image keywirter_img_j7200_release.tiimg is burned into the EMMC

    Regards
    Diwakar

  • Hi Diwakar
    SDK9.1
    EMMC BOOTMODE:
    OTP Keywriter Version: 02.00.00.00 (Nov 10 2025 - 16:19:45)
    OTP Keywriter ver: 22.1.1--v2022.01 (Terrific Llam
    OTP_VppEn
    test_pmic_i2c_lld_intf_setup(): 487: PMIC_MAIN_INST I2C Setup...
    test_pmic_i2c_lld_intf_setup(): 529: done...
    I2C1: Passed for address 0x4c !!!
    I2C1: Passed for address 0x4c !!!
    Pmic_gpioSetValue ret: 0 Works!!!
    Key programming sequence initialted
    Taking OTP certificate from 0x41c7f004
    Debug response: 0x0
    Key programming sequence completed
    UART BOOTMODE send keywriter_img_j7200_release.tiimg fail
    UART BOOTMODE:
    CCCCCCCCCCCCCCC02000000011a00006a3776636c0000000000000048534653010102000101020002a600000000000004a0cc3e38a1aa0a31fad2423895bfc21ffc7da765dff4aa6e0991fb6e197442ae4d3becef35fe5ed4b63abbcc45c3ecca5ce97ad552fb882fc0eb008c9e5ce2ad0bc40b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ee84812a913c053c293f6fa6438665b7b26c26bb3855f183876adbbb4a4b863aCCCCCCCCCCCCC
    -----------------------
    SoC ID Header Info:
    -----------------------
    NumBlocks            : 2
    -----------------------
    SoC ID Public ROM Info:
    -----------------------
    SubBlockId           : 1
    SubBlockSize         : 26
    DeviceName           : j7vcl
    DeviceType           : HSFS
    DMSC ROM Version     : [0, 2, 1, 1]
    R5 ROM Version       : [0, 2, 1, 1]
    -----------------------
    SoC ID Secure ROM Info:
    -----------------------
    Sec SubBlockId       : 2
    Sec SubBlockSize     : 166
    Sec Prime            : 0
    Sec Key Revision     : 0
    Sec Key Count        : 0
    Sec TI MPK Hash      : 04a0cc3e38a1aa0a31fad2423895bfc21ffc7da765dff4aa6e0991fb6e197442ae4d3becef35fe5ed4b63abbcc45c3ecca5ce97ad552fb882fc0eb008c9e5ce2
    Sec Cust MPK Hash    : ad0bc40b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Sec Unique ID        : ee84812a913c053c293f6fa6438665b7b26c26bb3855f183876adbbb4a4b863a
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    keywriter wkup_uart0 log:
    0x410002
            0xC10004
                    0x4003005
                             0x4401611
                                      0x41000B
                                              0xC10004
                                                      0x4003005
                                                               0x4401611
                                                                        0x41000D
                                                                                0xC10004
        0x20800000
                  0x20800001
                            0x410002
                                    0xC10004
                                            0x4003005
                                                     0x4401611
                                                              0x419031
                                                                      0xC10004
                                                                              #
                                                                               # Decrypting extensions..
                        #
                         MPK Options:  0x0
                                          MEK Options:  0x0
                                                           MPK Opt P1:  0x0
                                                                           MPK Opt P2:  0x0
           MEK Opt   :  0x0
                           * SMPKH Part 1 BCH code: 60ea777e
                                                            * SMPKH Part 2 BCH code: e024dadd
             * SMPK Hash (part-1,2):
                                    fbd8648a0a03985d4691ee27bc628b58eb72674c02014ad3a75ab3185e11eb0e00
                      7c70bc3d944d9c0bc37f1336cdfec148f9934b7d94c2486869a37fae2a2f948f00
        * SMEK BCH code: a0c6de4e
                                 * SMEK Hash: 92785809a3dfefea57f6bbed642d730ba5d05e601222a72e815bf01ceb3a50f96ab85d282425f684436fabd4c7da624b791da411615035314103cc64e611f532
              EXT OTP extension disabled
                                        MSV extension disabled
                                                              KEY CNT extension disabled
        KEY REV extension disabled
                                  SWREV extension disabled
                                                          FW CFG REV extension disabled
       * KEYWR VERSION:  0x20000
                                #
                                 # Programming Keys..
                                                     #
                                                      * MSV:
                                                             [u32] bch + msv:  0x0
                                                                                  MSV extension disabled
                        [u32] bch + msv:  0x0
                                             * SWREV:
                                                      [u32] SWREV-SYSFW:  0x1
                                                                             [u32] SWREV-SBL  :  0x1
                    SWREV extension disabled
                                            [u32] SWREV-SYSFW:  0x1
                                                                   [u32] SWREV-SBL  :  0x1
          * FW CFG REV:
                        [u32] SWREV-FW-CFG-REV:  0x1
                                                    SWREV SEC BCFG extension disabled
     [u32] SWREV-FW-CFG-REV:  0x1
                                 * EXT OTP:
                                            EXT OTP extension disabled
                                                                      * BMPKH, BMEK:
     BMPKH extension disabled
                             BMEK extension disabled
                                                    * SMPKH, SMEK:
                                                                   * KEYCNT:
                                                                             [u32] keycnt:  0x0
               KEY CNT extension disabled
                                         [u32] keycnt:  0x0
                                                           * KEYREV:
                                                                     [u32] keyrev:  0x0
       KEY REV extension disabled
                                 [u32] keyrev:  0x0
    -----------------------------------------------------------------------------------------------------------------------------------------------------
    Regards
  • Hi Jing,

    Taking OTP certificate from 0x41c7f004
    Debug response: 0x0
    Key programming sequence completed

    Debug response we are seeing 0x0 that means there are no error and keywriting is successful. As you haven't wrote keyrev and keycnt the device will not get converted to HS-SE.

     KEY REV extension disabled
     KEY CNT extension disabled

    So in summary keywriting process successfully completed . We are able to write SMPK and SMEK, if we update keyrev keycnt it will get converted to HS-SE.

    Regards
    Diwakar

  • Hi Diwakar
    After successfully writing the key,UART BOOTMODE upload :
    tiboot3-j7200_sr2-hs-evm.bin
    tispl.bin
    u-boot.img
    log are as follows:
    Question1 :Does it indicate that the verification of tiboot3 tispl u-boot has been passed?
    Question2: What was the cause of the final mistake?
    U-Boot SPL 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -121
    Trying to boot from UART
    CCCCCCCCLoaded 1030419 bytes
    Loading Environment from nowhere... OK
    init_env from device 7 not supported!
    Starting ATF on ARM64 core...
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    I/TC:
    I/TC: OP-TEE version: 4.2.0-dev (gcc version 13.3.0 (GCC)) #1 Fri Apr 12 09:51:21 UTC 2024 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: Primary CPU initializing
    I/TC: GIC redistributor base address not provided
    I/TC: Assuming default GIC group status and modifier
    I/TC: SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    I/TC: Secure Board Configuration Software: Rev 1
    I/TC: Secure Boot Keys: Count 1, Rev 1
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    U-Boot SPL 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -121
    Trying to boot from UART
    CCCLoaded 1209019 bytes
    U-Boot 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000)
    SoC:   J7200 SR2.0 HS-SE
    Model: B-Sample
    DRAM:  2 GiB (effective 8 GiB)
    Core:  81 devices, 30 uclasses, devicetree: separate
    Flash: 0 Bytes
    MMC:   mmc@4f80000: 0
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    bootpart is set to: 0
    Net:   No ethernet found.
    Hit any key to stop autoboot:  0
    switch to partitions #0, OK
    mmc0(part 0) is current device
    SD/MMC found on device 0
    Can't set block device
    k3_r5f_rproc r5f@41000000: Core 1 is already in use. No rproc commands work
    k3_r5f_rproc r5f@41400000: Core 2 is already in use. No rproc commands work
    104212 bytes read in 11 ms (9 MiB/s)
    ti_sci system-controller@44083000: Message not acknowledged
    Authentication failed!
    ### ERROR ### Please RESET the board ###
  • HI Jing 

    From logs, we can see that it is trying to load the remote core firmware. When U-BOOT loads remote core firmware it looks for signed binary in case of HS-SE device, if it signed imaged is not there authentication will fail.For quick boot test, you can set drprocboot=0 in uEnv.txt.

    I would suggest you to raise a new question as the issue deviates from the thread title. It helps us to streamline the issue.

    Regards
    Diwakar

  • Hi Diwakar,
    We are now working on J7200 and need docs for U-BOOT loading remote core firmware (R5F/DSP). We’ve searched but found very limited J7200-specific resources. Could you share us some relevant documentation links?
    Thanks for your help!
  • Hi Jing,

    Can you raise new thread for this, so that right expert can answer your question on uboot.

    Regards
    Diwakar

  • Hi Diwakar,

    I attempted to start a new thread but couldn’t proceed due to lacking purchase details. Charles (who’s in a different time zone) will create one when he’s available. Do you have any suggestions on where to find more detailed information about U-BOOT loading remote core firmware on J7200? We’d greatly appreciate your help!

  • Hi Jing,

    I could see a new thread has been created for this topic by Charles, will close this one and will follow up in other thread.

     DRA821U: U-BOOT failed loading remote core firmware on HS device 

    Regards
    Diwakar