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?


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?


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
  • Zynq-7000