Santosh Shilimkar | 9920eca | 2013-05-29 12:38:01 -0400 | [diff] [blame^] | 1 | /* |
| 2 | * OMAP44xx and 54xx PRM common functions |
| 3 | * |
| 4 | * Copyright (C) 2009-2013 Texas Instruments, Inc. |
| 5 | * Copyright (C) 2009-2010 Nokia Corporation |
| 6 | * |
| 7 | * Paul Walmsley (paul@pwsan.com) |
| 8 | * Rajendra Nayak (rnayak@ti.com) |
| 9 | * Benoit Cousson (b-cousson@ti.com) |
| 10 | * |
| 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. |
| 16 | * |
| 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. |
| 20 | * |
| 21 | */ |
| 22 | |
| 23 | #ifndef __ARCH_ARM_MACH_OMAP2_PRM44XX_54XX_H |
| 24 | #define __ARCH_ARM_MACH_OMAP2_PRM44XX_54XX_H |
| 25 | |
| 26 | /* Function prototypes */ |
| 27 | #ifndef __ASSEMBLER__ |
| 28 | |
| 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); |
| 32 | |
| 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); |
| 36 | |
| 37 | /* |
| 38 | * OMAP4/OMAP5 access functions for voltage controller (VC) and |
| 39 | * voltage proccessor (VP) in the PRM. |
| 40 | */ |
| 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); |
| 44 | |
| 45 | extern void omap44xx_prm_reconfigure_io_chain(void); |
| 46 | |
| 47 | /* PRM interrupt-related functions */ |
| 48 | extern void omap44xx_prm_read_pending_irqs(unsigned long *events); |
| 49 | extern void omap44xx_prm_ocp_barrier(void); |
| 50 | extern void omap44xx_prm_save_and_clear_irqen(u32 *saved_mask); |
| 51 | extern void omap44xx_prm_restore_irqen(u32 *saved_mask); |
| 52 | |
| 53 | extern int __init omap44xx_prm_init(void); |
| 54 | extern u32 omap44xx_prm_get_reset_sources(void); |
| 55 | |
| 56 | #endif |
| 57 | |
| 58 | #endif |