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 | |
Tony Lindgren | 26273e0 | 2013-11-15 08:27:29 -0800 | [diff] [blame] | 45 | #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) || \ |
Tony Lindgren | cae26f3 | 2013-11-16 07:15:25 -0800 | [diff] [blame] | 46 | defined(CONFIG_SOC_DRA7XX) || defined(CONFIG_SOC_AM43XX) |
Tony Lindgren | 30a69ef | 2013-10-10 15:45:13 -0700 | [diff] [blame] | 47 | void omap44xx_prm_reconfigure_io_chain(void); |
| 48 | #else |
| 49 | static inline void omap44xx_prm_reconfigure_io_chain(void) |
| 50 | { |
| 51 | } |
| 52 | #endif |
Santosh Shilimkar | 9920eca | 2013-05-29 12:38:01 -0400 | [diff] [blame] | 53 | |
| 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); |
| 59 | |
| 60 | extern int __init omap44xx_prm_init(void); |
| 61 | extern u32 omap44xx_prm_get_reset_sources(void); |
| 62 | |
| 63 | #endif |
| 64 | |
| 65 | #endif |