blob: 8b754625679c382cac145c80e9248acf056ea90b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
/*
*
* oFono - Open Source Telephony
*
* Copyright (C) 2011-2012 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#define QMI_DMS_RESET 0 /* Reset DMS service */
#define QMI_DMS_EVENT 1 /* Event report indication */
#define QMI_DMS_SET_EVENT 1 /* Set report conditions */
#define QMI_DMS_GET_CAPS 32 /* Get device capabilities */
#define QMI_DMS_GET_MANUFACTURER 33 /* Get device manfacturer */
#define QMI_DMS_GET_MODEL_ID 34 /* Get device model ID */
#define QMI_DMS_GET_REV_ID 35 /* Get device revision ID */
#define QMI_DMS_GET_NUMBER 36 /* Get assigned voice number */
#define QMI_DMS_GET_IDS 37 /* Get ESN/IMEI/MEID */
#define QMI_DMS_GET_POWER_STATE 38 /* Get power state */
#define QMI_DMS_SET_PIN_PROTECT 39 /* Set PIN protection */
#define QMI_DMS_PIN_VERIFY 40 /* Verify PIN */
#define QMI_DMS_PIN_UNBLOCK 41 /* Unblock PIN */
#define QMI_DMS_PIN_CHANGE 42 /* Change PIN */
#define QMI_DMS_GET_PIN_STATUS 43 /* Get PIN status */
#define QMI_DMS_GET_MSM_ID 44 /* Get MSM ID */
#define QMI_DMS_GET_OPER_MODE 45 /* Get operating mode */
#define QMI_DMS_SET_OPER_MODE 46 /* Set operating mode */
#define QMI_DMS_GET_TIME 47 /* Get timestamp from the device */
#define QMI_DMS_GET_PRL_VERSION 48 /* Get PRL version */
#define QMI_DMS_GET_ICCID 60 /* Get UIM ICCID */
#define QMI_DMS_GET_IMSI 67 /* Get IMSI */
#define QMI_DMS_GET_UIM_STATE 68 /* Get UIM state */
#define QMI_DMS_GET_BAND_CAPS 69 /* Get device band capabilities */
#define QMI_DMS_GET_FACTORY_ID 70 /* Get device factory ID */
#define QMI_DMS_GET_SW_VERSION 81 /* Get software version */
/* Report indication */
#define QMI_DMS_NOTIFY_PIN1_STATE 0x11
#define QMI_DMS_NOTIFY_PIN2_STATE 0x12
#define QMI_DMS_NOTIFY_OPER_MODE 0x14 /* uint8 */
#define QMI_DMS_NOTIFY_UIM_STATE 0x15 /* uint8 */
#define QMI_DMS_UIM_STATE_INIT_COMPLETE 0x00
#define QMI_DMS_UIM_STATE_INIT_FAILED 0x01
#define QMI_DMS_UIM_STATE_NOT_PRESENT 0x02
#define QMI_DMS_UIM_STATE_INVALID 0xff
#define QMI_DMS_OPER_MODE_ONLINE 0x00
#define QMI_DMS_OPER_MODE_LOW_POWER 0x01
#define QMI_DMS_OPER_MODE_FACTORY_TEST 0x02
#define QMI_DMS_OPER_MODE_OFFLINE 0x03
#define QMI_DMS_OPER_MODE_RESET 0x04
#define QMI_DMS_OPER_MODE_SHUTDOWN 0x05
#define QMI_DMS_OPER_MODE_PERSIST_LOW_POWER 0x06
#define QMI_DMS_OPER_MODE_ONLY_LOW_POWER 0x07
/* Set report conditions */
#define QMI_DMS_PARAM_REPORT_PIN_STATUS 0x12 /* bool */
#define QMI_DMS_PARAM_REPORT_OPER_MODE 0x14 /* bool */
#define QMI_DMS_PARAM_REPORT_UIM_STATE 0x15 /* bool */
/* Get device capabilities */
#define QMI_DMS_RESULT_DEVICE_CAPS 0x01
struct qmi_dms_device_caps {
uint32_t max_tx_rate;
uint32_t max_rx_rate;
uint8_t data_capa;
int8_t sim_supported;
uint8_t radio_if_count;
uint8_t radio_if[0];
} __attribute__ ((packed));
#define QMI_DMS_DATA_CAPA_NOT_SUPPORTED 0x00
#define QMI_DMS_DATA_CAPA_CS_ONLY 0x01
#define QMI_DMS_DATA_CAPA_PS_ONLY 0x02
#define QMI_DMS_DATA_CAPA_SIMUL_CS_PS 0x03
#define QMI_DMS_DATA_CAPA_NONSIMUL_CS_PS 0x04
#define QMI_DMS_RADIO_IF_CDMA2000_1X 0x01
#define QMI_DMS_RADIO_IF_CDMA2000_HRPD 0x02
#define QMI_DMS_RADIO_IF_GSM 0x04
#define QMI_DMS_RADIO_IF_UMTS 0x05
#define QMI_DMS_RADIO_IF_LTE 0x08
/* Get device manfacturer */
#define QMI_DMS_RESULT_MANUFACTURER 0x01
/* Get device model ID */
#define QMI_DMS_RESULT_MODEL_ID 0x01
/* Get device revision ID */
#define QMI_DMS_RESULT_REV_ID 0x01
/* Get assigned voice number */
#define QMI_DMS_RESULT_VOICE_NUMBER 0x01
#define QMI_DMS_RESULT_MOBILE_ID 0x10
#define QMI_DMS_RESULT_IMSI_NUMBER 0x11
/* Get ESN/IMEI/MEID */
#define QMI_DMS_RESULT_ESN 0x10 /* optional */
#define QMI_DMS_RESULT_IMEI 0x11 /* optional */
#define QMI_DMS_RESULT_MEID 0x12 /* optional */
/* Get PIN status */
#define QMI_DMS_RESULT_PIN1_STATUS 0x11
#define QMI_DMS_RESULT_PIN2_STATUS 0x12
struct qmi_dms_pin_status {
uint8_t status;
uint8_t verify_retries;
uint8_t unblock_retries;
} __attribute__ ((packed));
#define QMI_DMS_PIN_UNINITIALIZED 0x00
#define QMI_DMS_PIN_ENABLED_UNVERIFIED 0x01
#define QMI_DMS_PIN_ENABLED_VERIFIED 0x02
#define QMI_DMS_PIN_DISABLED 0x03
#define QMI_DMS_PIN_BLOCKED 0x04
#define QMI_DMS_PIN_BLOCKED_PERMANENTLY 0x05
#define QMI_DMS_PIN_UNBLOCKED 0x06
#define QMI_DMS_PIN_CHANGED 0x07
/* Get operating mode */
#define QMI_DMS_RESULT_OPER_MODE 0x01 /* uint8 */
/* Set operating mode */
#define QMI_DMS_PARAM_OPER_MODE 0x01 /* uint8 */
/* Get UIM ICCID */
#define QMI_DMS_RESULT_ICCID 0x01 /* string */
/* Get IMSI */
#define QMI_DMS_RESULT_IMSI 0x01 /* string */
/* Get UIM state */
#define QMI_DMS_RESULT_UIM_STATE 0x01 /* uint8 */
/* Get device band capabilities */
#define QMI_DMS_RESULT_BAND_CAPS 0x01 /* uint64 bitmask */
#define QMI_DMS_RESULT_LTE_BAND_CAPS 0x10 /* uint64 bitmask */
|