Runtime Debug TISCI Description

This chapter provides information on available TISCI messages for configuring runtime debug.

TISCI Message ID Message Name Available in GP Avialable in HS-FS
0x900C TISCI_MSG_OPEN_DEBUG_FWLS No No
0x9021 TISCI_MSG_GET_SOC_UID Yes Yes
0x9042 TISCI_MSG_DISABLE_JTAG_UNLOCK No No
0x9043 TISCI_MSG_DISABLE_JTAG_UNLOCK_CHECK No No

Introduction

Note

This document is applicable to HS devices only.

Note

Opening the JTAG port through the Secure AP command interface is the primary method of unlocking JTAG on K3 devices. This method is documented in Secure AP Command Interface. For debug flexbility, System Firmware also supports unlocking JTAG on target via a TISCI message documented in this chapter.

API Description

TISCI_MSG_GET_SOC_UID - Get SOC UID

Usage:

Message Type Normal
Secure Queue Only? No

Unlocking the JTAG port requires a X509 certificate signed with the active root of trust asymmetric key. The X509 certificate must contain the Unique identifier for the SOC (SOC UID). This enables debug certificates to be tied to specific devices. SOC UID is calculated on the device by the BOOT ROM and must be extracted from the device. This TISCI message is used to obtain the SOC UID to populate in the debug unlock certificate. For more information, see System Firmware Debug Extension.

TISCI Message ID

TISCI_MSG_GET_SOC_UID          (0x9021U)

Message to get SOC UID

struct tisci_msg_get_soc_uid_req

Request to provide the SOC UID via TISCI_MSG_GET_SOC_UID

Parameter Type Description
hdr struct tisci_header Common TI-SCI header

UID_LEN_WORDS          (8U)

struct tisci_msg_get_soc_uid_resp

Response to the TISCI_MSG_GET_SOC_UID message

Parameter Type Description
hdr struct tisci_header Common TI-SCI header
soc_uid u32 8 words with the SOC UID

TISCI_MSG_OPEN_DEBUG_FWLS - Open Debug Firewalls

Usage:

Message Type Normal
Secure Queue Only? Yes

Unlocking the JTAG port requires a X509 certificate signed with the active root of trust asymmetric key. This API is used to provide the signed certificate to System Firmware for proceessing and JTAG unlock.

The X509 certificate format is described in Security X509 Certificate Documentation. The fields of the certificate should be filled as specified in the System Firmware Debug Extension. The X509 debug extension is mandatory. The other X509 extensions are not processed by System Firmware while performing JTAG unlock.

TISCI Message ID

TISCI_MSG_OPEN_DEBUG_FWLS          (0x900CU)

Message to open debug firewalls using a certificate

struct tisci_msg_open_debug_fwls_req

Request to provide the SOC UID via TISCI_MSG_OPEN_DEBUG_FWLS

Parameter Type Description
hdr struct tisci_header Common TI-SCI header
debug_cert_addr u64 Physical address of the debug unlock certificate

struct tisci_msg_open_debug_fwls_resp

Response to the TISCI_MSG_OPEN_DEBUG_FWLS message

Parameter Type Description
hdr struct tisci_header Common TI-SCI header

TISCI_MSG_DISABLE_JTAG_UNLOCK - Disable JTAG unlock Permanently

Usage:

Message Type Normal
Secure Queue Only? Yes

Unlocking the JTAG port is allowed in HS-SE devices by sending an X509 certificate. This API permanently disables JTAG unlock by writing to efuse.

Since this API involves writing to efuse, Disable JTAG goes through only if the Disable JTAG unlock check is set. Refer TISCI_MSG_DISABLE_JTAG_UNLOCK_CHECK to see how to set the check.

TISCI Message ID

TISCI_MSG_DISABLE_JTAG_UNLOCK          (0x9042U)

Message to disable JTAG unlock

struct tisci_msg_disable_jtag_unlock_req

Request message to disable jtag unlock

Parameter Type Description
hdr struct tisci_header Standard TISCI header

This message can only be sent by the host that is tied to root of trust through the secure boardcfg extended otp extension

struct tisci_msg_disable_jtag_unlock_resp

Response message after disabling jtag unlock

Parameter Type Description
hdr struct tisci_header Standard TISCI header

TISCI_MSG_DISABLE_JTAG_UNLOCK_CHECK - Flag to Allow Permanent JTAG Disable

Usage:

Message Type Normal
Secure Queue Only? Yes

TISCI Message ID

TISCI_MSG_DISABLE_JTAG_UNLOCK_CHECK          (0x9043U)

Message to set/clear JTAG unlock check

struct tisci_msg_disable_jtag_unlock_check_req

Request message for disabling jtag unlock check

Parameter Type Description
hdr struct tisci_header Standard TISCI header
identifier u8 One of the entries from enum tisci_jtag_disable_check_identifier

struct tisci_msg_disable_jtag_unlock_check_resp

Response message after disabling jtag unlock check

Parameter Type Description
hdr struct tisci_header Standard TISCI header
value u8 Value of jtag unlock check

JTAG Disable Check Identifier

This enumeration is used in TISCI_MSG_DISABLE_JTAG_UNLOCK_CHECK

enum tisci_jtag_disable_check_identifier

JTAG Disable check Identifiers

Enum Value Description
JTAG_DISABLE_CHECK_SET 0 JTAG Disable check set
JTAG_DISABLE_CHECK_CLEAR 1 JTAG Disable check clear
JTAG_DISABLE_CHECK_GET 2 JTAG Disable check get