UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 64275

Zynq-7000 AP SoC: booting in secure mode, how do I enable JTAG?

Description

When booting Zynq in secure mode, JTAG is disabled by default.  

(UG585) implies that JTAG can be turned back on, how do I do this?

Solution

Assuming that the eFuse to disable JTAG is not blown (XSK_EFUSEPL_DISABLE_JTAG_CHAIN), these are the register settings to re-enable JTAG:
 

  • devcfg.CTRL{DAP_EN}  = 1 
  • devcfg.CTRL{DBGEN}  = 1 
  • devcfg.CTRL{NIDEN}  = 1 
  • devcfg.CTRL{JTAG_CHAIN_DIS}  = 0 
 

The following code can be added in the FSBL to re-enable JTAG:

                u32 reg_addr, reg_data;
 

                //xil_printf("enable jtag dap \r\n");

                /* DEVCFG CTRL enable DAP*/

                reg_addr = 0xF8007000 + 0x00;

                reg_data = Xil_In32 (reg_addr);

                reg_data |= 0x7F; /* DAP enable */

                reg_data &= ~(0x00800000); /* JTAG CHAIN DIS */

                Xil_Out32 (reg_addr, reg_data);

AR# 64275
Date Created 04/15/2015
Last Updated 04/28/2015
Status Active
Type General Article
Devices
  • Zynq-7000