From beb72c921d8d5433115cf17c6607e0e498a174a7 Mon Sep 17 00:00:00 2001 From: Jessica Nilsson Date: Tue, 15 Feb 2011 13:30:57 +0100 Subject: [PATCH] isimodem: Add MCE code points Updates required for wgmodem2.5. --- drivers/isimodem/debug.c | 48 ++++++++++++++++++++++++++++++++++++++++ drivers/isimodem/debug.h | 8 +++++++ drivers/isimodem/mtc.h | 38 +++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+) 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_"; } +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_"; +} + +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_"; +} + +const char *mce_status_info(enum mce_status_info value) +{ + switch (value) { + _(MCE_OK); + _(MCE_FAIL); + _(MCE_ALREADY_ACTIVE); + _(MCE_TRANSITION_ONGOING); + } + return "MCE_"; +} + +const char *mce_rf_state_name(enum mce_rf_state value) +{ + switch (value) { + _(MCE_RF_OFF); + _(MCE_RF_ON); + } + return "MCE_RF"; +} + 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,