2 * OMAP44xx and 54xx PRM common functions
4 * Copyright (C) 2009-2013 Texas Instruments, Inc.
5 * Copyright (C) 2009-2010 Nokia Corporation
7 * Paul Walmsley (paul@pwsan.com)
8 * Rajendra Nayak (rnayak@ti.com)
9 * Benoit Cousson (b-cousson@ti.com)
11 * This file is automatically generated from the OMAP hardware databases.
12 * We respectfully ask that any modifications to this file be coordinated
13 * with the public linux-omap@vger.kernel.org mailing list and the
14 * authors above to ensure that the autogeneration scripts are kept
15 * up-to-date with the file contents.
17 * This program is free software; you can redistribute it and/or modify
18 * it under the terms of the GNU General Public License version 2 as
19 * published by the Free Software Foundation.
23 #ifndef __ARCH_ARM_MACH_OMAP2_PRM44XX_54XX_H
24 #define __ARCH_ARM_MACH_OMAP2_PRM44XX_54XX_H
26 /* Function prototypes */
29 extern u32
omap4_prm_read_inst_reg(s16 inst
, u16 idx
);
30 extern void omap4_prm_write_inst_reg(u32 val
, s16 inst
, u16 idx
);
31 extern u32
omap4_prm_rmw_inst_reg_bits(u32 mask
, u32 bits
, s16 inst
, s16 idx
);
33 /* OMAP4/OMAP5-specific VP functions */
34 u32
omap4_prm_vp_check_txdone(u8 vp_id
);
35 void omap4_prm_vp_clear_txdone(u8 vp_id
);
38 * OMAP4/OMAP5 access functions for voltage controller (VC) and
39 * voltage proccessor (VP) in the PRM.
41 extern u32
omap4_prm_vcvp_read(u8 offset
);
42 extern void omap4_prm_vcvp_write(u32 val
, u8 offset
);
43 extern u32
omap4_prm_vcvp_rmw(u32 mask
, u32 bits
, u8 offset
);
45 #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || \
46 defined(CONFIG_SOC_DRA7XX) || defined(CONFIG_SOC_AM43XX)
47 void omap44xx_prm_reconfigure_io_chain(void);
49 static inline void omap44xx_prm_reconfigure_io_chain(void)
54 /* PRM interrupt-related functions */
55 extern void omap44xx_prm_read_pending_irqs(unsigned long *events
);
56 extern void omap44xx_prm_ocp_barrier(void);
57 extern void omap44xx_prm_save_and_clear_irqen(u32
*saved_mask
);
58 extern void omap44xx_prm_restore_irqen(u32
*saved_mask
);
60 extern int __init
omap44xx_prm_init(void);
61 extern u32
omap44xx_prm_get_reset_sources(void);