mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-17 22:28:17 +01:00
imx: imx8ulp: enable wdog_ad interrupt in CMC1
Enable wdog_ad interrupt being triggered by CMC1 to CM33 to let CM33 know A35 reset and reinitialize rpmsg. Clear wdog_ad and AD_PERIPH reset interrupt after A35 up, otherwise M33 will always receive interrupt. Reviewed-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
parent
1f7f0dd934
commit
8c453e9d3d
@ -571,6 +571,19 @@ int arch_cpu_init(void)
|
|||||||
int ret;
|
int ret;
|
||||||
bool rdc_en = true; /* Default assume DBD_EN is set */
|
bool rdc_en = true; /* Default assume DBD_EN is set */
|
||||||
|
|
||||||
|
/* Enable System Reset Interrupt using WDOG_AD */
|
||||||
|
setbits_le32(CMC1_BASE_ADDR + 0x8C, BIT(13));
|
||||||
|
/* Clear AD_PERIPH Power switch domain out of reset interrupt flag */
|
||||||
|
setbits_le32(CMC1_BASE_ADDR + 0x70, BIT(4));
|
||||||
|
|
||||||
|
if (readl(CMC1_BASE_ADDR + 0x90) & BIT(13)) {
|
||||||
|
/* Clear System Reset Interrupt Flag Register of WDOG_AD */
|
||||||
|
setbits_le32(CMC1_BASE_ADDR + 0x90, BIT(13));
|
||||||
|
/* Reset WDOG to clear reset request */
|
||||||
|
pcc_reset_peripheral(3, WDOG3_PCC3_SLOT, true);
|
||||||
|
pcc_reset_peripheral(3, WDOG3_PCC3_SLOT, false);
|
||||||
|
}
|
||||||
|
|
||||||
/* Disable wdog */
|
/* Disable wdog */
|
||||||
init_wdog();
|
init_wdog();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user