2013-05-29 16:38:01 +00:00
|
|
|
/*
|
|
|
|
* OMAP44xx and 54xx 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 16:27:29 +00:00
|
|
|
#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || \
|
2013-11-16 15:15:25 +00:00
|
|
|
defined(CONFIG_SOC_DRA7XX) || defined(CONFIG_SOC_AM43XX)
|
2013-10-10 22:45:13 +00:00
|
|
|
void omap44xx_prm_reconfigure_io_chain(void);
|
|
|
|
#else
|
|
|
|
static inline void omap44xx_prm_reconfigure_io_chain(void)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
#endif
|
2013-05-29 16:38:01 +00: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
|