summaryrefslogtreecommitdiff
path: root/ports/stm32/i2c.c
diff options
context:
space:
mode:
Diffstat (limited to 'ports/stm32/i2c.c')
-rw-r--r--ports/stm32/i2c.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/ports/stm32/i2c.c b/ports/stm32/i2c.c
index 0b7105344..c63fe2162 100644
--- a/ports/stm32/i2c.c
+++ b/ports/stm32/i2c.c
@@ -268,7 +268,12 @@ int i2c_write(i2c_t *i2c, const uint8_t *src, size_t len, size_t next_len) {
return num_acks;
}
-#elif defined(STM32F0) || defined(STM32F7)
+#elif defined(STM32F0) || defined(STM32F7) || defined(STM32H7)
+
+#if defined(STM32H7)
+#define APB1ENR APB1LENR
+#define RCC_APB1ENR_I2C1EN RCC_APB1LENR_I2C1EN
+#endif
STATIC uint16_t i2c_timeout_ms[MICROPY_HW_MAX_I2C];
@@ -468,7 +473,7 @@ int i2c_write(i2c_t *i2c, const uint8_t *src, size_t len, size_t next_len) {
#endif
-#if defined(STM32F0) || defined(STM32F4) || defined(STM32F7)
+#if defined(STM32F0) || defined(STM32F4) || defined(STM32F7) || defined(STM32H7)
int i2c_readfrom(i2c_t *i2c, uint16_t addr, uint8_t *dest, size_t len, bool stop) {
int ret;