summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/voltage.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/voltage.h')
-rw-r--r--arch/arm/mach-omap2/voltage.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
index 04e06266..6a19cf3 100644
--- a/arch/arm/mach-omap2/voltage.h
+++ b/arch/arm/mach-omap2/voltage.h
@@ -59,6 +59,9 @@ struct omap_vfsm_instance_data {
* @node: list_head linking all voltage domains
* @pwrdm_list: list_head linking all powerdomains in this voltagedomain
* @vc: pointer to VC channel associated with this voltagedomain
+ * @read: read a VC/VP register
+ * @write: write a VC/VP register
+ * @read: read-modify-write a VC/VP register
* @vdd: to be removed
*/
struct voltagedomain {
@@ -68,6 +71,11 @@ struct voltagedomain {
struct list_head pwrdm_list;
struct omap_vc_channel *vc;
+ /* VC/VP register access functions: SoC specific */
+ u32 (*read) (u8 offset);
+ void (*write) (u32 val, u8 offset);
+ u32 (*rmw)(u32 mask, u32 bits, u8 offset);
+
struct omap_vdd_info *vdd;
};
@@ -146,8 +154,6 @@ struct omap_vdd_info {
u32 curr_volt;
bool vp_enabled;
- u32 (*read_reg) (u16 mod, u8 offset);
- void (*write_reg) (u32 val, u16 mod, u8 offset);
int (*volt_scale) (struct voltagedomain *voltdm,
unsigned long target_volt);
};
OpenPOWER on IntegriCloud