summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Causer <mcauser@gmail.com>2021-05-14 13:23:44 +1000
committerDamien George <damien@micropython.org>2021-05-14 22:22:13 +1000
commit538b9a9be5e914eae302d31d8ddedec0f049482a (patch)
tree9a0de7b139ffca890e4807007350e8d3380d7717
parent97fee47716627b06bfb11dbcc43f6a000d6e7257 (diff)
esp32/machine_i2c: Allow boards to configure I2C pins using new macros.
Following how SPI is configured (and how stm32 does it).
-rw-r--r--ports/esp32/machine_i2c.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/ports/esp32/machine_i2c.c b/ports/esp32/machine_i2c.c
index fd5180b8d..d9003f45b 100644
--- a/ports/esp32/machine_i2c.c
+++ b/ports/esp32/machine_i2c.c
@@ -32,14 +32,19 @@
#include "driver/i2c.h"
-#define I2C_0_DEFAULT_SCL (GPIO_NUM_18)
-#define I2C_0_DEFAULT_SDA (GPIO_NUM_19)
+#ifndef MICROPY_HW_I2C0_SCL
+#define MICROPY_HW_I2C0_SCL (GPIO_NUM_18)
+#define MICROPY_HW_I2C0_SDA (GPIO_NUM_19)
+#endif
+
+#ifndef MICROPY_HW_I2C1_SCL
#if CONFIG_IDF_TARGET_ESP32
-#define I2C_1_DEFAULT_SCL (GPIO_NUM_25)
-#define I2C_1_DEFAULT_SDA (GPIO_NUM_26)
+#define MICROPY_HW_I2C1_SCL (GPIO_NUM_25)
+#define MICROPY_HW_I2C1_SDA (GPIO_NUM_26)
#else
-#define I2C_1_DEFAULT_SCL (GPIO_NUM_9)
-#define I2C_1_DEFAULT_SDA (GPIO_NUM_8)
+#define MICROPY_HW_I2C1_SCL (GPIO_NUM_9)
+#define MICROPY_HW_I2C1_SDA (GPIO_NUM_8)
+#endif
#endif
#define I2C_DEFAULT_TIMEOUT_US (10000) // 10ms
@@ -149,11 +154,11 @@ mp_obj_t machine_hw_i2c_make_new(const mp_obj_type_t *type, size_t n_args, size_
self->base.type = &machine_hw_i2c_type;
self->port = i2c_id;
if (self->port == I2C_NUM_0) {
- self->scl = I2C_0_DEFAULT_SCL;
- self->sda = I2C_0_DEFAULT_SDA;
+ self->scl = MICROPY_HW_I2C0_SCL;
+ self->sda = MICROPY_HW_I2C0_SDA;
} else {
- self->scl = I2C_1_DEFAULT_SCL;
- self->sda = I2C_1_DEFAULT_SDA;
+ self->scl = MICROPY_HW_I2C1_SCL;
+ self->sda = MICROPY_HW_I2C1_SDA;
}
first_init = true;
}