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.

[FAQ] TDA4VM: How to check device type (GP/HS-FS/HS-SE) ?

Part Number: TDA4VM

Tool/software:

How to check device type (GP/HS-FS/HS-SE) ?

    1. Using  UART BOOT MODE :To identify a device type the following method could be used:
      1. Connect to UART terminal (MCU UART)
      2. Change boot pin settings to UART boot mode
      3. Turn on the device and watch the terminal for a string that looks like the one below:

        02000000011a00006a376165700000000000000048534653000801000008010002a60000000000002b28ecde967b79d61619f89cf299205c36d179cacb2b1c5a7f16e3169cc879602122d07ad47ae878a46e243c6f5078c04a5452faceeccb00d0453a5a5e6420daad0bc40b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a569fef30694c843a4f8f9385c98785b2aa5bce80a29d67f05fb84d11ea664c4

      4. Do not copy the CCCC characters at the end of the string.

      5. Save the string into a <file-name>.txt file

      6. Download the uart-parser /cfs-file/__key/communityserver-discussions-components-files/791/parse_5F00_uart_5F00_boot_5F00_socid.py

      7. Execute the uart-parser on PC as follows:

      8. python parse_uart_boot_socid.py <file-name.txt>

      9. he string will produce the following output:
        -----------------------
        SoC ID Header Info:
        -----------------------
        NumBlocks : 2
        -----------------------
        SoC ID Public ROM Info:
        -----------------------
        SubBlockId : 1
        SubBlockSize : 26
        DeviceName : j7aep
        DeviceType : HSFS
        DMSC ROM Version : [0, 1, 8, 0]
        R5 ROM Version : [0, 1, 8, 0]
        -----------------------
        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 : 2b28ecde967b79d61619f89cf299205c36d179cacb2b1c5a7f16e3169cc879602122d07ad47ae878a46e243c6f5078c04a5452faceeccb00d0453a5a5e6420da
        Sec Cust MPK Hash : ad0bc40b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
        Sec Unique ID : a569fef30694c843a4f8f9385c98785b2aa5bce80a29d67f05fb84d11ea664c4

    2. Using DFU boot mode:
      Keep the device in DFU boot mode and run the below command to get the ROM string.

      1. dfu-util -a SocId -U socid.bin

      2. xxd -ps socid.bin  (output of it save it to the file)

      3. python3 parse_uart_boot_socid.py dumps.txt 
    3. DURING RUN TIME:

      You can make use of K3_SEC_MGR_SYS_STATUS (0x44234100) register to get the device type

      For a reference you can take a look at the u-boot implementation of getting the device type  (path:<linux_sdk>/<u-boot>/arch/arm/mach-k3/common.c)

    Regards
    Diwakar