mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-21 05:48:23 +00:00
feat(core): Increase Optiga I2C timeout.
[no changelog]
This commit is contained in:
parent
d453dac45c
commit
f8be07b732
@ -62,7 +62,7 @@ static const uint8_t BASE_ADDR = 0x30;
|
||||
static const uint16_t OPTIGA_ADDRESS = (BASE_ADDR << 1);
|
||||
|
||||
// Constants for our I2C HAL.
|
||||
static const uint32_t I2C_TIMEOUT = 15;
|
||||
static const uint32_t I2C_TIMEOUT_MS = 25;
|
||||
static const int I2C_MAX_RETRY_COUNT = 10;
|
||||
|
||||
// Maximum time in millisecods to retry reading Optiga's response to a command.
|
||||
@ -195,7 +195,7 @@ static optiga_result optiga_i2c_write(const uint8_t *data, uint16_t data_size) {
|
||||
hal_delay(1);
|
||||
}
|
||||
if (HAL_OK == i2c_transmit(OPTIGA_I2C_INSTANCE, OPTIGA_ADDRESS,
|
||||
(uint8_t *)data, data_size, I2C_TIMEOUT)) {
|
||||
(uint8_t *)data, data_size, I2C_TIMEOUT_MS)) {
|
||||
hal_delay_us(1000);
|
||||
return OPTIGA_SUCCESS;
|
||||
}
|
||||
@ -208,7 +208,7 @@ static optiga_result optiga_i2c_read(uint8_t *buffer, uint16_t buffer_size) {
|
||||
for (int try_count = 0; try_count <= I2C_MAX_RETRY_COUNT; ++try_count) {
|
||||
HAL_Delay(1);
|
||||
if (HAL_OK == i2c_receive(OPTIGA_I2C_INSTANCE, OPTIGA_ADDRESS, buffer,
|
||||
buffer_size, I2C_TIMEOUT)) {
|
||||
buffer_size, I2C_TIMEOUT_MS)) {
|
||||
OPTIGA_LOG("<<<", buffer, buffer_size)
|
||||
return OPTIGA_SUCCESS;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user