The boot phase returned from MRPC_I2C_TWI_PING on Gen4 devices ranges from 1 to 6, providing information not only about whether the switch is currently in BL1, BL2 or the main firmware but also how it got there (e.g. via strap pins).
The switchtec tool assumes that the value returned will be between 1 and 3 (1 - BL1, 2 - BL2, 3 - Main firmware).
As a result, trying to download an image with the switch in BL2 fails because switchtec thinks the switch is not in BL2 and sends MRPC_FWDNLD_DOWNLOAD instead of MRPC_FW_TX_FLASH.
The boot phase returned from MRPC_I2C_TWI_PING on Gen4 devices ranges from 1 to 6, providing information not only about whether the switch is currently in BL1, BL2 or the main firmware but also how it got there (e.g. via strap pins).
The switchtec tool assumes that the value returned will be between 1 and 3 (1 - BL1, 2 - BL2, 3 - Main firmware).
As a result, trying to download an image with the switch in BL2 fails because switchtec thinks the switch is not in BL2 and sends MRPC_FWDNLD_DOWNLOAD instead of MRPC_FW_TX_FLASH.