cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
sivaas
Observer
Observer
1,076 Views
Registered: ‎08-10-2016

Enable WDT for Zynq MP

Hello,

Trying to add the WDT for my Zynq MP board. As per https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842055/Cadence+WDT+Driver ENABLE_RECOVERY needs to be added in PMU. But when i enable this flag, i get an error as 

"ENABLE_RECOVERY is defined but psu_tcc_9 is not assigned to PMU" xpfw_restart.c /pmu_test_wdg_180/src line 79 " and 

"ENABLE_RECOVERY is defined but psu_wdt_1 is not assigned to PMU" xpfw_restart.c /pmu_test_wdg_180/src line 72"

What am i missing?

 

Tags (3)
0 Kudos
4 Replies
ritakur
Xilinx Employee
Xilinx Employee
1,035 Views
Registered: ‎09-01-2014

Per wiki page, ENABLE_EM, ENABLE_PM flags also need to be enabled
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841724/PMU+Firmware
0 Kudos
sivaas
Observer
Observer
1,018 Views
Registered: ‎08-10-2016

These flags are already added.

0 Kudos
makula
Xilinx Employee
Xilinx Employee
970 Views
Registered: ‎06-20-2018

These errors come when TTC and WDT1 are not enabled in the Vivado design or they are isolated to PMU through Vivado isolation configuration settings. Please make sure that your design contains these two components enabled and accessible to PMU

0 Kudos
pthomas
Adventurer
Adventurer
860 Views
Registered: ‎04-22-2015

Hello,

This still wasn't completly clear, here is some more info. This is what I would have wanted to come up in a web search. There is a bit of a disconnect with the naming conventions in this post and those in Vivado 2019.1. Here is a screenshot showing the settings in Vivado:

Screenshot_20190909_113357.png

SWDT 1 generates this in the bsp in xparameters.h

/* Definitions for peripheral PSU_WDT_1 */
#define XPAR_PSU_WDT_1_DEVICE_ID 0

And TTC 3 generates this is the bsp in xparameters.h

/* Definitions for peripheral PSU_TTC_3 */
#define XPAR_PSU_TTC_9_DEVICE_ID 9U
#define XPAR_PSU_TTC_9_BASEADDR 0XFF140000U
#define XPAR_PSU_TTC_9_TTC_CLK_FREQ_HZ 100000000U
#define XPAR_PSU_TTC_9_TTC_CLK_CLKSRC 0U

Also, the wiki says that ENABLE_RECOVERY needs to be set in the pmufw, but for me the settings below from xpfw_config.h work.

#define	ENABLE_SCHEDULER_VAL			(1U)

/* FPD WDT recovery action */
#ifdef ENABLE_RECOVERY
#define FPD_WDT_EM_ACTION EM_ACTION_CUSTOM
#else
#define FPD_WDT_EM_ACTION EM_ACTION_POR//EM_ACTION_SRST
#endif

thanks,

Paul