1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * OMAP4 Power/Reset Management (PRM) function prototypes 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2010 Nokia Corporation 6*4882a593Smuzhiyun * Copyright (C) 2011 Texas Instruments, Inc. 7*4882a593Smuzhiyun * Paul Walmsley 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun #ifndef __ARCH_ASM_MACH_OMAP2_PRMINST44XX_H 10*4882a593Smuzhiyun #define __ARCH_ASM_MACH_OMAP2_PRMINST44XX_H 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #define PRM_INSTANCE_UNKNOWN -1 13*4882a593Smuzhiyun extern s32 omap4_prmst_get_prm_dev_inst(void); 14*4882a593Smuzhiyun void omap4_prminst_set_prm_dev_inst(s32 dev_inst); 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun /* 17*4882a593Smuzhiyun * In an ideal world, we would not export these low-level functions, 18*4882a593Smuzhiyun * but this will probably take some time to fix properly 19*4882a593Smuzhiyun */ 20*4882a593Smuzhiyun extern u32 omap4_prminst_read_inst_reg(u8 part, s16 inst, u16 idx); 21*4882a593Smuzhiyun extern void omap4_prminst_write_inst_reg(u32 val, u8 part, s16 inst, u16 idx); 22*4882a593Smuzhiyun extern u32 omap4_prminst_rmw_inst_reg_bits(u32 mask, u32 bits, u8 part, 23*4882a593Smuzhiyun s16 inst, u16 idx); 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun extern void omap4_prminst_global_warm_sw_reset(void); 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun extern int omap4_prminst_is_hardreset_asserted(u8 shift, u8 part, s16 inst, 28*4882a593Smuzhiyun u16 rstctrl_offs); 29*4882a593Smuzhiyun extern int omap4_prminst_assert_hardreset(u8 shift, u8 part, s16 inst, 30*4882a593Smuzhiyun u16 rstctrl_offs); 31*4882a593Smuzhiyun int omap4_prminst_deassert_hardreset(u8 shift, u8 st_shift, u8 part, 32*4882a593Smuzhiyun s16 inst, u16 rstctrl_offs, 33*4882a593Smuzhiyun u16 rstst_offs); 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun extern void omap_prm_base_init(void); 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun #endif 38