mirror of
https://github.com/apache/nuttx.git
synced 2026-08-30 05:40:37 +00:00
arch/risc-v/espressif: Add LPI2C support for esp32p4
Add LPI2C support for esp32p4 Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
This commit is contained in:
parent
ae5c08c758
commit
7e321e0aba
2 changed files with 28 additions and 15 deletions
|
|
@ -3123,7 +3123,8 @@ config ESPRESSIF_I2C0_SCLPIN
|
|||
|
||||
config ESPRESSIF_I2C0_SDAPIN
|
||||
int "I2C0 SDA Pin"
|
||||
default 5
|
||||
default 5 if !ESPRESSIF_LPI2C
|
||||
default 22 if ESPRESSIF_LPI2C
|
||||
range 0 21 if ARCH_CHIP_ESP32C3
|
||||
range 0 30 if ARCH_CHIP_ESP32C6
|
||||
range 0 27 if ARCH_CHIP_ESP32H2
|
||||
|
|
@ -3175,22 +3176,31 @@ choice ESPRESSIF_LPI2C_MODE
|
|||
default ESPRESSIF_LPI2C_MASTER_MODE
|
||||
|
||||
config ESPRESSIF_LPI2C_MASTER_MODE
|
||||
bool "I2C0 Master Mode"
|
||||
bool "LP I2C0 Master Mode"
|
||||
select ESPRESSIF_I2C_PERIPH_MASTER_MODE
|
||||
|
||||
endchoice # ESPRESSIF_LPI2C_MODE
|
||||
|
||||
config ESPRESSIF_LPI2C_SCLPIN
|
||||
int "LPI2C SCL Pin"
|
||||
default 7
|
||||
if ESPRESSIF_LP_I2C0
|
||||
|
||||
config ESPRESSIF_LPI2C0_SCLPIN
|
||||
int "LPI2C0 SCL Pin"
|
||||
default 7 if ARCH_CHIP_ESP32C6
|
||||
default 4 if ARCH_CHIP_ESP32P4
|
||||
range 7 7 if ARCH_CHIP_ESP32C6
|
||||
range 0 15 if ARCH_CHIP_ESP32P4
|
||||
range 7 7 if ARCH_CHIP_ESP32C6
|
||||
|
||||
config ESPRESSIF_LPI2C_SDAPIN
|
||||
int "LPI2C SDA Pin"
|
||||
default 6
|
||||
config ESPRESSIF_LPI2C0_SDAPIN
|
||||
int "LPI2C0 SDA Pin"
|
||||
default 6 if ARCH_CHIP_ESP32C6
|
||||
default 5 if ARCH_CHIP_ESP32P4
|
||||
range 6 6 if ARCH_CHIP_ESP32C6
|
||||
range 0 15 if ARCH_CHIP_ESP32P4
|
||||
range 6 6 if ARCH_CHIP_ESP32C6
|
||||
|
||||
endif # ESPRESSIF_LPI2C
|
||||
endif # ESPRESSIF_LP_I2C0
|
||||
endif # ESPRESSIF_LP_I2C
|
||||
|
||||
if ESPRESSIF_I2C_BITBANG
|
||||
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@
|
|||
# include "io_mux.h"
|
||||
# include "lp_core_i2c.h"
|
||||
# include "soc/i2c_struct.h"
|
||||
# include "driver/lp_io.h"
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
|
|
@ -430,8 +431,8 @@ i2c_hal_context_t lp_i2c0_ctx =
|
|||
static struct esp_i2c_config_s esp_lp_i2c0_config =
|
||||
{
|
||||
.clk_freq = I2C_CLK_FREQ_DEF,
|
||||
.scl_pin = 7,
|
||||
.sda_pin = 6,
|
||||
.scl_pin = CONFIG_ESPRESSIF_LPI2C0_SCLPIN,
|
||||
.sda_pin = CONFIG_ESPRESSIF_LPI2C0_SDAPIN,
|
||||
};
|
||||
|
||||
static struct esp_i2c_priv_s esp_lp_i2c0_priv =
|
||||
|
|
@ -891,10 +892,12 @@ static void esp_i2c_init(struct esp_i2c_priv_s *priv)
|
|||
rtc_gpio_iomux_func_sel(config->sda_pin, p_i2c_pin->iomux_func);
|
||||
rtc_gpio_iomux_func_sel(config->scl_pin, p_i2c_pin->iomux_func);
|
||||
#else
|
||||
/* ToDo: Add LP I2C for LP GPIO Matrix
|
||||
* supported devices (e.g ESP32-P4)
|
||||
*/
|
||||
|
||||
lp_gpio_connect_out_signal(config->sda_pin, p_i2c_pin->sda_out_sig, 0,
|
||||
0);
|
||||
lp_gpio_connect_in_signal(config->sda_pin, p_i2c_pin->sda_in_sig, 0);
|
||||
lp_gpio_connect_out_signal(config->scl_pin, p_i2c_pin->scl_out_sig, 0,
|
||||
0);
|
||||
lp_gpio_connect_in_signal(config->scl_pin, p_i2c_pin->scl_in_sig, 0);
|
||||
#endif /* SOC_LP_GPIO_MATRIX_SUPPORTED */
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue