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 | |