summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViditha Hanumanthareddy <ngjq36@motorola.com>2014-03-03 16:16:07 -0600
committerViditha Hanumanthareddy <ngjq36@motorola.com>2014-03-17 14:38:06 -0500
commit920cd2355e7763bede6181303148c49d2fd8acdd (patch)
tree06cdf6d7e56ff08158f4d0937e008ebef69d8546
parentbbd8691541305a81f15ff123d6c504f8b7ce5c35 (diff)
downloadolio-linux-3.10-920cd2355e7763bede6181303148c49d2fd8acdd.tar.xz
olio-linux-3.10-920cd2355e7763bede6181303148c49d2fd8acdd.zip
IKXCLOCK-367: AP RTC alarms to be handled by sensorhub
Change-Id: I28532ca5cc964c50c02f78a13105fb9f0413a42f
-rw-r--r--drivers/mfd/m4sensorhub-irq.c3
-rw-r--r--drivers/mfd/m4sensorhub-reg.h19
-rw-r--r--include/linux/m4sensorhub/m4sensorhub_irqs.h3
-rw-r--r--include/linux/m4sensorhub/m4sensorhub_reg_enum.h1
4 files changed, 16 insertions, 10 deletions
diff --git a/drivers/mfd/m4sensorhub-irq.c b/drivers/mfd/m4sensorhub-irq.c
index ddd33970d44..3bba4204107 100644
--- a/drivers/mfd/m4sensorhub-irq.c
+++ b/drivers/mfd/m4sensorhub-irq.c
@@ -74,7 +74,8 @@ static const char *irq_name[] = {
[M4SH_IRQ_WRIST_READY] = "WRIST_READY",
[M4SH_IRQ_PASSIVE_BUFFER_FULL] = "PASSIVE_BUFFER_FULL",
[M4SH_IRQ_LIGHTSENSOR_DATA_READY] = "ALS_DATA_READY",
- [M4SH_IRQ_HEARTRATESENSOR_DATA_READY] = "HR_DATA_RADY",
+ [M4SH_IRQ_HEARTRATESENSOR_DATA_READY] = "HR_DATA_READY",
+ [M4SH_IRQ_AP_ALARM_EXPIRED] = "AP_ALARM_EXPIRED",
};
/* -------------- Local Data Structures ------------- */
diff --git a/drivers/mfd/m4sensorhub-reg.h b/drivers/mfd/m4sensorhub-reg.h
index 360fbf33c61..abc8aeb6808 100644
--- a/drivers/mfd/m4sensorhub-reg.h
+++ b/drivers/mfd/m4sensorhub-reg.h
@@ -47,14 +47,15 @@ static const struct {
[M4SH_REG_TEMP_EXTRNLTEMP] = {M4SH_TYPE_TEMP, 0x4, 2},
[M4SH_REG_TEMP_INTRNLTEMP] = {M4SH_TYPE_TEMP, 0x6, 2},
[M4SH_REG_GENERAL_UTC] = {M4SH_TYPE_GENERAL, 0x0, 4},
- [M4SH_REG_GENERAL_LOCALTIMEZONE] = {M4SH_TYPE_GENERAL, 0x4, 2},
- [M4SH_REG_GENERAL_VERSION] = {M4SH_TYPE_GENERAL, 0x6, 1},
- [M4SH_REG_GENERAL_INTERRUPT0ENABLE] = {M4SH_TYPE_GENERAL, 0x7, 1},
- [M4SH_REG_GENERAL_INTERRUPT1ENABLE] = {M4SH_TYPE_GENERAL, 0x8, 1},
- [M4SH_REG_GENERAL_INTERRUPT2ENABLE] = {M4SH_TYPE_GENERAL, 0x9, 1},
- [M4SH_REG_GENERAL_INTERRUPT0STATUS] = {M4SH_TYPE_GENERAL, 0xa, 1},
- [M4SH_REG_GENERAL_INTERRUPT1STATUS] = {M4SH_TYPE_GENERAL, 0xb, 1},
- [M4SH_REG_GENERAL_INTERRUPT2STATUS] = {M4SH_TYPE_GENERAL, 0xc, 1},
+ [M4SH_REG_GENERAL_APALARM] = {M4SH_TYPE_GENERAL, 0x4, 4},
+ [M4SH_REG_GENERAL_LOCALTIMEZONE] = {M4SH_TYPE_GENERAL, 0x8, 2},
+ [M4SH_REG_GENERAL_VERSION] = {M4SH_TYPE_GENERAL, 0xa, 1},
+ [M4SH_REG_GENERAL_INTERRUPT0ENABLE] = {M4SH_TYPE_GENERAL, 0xb, 1},
+ [M4SH_REG_GENERAL_INTERRUPT1ENABLE] = {M4SH_TYPE_GENERAL, 0xc, 1},
+ [M4SH_REG_GENERAL_INTERRUPT2ENABLE] = {M4SH_TYPE_GENERAL, 0xd, 1},
+ [M4SH_REG_GENERAL_INTERRUPT0STATUS] = {M4SH_TYPE_GENERAL, 0xe, 1},
+ [M4SH_REG_GENERAL_INTERRUPT1STATUS] = {M4SH_TYPE_GENERAL, 0xf, 1},
+ [M4SH_REG_GENERAL_INTERRUPT2STATUS] = {M4SH_TYPE_GENERAL, 0x10, 1},
[M4SH_REG_PRESSURE_VERSION] = {M4SH_TYPE_PRESSURE, 0x0, 1},
[M4SH_REG_PRESSURE_DUMMY] = {M4SH_TYPE_PRESSURE, 0x1, 1},
[M4SH_REG_PRESSURE_SAMPLERATE] = {M4SH_TYPE_PRESSURE, 0x2, 2},
@@ -184,7 +185,7 @@ static const struct {
static const unsigned int bank_size_tbl[M4SH_TYPE__NUM] = {
[M4SH_TYPE_ACCEL] = 28,
[M4SH_TYPE_TEMP] = 8,
- [M4SH_TYPE_GENERAL] = 13,
+ [M4SH_TYPE_GENERAL] = 17,
[M4SH_TYPE_PRESSURE] = 23,
[M4SH_TYPE_PEDOMETER] = 24,
[M4SH_TYPE_TCMD] = 1,
diff --git a/include/linux/m4sensorhub/m4sensorhub_irqs.h b/include/linux/m4sensorhub/m4sensorhub_irqs.h
index ec5853c478d..e32a60b484d 100644
--- a/include/linux/m4sensorhub/m4sensorhub_irqs.h
+++ b/include/linux/m4sensorhub/m4sensorhub_irqs.h
@@ -78,6 +78,9 @@ enum m4sensorhub_irqs {
/* INT2 0x01 : heartratesensor data ready */
M4SH_IRQ_HEARTRATESENSOR_DATA_READY = M4SH_IRQ_INT2_INDEX,
+ /* INT2 0x02 : AP-RTC alarm expired */
+ M4SH_IRQ_AP_ALARM_EXPIRED,
+
/* Number of allocated interrupts */
M4SH_IRQ__NUM
};
diff --git a/include/linux/m4sensorhub/m4sensorhub_reg_enum.h b/include/linux/m4sensorhub/m4sensorhub_reg_enum.h
index 6ea5c211da6..b144a9368e8 100644
--- a/include/linux/m4sensorhub/m4sensorhub_reg_enum.h
+++ b/include/linux/m4sensorhub/m4sensorhub_reg_enum.h
@@ -41,6 +41,7 @@ enum m4sensorhub_reg {
M4SH_REG_TEMP_EXTRNLTEMP,
M4SH_REG_TEMP_INTRNLTEMP,
M4SH_REG_GENERAL_UTC,
+ M4SH_REG_GENERAL_APALARM, /* number of seconds before alarm expiry */
M4SH_REG_GENERAL_LOCALTIMEZONE,
M4SH_REG_GENERAL_VERSION, /* M4 software version */
M4SH_REG_GENERAL_INTERRUPT0ENABLE,