imx8mm unable to detect a Watchdog Reset

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

imx8mm unable to detect a Watchdog Reset

ソリューションへジャンプ
1,114件の閲覧回数
Jarvis3345
Contributor II

Hi Team,
Im trying to enable and test the WDT on my imx8mm, Iam able to trigger the WDT within the timeout i have set by writing it to the WT bit (of WCR) and enabling the WDE bit of the WCR(watchdog control register) as per the manual.
But after every rest the WDOGx_WRSR register's POR bit and the TOUT bit is always shoing the reset as an POR.
As per the description it is clear that the WRSR is not cleared by a hard reset
Any help on the above issue will be helpful.

Abiram_0-1731502191262.pngAbiram_1-1731502221390.png

Abiram_2-1731502283553.png

 

ラベル(1)
0 件の賞賛
返信
1 解決策
961件の閲覧回数
Jarvis3345
Contributor II

I have found the issue the watchdog reset is resulting  both cold boot and WD reset because of which the  SOC’s SRSR register is reporting the same cause which is PO reset
solution is by reading the i2c register value of the PMIC using i2cget -f -y 0 0x4b 0x29 since my PMIC is bd71847
Thanks

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
962件の閲覧回数
Jarvis3345
Contributor II

I have found the issue the watchdog reset is resulting  both cold boot and WD reset because of which the  SOC’s SRSR register is reporting the same cause which is PO reset
solution is by reading the i2c register value of the PMIC using i2cget -f -y 0 0x4b 0x29 since my PMIC is bd71847
Thanks

0 件の賞賛
返信
1,087件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

Which is your routine to clear and to enable the watchdog?, since you can do it with the BSP.

Regards

0 件の賞賛
返信
1,070件の閲覧回数
Jarvis3345
Contributor II

I'm integrating my code onto the uboot source code and enabling the WDT.
since a 16 bit acces is required im making use of this method

#define writew(val, addr) (void)((*(volatile uint16_t *)(addr)) = (val))
//service the wdt
writew(0x5555, 0x30280002)
writew(0xAAAA, 0x30280002)
//enable wde bit of WCR
wde = *(volatile uint16_t *)(0x30280000 );
wde |= 0x0004;
writew(wde, 0x30280000);

Let me know if there is any other way possible to achieve the same a detect a WDT reset.

 
0 件の賞賛
返信