boards/xtensa/esp32[-s2|-s3]: Add RTC I2C board support
Add RTC I2C board support for esp32[-s2|-s3]
Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
diff --git a/boards/xtensa/esp32s2/esp32s2-saola-1/src/esp32s2_board_i2c.c b/boards/xtensa/esp32s2/esp32s2-saola-1/src/esp32s2_board_i2c.c
index 37e909b..e6cfa08 100644
--- a/boards/xtensa/esp32s2/esp32s2-saola-1/src/esp32s2_board_i2c.c
+++ b/boards/xtensa/esp32s2/esp32s2-saola-1/src/esp32s2_board_i2c.c
@@ -42,7 +42,7 @@
static int i2c_driver_init(int bus)
{
struct i2c_master_s *i2c;
- int ret;
+ int ret = OK;
i2c = esp32s2_i2cbus_initialize(bus);
if (i2c == NULL)
@@ -51,11 +51,14 @@
return -ENODEV;
}
- ret = i2c_register(i2c, bus);
- if (ret < 0)
+ if (bus != ESP32S2_RTC_I2C)
{
- i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
- esp32s2_i2cbus_uninitialize(i2c);
+ ret = i2c_register(i2c, bus);
+ if (ret < 0)
+ {
+ i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
+ esp32s2_i2cbus_uninitialize(i2c);
+ }
}
return ret;
@@ -89,6 +92,10 @@
# ifdef CONFIG_ESP32S2_I2C1_MASTER_MODE
ret = i2c_driver_init(ESP32S2_I2C1);
# endif
+
+# ifdef CONFIG_ESP32S2_RTC_I2C
+ ret = i2c_driver_init(ESP32S2_RTC_I2C);
+# endif
#endif /* #ifdef CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE */
done:
diff --git a/boards/xtensa/esp32s3/common/src/esp32s3_board_i2c.c b/boards/xtensa/esp32s3/common/src/esp32s3_board_i2c.c
index 290c14f..6ea5567 100644
--- a/boards/xtensa/esp32s3/common/src/esp32s3_board_i2c.c
+++ b/boards/xtensa/esp32s3/common/src/esp32s3_board_i2c.c
@@ -82,7 +82,7 @@
static int i2c_driver_init(int bus)
{
struct i2c_master_s *i2c;
- int ret;
+ int ret = OK;
i2c = esp32s3_i2cbus_initialize(bus);
if (i2c == NULL)
@@ -91,11 +91,14 @@
return -ENODEV;
}
- ret = i2c_register(i2c, bus);
- if (ret < 0)
+ if (bus != ESP32S3_RTC_I2C)
{
- i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
- esp32s3_i2cbus_uninitialize(i2c);
+ ret = i2c_register(i2c, bus);
+ if (ret < 0)
+ {
+ i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
+ esp32s3_i2cbus_uninitialize(i2c);
+ }
}
return ret;
@@ -154,6 +157,10 @@
# ifdef CONFIG_ESP32S3_I2C1_MASTER_MODE
ret = i2c_driver_init(ESP32S3_I2C1);
# endif
+
+# ifdef CONFIG_ESP32S3_RTC_I2C
+ ret = i2c_driver_init(ESP32S3_RTC_I2C);
+# endif
#endif
#ifdef CONFIG_ESPRESSIF_I2C_BITBANG