|
|
@ -73,6 +73,7 @@ static void __secure ls1_deepsleep_irq_cfg(void) |
|
|
|
* read, that is why we don't read it from register ippdexpcr1 itself. |
|
|
|
* read, that is why we don't read it from register ippdexpcr1 itself. |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
ippdexpcr1 = in_le32(&scfg->sparecr[7]); |
|
|
|
ippdexpcr1 = in_le32(&scfg->sparecr[7]); |
|
|
|
|
|
|
|
out_be32(&rcpm->ippdexpcr1, ippdexpcr1); |
|
|
|
|
|
|
|
|
|
|
|
if (ippdexpcr0 & RCPM_IPPDEXPCR0_ETSEC) |
|
|
|
if (ippdexpcr0 & RCPM_IPPDEXPCR0_ETSEC) |
|
|
|
pmcintecr |= SCFG_PMCINTECR_ETSECRXG0 | |
|
|
|
pmcintecr |= SCFG_PMCINTECR_ETSECRXG0 | |
|
|
@ -192,6 +193,9 @@ static void __secure ls1_deep_sleep(u32 entry_point) |
|
|
|
setbits_be32(&scfg->dpslpcr, SCFG_DPSLPCR_WDRR_EN); |
|
|
|
setbits_be32(&scfg->dpslpcr, SCFG_DPSLPCR_WDRR_EN); |
|
|
|
setbits_be32(&gur->crstsr, DCFG_CRSTSR_WDRFR); |
|
|
|
setbits_be32(&gur->crstsr, DCFG_CRSTSR_WDRFR); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Disable QE */ |
|
|
|
|
|
|
|
setbits_be32(&gur->devdisr, CCSR_DEVDISR1_QE); |
|
|
|
|
|
|
|
|
|
|
|
ls1_deepsleep_irq_cfg(); |
|
|
|
ls1_deepsleep_irq_cfg(); |
|
|
|
|
|
|
|
|
|
|
|
psci_v7_flush_dcache_all(); |
|
|
|
psci_v7_flush_dcache_all(); |
|
|
|