aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/vp44xx_data.c
diff options
context:
space:
mode:
authorKevin Hilman <khilman@ti.com>2011-03-28 13:52:04 -0400
committerKevin Hilman <khilman@ti.com>2011-09-15 15:02:04 -0400
commit58aaa599a97308c0f4a68ef07039157807fa8324 (patch)
tree584afba63279e12711f80989767a3287d6a7dd09 /arch/arm/mach-omap2/vp44xx_data.c
parente74e44054f8297d60fbd2ed1d412d84055afee8c (diff)
OMAP2+: add PRM VP functions for checking/clearing VP TX done status
Add SoC specific PRM VP helper functions for checking and clearing the VP transaction done status. Longer term, these events should be handled by the forthcoming PRCM interrupt handler. Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/vp44xx_data.c')
-rw-r--r--arch/arm/mach-omap2/vp44xx_data.c25
1 files changed, 9 insertions, 16 deletions
diff --git a/arch/arm/mach-omap2/vp44xx_data.c b/arch/arm/mach-omap2/vp44xx_data.c
index 0957c24b1fa9..738ba04f5cf1 100644
--- a/arch/arm/mach-omap2/vp44xx_data.c
+++ b/arch/arm/mach-omap2/vp44xx_data.c
@@ -27,6 +27,11 @@
27 27
28#include "vp.h" 28#include "vp.h"
29 29
30static const struct omap_vp_ops omap4_vp_ops = {
31 .check_txdone = omap4_prm_vp_check_txdone,
32 .clear_txdone = omap4_prm_vp_clear_txdone,
33};
34
30/* 35/*
31 * VP data common to 44xx chips 36 * VP data common to 44xx chips
32 * XXX This stuff presumably belongs in the vp44xx.c or vp.c file. 37 * XXX This stuff presumably belongs in the vp44xx.c or vp.c file.
@@ -49,13 +54,11 @@ static const struct omap_vp_common_data omap4_vp_common = {
49 .vlimitto_vddmin_shift = OMAP4430_VDDMIN_SHIFT, 54 .vlimitto_vddmin_shift = OMAP4430_VDDMIN_SHIFT,
50 .vlimitto_vddmax_shift = OMAP4430_VDDMAX_SHIFT, 55 .vlimitto_vddmax_shift = OMAP4430_VDDMAX_SHIFT,
51 .vlimitto_timeout_shift = OMAP4430_TIMEOUT_SHIFT, 56 .vlimitto_timeout_shift = OMAP4430_TIMEOUT_SHIFT,
52}; 57 .ops = &omap4_vp_ops,
53
54static const struct omap_vp_prm_irqst_data omap4_vp_mpu_prm_irqst_data = {
55 .tranxdone_status = OMAP4430_VP_MPU_TRANXDONE_ST_MASK,
56}; 58};
57 59
58struct omap_vp_instance_data omap4_vp_mpu_data = { 60struct omap_vp_instance_data omap4_vp_mpu_data = {
61 .id = OMAP4_VP_VDD_MPU_ID,
59 .vp_common = &omap4_vp_common, 62 .vp_common = &omap4_vp_common,
60 .vpconfig = OMAP4_PRM_VP_MPU_CONFIG_OFFSET, 63 .vpconfig = OMAP4_PRM_VP_MPU_CONFIG_OFFSET,
61 .vstepmin = OMAP4_PRM_VP_MPU_VSTEPMIN_OFFSET, 64 .vstepmin = OMAP4_PRM_VP_MPU_VSTEPMIN_OFFSET,
@@ -63,14 +66,10 @@ struct omap_vp_instance_data omap4_vp_mpu_data = {
63 .vlimitto = OMAP4_PRM_VP_MPU_VLIMITTO_OFFSET, 66 .vlimitto = OMAP4_PRM_VP_MPU_VLIMITTO_OFFSET,
64 .vstatus = OMAP4_PRM_VP_MPU_STATUS_OFFSET, 67 .vstatus = OMAP4_PRM_VP_MPU_STATUS_OFFSET,
65 .voltage = OMAP4_PRM_VP_MPU_VOLTAGE_OFFSET, 68 .voltage = OMAP4_PRM_VP_MPU_VOLTAGE_OFFSET,
66 .prm_irqst_data = &omap4_vp_mpu_prm_irqst_data,
67};
68
69static const struct omap_vp_prm_irqst_data omap4_vp_iva_prm_irqst_data = {
70 .tranxdone_status = OMAP4430_VP_IVA_TRANXDONE_ST_MASK,
71}; 69};
72 70
73struct omap_vp_instance_data omap4_vp_iva_data = { 71struct omap_vp_instance_data omap4_vp_iva_data = {
72 .id = OMAP4_VP_VDD_IVA_ID,
74 .vp_common = &omap4_vp_common, 73 .vp_common = &omap4_vp_common,
75 .vpconfig = OMAP4_PRM_VP_IVA_CONFIG_OFFSET, 74 .vpconfig = OMAP4_PRM_VP_IVA_CONFIG_OFFSET,
76 .vstepmin = OMAP4_PRM_VP_IVA_VSTEPMIN_OFFSET, 75 .vstepmin = OMAP4_PRM_VP_IVA_VSTEPMIN_OFFSET,
@@ -78,14 +77,10 @@ struct omap_vp_instance_data omap4_vp_iva_data = {
78 .vlimitto = OMAP4_PRM_VP_IVA_VLIMITTO_OFFSET, 77 .vlimitto = OMAP4_PRM_VP_IVA_VLIMITTO_OFFSET,
79 .vstatus = OMAP4_PRM_VP_IVA_STATUS_OFFSET, 78 .vstatus = OMAP4_PRM_VP_IVA_STATUS_OFFSET,
80 .voltage = OMAP4_PRM_VP_IVA_VOLTAGE_OFFSET, 79 .voltage = OMAP4_PRM_VP_IVA_VOLTAGE_OFFSET,
81 .prm_irqst_data = &omap4_vp_iva_prm_irqst_data,
82};
83
84static const struct omap_vp_prm_irqst_data omap4_vp_core_prm_irqst_data = {
85 .tranxdone_status = OMAP4430_VP_CORE_TRANXDONE_ST_MASK,
86}; 80};
87 81
88struct omap_vp_instance_data omap4_vp_core_data = { 82struct omap_vp_instance_data omap4_vp_core_data = {
83 .id = OMAP4_VP_VDD_CORE_ID,
89 .vp_common = &omap4_vp_common, 84 .vp_common = &omap4_vp_common,
90 .vpconfig = OMAP4_PRM_VP_CORE_CONFIG_OFFSET, 85 .vpconfig = OMAP4_PRM_VP_CORE_CONFIG_OFFSET,
91 .vstepmin = OMAP4_PRM_VP_CORE_VSTEPMIN_OFFSET, 86 .vstepmin = OMAP4_PRM_VP_CORE_VSTEPMIN_OFFSET,
@@ -93,6 +88,4 @@ struct omap_vp_instance_data omap4_vp_core_data = {
93 .vlimitto = OMAP4_PRM_VP_CORE_VLIMITTO_OFFSET, 88 .vlimitto = OMAP4_PRM_VP_CORE_VLIMITTO_OFFSET,
94 .vstatus = OMAP4_PRM_VP_CORE_STATUS_OFFSET, 89 .vstatus = OMAP4_PRM_VP_CORE_STATUS_OFFSET,
95 .voltage = OMAP4_PRM_VP_CORE_VOLTAGE_OFFSET, 90 .voltage = OMAP4_PRM_VP_CORE_VOLTAGE_OFFSET,
96 .prm_irqst_data = &omap4_vp_core_prm_irqst_data,
97}; 91};
98