Lines Matching +full:reset +full:- +full:mode
8 * http://www.apache.org/licenses/LICENSE-2.0
27 #include <phosphor-logging/lg2.hpp>
59 constexpr uint8_t CMD_RESET_SEQ = 0x01; // This command will reset ISP OS for
62 constexpr uint8_t CMD_BOOT_ISP = 0x02; // Boot the In-System Programming System.
67 constexpr uint8_t B_ISP_MODE = 0x40; // ISP mode
68 constexpr uint8_t B_ISP_MODE_CHKSUM_GOOD = 0x41; // ISP mode & good checksum.
105 if (retryProcessTwo == (MAX_RETRIES - 1)) in doUpdate()
114 // Set ISP mode in doUpdate()
117 // Write ISP Mode failed MAX_RETRIES times in doUpdate()
123 // Reset ISP status in doUpdate()
138 // procedure one time starting with re-writing initial ISP in doUpdate()
139 // mode. If it fails again, log serviceable error. in doUpdate()
147 ispReboot(); // Try to set PSU to normal mode in doUpdate()
155 // ISP Status Reset failed MAX_RETRIES times in doUpdate()
173 if ((retryProcessOne < (MAX_RETRIES - 1)) && in doUpdate()
174 (retryProcessTwo < (MAX_RETRIES - 1))) in doUpdate()
195 // ISP Key to unlock programming mode ( ASCII for "artY"). in writeIspKey()
203 i2cInterface->write(KEY_REGISTER, unlockData.size(), in writeIspKey()
235 // Attempt to set device in ISP mode with retries. in writeIspMode()
242 // Write command to enter ISP mode. in writeIspMode()
243 i2cInterface->write(STATUS_REGISTER, CMD_BOOT_ISP); in writeIspMode()
246 // Read back status register to confirm ISP mode is active. in writeIspMode()
247 i2cInterface->read(STATUS_REGISTER, ispStatus); in writeIspMode()
251 lg2::info("Set ISP Mode"); in writeIspMode()
261 lg2::error("I2C exception during ISP mode write/read: {ERROR}", in writeIspMode()
271 return false; // Failed to set ISP Mode in writeIspMode()
278 lg2::error("Exception during ISP mode write/read: {ERROR}", "ERROR", in writeIspMode()
289 return false; // Failed to set ISP Mode in writeIspMode()
303 lg2::error("Failed to set ISP Mode"); in writeIspMode()
304 return false; // Failed to set ISP Mode after retries in writeIspMode()
309 // Reset ISP status register before firmware download. in writeIspStatusReset()
316 i2cInterface->write(STATUS_REGISTER, in writeIspStatusReset()
317 CMD_RESET_SEQ); // Start reset sequence. in writeIspStatusReset()
323 // Log any errors encountered during reset sequence. in writeIspStatusReset()
324 lg2::error("I2C Write ISP reset failed: {ERROR}", "ERROR", e); in writeIspStatusReset()
329 {"I2C_ISP_RESET", "I2C exception during ISP status reset"}}; in writeIspStatusReset()
339 // Log any errors encountered during reset sequence. in writeIspStatusReset()
340 lg2::error("Write ISP reset failed: {ERROR}", "ERROR", e); in writeIspStatusReset()
345 {"ISP_RESET", "Exception during ISP status reset"}, in writeIspStatusReset()
360 i2cInterface->read(STATUS_REGISTER, ispStatus); in writeIspStatusReset()
363 lg2::info("write/read ISP reset"); in writeIspStatusReset()
365 return true; // ISP status reset successfully. in writeIspStatusReset()
367 i2cInterface->write(STATUS_REGISTER, in writeIspStatusReset()
369 // not reset. in writeIspStatusReset()
370 lg2::error("Write ISP reset failed"); in writeIspStatusReset()
376 // Log any errors encountered during reset sequence. in writeIspStatusReset()
378 "I2C Write/Read or Write error during ISP reset: {ERROR}", in writeIspStatusReset()
393 // Log any errors encountered during reset sequence. in writeIspStatusReset()
394 lg2::error("Write/Read or Write error during ISP reset: {ERROR}", in writeIspStatusReset()
414 lg2::error("Failed to reset ISP Status"); in writeIspStatusReset()
506 ispReboot(); // Try to set PSU to normal mode in downloadPsuFirmware()
539 inputFile->close(); in downloadPsuFirmware()
625 i2cInterface->processCall(regAddr, cmdBlockWrite.size(), in performI2cWriteRead()
640 i2cInterface->read(STATUS_REGISTER, status); in verifyDownloadFWStatus()
643 lg2::error("Firmware download failed - status: {ERR}", "ERR", in verifyDownloadFWStatus()
665 i2cInterface->write(STATUS_REGISTER, CMD_BOOT_PWR); in ispReboot()
683 uint8_t data = 1; // Initialize data to a non-zero value in ispReadRebootStatus()
684 i2cInterface->read(STATUS_REGISTER, data); in ispReadRebootStatus()
723 ispReboot(); // Try to set PSU to normal mode in ispReadRebootStatus()