mirror of
https://github.com/apache/nuttx.git
synced 2026-05-27 03:05:40 +08:00
arch/xtensa/esp32[s2|s3]: Add I2C slave support
Add I2C slave support on arch level for Xtensa based Espressif devices Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
This commit is contained in:
committed by
Alin Jerpelea
parent
7658c39304
commit
4d89d7186e
@@ -28,9 +28,24 @@ config ESPRESSIF_TEMP
|
|||||||
---help---
|
---help---
|
||||||
A built-in sensor used to measure the chip's internal temperature.
|
A built-in sensor used to measure the chip's internal temperature.
|
||||||
|
|
||||||
config ESPRESSIF_I2C_PERIPH
|
config ESPRESSIF_I2C_PERIPH_MASTER_MODE
|
||||||
bool
|
bool
|
||||||
depends on (ESP32S3_I2C0 || ESP32S3_I2C1) || (ESP32_I2C0 || ESP32_I2C1) || (ESP32S2_I2C0 || ESP32S2_I2C1)
|
depends on (ESP32S3_I2C_PERIPH_MASTER_MODE || ESP32S2_I2C_PERIPH_MASTER_MODE || ESP32_I2C_PERIPH_MASTER_MODE)
|
||||||
|
default n
|
||||||
|
|
||||||
|
config ESPRESSIF_I2C_PERIPH_SLAVE_MODE
|
||||||
|
bool
|
||||||
|
depends on (ESP32S3_I2C_PERIPH_SLAVE_MODE || ESP32S2_I2C_PERIPH_SLAVE_MODE || ESP32_I2C_PERIPH_SLAVE_MODE)
|
||||||
|
default n
|
||||||
|
|
||||||
|
config ESPRESSIF_I2C0_SLAVE
|
||||||
|
bool
|
||||||
|
depends on (ESP32S3_I2C0_SLAVE_MODE || ESP32S2_I2C0_SLAVE_MODE || ESP32_I2C0_SLAVE_MODE)
|
||||||
|
default n
|
||||||
|
|
||||||
|
config ESPRESSIF_I2C1_SLAVE
|
||||||
|
bool
|
||||||
|
depends on (ESP32S3_I2C1_SLAVE_MODE || ESP32S2_I2C1_SLAVE_MODE || ESP32_I2C1_SLAVE_MODE)
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config ESPRESSIF_I2C_BITBANG
|
config ESPRESSIF_I2C_BITBANG
|
||||||
|
|||||||
@@ -64,6 +64,10 @@ CHIP_CSRCS += esp_spiflash_mtd.c
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_ESPRESSIF_I2C_PERIPH_SLAVE_MODE),y)
|
||||||
|
CHIP_CSRCS += esp_i2c_slave.c
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_SYSTEM_NXDIAG_ESPRESSIF_CHIP_WO_TOOL),y)
|
ifeq ($(CONFIG_SYSTEM_NXDIAG_ESPRESSIF_CHIP_WO_TOOL),y)
|
||||||
CHIP_CSRCS += esp_nxdiag.c
|
CHIP_CSRCS += esp_nxdiag.c
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -831,13 +831,59 @@ config ESP32_I2C0
|
|||||||
bool "I2C 0"
|
bool "I2C 0"
|
||||||
default n
|
default n
|
||||||
select ESP32_I2C
|
select ESP32_I2C
|
||||||
select ESPRESSIF_I2C_PERIPH
|
|
||||||
|
|
||||||
config ESP32_I2C1
|
config ESP32_I2C1
|
||||||
bool "I2C 1"
|
bool "I2C 1"
|
||||||
default n
|
default n
|
||||||
select ESP32_I2C
|
select ESP32_I2C
|
||||||
select ESPRESSIF_I2C_PERIPH
|
|
||||||
|
config ESP32_I2C_PERIPH_MASTER_MODE
|
||||||
|
bool
|
||||||
|
depends on (ESP32_I2C0_MASTER_MODE || ESP32_I2C1_MASTER_MODE)
|
||||||
|
default n
|
||||||
|
select ESPRESSIF_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32_I2C_PERIPH_SLAVE_MODE
|
||||||
|
bool
|
||||||
|
depends on (ESP32_I2C0_SLAVE_MODE || ESP32_I2C1_SLAVE_MODE)
|
||||||
|
default n
|
||||||
|
select ESPRESSIF_I2C_PERIPH_SLAVE_MODE
|
||||||
|
select ESPRESSIF_I2C0_SLAVE if ESP32_I2C0_SLAVE_MODE
|
||||||
|
select ESPRESSIF_I2C1_SLAVE if ESP32_I2C1_SLAVE_MODE
|
||||||
|
|
||||||
|
choice ESP32_I2C0_MODE
|
||||||
|
prompt "I2C0 Mode"
|
||||||
|
depends on ESP32_I2C0
|
||||||
|
default ESP32_I2C0_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32_I2C0_MASTER_MODE
|
||||||
|
bool "I2C0 Master Mode"
|
||||||
|
select ESP32_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32_I2C0_SLAVE_MODE
|
||||||
|
bool "I2C0 Slave Mode"
|
||||||
|
select I2C_SLAVE
|
||||||
|
select I2C_SLAVE_DRIVER
|
||||||
|
select ESP32_I2C_PERIPH_SLAVE_MODE
|
||||||
|
|
||||||
|
endchoice # ESP32_I2C0_MODE
|
||||||
|
|
||||||
|
choice ESP32_I2C1_MODE
|
||||||
|
prompt "I2C1 Mode"
|
||||||
|
depends on ESP32_I2C1
|
||||||
|
default ESP32_I2C1_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32_I2C1_MASTER_MODE
|
||||||
|
bool "I2C1 Master Mode"
|
||||||
|
select ESP32_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32_I2C1_SLAVE_MODE
|
||||||
|
bool "I2C1 Slave Mode"
|
||||||
|
select I2C_SLAVE
|
||||||
|
select I2C_SLAVE_DRIVER
|
||||||
|
select ESP32_I2C_PERIPH_SLAVE_MODE
|
||||||
|
|
||||||
|
endchoice # ESP32_I2C1_MODE
|
||||||
|
|
||||||
config ESP32_TWAI0
|
config ESP32_TWAI0
|
||||||
bool "TWAI (CAN) 0"
|
bool "TWAI (CAN) 0"
|
||||||
@@ -1202,12 +1248,12 @@ endif # ESP32_I2C1
|
|||||||
config ESP32_I2CTIMEOSEC
|
config ESP32_I2CTIMEOSEC
|
||||||
int "Timeout seconds"
|
int "Timeout seconds"
|
||||||
default 0
|
default 0
|
||||||
depends on ESPRESSIF_I2C_PERIPH
|
depends on ESP32_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
config ESP32_I2CTIMEOMS
|
config ESP32_I2CTIMEOMS
|
||||||
int "Timeout milliseconds"
|
int "Timeout milliseconds"
|
||||||
default 500
|
default 500
|
||||||
depends on ESPRESSIF_I2C_PERIPH
|
depends on ESP32_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
endmenu # I2C configuration
|
endmenu # I2C configuration
|
||||||
|
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ CHIP_CSRCS += esp32_ledc.c
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESP32_I2C),y)
|
ifeq ($(CONFIG_ESP32_I2C),y)
|
||||||
ifeq ($(CONFIG_ESPRESSIF_I2C_PERIPH),y)
|
ifeq ($(CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE),y)
|
||||||
CHIP_CSRCS += esp32_i2c.c
|
CHIP_CSRCS += esp32_i2c.c
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
#include <nuttx/config.h>
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH
|
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -1569,4 +1569,4 @@ int esp32_i2cbus_uninitialize(struct i2c_master_s *dev)
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH */
|
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE */
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ extern "C"
|
|||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH
|
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: esp32_i2cbus_initialize
|
* Name: esp32_i2cbus_initialize
|
||||||
*
|
*
|
||||||
@@ -91,7 +91,7 @@ struct i2c_master_s *esp32_i2cbus_initialize(int port);
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int esp32_i2cbus_uninitialize(struct i2c_master_s *dev);
|
int esp32_i2cbus_uninitialize(struct i2c_master_s *dev);
|
||||||
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH */
|
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,12 +115,14 @@ CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$
|
|||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)uart_hal_iram.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)uart_hal_iram.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)uart_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)uart_hal.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)mmu_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)mmu_hal.c
|
||||||
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)i2c_hal.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)log_noos.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)log_noos.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)log.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)log.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)gpio_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)gpio_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)ledc_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)ledc_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)pcnt_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)pcnt_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)rmt_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)rmt_periph.c
|
||||||
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)i2c_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)mcpwm_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)mcpwm_periph.c
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESPRESSIF_SIMPLE_BOOT),y)
|
ifeq ($(CONFIG_ESPRESSIF_SIMPLE_BOOT),y)
|
||||||
|
|||||||
@@ -473,14 +473,60 @@ config ESP32S2_I2C0
|
|||||||
default n
|
default n
|
||||||
select ESP32S2_I2C
|
select ESP32S2_I2C
|
||||||
select I2C
|
select I2C
|
||||||
select ESPRESSIF_I2C_PERIPH
|
|
||||||
|
|
||||||
config ESP32S2_I2C1
|
config ESP32S2_I2C1
|
||||||
bool "I2C 1"
|
bool "I2C 1"
|
||||||
default n
|
default n
|
||||||
select ESP32S2_I2C
|
select ESP32S2_I2C
|
||||||
select I2C
|
select I2C
|
||||||
select ESPRESSIF_I2C_PERIPH
|
|
||||||
|
config ESP32S2_I2C_PERIPH_MASTER_MODE
|
||||||
|
bool
|
||||||
|
depends on (ESP32S2_I2C0_MASTER_MODE || ESP32S2_I2C1_MASTER_MODE)
|
||||||
|
default n
|
||||||
|
select ESPRESSIF_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32S2_I2C_PERIPH_SLAVE_MODE
|
||||||
|
bool
|
||||||
|
depends on (ESP32S2_I2C0_SLAVE_MODE || ESP32S2_I2C1_SLAVE_MODE)
|
||||||
|
default n
|
||||||
|
select ESPRESSIF_I2C_PERIPH_SLAVE_MODE
|
||||||
|
select ESPRESSIF_I2C0_SLAVE if ESP32S2_I2C0_SLAVE_MODE
|
||||||
|
select ESPRESSIF_I2C1_SLAVE if ESP32S2_I2C1_SLAVE_MODE
|
||||||
|
|
||||||
|
choice ESP32S2_I2C0_MODE
|
||||||
|
prompt "I2C0 Mode"
|
||||||
|
depends on ESP32S2_I2C0
|
||||||
|
default ESP32S2_I2C0_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32S2_I2C0_MASTER_MODE
|
||||||
|
bool "I2C0 Master Mode"
|
||||||
|
select ESP32S2_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32S2_I2C0_SLAVE_MODE
|
||||||
|
bool "I2C0 Slave Mode"
|
||||||
|
select I2C_SLAVE
|
||||||
|
select I2C_SLAVE_DRIVER
|
||||||
|
select ESP32S2_I2C_PERIPH_SLAVE_MODE
|
||||||
|
|
||||||
|
endchoice # ESP32S2_I2C0_MODE
|
||||||
|
|
||||||
|
choice ESP32S2_I2C1_MODE
|
||||||
|
prompt "I2C1 Mode"
|
||||||
|
depends on ESP32S2_I2C1
|
||||||
|
default ESP32S2_I2C1_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32S2_I2C1_MASTER_MODE
|
||||||
|
bool "I2C1 Master Mode"
|
||||||
|
select ESP32S2_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32S2_I2C1_SLAVE_MODE
|
||||||
|
bool "I2C1 Slave Mode"
|
||||||
|
select I2C_SLAVE
|
||||||
|
select I2C_SLAVE_DRIVER
|
||||||
|
select ESP32S2_I2C_PERIPH_SLAVE_MODE
|
||||||
|
|
||||||
|
endchoice # ESP32S2_I2C1_MODE
|
||||||
|
|
||||||
config ESP32S2_TWAI
|
config ESP32S2_TWAI
|
||||||
bool "TWAI (CAN)"
|
bool "TWAI (CAN)"
|
||||||
@@ -790,17 +836,17 @@ config ESP32S2_I2C1_SDAPIN
|
|||||||
default 7
|
default 7
|
||||||
range 0 46
|
range 0 46
|
||||||
|
|
||||||
endif # ESP32S2_I2C1
|
endif # ESPRESSIF_I2C1
|
||||||
|
|
||||||
config ESP32S2_I2CTIMEOSEC
|
config ESP32S2_I2CTIMEOSEC
|
||||||
int "Timeout seconds"
|
int "Timeout seconds"
|
||||||
default 0
|
default 0
|
||||||
depends on ESPRESSIF_I2C_PERIPH
|
depends on ESP32S2_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
config ESP32S2_I2CTIMEOMS
|
config ESP32S2_I2CTIMEOMS
|
||||||
int "Timeout milliseconds"
|
int "Timeout milliseconds"
|
||||||
default 500
|
default 500
|
||||||
depends on ESPRESSIF_I2C_PERIPH
|
depends on ESP32S2_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
endmenu # I2C Configuration
|
endmenu # I2C Configuration
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ CHIP_CSRCS += esp32s2_rng.c
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESP32S2_I2C),y)
|
ifeq ($(CONFIG_ESP32S2_I2C),y)
|
||||||
ifeq ($(CONFIG_ESPRESSIF_I2C_PERIPH),y)
|
ifeq ($(CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE),y)
|
||||||
CHIP_CSRCS += esp32s2_i2c.c
|
CHIP_CSRCS += esp32s2_i2c.c
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
#include <nuttx/config.h>
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH
|
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
@@ -1613,4 +1613,4 @@ int esp32s2_i2cbus_uninitialize(struct i2c_master_s *dev)
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH */
|
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE */
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH
|
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: esp32s2_i2cbus_initialize
|
* Name: esp32s2_i2cbus_initialize
|
||||||
*
|
*
|
||||||
@@ -87,7 +87,7 @@ struct i2c_master_s *esp32s2_i2cbus_initialize(int port);
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int esp32s2_i2cbus_uninitialize(struct i2c_master_s *dev);
|
int esp32s2_i2cbus_uninitialize(struct i2c_master_s *dev);
|
||||||
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH */
|
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE */
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
#endif /* __ARCH_XTENSA_SRC_ESP32S2_ESP32S2_I2C_H */
|
#endif /* __ARCH_XTENSA_SRC_ESP32S2_ESP32S2_I2C_H */
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$
|
|||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)cache_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)cache_hal.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)mpu_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)mpu_hal.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)mmu_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)mmu_hal.c
|
||||||
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)i2c_hal.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)brownout_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)brownout_hal.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)efuse_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)efuse_hal.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)gpio_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)gpio_hal.c
|
||||||
@@ -116,6 +117,7 @@ CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$
|
|||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)ledc_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)ledc_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)pcnt_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)pcnt_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)rmt_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)rmt_periph.c
|
||||||
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)i2c_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)temperature_sensor_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)temperature_sensor_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)spi_flash$(DELIM)flash_ops.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)spi_flash$(DELIM)flash_ops.c
|
||||||
|
|
||||||
|
|||||||
@@ -660,14 +660,60 @@ config ESP32S3_I2C0
|
|||||||
default n
|
default n
|
||||||
select ESP32S3_I2C
|
select ESP32S3_I2C
|
||||||
select I2C
|
select I2C
|
||||||
select ESPRESSIF_I2C_PERIPH
|
|
||||||
|
|
||||||
config ESP32S3_I2C1
|
config ESP32S3_I2C1
|
||||||
bool "I2C 1"
|
bool "I2C 1"
|
||||||
default n
|
default n
|
||||||
select ESP32S3_I2C
|
select ESP32S3_I2C
|
||||||
select I2C
|
select I2C
|
||||||
select ESPRESSIF_I2C_PERIPH
|
|
||||||
|
config ESP32S3_I2C_PERIPH_MASTER_MODE
|
||||||
|
bool
|
||||||
|
depends on (ESP32S3_I2C0_MASTER_MODE || ESP32S3_I2C1_MASTER_MODE)
|
||||||
|
default n
|
||||||
|
select ESPRESSIF_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32S3_I2C_PERIPH_SLAVE_MODE
|
||||||
|
bool
|
||||||
|
depends on (ESP32S3_I2C0_SLAVE_MODE || ESP32S3_I2C1_SLAVE_MODE)
|
||||||
|
default n
|
||||||
|
select ESPRESSIF_I2C_PERIPH_SLAVE_MODE
|
||||||
|
select ESPRESSIF_I2C0_SLAVE if ESP32S3_I2C0_SLAVE_MODE
|
||||||
|
select ESPRESSIF_I2C1_SLAVE if ESP32S3_I2C1_SLAVE_MODE
|
||||||
|
|
||||||
|
choice ESP32S3_I2C0_MODE
|
||||||
|
prompt "I2C0 Mode"
|
||||||
|
depends on ESP32S3_I2C0
|
||||||
|
default ESP32S3_I2C0_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32S3_I2C0_MASTER_MODE
|
||||||
|
bool "I2C0 Master Mode"
|
||||||
|
select ESP32S3_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32S3_I2C0_SLAVE_MODE
|
||||||
|
bool "I2C0 Slave Mode"
|
||||||
|
select I2C_SLAVE
|
||||||
|
select I2C_SLAVE_DRIVER
|
||||||
|
select ESP32S3_I2C_PERIPH_SLAVE_MODE
|
||||||
|
|
||||||
|
endchoice # ESP32S3_I2C0_MODE
|
||||||
|
|
||||||
|
choice ESP32S3_I2C1_MODE
|
||||||
|
prompt "I2C1 Mode"
|
||||||
|
depends on ESP32S3_I2C1
|
||||||
|
default ESP32S3_I2C1_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32S3_I2C1_MASTER_MODE
|
||||||
|
bool "I2C1 Master Mode"
|
||||||
|
select ESP32S3_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
|
config ESP32S3_I2C1_SLAVE_MODE
|
||||||
|
bool "I2C1 Slave Mode"
|
||||||
|
select I2C_SLAVE
|
||||||
|
select I2C_SLAVE_DRIVER
|
||||||
|
select ESP32S3_I2C_PERIPH_SLAVE_MODE
|
||||||
|
|
||||||
|
endchoice # ESP32S3_I2C1_MODE
|
||||||
|
|
||||||
config ESP32S3_TWAI
|
config ESP32S3_TWAI
|
||||||
bool "TWAI (CAN)"
|
bool "TWAI (CAN)"
|
||||||
@@ -1402,12 +1448,12 @@ endif # ESP32S3_I2C1
|
|||||||
config ESP32S3_I2CTIMEOSEC
|
config ESP32S3_I2CTIMEOSEC
|
||||||
int "Timeout seconds"
|
int "Timeout seconds"
|
||||||
default 0
|
default 0
|
||||||
depends on ESPRESSIF_I2C_PERIPH
|
depends on ESP32S3_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
config ESP32S3_I2CTIMEOMS
|
config ESP32S3_I2CTIMEOMS
|
||||||
int "Timeout milliseconds"
|
int "Timeout milliseconds"
|
||||||
default 500
|
default 500
|
||||||
depends on ESPRESSIF_I2C_PERIPH
|
depends on ESP32S3_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
endmenu # I2C Configuration
|
endmenu # I2C Configuration
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ CHIP_CSRCS += esp32s3_adc.c
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_ESP32S3_I2C),y)
|
ifeq ($(CONFIG_ESP32S3_I2C),y)
|
||||||
ifeq ($(CONFIG_ESPRESSIF_I2C_PERIPH),y)
|
ifeq ($(CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE),y)
|
||||||
CHIP_CSRCS += esp32s3_i2c.c
|
CHIP_CSRCS += esp32s3_i2c.c
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
#include <nuttx/config.h>
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH
|
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
@@ -1647,4 +1647,4 @@ int esp32s3_i2cbus_uninitialize(struct i2c_master_s *dev)
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH */
|
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE */
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH
|
#ifdef CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Name: esp32s3_i2cbus_initialize
|
* Name: esp32s3_i2cbus_initialize
|
||||||
*
|
*
|
||||||
@@ -87,7 +87,7 @@ struct i2c_master_s *esp32s3_i2cbus_initialize(int port);
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
int esp32s3_i2cbus_uninitialize(struct i2c_master_s *dev);
|
int esp32s3_i2cbus_uninitialize(struct i2c_master_s *dev);
|
||||||
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH */
|
#endif /* CONFIG_ESPRESSIF_I2C_PERIPH_MASTER_MODE */
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
#endif /* __ARCH_XTENSA_SRC_ESP32S3_ESP32S3_I2C_H */
|
#endif /* __ARCH_XTENSA_SRC_ESP32S3_ESP32S3_I2C_H */
|
||||||
|
|||||||
@@ -117,6 +117,7 @@ CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$
|
|||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)cache_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)cache_hal.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)mpu_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)mpu_hal.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)mmu_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)mmu_hal.c
|
||||||
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)i2c_hal.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)uart_hal_iram.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)uart_hal_iram.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)uart_hal.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)hal$(DELIM)uart_hal.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)log_noos.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)log$(DELIM)log_noos.c
|
||||||
@@ -125,6 +126,7 @@ CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$
|
|||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)ledc_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)ledc_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)pcnt_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)pcnt_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)rmt_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)rmt_periph.c
|
||||||
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)i2c_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)mcpwm_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)mcpwm_periph.c
|
||||||
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)temperature_sensor_periph.c
|
CHIP_CSRCS += chip$(DELIM)$(ESP_HAL_3RDPARTY_REPO)$(DELIM)components$(DELIM)soc$(DELIM)$(CHIP_SERIES)$(DELIM)temperature_sensor_periph.c
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user