1*a248dafdSChristopher Ferris /* 2*a248dafdSChristopher Ferris * Copyright (C) 2014 Andrew Duggan 3*a248dafdSChristopher Ferris * Copyright (C) 2014 Synaptics Inc 4*a248dafdSChristopher Ferris * 5*a248dafdSChristopher Ferris * Licensed under the Apache License, Version 2.0 (the "License"); 6*a248dafdSChristopher Ferris * you may not use this file except in compliance with the License. 7*a248dafdSChristopher Ferris * You may obtain a copy of the License at 8*a248dafdSChristopher Ferris * 9*a248dafdSChristopher Ferris * http://www.apache.org/licenses/LICENSE-2.0 10*a248dafdSChristopher Ferris * 11*a248dafdSChristopher Ferris * Unless required by applicable law or agreed to in writing, software 12*a248dafdSChristopher Ferris * distributed under the License is distributed on an "AS IS" BASIS, 13*a248dafdSChristopher Ferris * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*a248dafdSChristopher Ferris * See the License for the specific language governing permissions and 15*a248dafdSChristopher Ferris * limitations under the License. 16*a248dafdSChristopher Ferris */ 17*a248dafdSChristopher Ferris 18*a248dafdSChristopher Ferris #ifndef _UPDATEUTIL_H_ 19*a248dafdSChristopher Ferris #define _UPDATEUTIL_H_ 20*a248dafdSChristopher Ferris 21*a248dafdSChristopher Ferris enum update_error { 22*a248dafdSChristopher Ferris UPDATE_SUCCESS = 0, 23*a248dafdSChristopher Ferris UPDATE_FAIL, 24*a248dafdSChristopher Ferris UPDATE_FAIL_TIMEOUT, 25*a248dafdSChristopher Ferris UPDATE_FAIL_VERIFY_IMAGE, 26*a248dafdSChristopher Ferris UPDATE_FAIL_VERIFY_CHECKSUM, 27*a248dafdSChristopher Ferris UPDATE_FAIL_VERIFY_FIRMWARE_SIZE, 28*a248dafdSChristopher Ferris UPDATE_FAIL_VERIFY_CONFIG_SIZE, 29*a248dafdSChristopher Ferris UPDATE_FAIL_VERIFY_IMAGE_PRODUCTID_NOT_MATCH, 30*a248dafdSChristopher Ferris UPDATE_FAIL_UNSUPPORTED_IMAGE_VERSION, 31*a248dafdSChristopher Ferris UPDATE_FAIL_NO_FUNCTION_01, 32*a248dafdSChristopher Ferris UPDATE_FAIL_NO_FUNCTION_34, 33*a248dafdSChristopher Ferris UPDATE_FAIL_QUERY_BASIC_PROPERTIES, 34*a248dafdSChristopher Ferris UPDATE_FAIL_READ_F34_QUERIES, 35*a248dafdSChristopher Ferris UPDATE_FAIL_READ_BOOTLOADER_ID, 36*a248dafdSChristopher Ferris UPDATE_FAIL_READ_F34_CONTROLS, 37*a248dafdSChristopher Ferris UPDATE_FAIL_WRITE_BOOTLOADER_ID, 38*a248dafdSChristopher Ferris UPDATE_FAIL_ENABLE_FLASH_PROGRAMMING, 39*a248dafdSChristopher Ferris UPDATE_FAIL_NOT_IN_IDLE_STATE, 40*a248dafdSChristopher Ferris UPDATE_FAIL_PROGRAMMING_NOT_ENABLED, 41*a248dafdSChristopher Ferris UPDATE_FAIL_SCAN_PDT, 42*a248dafdSChristopher Ferris UPDATE_FAIL_READ_DEVICE_STATUS, 43*a248dafdSChristopher Ferris UPDATE_FAIL_DEVICE_NOT_IN_BOOTLOADER, 44*a248dafdSChristopher Ferris UPDATE_FAIL_READ_F01_CONTROL_0, 45*a248dafdSChristopher Ferris UPDATE_FAIL_WRITE_F01_CONTROL_0, 46*a248dafdSChristopher Ferris UPDATE_FAIL_WRITE_INITIAL_ZEROS, 47*a248dafdSChristopher Ferris UPDATE_FAIL_WRITE_BLOCK, 48*a248dafdSChristopher Ferris UPDATE_FAIL_WRITE_FLASH_COMMAND, 49*a248dafdSChristopher Ferris UPDATE_FAIL_TIMEOUT_WAITING_FOR_ATTN, 50*a248dafdSChristopher Ferris UPDATE_FAIL_ERASE_ALL, 51*a248dafdSChristopher Ferris UPDATE_FAIL_FIRMWARE_IMAGE_IS_OLDER, 52*a248dafdSChristopher Ferris UPDATE_FAIL_INVALID_PARAMETER, 53*a248dafdSChristopher Ferris UPDATE_FAIL_OPEN_FIRMWARE_IMAGE, 54*a248dafdSChristopher Ferris UPDATE_FAIL_WRITE_PROTECTED, 55*a248dafdSChristopher Ferris UPDATE_FAIL_MSL_CHECKING, 56*a248dafdSChristopher Ferris }; 57*a248dafdSChristopher Ferris 58*a248dafdSChristopher Ferris const char * update_err_to_string(int err); 59*a248dafdSChristopher Ferris 60*a248dafdSChristopher Ferris #endif // _UPDATEUTIL_H_