1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * AT91 Power Management 4 * 5 * Copyright (C) 2005 David Brownell 6 */ 7 #ifndef __ARCH_ARM_MACH_AT91_PM 8 #define __ARCH_ARM_MACH_AT91_PM 9 10 #include <asm/proc-fns.h> 11 12 #include <linux/mfd/syscon/atmel-mc.h> 13 #include <soc/at91/at91sam9_ddrsdr.h> 14 #include <soc/at91/at91sam9_sdramc.h> 15 16 #define AT91_MEMCTRL_MC 0 17 #define AT91_MEMCTRL_SDRAMC 1 18 #define AT91_MEMCTRL_DDRSDR 2 19 20 #define AT91_PM_STANDBY 0x00 21 #define AT91_PM_ULP0 0x01 22 #define AT91_PM_ULP0_FAST 0x02 23 #define AT91_PM_ULP1 0x03 24 #define AT91_PM_BACKUP 0x04 25 26 #ifndef __ASSEMBLY__ 27 struct at91_pm_data { 28 void __iomem *pmc; 29 void __iomem *ramc[2]; 30 unsigned long uhp_udp_mask; 31 unsigned int memctrl; 32 unsigned int mode; 33 void __iomem *shdwc; 34 void __iomem *sfrbu; 35 unsigned int standby_mode; 36 unsigned int suspend_mode; 37 unsigned int pmc_mckr_offset; 38 unsigned int pmc_version; 39 }; 40 #endif 41 42 #endif 43