diff options
Diffstat (limited to 'ports/stm32/pyb_i2c.c')
| -rw-r--r-- | ports/stm32/pyb_i2c.c | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/ports/stm32/pyb_i2c.c b/ports/stm32/pyb_i2c.c index 7e1489010..dc907c638 100644 --- a/ports/stm32/pyb_i2c.c +++ b/ports/stm32/pyb_i2c.c @@ -128,7 +128,7 @@ const pyb_i2c_obj_t pyb_i2c_obj[] = {      #endif  }; -#if defined(STM32F7) || defined(STM32G0) || defined(STM32G4) || defined(STM32H7) || defined(STM32L4) +#if defined(STM32F7) || defined(STM32G0) || defined(STM32G4) || defined(STM32H7) || defined(STM32L4) || defined(STM32U5)  // The STM32F0, F3, F7, H7 and L4 use a TIMINGR register rather than ClockSpeed and  // DutyCycle. @@ -215,6 +215,16 @@ const pyb_i2c_obj_t pyb_i2c_obj[] = {  #define MICROPY_HW_I2C_BAUDRATE_DEFAULT (PYB_I2C_SPEED_FULL)  #define MICROPY_HW_I2C_BAUDRATE_MAX (PYB_I2C_SPEED_FAST) +#elif defined(STM32U5) +// generated using CubeMX +#define MICROPY_HW_I2C_BAUDRATE_TIMING { \ +        {PYB_I2C_SPEED_STANDARD, 0x30909DEC}, \ +        {PYB_I2C_SPEED_FULL, 0x00F07BFF}, \ +        {PYB_I2C_SPEED_FAST, 0x00701F6B}, \ +} +#define MICROPY_HW_I2C_BAUDRATE_DEFAULT (PYB_I2C_SPEED_FULL) +#define MICROPY_HW_I2C_BAUDRATE_MAX (PYB_I2C_SPEED_FAST) +  #else  #error "no I2C timings for this MCU"  #endif | 
