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