aboutsummaryrefslogtreecommitdiffstats
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 04e06266dbd..6a19cf39118 100644
--- a/arch/arm/mach-omap2/voltage.h
+++ b/arch/arm/mach-omap2/voltage.h
@@ -59,6 +59,9 @@ struct omap_vfsm_instance_data {
59 * @node: list_head linking all voltage domains 59 * @node: list_head linking all voltage domains
60 * @pwrdm_list: list_head linking all powerdomains in this voltagedomain 60 * @pwrdm_list: list_head linking all powerdomains in this voltagedomain
61 * @vc: pointer to VC channel associated with this voltagedomain 61 * @vc: pointer to VC channel associated with this voltagedomain
62 * @read: read a VC/VP register
63 * @write: write a VC/VP register
64 * @read: read-modify-write a VC/VP register
62 * @vdd: to be removed 65 * @vdd: to be removed
63 */ 66 */
64struct voltagedomain { 67struct voltagedomain {
@@ -68,6 +71,11 @@ struct voltagedomain {
68 struct list_head pwrdm_list; 71 struct list_head pwrdm_list;
69 struct omap_vc_channel *vc; 72 struct omap_vc_channel *vc;
70 73
74 /* VC/VP register access functions: SoC specific */
75 u32 (*read) (u8 offset);
76 void (*write) (u32 val, u8 offset);
77 u32 (*rmw)(u32 mask, u32 bits, u8 offset);
78
71 struct omap_vdd_info *vdd; 79 struct omap_vdd_info *vdd;
72}; 80};
73 81
@@ -146,8 +154,6 @@ struct omap_vdd_info {
146 u32 curr_volt; 154 u32 curr_volt;
147 bool vp_enabled; 155 bool vp_enabled;
148 156
149 u32 (*read_reg) (u16 mod, u8 offset);
150 void (*write_reg) (u32 val, u16 mod, u8 offset);
151 int (*volt_scale) (struct voltagedomain *voltdm, 157 int (*volt_scale) (struct voltagedomain *voltdm,
152 unsigned long target_volt); 158 unsigned long target_volt);
153}; 159};