summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJessica Nilsson <jessica.j.nilsson@stericsson.com>2011-02-15 13:30:57 +0100
committerAki Niemi <aki.niemi@nokia.com>2011-02-16 13:11:04 +0200
commitbeb72c921d8d5433115cf17c6607e0e498a174a7 (patch)
treec69c8156fa8c1a5f2a190e16e7c3b382444b7297
parent4406da382c0a4e56f25985747561da8a3c2f2202 (diff)
downloadofono-beb72c921d8d5433115cf17c6607e0e498a174a7.tar.bz2
isimodem: Add MCE code points
Updates required for wgmodem2.5.
-rw-r--r--drivers/isimodem/debug.c48
-rw-r--r--drivers/isimodem/debug.h8
-rw-r--r--drivers/isimodem/mtc.h38
3 files changed, 94 insertions, 0 deletions
diff --git a/drivers/isimodem/debug.c b/drivers/isimodem/debug.c
index f93fa3d9..c14acc23 100644
--- a/drivers/isimodem/debug.c
+++ b/drivers/isimodem/debug.c
@@ -166,6 +166,54 @@ const char *mtc_modem_state_name(enum mtc_modem_state value)
return "MTC_<UNKNOWN>";
}
+const char *mce_message_id_name(enum mce_message_id value)
+{
+ switch (value) {
+ _(MCE_MODEM_STATE_IND);
+ _(MCE_MODEM_STATE_QUERY_REQ);
+ _(MCE_MODEM_STATE_QUERY_RESP);
+ _(MCE_RF_STATE_REQ);
+ _(MCE_RF_STATE_RESP);
+ _(MCE_RF_STATE_IND);
+ _(MCE_RF_STATE_QUERY_REQ);
+ _(MCE_RF_STATE_QUERY_RESP);
+ _(MCE_POWER_OFF_REQ);
+ _(MCE_POWER_OFF_RESP);
+ }
+ return "MCE_<UNKNOWN>";
+}
+
+const char *mce_modem_state_name(enum mce_modem_state value)
+{
+ switch (value) {
+ _(MCE_NORMAL);
+ _(MCE_LOCAL);
+ _(MCE_SW_RESET);
+ _(MCE_POWER_OFF);
+ }
+ return "MCE_<UNKNOWN>";
+}
+
+const char *mce_status_info(enum mce_status_info value)
+{
+ switch (value) {
+ _(MCE_OK);
+ _(MCE_FAIL);
+ _(MCE_ALREADY_ACTIVE);
+ _(MCE_TRANSITION_ONGOING);
+ }
+ return "MCE_<UNKNOWN>";
+}
+
+const char *mce_rf_state_name(enum mce_rf_state value)
+{
+ switch (value) {
+ _(MCE_RF_OFF);
+ _(MCE_RF_ON);
+ }
+ return "MCE_RF<UNKNOWN>";
+}
+
const char *sms_isi_cause_name(enum sms_isi_cause value)
{
switch (value) {
diff --git a/drivers/isimodem/debug.h b/drivers/isimodem/debug.h
index e149c2cd..b92b48f9 100644
--- a/drivers/isimodem/debug.h
+++ b/drivers/isimodem/debug.h
@@ -41,6 +41,14 @@ const char *ss_ussd_type_name(enum ss_ussd_type value);
const char *mtc_isi_cause_name(enum mtc_isi_cause value);
const char *mtc_message_id_name(enum mtc_message_id value);
const char *mtc_modem_state_name(enum mtc_modem_state value);
+const char *mce_rf_state_name(enum mce_rf_state value);
+
+const char *mce_message_id_name(enum mce_message_id value);
+const char *mce_modem_state_name(enum mce_modem_state value);
+const char *mce_status_info(enum mce_status_info value);
+
+const char *uicc_subblock_name(uint8_t value);
+const char *uicc_status_name(uint8_t value);
const char *sms_gsm_cause_name(enum sms_gsm_cause value);
const char *sms_isi_cause_name(enum sms_isi_cause value);
diff --git a/drivers/isimodem/mtc.h b/drivers/isimodem/mtc.h
index 2db3e945..57e5040c 100644
--- a/drivers/isimodem/mtc.h
+++ b/drivers/isimodem/mtc.h
@@ -27,9 +27,47 @@ extern "C" {
#endif
#define PN_MTC 0x15
+#define PN_MODEM_MCE 0xC2
#define MTC_TIMEOUT 5
#define MTC_STATE_REQ_TIMEOUT (6 + 5)
+enum mce_message_id {
+ MCE_MODEM_STATE_IND = 0x00,
+ MCE_MODEM_STATE_QUERY_REQ = 0x01,
+ MCE_MODEM_STATE_QUERY_RESP = 0x02,
+ MCE_RF_STATE_REQ = 0x03,
+ MCE_RF_STATE_RESP = 0x04,
+ MCE_RF_STATE_IND = 0x05,
+ MCE_RF_STATE_QUERY_REQ = 0x06,
+ MCE_RF_STATE_QUERY_RESP = 0x07,
+ MCE_POWER_OFF_REQ = 0x08,
+ MCE_POWER_OFF_RESP = 0x09
+};
+
+enum mce_rf_state {
+ MCE_RF_OFF = 0x00,
+ MCE_RF_ON = 0x01
+};
+
+enum mce_status_info {
+ MCE_OK = 0x00,
+ MCE_FAIL = 0x01,
+ MCE_ALREADY_ACTIVE = 0x06,
+ MCE_TRANSITION_ONGOING = 0x16
+};
+
+enum mce_modem_state {
+ MCE_NORMAL = 0x00,
+ MCE_LOCAL = 0x01,
+ MCE_SW_RESET = 0x80,
+ MCE_POWER_OFF = 0x81
+};
+
+enum mce_isi_action {
+ MCE_START = 0x03,
+ MCE_READY = 0x04
+};
+
enum mtc_isi_cause {
MTC_OK = 0x00,
MTC_FAIL = 0x01,