18c2ecf20Sopenharmony_ci/*
28c2ecf20Sopenharmony_ci * arch/arm/mach-omap1/pm.h
38c2ecf20Sopenharmony_ci *
48c2ecf20Sopenharmony_ci * Header file for OMAP1 Power Management Routines
58c2ecf20Sopenharmony_ci *
68c2ecf20Sopenharmony_ci * Author: MontaVista Software, Inc.
78c2ecf20Sopenharmony_ci *	   support@mvista.com
88c2ecf20Sopenharmony_ci *
98c2ecf20Sopenharmony_ci * Copyright 2002 MontaVista Software Inc.
108c2ecf20Sopenharmony_ci *
118c2ecf20Sopenharmony_ci * Cleanup 2004 for Linux 2.6 by Dirk Behme <dirk.behme@de.bosch.com>
128c2ecf20Sopenharmony_ci *
138c2ecf20Sopenharmony_ci * This program is free software; you can redistribute it and/or modify it
148c2ecf20Sopenharmony_ci * under the terms of the GNU General Public License as published by the
158c2ecf20Sopenharmony_ci * Free Software Foundation; either version 2 of the License, or (at your
168c2ecf20Sopenharmony_ci * option) any later version.
178c2ecf20Sopenharmony_ci *
188c2ecf20Sopenharmony_ci * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
198c2ecf20Sopenharmony_ci * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
208c2ecf20Sopenharmony_ci * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
218c2ecf20Sopenharmony_ci * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
228c2ecf20Sopenharmony_ci * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
238c2ecf20Sopenharmony_ci * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
248c2ecf20Sopenharmony_ci * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
258c2ecf20Sopenharmony_ci * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
268c2ecf20Sopenharmony_ci * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
278c2ecf20Sopenharmony_ci * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
288c2ecf20Sopenharmony_ci *
298c2ecf20Sopenharmony_ci * You should have received a copy of the GNU General Public License along
308c2ecf20Sopenharmony_ci * with this program; if not, write to the Free Software Foundation, Inc.,
318c2ecf20Sopenharmony_ci * 675 Mass Ave, Cambridge, MA 02139, USA.
328c2ecf20Sopenharmony_ci */
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci#ifndef __ARCH_ARM_MACH_OMAP1_PM_H
358c2ecf20Sopenharmony_ci#define __ARCH_ARM_MACH_OMAP1_PM_H
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci/*
388c2ecf20Sopenharmony_ci * ----------------------------------------------------------------------------
398c2ecf20Sopenharmony_ci * Register and offset definitions to be used in PM assembler code
408c2ecf20Sopenharmony_ci * ----------------------------------------------------------------------------
418c2ecf20Sopenharmony_ci */
428c2ecf20Sopenharmony_ci#define CLKGEN_REG_ASM_BASE		OMAP1_IO_ADDRESS(0xfffece00)
438c2ecf20Sopenharmony_ci#define ARM_IDLECT1_ASM_OFFSET		0x04
448c2ecf20Sopenharmony_ci#define ARM_IDLECT2_ASM_OFFSET		0x08
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci#define TCMIF_ASM_BASE			OMAP1_IO_ADDRESS(0xfffecc00)
478c2ecf20Sopenharmony_ci#define EMIFS_CONFIG_ASM_OFFSET		0x0c
488c2ecf20Sopenharmony_ci#define EMIFF_SDRAM_CONFIG_ASM_OFFSET	0x20
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci/*
518c2ecf20Sopenharmony_ci * ----------------------------------------------------------------------------
528c2ecf20Sopenharmony_ci * Power management bitmasks
538c2ecf20Sopenharmony_ci * ----------------------------------------------------------------------------
548c2ecf20Sopenharmony_ci */
558c2ecf20Sopenharmony_ci#define IDLE_WAIT_CYCLES		0x00000fff
568c2ecf20Sopenharmony_ci#define PERIPHERAL_ENABLE		0x2
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci#define SELF_REFRESH_MODE		0x0c000001
598c2ecf20Sopenharmony_ci#define IDLE_EMIFS_REQUEST		0xc
608c2ecf20Sopenharmony_ci#define MODEM_32K_EN			0x1
618c2ecf20Sopenharmony_ci#define PER_EN				0x1
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci#define CPU_SUSPEND_SIZE		200
648c2ecf20Sopenharmony_ci#define ULPD_LOW_PWR_EN			0x0001
658c2ecf20Sopenharmony_ci#define ULPD_DEEP_SLEEP_TRANSITION_EN	0x0010
668c2ecf20Sopenharmony_ci#define ULPD_SETUP_ANALOG_CELL_3_VAL	0
678c2ecf20Sopenharmony_ci#define ULPD_POWER_CTRL_REG_VAL		0x0219
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci#define DSP_IDLE_DELAY			10
708c2ecf20Sopenharmony_ci#define DSP_IDLE			0x0040
718c2ecf20Sopenharmony_ci#define DSP_RST				0x0004
728c2ecf20Sopenharmony_ci#define DSP_ENABLE			0x0002
738c2ecf20Sopenharmony_ci#define SUFFICIENT_DSP_RESET_TIME	1000
748c2ecf20Sopenharmony_ci#define DEFAULT_MPUI_CONFIG		0x05cf
758c2ecf20Sopenharmony_ci#define ENABLE_XORCLK			0x2
768c2ecf20Sopenharmony_ci#define DSP_CLOCK_ENABLE		0x2000
778c2ecf20Sopenharmony_ci#define DSP_IDLE_MODE			0x2
788c2ecf20Sopenharmony_ci#define TC_IDLE_REQUEST			(0x0000000c)
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci#define IRQ_LEVEL2			(1<<0)
818c2ecf20Sopenharmony_ci#define IRQ_KEYBOARD			(1<<1)
828c2ecf20Sopenharmony_ci#define IRQ_UART2			(1<<15)
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci#define PDE_BIT				0x08
858c2ecf20Sopenharmony_ci#define PWD_EN_BIT			0x04
868c2ecf20Sopenharmony_ci#define EN_PERCK_BIT			0x04
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci#define OMAP1510_DEEP_SLEEP_REQUEST	0x0ec7
898c2ecf20Sopenharmony_ci#define OMAP1510_BIG_SLEEP_REQUEST	0x0cc5
908c2ecf20Sopenharmony_ci#define OMAP1510_IDLE_LOOP_REQUEST	0x0c00
918c2ecf20Sopenharmony_ci#define OMAP1510_IDLE_CLOCK_DOMAINS	0x2
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ci/* Both big sleep and deep sleep use same values. Difference is in ULPD. */
948c2ecf20Sopenharmony_ci#define OMAP1610_IDLECT1_SLEEP_VAL	0x13c7
958c2ecf20Sopenharmony_ci#define OMAP1610_IDLECT2_SLEEP_VAL	0x09c7
968c2ecf20Sopenharmony_ci#define OMAP1610_IDLECT3_VAL		0x3f
978c2ecf20Sopenharmony_ci#define OMAP1610_IDLECT3_SLEEP_ORMASK	0x2c
988c2ecf20Sopenharmony_ci#define OMAP1610_IDLECT3		0xfffece24
998c2ecf20Sopenharmony_ci#define OMAP1610_IDLE_LOOP_REQUEST	0x0400
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci#define OMAP7XX_IDLECT1_SLEEP_VAL	0x16c7
1028c2ecf20Sopenharmony_ci#define OMAP7XX_IDLECT2_SLEEP_VAL	0x09c7
1038c2ecf20Sopenharmony_ci#define OMAP7XX_IDLECT3_VAL		0x3f
1048c2ecf20Sopenharmony_ci#define OMAP7XX_IDLECT3		0xfffece24
1058c2ecf20Sopenharmony_ci#define OMAP7XX_IDLE_LOOP_REQUEST	0x0C00
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci#if     !defined(CONFIG_ARCH_OMAP730) && \
1088c2ecf20Sopenharmony_ci	!defined(CONFIG_ARCH_OMAP850) && \
1098c2ecf20Sopenharmony_ci	!defined(CONFIG_ARCH_OMAP15XX) && \
1108c2ecf20Sopenharmony_ci	!defined(CONFIG_ARCH_OMAP16XX)
1118c2ecf20Sopenharmony_ci#warning "Power management for this processor not implemented yet"
1128c2ecf20Sopenharmony_ci#endif
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci#ifndef __ASSEMBLER__
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci#include <linux/clk.h>
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ciextern struct kset power_subsys;
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ciextern void prevent_idle_sleep(void);
1218c2ecf20Sopenharmony_ciextern void allow_idle_sleep(void);
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ciextern void omap1_pm_idle(void);
1248c2ecf20Sopenharmony_ciextern void omap1_pm_suspend(void);
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ciextern void omap7xx_cpu_suspend(unsigned long, unsigned long);
1278c2ecf20Sopenharmony_ciextern void omap1510_cpu_suspend(unsigned long, unsigned long);
1288c2ecf20Sopenharmony_ciextern void omap1610_cpu_suspend(unsigned long, unsigned long);
1298c2ecf20Sopenharmony_ciextern void omap7xx_idle_loop_suspend(void);
1308c2ecf20Sopenharmony_ciextern void omap1510_idle_loop_suspend(void);
1318c2ecf20Sopenharmony_ciextern void omap1610_idle_loop_suspend(void);
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ciextern unsigned int omap7xx_cpu_suspend_sz;
1348c2ecf20Sopenharmony_ciextern unsigned int omap1510_cpu_suspend_sz;
1358c2ecf20Sopenharmony_ciextern unsigned int omap1610_cpu_suspend_sz;
1368c2ecf20Sopenharmony_ciextern unsigned int omap7xx_idle_loop_suspend_sz;
1378c2ecf20Sopenharmony_ciextern unsigned int omap1510_idle_loop_suspend_sz;
1388c2ecf20Sopenharmony_ciextern unsigned int omap1610_idle_loop_suspend_sz;
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ci#ifdef CONFIG_OMAP_SERIAL_WAKE
1418c2ecf20Sopenharmony_ciextern void omap_serial_wake_trigger(int enable);
1428c2ecf20Sopenharmony_ci#else
1438c2ecf20Sopenharmony_ci#define omap_serial_wakeup_init()	{}
1448c2ecf20Sopenharmony_ci#define omap_serial_wake_trigger(x)	{}
1458c2ecf20Sopenharmony_ci#endif	/* CONFIG_OMAP_SERIAL_WAKE */
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ci#define ARM_SAVE(x) arm_sleep_save[ARM_SLEEP_SAVE_##x] = omap_readl(x)
1488c2ecf20Sopenharmony_ci#define ARM_RESTORE(x) omap_writel((arm_sleep_save[ARM_SLEEP_SAVE_##x]), (x))
1498c2ecf20Sopenharmony_ci#define ARM_SHOW(x) arm_sleep_save[ARM_SLEEP_SAVE_##x]
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ci#define DSP_SAVE(x) dsp_sleep_save[DSP_SLEEP_SAVE_##x] = __raw_readw(x)
1528c2ecf20Sopenharmony_ci#define DSP_RESTORE(x) __raw_writew((dsp_sleep_save[DSP_SLEEP_SAVE_##x]), (x))
1538c2ecf20Sopenharmony_ci#define DSP_SHOW(x) dsp_sleep_save[DSP_SLEEP_SAVE_##x]
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ci#define ULPD_SAVE(x) ulpd_sleep_save[ULPD_SLEEP_SAVE_##x] = omap_readw(x)
1568c2ecf20Sopenharmony_ci#define ULPD_RESTORE(x) omap_writew((ulpd_sleep_save[ULPD_SLEEP_SAVE_##x]), (x))
1578c2ecf20Sopenharmony_ci#define ULPD_SHOW(x) ulpd_sleep_save[ULPD_SLEEP_SAVE_##x]
1588c2ecf20Sopenharmony_ci
1598c2ecf20Sopenharmony_ci#define MPUI7XX_SAVE(x) mpui7xx_sleep_save[MPUI7XX_SLEEP_SAVE_##x] = omap_readl(x)
1608c2ecf20Sopenharmony_ci#define MPUI7XX_RESTORE(x) omap_writel((mpui7xx_sleep_save[MPUI7XX_SLEEP_SAVE_##x]), (x))
1618c2ecf20Sopenharmony_ci#define MPUI7XX_SHOW(x) mpui7xx_sleep_save[MPUI7XX_SLEEP_SAVE_##x]
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ci#define MPUI1510_SAVE(x) mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x] = omap_readl(x)
1648c2ecf20Sopenharmony_ci#define MPUI1510_RESTORE(x) omap_writel((mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x]), (x))
1658c2ecf20Sopenharmony_ci#define MPUI1510_SHOW(x) mpui1510_sleep_save[MPUI1510_SLEEP_SAVE_##x]
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ci#define MPUI1610_SAVE(x) mpui1610_sleep_save[MPUI1610_SLEEP_SAVE_##x] = omap_readl(x)
1688c2ecf20Sopenharmony_ci#define MPUI1610_RESTORE(x) omap_writel((mpui1610_sleep_save[MPUI1610_SLEEP_SAVE_##x]), (x))
1698c2ecf20Sopenharmony_ci#define MPUI1610_SHOW(x) mpui1610_sleep_save[MPUI1610_SLEEP_SAVE_##x]
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ci/*
1728c2ecf20Sopenharmony_ci * List of global OMAP registers to preserve.
1738c2ecf20Sopenharmony_ci * More ones like CP and general purpose register values are preserved
1748c2ecf20Sopenharmony_ci * with the stack pointer in sleep.S.
1758c2ecf20Sopenharmony_ci */
1768c2ecf20Sopenharmony_ci
1778c2ecf20Sopenharmony_cienum arm_save_state {
1788c2ecf20Sopenharmony_ci	ARM_SLEEP_SAVE_START = 0,
1798c2ecf20Sopenharmony_ci	/*
1808c2ecf20Sopenharmony_ci	 * MPU control registers 32 bits
1818c2ecf20Sopenharmony_ci	 */
1828c2ecf20Sopenharmony_ci	ARM_SLEEP_SAVE_ARM_CKCTL,
1838c2ecf20Sopenharmony_ci	ARM_SLEEP_SAVE_ARM_IDLECT1,
1848c2ecf20Sopenharmony_ci	ARM_SLEEP_SAVE_ARM_IDLECT2,
1858c2ecf20Sopenharmony_ci	ARM_SLEEP_SAVE_ARM_IDLECT3,
1868c2ecf20Sopenharmony_ci	ARM_SLEEP_SAVE_ARM_EWUPCT,
1878c2ecf20Sopenharmony_ci	ARM_SLEEP_SAVE_ARM_RSTCT1,
1888c2ecf20Sopenharmony_ci	ARM_SLEEP_SAVE_ARM_RSTCT2,
1898c2ecf20Sopenharmony_ci	ARM_SLEEP_SAVE_ARM_SYSST,
1908c2ecf20Sopenharmony_ci	ARM_SLEEP_SAVE_SIZE
1918c2ecf20Sopenharmony_ci};
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_cienum dsp_save_state {
1948c2ecf20Sopenharmony_ci	DSP_SLEEP_SAVE_START = 0,
1958c2ecf20Sopenharmony_ci	/*
1968c2ecf20Sopenharmony_ci	 * DSP registers 16 bits
1978c2ecf20Sopenharmony_ci	 */
1988c2ecf20Sopenharmony_ci	DSP_SLEEP_SAVE_DSP_IDLECT2,
1998c2ecf20Sopenharmony_ci	DSP_SLEEP_SAVE_SIZE
2008c2ecf20Sopenharmony_ci};
2018c2ecf20Sopenharmony_ci
2028c2ecf20Sopenharmony_cienum ulpd_save_state {
2038c2ecf20Sopenharmony_ci	ULPD_SLEEP_SAVE_START = 0,
2048c2ecf20Sopenharmony_ci	/*
2058c2ecf20Sopenharmony_ci	 * ULPD registers 16 bits
2068c2ecf20Sopenharmony_ci	 */
2078c2ecf20Sopenharmony_ci	ULPD_SLEEP_SAVE_ULPD_IT_STATUS,
2088c2ecf20Sopenharmony_ci	ULPD_SLEEP_SAVE_ULPD_CLOCK_CTRL,
2098c2ecf20Sopenharmony_ci	ULPD_SLEEP_SAVE_ULPD_SOFT_REQ,
2108c2ecf20Sopenharmony_ci	ULPD_SLEEP_SAVE_ULPD_STATUS_REQ,
2118c2ecf20Sopenharmony_ci	ULPD_SLEEP_SAVE_ULPD_DPLL_CTRL,
2128c2ecf20Sopenharmony_ci	ULPD_SLEEP_SAVE_ULPD_POWER_CTRL,
2138c2ecf20Sopenharmony_ci	ULPD_SLEEP_SAVE_SIZE
2148c2ecf20Sopenharmony_ci};
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_cienum mpui1510_save_state {
2178c2ecf20Sopenharmony_ci	MPUI1510_SLEEP_SAVE_START = 0,
2188c2ecf20Sopenharmony_ci	/*
2198c2ecf20Sopenharmony_ci	 * MPUI registers 32 bits
2208c2ecf20Sopenharmony_ci	 */
2218c2ecf20Sopenharmony_ci	MPUI1510_SLEEP_SAVE_MPUI_CTRL,
2228c2ecf20Sopenharmony_ci	MPUI1510_SLEEP_SAVE_MPUI_DSP_BOOT_CONFIG,
2238c2ecf20Sopenharmony_ci	MPUI1510_SLEEP_SAVE_MPUI_DSP_API_CONFIG,
2248c2ecf20Sopenharmony_ci	MPUI1510_SLEEP_SAVE_MPUI_DSP_STATUS,
2258c2ecf20Sopenharmony_ci	MPUI1510_SLEEP_SAVE_EMIFF_SDRAM_CONFIG,
2268c2ecf20Sopenharmony_ci	MPUI1510_SLEEP_SAVE_EMIFS_CONFIG,
2278c2ecf20Sopenharmony_ci	MPUI1510_SLEEP_SAVE_OMAP_IH1_MIR,
2288c2ecf20Sopenharmony_ci	MPUI1510_SLEEP_SAVE_OMAP_IH2_MIR,
2298c2ecf20Sopenharmony_ci#if defined(CONFIG_ARCH_OMAP15XX)
2308c2ecf20Sopenharmony_ci	MPUI1510_SLEEP_SAVE_SIZE
2318c2ecf20Sopenharmony_ci#else
2328c2ecf20Sopenharmony_ci	MPUI1510_SLEEP_SAVE_SIZE = 0
2338c2ecf20Sopenharmony_ci#endif
2348c2ecf20Sopenharmony_ci};
2358c2ecf20Sopenharmony_ci
2368c2ecf20Sopenharmony_cienum mpui7xx_save_state {
2378c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_START = 0,
2388c2ecf20Sopenharmony_ci	/*
2398c2ecf20Sopenharmony_ci	 * MPUI registers 32 bits
2408c2ecf20Sopenharmony_ci	 */
2418c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_MPUI_CTRL,
2428c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_MPUI_DSP_BOOT_CONFIG,
2438c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_MPUI_DSP_API_CONFIG,
2448c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_MPUI_DSP_STATUS,
2458c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_EMIFF_SDRAM_CONFIG,
2468c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_EMIFS_CONFIG,
2478c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_OMAP_IH1_MIR,
2488c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_OMAP_IH2_0_MIR,
2498c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_OMAP_IH2_1_MIR,
2508c2ecf20Sopenharmony_ci#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
2518c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_SIZE
2528c2ecf20Sopenharmony_ci#else
2538c2ecf20Sopenharmony_ci	MPUI7XX_SLEEP_SAVE_SIZE = 0
2548c2ecf20Sopenharmony_ci#endif
2558c2ecf20Sopenharmony_ci};
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_cienum mpui1610_save_state {
2588c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_START = 0,
2598c2ecf20Sopenharmony_ci	/*
2608c2ecf20Sopenharmony_ci	 * MPUI registers 32 bits
2618c2ecf20Sopenharmony_ci	 */
2628c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_MPUI_CTRL,
2638c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_MPUI_DSP_BOOT_CONFIG,
2648c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_MPUI_DSP_API_CONFIG,
2658c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_MPUI_DSP_STATUS,
2668c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_EMIFF_SDRAM_CONFIG,
2678c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_EMIFS_CONFIG,
2688c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_OMAP_IH1_MIR,
2698c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_OMAP_IH2_0_MIR,
2708c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_OMAP_IH2_1_MIR,
2718c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_OMAP_IH2_2_MIR,
2728c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_OMAP_IH2_3_MIR,
2738c2ecf20Sopenharmony_ci#if defined(CONFIG_ARCH_OMAP16XX)
2748c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_SIZE
2758c2ecf20Sopenharmony_ci#else
2768c2ecf20Sopenharmony_ci	MPUI1610_SLEEP_SAVE_SIZE = 0
2778c2ecf20Sopenharmony_ci#endif
2788c2ecf20Sopenharmony_ci};
2798c2ecf20Sopenharmony_ci
2808c2ecf20Sopenharmony_ci#endif /* ASSEMBLER */
2818c2ecf20Sopenharmony_ci#endif /* __ASM_ARCH_OMAP_PM_H */
282