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 #include <soc/at91/sama7-ddr.h> 16 #include <soc/at91/sama7-sfrbu.h> 17 18 #define AT91_MEMCTRL_MC 0 19 #define AT91_MEMCTRL_SDRAMC 1 20 #define AT91_MEMCTRL_DDRSDR 2 21 22 #define AT91_PM_STANDBY 0x00 23 #define AT91_PM_ULP0 0x01 24 #define AT91_PM_ULP0_FAST 0x02 25 #define AT91_PM_ULP1 0x03 26 #define AT91_PM_BACKUP 0x04 27 28 #ifndef __ASSEMBLY__ 29 struct at91_pm_data { 30 void __iomem *pmc; 31 void __iomem *ramc[2]; 32 void __iomem *ramc_phy; 33 unsigned long uhp_udp_mask; 34 unsigned int memctrl; 35 unsigned int mode; 36 void __iomem *shdwc; 37 void __iomem *sfrbu; 38 unsigned int standby_mode; 39 unsigned int suspend_mode; 40 unsigned int pmc_mckr_offset; 41 unsigned int pmc_version; 42 }; 43 #endif 44 45 #endif 46