How to disable watchdog in init phase for FS6500 SBC chip?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to disable watchdog in init phase for FS6500 SBC chip?

Jump to solution
3,018 Views
chetan_lonshika
Contributor I

I am using SBC FS6500 chip. I want to disable sbc watchdog in bootloader and application will initialize and trigger it. First I established SPI communication between SBC and microcontroller then I tried to set watchdog window to (0000) initially in order to disable it in init phase as per datasheet but its not working and reset happens.

Tags (3)
0 Kudos
1 Solution
2,542 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Chetan,

The watchdog disable (WD_WINDOW_3:0 = 0b0000) is effective only when the INIT_FS phase is closed, so it requires at least one good watchdog refresh (0x4D when using a default LFSR value of 0xB2) within the 256 ms of the INIT_FS timeout.

Best regards,

Tomas

View solution in original post

4 Replies
2,543 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi Chetan,

The watchdog disable (WD_WINDOW_3:0 = 0b0000) is effective only when the INIT_FS phase is closed, so it requires at least one good watchdog refresh (0x4D when using a default LFSR value of 0xB2) within the 256 ms of the INIT_FS timeout.

Best regards,

Tomas

2,542 Views
ramanjineyuluth
Contributor II

Hi Tomas,

 

After disabling the watchdog, PMIC does not wakes up.

How to send good watchdog refresh to exit INIT_FS.

I used below code for good watchdog refresh and disabled watchdog.

 

/* Performs the watchdog refresh. */
 TxDataWithoutCrc[0] = WR_FS_WD_ANSWER | 0x5AB2; /* Normal Watchdog - Default WD_SEED value */
 /* Calculate the 8-bit CRC with POLYNOMIAL 0x1D */
 crc = CalculateCRC8(TxDataWithoutCrc);
 TxData[0] = (TxDataWithoutCrc[0] << 8) | crc;
 SpiTxWord(TxData);

 /* Disable the PMIC Watchdog */
 TxDataWithoutCrc[0] = WR_FS_WD_WINDOW | 0x0200;/* 0=DISABLE, 2=open/close window 50%, 00=Wathcdog recovery disable  */
 /* Calculate the 8-bit CRC with POLYNOMIAL 0x1D */
 crc = CalculateCRC8(TxDataWithoutCrc);
 TxData[0] = (TxDataWithoutCrc[0] << 8) | crc;
 SpiTxWord(TxData);

 

Can you please help me, how to disable the watchdog.

 

Thanks in advance.

0 Kudos
2,542 Views
chetan_lonshika
Contributor I

Its working, Thank you

0 Kudos
2,542 Views
ramanjineyuluth
Contributor II

Hi,

After disabling the watchdog, PMIC does not wakes up.

How to send good watchdog refresh to exit INIT_FS.

I used below code for good watchdog refresh and disabled watchdog.

/* Performs the watchdog refresh. */
 TxDataWithoutCrc[0] = WR_FS_WD_ANSWER | 0x5AB2; /* Normal Watchdog - Default WD_SEED value */
 /* Calculate the 8-bit CRC with POLYNOMIAL 0x1D */
 crc = CalculateCRC8(TxDataWithoutCrc);
 TxData[0] = (TxDataWithoutCrc[0] << 8) | crc;
 SpiTxWord(TxData);

 /* Disable the PMIC Watchdog */
 TxDataWithoutCrc[0] = WR_FS_WD_WINDOW | 0x0200;/* 0=DISABLE, 2=open/close window 50%, 00=Wathcdog recovery disable  */
 /* Calculate the 8-bit CRC with POLYNOMIAL 0x1D */
 crc = CalculateCRC8(TxDataWithoutCrc);
 TxData[0] = (TxDataWithoutCrc[0] << 8) | crc;
 SpiTxWord(TxData);

Can you please help me, how to disable the watchdog.

Thanks in advance.

Thanks,

Ram.

0 Kudos