| /* Copyright (c) 2013-2014, The Linux Foundation. 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 and |
| * only 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. |
| */ |
| |
| #ifndef __SSM_H_ |
| #define __SSM_H_ |
| |
| #define MAX_APP_NAME_SIZE 32 |
| #define ENC_MODE_MAX_SIZE 200 |
| |
| /* tzapp response.*/ |
| enum tz_response { |
| RESULT_SUCCESS = 0, |
| RESULT_FAILURE = 0xFFFFFFFF, |
| }; |
| |
| /* tzapp command list.*/ |
| enum tz_commands { |
| ENC_MODE, |
| GET_ENC_MODE, |
| KEY_EXCHANGE = 11, |
| }; |
| |
| /* MODEM/SSM command list.*/ |
| enum ssm_ipc_req { |
| SSM_IPC_MIN = 0x0000AAAB, |
| SSM_ATOM_MODE_UPDATE, |
| SSM_MTOA_MODE_UPDATE_STATUS = SSM_IPC_MIN + 4, |
| SSM_INVALID_REQ, |
| }; |
| |
| /* OEM reuest commands list.*/ |
| enum oem_req { |
| SSM_READY, |
| SSM_MODE_INFO_READY, |
| SSM_SET_MODE, |
| SSM_GET_MODE_STATUS, |
| SSM_INVALID, |
| }; |
| |
| /* Modem mode update status.*/ |
| enum modem_mode_status { |
| SUCCESS, |
| RETRY, |
| FAILED = -1, |
| }; |
| |
| /* tzapp encode mode reuest.*/ |
| __packed struct tzapp_mode_enc_req { |
| uint32_t tzapp_ssm_cmd; |
| uint8_t mode_info[4]; |
| }; |
| |
| /* tzapp encode mode response.*/ |
| __packed struct tzapp_mode_enc_rsp { |
| uint32_t tzapp_ssm_cmd; |
| uint8_t enc_mode_info[ENC_MODE_MAX_SIZE]; |
| uint32_t enc_mode_len; |
| uint32_t status; |
| }; |
| |
| /* tzapp get mode request.*/ |
| __packed struct tzapp_get_mode_info_req { |
| uint32_t tzapp_ssm_cmd; |
| }; |
| |
| /* tzapp get mode response.*/ |
| __packed struct tzapp_get_mode_info_rsp { |
| uint32_t tzapp_ssm_cmd; |
| uint8_t enc_mode_info[ENC_MODE_MAX_SIZE]; |
| uint32_t enc_mode_len; |
| uint32_t status; |
| }; |
| |
| /* Modem/SSM packet format.*/ |
| struct ssm_common_msg { |
| enum ssm_ipc_req ipc_req; |
| int err_code; |
| |
| }; |
| |
| #endif |