static void pxa1908_restore_wakeup(void) { if (cpu_is_pxa1908()) writel_relaxed(apbc_timer0, apbc_virt_addr + TIMER0); writel_relaxed(s_awucrm, mpmu_virt_addr + AWUCRM); }
static int __init mmp_regdump_init(void) { if (cpu_is_pxa1908()) { mmp_pmua_regdump_init(); mmp_pmum_regdump_init(); } return 0; }
/* * Enable AP wakeup sources and ports. To enalbe wakeup * ports, it needs both AP side to configure MPMU_APCR * and CP side to configure MPMU_CPCR to really enable * it. To enable wakeup sources, either AP side to set * MPMU_AWUCRM or CP side to set MPMU_CWRCRM can really * enable it. */ static void pxa1908_save_wakeup(void) { if (readl_relaxed(mpmu_virt_addr + APCR) & DISABLE_ALL_WAKEUP_PORTS) { pr_err("NOT All wakeup ports are enabled in APCR!\n"); pr_err("APCR: 0x%x\n", readl_relaxed(mpmu_virt_addr)); BUG(); } s_awucrm = readl_relaxed(mpmu_virt_addr + AWUCRM); if (cpu_is_pxa1908()) { apbc_timer0 = readl_relaxed(apbc_virt_addr + TIMER0); writel_relaxed(0x1 << 7 | apbc_timer0, apbc_virt_addr + TIMER0); } writel_relaxed(s_awucrm | ENABLE_AP_WAKEUP_SOURCES, mpmu_virt_addr + AWUCRM); }