1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * TI pm33xx platform data 4 * 5 * Copyright (C) 2016-2018 Texas Instruments, Inc. 6 * Dave Gerlach <d-gerlach@ti.com> 7 */ 8 9 #ifndef _LINUX_PLATFORM_DATA_PM33XX_H 10 #define _LINUX_PLATFORM_DATA_PM33XX_H 11 12 #include <linux/kbuild.h> 13 #include <linux/types.h> 14 15 #ifndef __ASSEMBLER__ 16 struct am33xx_pm_sram_addr { 17 void (*do_wfi)(void); 18 unsigned long *do_wfi_sz; 19 unsigned long *resume_offset; 20 unsigned long *emif_sram_table; 21 unsigned long *ro_sram_data; 22 }; 23 24 struct am33xx_pm_platform_data { 25 int (*init)(void); 26 int (*soc_suspend)(unsigned int state, int (*fn)(unsigned long)); 27 struct am33xx_pm_sram_addr *(*get_sram_addrs)(void); 28 }; 29 30 struct am33xx_pm_sram_data { 31 u32 wfi_flags; 32 u32 l2_aux_ctrl_val; 33 u32 l2_prefetch_ctrl_val; 34 } __packed __aligned(8); 35 36 struct am33xx_pm_ro_sram_data { 37 u32 amx3_pm_sram_data_virt; 38 u32 amx3_pm_sram_data_phys; 39 } __packed __aligned(8); 40 41 #endif /* __ASSEMBLER__ */ 42 #endif /* _LINUX_PLATFORM_DATA_PM33XX_H */ 43