Lines Matching refs:soc_pm
46 static struct at91_soc_pm soc_pm = { variable
63 __raw_readl(soc_pm.data.ramc[id] + field)
66 __raw_writel(value, soc_pm.data.ramc[id] + field)
139 if (!soc_pm.data.pmc || !soc_pm.data.shdwc || !soc_pm.ws_ids) in at91_pm_config_ws()
143 writel(mode, soc_pm.data.pmc + AT91_PMC_FSMR); in at91_pm_config_ws()
147 if (soc_pm.config_shdwc_ws) in at91_pm_config_ws()
148 soc_pm.config_shdwc_ws(soc_pm.data.shdwc, &mode, &polarity); in at91_pm_config_ws()
151 val = readl(soc_pm.data.shdwc + 0x04); in at91_pm_config_ws()
154 for_each_matching_node_and_match(np, soc_pm.ws_ids, &match) { in at91_pm_config_ws()
176 if (soc_pm.config_pmc_ws) in at91_pm_config_ws()
177 soc_pm.config_pmc_ws(soc_pm.data.pmc, mode, polarity); in at91_pm_config_ws()
220 soc_pm.data.mode = soc_pm.data.suspend_mode; in at91_pm_begin()
224 soc_pm.data.mode = soc_pm.data.standby_mode; in at91_pm_begin()
228 soc_pm.data.mode = -1; in at91_pm_begin()
231 return at91_pm_config_ws(soc_pm.data.mode, true); in at91_pm_begin()
243 scsr = readl(soc_pm.data.pmc + AT91_PMC_SCSR); in at91_pm_verify_clocks()
246 if ((scsr & soc_pm.data.uhp_udp_mask) != 0) { in at91_pm_verify_clocks()
257 css = readl(soc_pm.data.pmc + AT91_PMC_PCKR(i)) & AT91_PMC_CSS; in at91_pm_verify_clocks()
279 return (soc_pm.data.mode >= AT91_PM_ULP0); in at91_suspend_entering_slow_clock()
292 at91_suspend_sram_fn(&soc_pm.data); in at91_suspend_finish()
299 if (soc_pm.data.mode == AT91_PM_BACKUP) { in at91_pm_suspend()
338 if (soc_pm.data.mode >= AT91_PM_ULP0 && in at91_pm_enter()
367 at91_pm_config_ws(soc_pm.data.mode, false); in at91_pm_end()
400 : "r" (0), "r" (soc_pm.data.ramc[0]), in at91rm9200_standby()
423 if (soc_pm.data.ramc[1]) { in at91_ddr_standby()
441 if (soc_pm.data.ramc[1]) in at91_ddr_standby()
448 if (soc_pm.data.ramc[1]) { in at91_ddr_standby()
478 if (soc_pm.data.ramc[1]) { in at91sam9_sdram_standby()
490 if (soc_pm.data.ramc[1]) in at91sam9_sdram_standby()
496 if (soc_pm.data.ramc[1]) in at91sam9_sdram_standby()
529 soc_pm.data.ramc[idx] = of_iomap(np, 0); in at91_dt_ramc()
530 if (!soc_pm.data.ramc[idx]) in at91_dt_ramc()
536 soc_pm.data.memctrl = ramc->memctrl; in at91_dt_ramc()
558 writel(AT91_PMC_PCK, soc_pm.data.pmc + AT91_PMC_SCDR); in at91rm9200_idle()
563 writel(AT91_PMC_PCK, soc_pm.data.pmc + AT91_PMC_SCDR); in at91sam9_idle()
620 return (soc_pm.data.standby_mode == pm_mode || in at91_is_pm_mode_active()
621 soc_pm.data.suspend_mode == pm_mode); in at91_is_pm_mode_active()
643 soc_pm.data.sfrbu = of_iomap(np, 0); in at91_pm_backup_init()
679 iounmap(soc_pm.data.sfrbu); in at91_pm_backup_init()
680 soc_pm.data.sfrbu = NULL; in at91_pm_backup_init()
689 if (soc_pm.data.standby_mode == pm_mode) in at91_pm_use_default_mode()
690 soc_pm.data.standby_mode = AT91_PM_ULP0; in at91_pm_use_default_mode()
691 if (soc_pm.data.suspend_mode == pm_mode) in at91_pm_use_default_mode()
692 soc_pm.data.suspend_mode = AT91_PM_ULP0; in at91_pm_use_default_mode()
716 soc_pm.data.shdwc = of_iomap(np, 0); in at91_pm_modes_init()
730 iounmap(soc_pm.data.shdwc); in at91_pm_modes_init()
731 soc_pm.data.shdwc = NULL; in at91_pm_modes_init()
797 if (modes[i] == soc_pm.data.standby_mode && !standby) { in at91_pm_modes_validate()
802 if (modes[i] == soc_pm.data.suspend_mode && !suspend) { in at91_pm_modes_validate()
809 if (soc_pm.data.suspend_mode == AT91_PM_STANDBY) in at91_pm_modes_validate()
815 pm_modes[soc_pm.data.standby_mode].pattern, in at91_pm_modes_validate()
817 soc_pm.data.standby_mode = mode; in at91_pm_modes_validate()
821 if (soc_pm.data.standby_mode == AT91_PM_ULP0) in at91_pm_modes_validate()
827 pm_modes[soc_pm.data.suspend_mode].pattern, in at91_pm_modes_validate()
829 soc_pm.data.suspend_mode = mode; in at91_pm_modes_validate()
843 soc_pm.data.pmc = of_iomap(pmc_np, 0); in at91_pm_init()
845 if (!soc_pm.data.pmc) { in at91_pm_init()
851 soc_pm.data.uhp_udp_mask = pmc->uhp_udp_mask; in at91_pm_init()
852 soc_pm.data.pmc_mckr_offset = pmc->mckr; in at91_pm_init()
853 soc_pm.data.pmc_version = pmc->version; in at91_pm_init()
863 pm_modes[soc_pm.data.standby_mode].pattern, in at91_pm_init()
864 pm_modes[soc_pm.data.suspend_mode].pattern); in at91_pm_init()
880 soc_pm.data.standby_mode = AT91_PM_STANDBY; in at91rm9200_pm_init()
881 soc_pm.data.suspend_mode = AT91_PM_ULP0; in at91rm9200_pm_init()
907 soc_pm.ws_ids = sam9x60_ws_ids; in sam9x60_pm_init()
908 soc_pm.config_pmc_ws = at91_sam9x60_config_pmc_ws; in sam9x60_pm_init()
921 soc_pm.data.standby_mode = AT91_PM_STANDBY; in at91sam9_pm_init()
922 soc_pm.data.suspend_mode = AT91_PM_ULP0; in at91sam9_pm_init()
957 soc_pm.ws_ids = sama5d2_ws_ids; in sama5d2_pm_init()
958 soc_pm.config_shdwc_ws = at91_sama5d2_config_shdwc_ws; in sama5d2_pm_init()
959 soc_pm.config_pmc_ws = at91_sama5d2_config_pmc_ws; in sama5d2_pm_init()
980 soc_pm.data.standby_mode = standby; in at91_pm_modes_select()
981 soc_pm.data.suspend_mode = suspend; in at91_pm_modes_select()