2013-05-29 12:38:01 -04:00
/*
* OMAP44xx and 54 xx PRM common functions
*
* Copyright ( C ) 2009 - 2013 Texas Instruments , Inc .
* Copyright ( C ) 2009 - 2010 Nokia Corporation
*
* Paul Walmsley ( paul @ pwsan . com )
* Rajendra Nayak ( rnayak @ ti . com )
* Benoit Cousson ( b - cousson @ ti . com )
*
* This file is automatically generated from the OMAP hardware databases .
* We respectfully ask that any modifications to this file be coordinated
* with the public linux - omap @ vger . kernel . org mailing list and the
* authors above to ensure that the autogeneration scripts are kept
* up - to - date with the file contents .
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*
*/
# ifndef __ARCH_ARM_MACH_OMAP2_PRM44XX_54XX_H
# define __ARCH_ARM_MACH_OMAP2_PRM44XX_54XX_H
/* Function prototypes */
# ifndef __ASSEMBLER__
extern u32 omap4_prm_read_inst_reg ( s16 inst , u16 idx ) ;
extern void omap4_prm_write_inst_reg ( u32 val , s16 inst , u16 idx ) ;
extern u32 omap4_prm_rmw_inst_reg_bits ( u32 mask , u32 bits , s16 inst , s16 idx ) ;
/* OMAP4/OMAP5-specific VP functions */
u32 omap4_prm_vp_check_txdone ( u8 vp_id ) ;
void omap4_prm_vp_clear_txdone ( u8 vp_id ) ;
/*
* OMAP4 / OMAP5 access functions for voltage controller ( VC ) and
* voltage proccessor ( VP ) in the PRM .
*/
extern u32 omap4_prm_vcvp_read ( u8 offset ) ;
extern void omap4_prm_vcvp_write ( u32 val , u8 offset ) ;
extern u32 omap4_prm_vcvp_rmw ( u32 mask , u32 bits , u8 offset ) ;
2013-11-15 08:27:29 -08:00
# if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || \
2013-11-16 07:15:25 -08:00
defined ( CONFIG_SOC_DRA7XX ) | | defined ( CONFIG_SOC_AM43XX )
2013-10-10 15:45:13 -07:00
void omap44xx_prm_reconfigure_io_chain ( void ) ;
# else
static inline void omap44xx_prm_reconfigure_io_chain ( void )
{
}
# endif
2013-05-29 12:38:01 -04:00
/* PRM interrupt-related functions */
extern void omap44xx_prm_read_pending_irqs ( unsigned long * events ) ;
extern void omap44xx_prm_ocp_barrier ( void ) ;
extern void omap44xx_prm_save_and_clear_irqen ( u32 * saved_mask ) ;
extern void omap44xx_prm_restore_irqen ( u32 * saved_mask ) ;
extern int __init omap44xx_prm_init ( void ) ;
extern u32 omap44xx_prm_get_reset_sources ( void ) ;
# endif
# endif