boards/risc-v: fix config for SPI and I2C drivers

Replaces CONFIG_I2C_DRIVER with CONFIG_I2C for proper build requirements.
Same for SPI. Also changes some logging to syslog.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
This commit is contained in:
Filipe Cavalcanti
2025-06-26 17:37:13 -03:00
committed by Xiang Xiao
parent 0ce9e82d73
commit 26eb2833cc
23 changed files with 146 additions and 113 deletions
@@ -63,7 +63,7 @@ extern "C"
*
****************************************************************************/
#ifdef CONFIG_I2C_DRIVER
#ifdef CONFIG_I2C
int board_i2c_init(void);
#endif
@@ -67,7 +67,7 @@ extern "C"
*
****************************************************************************/
#ifdef CONFIG_SPI_DRIVER
#ifdef CONFIG_SPI
int board_spidev_initialize(int bus);
#endif
+3 -3
View File
@@ -38,15 +38,15 @@ ifeq ($(CONFIG_ESPRESSIF_SPI),y)
CSRCS += esp_board_spi.c
endif
ifeq ($(CONFIG_SPI_DRIVER),y)
ifeq ($(CONFIG_SPI),y)
CSRCS += esp_board_spidev.c
endif
ifeq ($(CONFIG_SPI_SLAVE_DRIVER),y)
ifeq ($(CONFIG_SPI_SLAVE),y)
CSRCS += esp_board_spislavedev.c
endif
ifeq ($(CONFIG_I2C_DRIVER),y)
ifeq ($(CONFIG_I2C),y)
CSRCS += esp_board_i2c.c
endif
@@ -26,7 +26,7 @@
#include <nuttx/config.h>
#include <debug.h>
#include <syslog.h>
#include <errno.h>
#include <sys/types.h>
@@ -59,20 +59,22 @@
static int i2c_bitbang_driver_init(int bus)
{
struct i2c_master_s *i2c;
int ret;
int ret = OK;
i2c = esp_i2cbus_bitbang_initialize();
if (i2c == NULL)
{
i2cerr("Failed to get I2C%d interface\n", bus);
syslog(LOG_ERR, "Failed to get I2C%d interface\n", bus);
return -ENODEV;
}
#ifdef CONFIG_I2C_DRIVER
ret = i2c_register(i2c, bus);
if (ret < 0)
{
i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register I2C%d driver: %d\n", bus, ret);
}
#endif
return ret;
}
@@ -82,21 +84,23 @@ static int i2c_bitbang_driver_init(int bus)
static int i2c_driver_init(int bus)
{
struct i2c_master_s *i2c;
int ret;
int ret = OK;
i2c = esp_i2cbus_initialize(bus);
if (i2c == NULL)
{
i2cerr("Failed to get I2C%d interface\n", bus);
syslog(LOG_ERR, "Failed to get I2C%d interface\n", bus);
return -ENODEV;
}
#ifdef CONFIG_I2C_DRIVER
ret = i2c_register(i2c, bus);
if (ret < 0)
{
i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register I2C%d driver: %d\n", bus, ret);
esp_i2cbus_uninitialize(i2c);
}
#endif
return ret;
}
@@ -106,21 +110,23 @@ static int i2c_driver_init(int bus)
static int i2c_slave_driver_init(int bus, int addr)
{
struct i2c_slave_s *i2c;
int ret;
int ret = OK;
i2c = esp_i2cbus_slave_initialize(bus, addr);
if (i2c == NULL)
{
i2cerr("Failed to get I2C%d interface\n", bus);
syslog(LOG_ERR, "Failed to get I2C%d interface\n", bus);
return -ENODEV;
}
#ifdef CONFIG_I2C_DRIVER
ret = i2c_slave_register(i2c, bus, addr, I2C0_SLAVE_NBITS);
if (ret < 0)
{
i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register I2C%d driver: %d\n", bus, ret);
esp_i2cbus_slave_uninitialize(i2c);
}
#endif
return ret;
}
@@ -27,7 +27,7 @@
#include <nuttx/config.h>
#include <stdio.h>
#include <debug.h>
#include <syslog.h>
#include <errno.h>
#include <nuttx/spi/spi_transfer.h>
@@ -63,10 +63,8 @@
#ifdef CONFIG_ESPRESSIF_SPI_BITBANG
static int spi_bitbang_driver_init(int port)
{
int ret;
struct spi_dev_s *spi;
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
int ret = OK;
/* Initialize SPI device */
@@ -78,12 +76,16 @@ static int spi_bitbang_driver_init(int port)
return -ENODEV;
}
#ifdef CONFIG_SPI_DRIVER
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
ret = spi_register(spi, port);
if (ret < 0)
{
syslog(LOG_ERR, "Failed to register /dev/spi%d: %d\n", port, ret);
esp_spi_bitbang_uninitialize(spi);
}
#endif
return ret;
}
@@ -110,8 +112,6 @@ static int spi_driver_init(int port)
int ret = OK;
struct spi_dev_s *spi;
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
/* Initialize SPI device */
spi = esp_spibus_initialize(port);
@@ -122,12 +122,16 @@ static int spi_driver_init(int port)
return -ENODEV;
}
#ifdef CONFIG_SPI_DRIVER
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
ret = spi_register(spi, port);
if (ret < 0)
{
syslog(LOG_ERR, "Failed to register /dev/spi%d: %d\n", port, ret);
esp_spibus_uninitialize(spi);
}
#endif
return ret;
}
@@ -184,7 +188,7 @@ int board_spidev_initialize(int port)
default:
{
wderr("ERROR: unsupported SPI %d\n", port);
syslog(LOG_ERR, "ERROR: unsupported SPI %d\n", port);
return ERROR;
}
}
@@ -27,7 +27,7 @@
#include <nuttx/config.h>
#include <stdio.h>
#include <debug.h>
#include <syslog.h>
#include <errno.h>
#include <nuttx/spi/slave.h>
@@ -57,28 +57,29 @@
int board_spislavedev_initialize(int bus)
{
int ret;
struct spi_slave_ctrlr_s *ctrlr;
spiinfo("Initializing /dev/spislv%d...\n", bus);
int ret = OK;
/* Initialize SPI Slave controller device */
ctrlr = esp_spislave_ctrlr_initialize(bus);
if (ctrlr == NULL)
{
spierr("Failed to initialize SPI%d as slave.\n", bus);
syslog(LOG_ERR, "Failed to initialize SPI%d as slave.\n", bus);
return -ENODEV;
}
#ifdef CONFIG_SPI_SLAVE_DRIVER
syslog(LOG_INFO, "Initializing /dev/spislv%d...\n", bus);
ret = spi_slave_register(ctrlr, bus);
if (ret < 0)
{
spierr("Failed to register /dev/spislv%d: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register /dev/spislv%d: %d\n", bus, ret);
esp_spislave_ctrlr_uninitialize(ctrlr);
}
#endif
return ret;
}
@@ -105,7 +105,7 @@
# include "esp_ble.h"
#endif
#ifdef CONFIG_SPI_SLAVE_DRIVER
#ifdef CONFIG_SPI_SLAVE
# include "espressif/esp_spi.h"
# include "esp_board_spislavedev.h"
#endif
@@ -229,7 +229,7 @@ int esp_bringup(void)
#endif
#endif
#if defined(CONFIG_ESPRESSIF_SPI) && defined(CONFIG_SPI_DRIVER)
#ifdef CONFIG_ESPRESSIF_SPI
# ifdef CONFIG_ESPRESSIF_SPI2
ret = board_spidev_initialize(ESPRESSIF_SPI2);
if (ret < 0)
@@ -245,7 +245,7 @@ int esp_bringup(void)
syslog(LOG_ERR, "ERROR: Failed to init spidev 3: %d\n", ret);
}
# endif /* CONFIG_ESPRESSIF_SPI_BITBANG */
#endif /* CONFIG_ESPRESSIF_SPI && CONFIG_SPI_DRIVER*/
#endif /* CONFIG_ESPRESSIF_SPI */
#ifdef CONFIG_ESPRESSIF_SPIFLASH
ret = board_spiflash_init();
@@ -298,7 +298,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_SPI_SLAVE_DRIVER) && defined(CONFIG_ESPRESSIF_SPI2)
#if defined(CONFIG_SPI_SLAVE) && defined(CONFIG_ESPRESSIF_SPI2)
ret = board_spislavedev_initialize(ESPRESSIF_SPI2);
if (ret < 0)
{
@@ -339,7 +339,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_I2C_DRIVER)
#if defined(CONFIG_I2C)
/* Configure I2C peripheral interfaces */
ret = board_i2c_init();
@@ -63,7 +63,7 @@ extern "C"
*
****************************************************************************/
#ifdef CONFIG_I2C_DRIVER
#ifdef CONFIG_I2C
int board_i2c_init(void);
#endif
@@ -67,7 +67,7 @@ extern "C"
*
****************************************************************************/
#ifdef CONFIG_SPI_DRIVER
#ifdef CONFIG_SPI
int board_spidev_initialize(int bus);
#endif
+3 -3
View File
@@ -38,15 +38,15 @@ ifeq ($(CONFIG_ESPRESSIF_SPI),y)
CSRCS += esp_board_spi.c
endif
ifeq ($(CONFIG_SPI_DRIVER),y)
ifeq ($(CONFIG_SPI),y)
CSRCS += esp_board_spidev.c
endif
ifeq ($(CONFIG_SPI_SLAVE_DRIVER),y)
ifeq ($(CONFIG_SPI_SLAVE),y)
CSRCS += esp_board_spislavedev.c
endif
ifeq ($(CONFIG_I2C_DRIVER),y)
ifeq ($(CONFIG_I2C),y)
CSRCS += esp_board_i2c.c
endif
@@ -26,7 +26,7 @@
#include <nuttx/config.h>
#include <debug.h>
#include <syslog.h>
#include <errno.h>
#include <sys/types.h>
@@ -59,20 +59,22 @@
static int i2c_bitbang_driver_init(int bus)
{
struct i2c_master_s *i2c;
int ret;
int ret = OK;
i2c = esp_i2cbus_bitbang_initialize();
if (i2c == NULL)
{
i2cerr("Failed to get I2C%d interface\n", bus);
syslog(LOG_ERR, "Failed to get I2C%d interface\n", bus);
return -ENODEV;
}
#ifdef CONFIG_I2C_DRIVER
ret = i2c_register(i2c, bus);
if (ret < 0)
{
i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register I2C%d driver: %d\n", bus, ret);
}
#endif
return ret;
}
@@ -82,21 +84,23 @@ static int i2c_bitbang_driver_init(int bus)
static int i2c_driver_init(int bus)
{
struct i2c_master_s *i2c;
int ret;
int ret = OK;
i2c = esp_i2cbus_initialize(bus);
if (i2c == NULL)
{
i2cerr("Failed to get I2C%d interface\n", bus);
syslog(LOG_ERR, "Failed to get I2C%d interface\n", bus);
return -ENODEV;
}
#ifdef CONFIG_I2C_DRIVER
ret = i2c_register(i2c, bus);
if (ret < 0)
{
i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register I2C%d driver: %d\n", bus, ret);
esp_i2cbus_uninitialize(i2c);
}
#endif
return ret;
}
@@ -106,21 +110,23 @@ static int i2c_driver_init(int bus)
static int i2c_slave_driver_init(int bus, int addr)
{
struct i2c_slave_s *i2c;
int ret;
int ret = OK;
i2c = esp_i2cbus_slave_initialize(bus, addr);
if (i2c == NULL)
{
i2cerr("Failed to get I2C%d interface\n", bus);
syslog(LOG_ERR, "Failed to get I2C%d interface\n", bus);
return -ENODEV;
}
#ifdef CONFIG_I2C_DRIVER
ret = i2c_slave_register(i2c, bus, addr, I2C0_SLAVE_NBITS);
if (ret < 0)
{
i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register I2C%d driver: %d\n", bus, ret);
esp_i2cbus_slave_uninitialize(i2c);
}
#endif
return ret;
}
@@ -27,7 +27,7 @@
#include <nuttx/config.h>
#include <stdio.h>
#include <debug.h>
#include <syslog.h>
#include <errno.h>
#include <nuttx/spi/spi_transfer.h>
@@ -63,10 +63,8 @@
#ifdef CONFIG_ESPRESSIF_SPI_BITBANG
static int spi_bitbang_driver_init(int port)
{
int ret;
struct spi_dev_s *spi;
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
int ret = OK;
/* Initialize SPI device */
@@ -78,12 +76,16 @@ static int spi_bitbang_driver_init(int port)
return -ENODEV;
}
#ifdef CONFIG_SPI_DRIVER
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
ret = spi_register(spi, port);
if (ret < 0)
{
syslog(LOG_ERR, "Failed to register /dev/spi%d: %d\n", port, ret);
esp_spi_bitbang_uninitialize(spi);
}
#endif
return ret;
}
@@ -107,10 +109,8 @@ static int spi_bitbang_driver_init(int port)
#ifdef CONFIG_ESPRESSIF_SPI_PERIPH
static int spi_driver_init(int port)
{
int ret = OK;
struct spi_dev_s *spi;
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
int ret = OK;
/* Initialize SPI device */
@@ -122,12 +122,16 @@ static int spi_driver_init(int port)
return -ENODEV;
}
#ifdef CONFIG_SPI_DRIVER
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
ret = spi_register(spi, port);
if (ret < 0)
{
syslog(LOG_ERR, "Failed to register /dev/spi%d: %d\n", port, ret);
esp_spibus_uninitialize(spi);
}
#endif
return ret;
}
@@ -184,7 +188,7 @@ int board_spidev_initialize(int port)
default:
{
wderr("ERROR: unsupported SPI %d\n", port);
syslog(LOG_ERR, "ERROR: unsupported SPI %d\n", port);
return ERROR;
}
}
@@ -27,7 +27,7 @@
#include <nuttx/config.h>
#include <stdio.h>
#include <debug.h>
#include <syslog.h>
#include <errno.h>
#include <nuttx/spi/slave.h>
@@ -57,28 +57,29 @@
int board_spislavedev_initialize(int bus)
{
int ret;
struct spi_slave_ctrlr_s *ctrlr;
spiinfo("Initializing /dev/spislv%d...\n", bus);
int ret = OK;
/* Initialize SPI Slave controller device */
ctrlr = esp_spislave_ctrlr_initialize(bus);
if (ctrlr == NULL)
{
spierr("Failed to initialize SPI%d as slave.\n", bus);
syslog(LOG_ERR, "Failed to initialize SPI%d as slave.\n", bus);
return -ENODEV;
}
#ifdef CONFIG_SPI_SLAVE_DRIVER
syslog(LOG_INFO, "Initializing /dev/spislv%d...\n", bus);
ret = spi_slave_register(ctrlr, bus);
if (ret < 0)
{
spierr("Failed to register /dev/spislv%d: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register /dev/spislv%d: %d\n", bus, ret);
esp_spislave_ctrlr_uninitialize(ctrlr);
}
#endif
return ret;
}
@@ -101,7 +101,7 @@
# include "esp_board_wlan.h"
#endif
#ifdef CONFIG_SPI_SLAVE_DRIVER
#ifdef CONFIG_SPI_SLAVE
# include "esp_board_spislavedev.h"
#endif
@@ -264,7 +264,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_ESPRESSIF_SPI) && defined(CONFIG_SPI_DRIVER)
#ifdef CONFIG_ESPRESSIF_SPI
# ifdef CONFIG_ESPRESSIF_SPI2
ret = board_spidev_initialize(ESPRESSIF_SPI2);
if (ret < 0)
@@ -280,7 +280,7 @@ int esp_bringup(void)
syslog(LOG_ERR, "ERROR: Failed to init spidev 3: %d\n", ret);
}
# endif /* CONFIG_ESPRESSIF_SPI_BITBANG */
#endif /* CONFIG_ESPRESSIF_SPI && CONFIG_SPI_DRIVER*/
#endif /* CONFIG_ESPRESSIF_SPI */
#ifdef CONFIG_ESPRESSIF_SPIFLASH
ret = board_spiflash_init();
@@ -300,7 +300,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_I2C_DRIVER)
#if defined(CONFIG_I2C)
/* Configure I2C peripheral interfaces */
ret = board_i2c_init();
@@ -398,7 +398,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_SPI_SLAVE_DRIVER) && defined(CONFIG_ESPRESSIF_SPI2)
#if defined(CONFIG_SPI_SLAVE) && defined(CONFIG_ESPRESSIF_SPI2)
ret = board_spislavedev_initialize(ESPRESSIF_SPI2);
if (ret < 0)
{
@@ -97,7 +97,7 @@
# include "esp_board_wlan.h"
#endif
#ifdef CONFIG_SPI_SLAVE_DRIVER
#ifdef CONFIG_SPI_SLAVE
# include "esp_board_spislavedev.h"
#endif
@@ -252,7 +252,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_ESPRESSIF_SPI) && defined(CONFIG_SPI_DRIVER)
#ifdef CONFIG_ESPRESSIF_SPI
# ifdef CONFIG_ESPRESSIF_SPI2
ret = board_spidev_initialize(ESPRESSIF_SPI2);
if (ret < 0)
@@ -268,7 +268,7 @@ int esp_bringup(void)
syslog(LOG_ERR, "ERROR: Failed to init spidev 3: %d\n", ret);
}
# endif /* CONFIG_ESPRESSIF_SPI_BITBANG */
#endif /* CONFIG_ESPRESSIF_SPI && CONFIG_SPI_DRIVER*/
#endif /* CONFIG_ESPRESSIF_SPI */
#ifdef CONFIG_ESPRESSIF_SPIFLASH
ret = board_spiflash_init();
@@ -288,7 +288,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_I2C_DRIVER)
#if defined(CONFIG_I2C)
/* Configure I2C peripheral interfaces */
ret = board_i2c_init();
@@ -374,7 +374,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_SPI_SLAVE_DRIVER) && defined(CONFIG_ESPRESSIF_SPI2)
#if defined(CONFIG_SPI_SLAVE) && defined(CONFIG_ESPRESSIF_SPI2)
ret = board_spislavedev_initialize(ESPRESSIF_SPI2);
if (ret < 0)
{
@@ -91,7 +91,7 @@
# include "esp_board_wlan.h"
#endif
#ifdef CONFIG_SPI_SLAVE_DRIVER
#ifdef CONFIG_SPI_SLAVE
# include "esp_board_spislavedev.h"
#endif
@@ -234,7 +234,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_ESPRESSIF_SPI) && defined(CONFIG_SPI_DRIVER)
#ifdef CONFIG_ESPRESSIF_SPI
# ifdef CONFIG_ESPRESSIF_SPI2
ret = board_spidev_initialize(ESPRESSIF_SPI2);
if (ret < 0)
@@ -250,7 +250,7 @@ int esp_bringup(void)
syslog(LOG_ERR, "ERROR: Failed to init spidev 3: %d\n", ret);
}
# endif /* CONFIG_ESPRESSIF_SPI_BITBANG */
#endif /* CONFIG_ESPRESSIF_SPI && CONFIG_SPI_DRIVER*/
#endif /* CONFIG_ESPRESSIF_SPI */
#ifdef CONFIG_ESPRESSIF_SPIFLASH
ret = board_spiflash_init();
@@ -270,7 +270,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_I2C_DRIVER)
#if defined(CONFIG_I2C)
/* Configure I2C peripheral interfaces */
ret = board_i2c_init();
@@ -327,7 +327,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_SPI_SLAVE_DRIVER) && defined(CONFIG_ESPRESSIF_SPI2)
#if defined(CONFIG_SPI_SLAVE) && defined(CONFIG_ESPRESSIF_SPI2)
ret = board_spislavedev_initialize(ESPRESSIF_SPI2);
if (ret < 0)
{
@@ -63,7 +63,7 @@ extern "C"
*
****************************************************************************/
#ifdef CONFIG_I2C_DRIVER
#ifdef CONFIG_I2C
int board_i2c_init(void);
#endif
@@ -67,7 +67,7 @@ extern "C"
*
****************************************************************************/
#ifdef CONFIG_SPI_DRIVER
#ifdef CONFIG_SPI
int board_spidev_initialize(int bus);
#endif
+3 -3
View File
@@ -38,15 +38,15 @@ ifeq ($(CONFIG_ESPRESSIF_SPI),y)
CSRCS += esp_board_spi.c
endif
ifeq ($(CONFIG_SPI_DRIVER),y)
ifeq ($(CONFIG_SPI),y)
CSRCS += esp_board_spidev.c
endif
ifeq ($(CONFIG_SPI_SLAVE_DRIVER),y)
ifeq ($(CONFIG_SPI_SLAVE),y)
CSRCS += esp_board_spislavedev.c
endif
ifeq ($(CONFIG_I2C_DRIVER),y)
ifeq ($(CONFIG_I2C),y)
CSRCS += esp_board_i2c.c
endif
@@ -27,7 +27,7 @@
#include <nuttx/config.h>
#include <debug.h>
#include <errno.h>
#include <syslog.h>
#include <sys/types.h>
#include <nuttx/i2c/i2c_master.h>
@@ -64,15 +64,17 @@ static int i2c_bitbang_driver_init(int bus)
i2c = esp_i2cbus_bitbang_initialize();
if (i2c == NULL)
{
i2cerr("Failed to get I2C%d interface\n", bus);
syslog(LOG_ERR, "Failed to get I2C%d interface\n", bus);
return -ENODEV;
}
#ifdef CONFIG_I2C_DRIVER
ret = i2c_register(i2c, bus);
if (ret < 0)
{
i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register I2C%d driver: %d\n", bus, ret);
}
#endif
return ret;
}
@@ -82,21 +84,23 @@ static int i2c_bitbang_driver_init(int bus)
static int i2c_driver_init(int bus)
{
struct i2c_master_s *i2c;
int ret;
int ret = OK;
i2c = esp_i2cbus_initialize(bus);
if (i2c == NULL)
{
i2cerr("Failed to get I2C%d interface\n", bus);
syslog(LOG_ERR, "Failed to get I2C%d interface\n", bus);
return -ENODEV;
}
#ifdef CONFIG_I2C_DRIVER
ret = i2c_register(i2c, bus);
if (ret < 0)
{
i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register I2C%d driver: %d\n", bus, ret);
esp_i2cbus_uninitialize(i2c);
}
#endif
return ret;
}
@@ -106,21 +110,23 @@ static int i2c_driver_init(int bus)
static int i2c_slave_driver_init(int bus, int addr)
{
struct i2c_slave_s *i2c;
int ret;
int ret = OK;
i2c = esp_i2cbus_slave_initialize(bus, addr);
if (i2c == NULL)
{
i2cerr("Failed to get I2C%d interface\n", bus);
syslog(LOG_ERR, "Failed to get I2C%d interface\n", bus);
return -ENODEV;
}
#ifdef CONFIG_I2C_DRIVER
ret = i2c_slave_register(i2c, bus, addr, I2C0_SLAVE_NBITS);
if (ret < 0)
{
i2cerr("Failed to register I2C%d driver: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register I2C%d driver: %d\n", bus, ret);
esp_i2cbus_slave_uninitialize(i2c);
}
#endif
return ret;
}
@@ -27,7 +27,7 @@
#include <nuttx/config.h>
#include <stdio.h>
#include <debug.h>
#include <syslog.h>
#include <errno.h>
#include <nuttx/spi/spi_transfer.h>
@@ -63,10 +63,8 @@
#ifdef CONFIG_ESPRESSIF_SPI_BITBANG
static int spi_bitbang_driver_init(int port)
{
int ret;
struct spi_dev_s *spi;
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
int ret = OK;
/* Initialize SPI device */
@@ -78,12 +76,16 @@ static int spi_bitbang_driver_init(int port)
return -ENODEV;
}
#ifdef CONFIG_SPI_DRIVER
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
ret = spi_register(spi, port);
if (ret < 0)
{
syslog(LOG_ERR, "Failed to register /dev/spi%d: %d\n", port, ret);
esp_spi_bitbang_uninitialize(spi);
}
#endif
return ret;
}
@@ -107,10 +109,8 @@ static int spi_bitbang_driver_init(int port)
#ifdef CONFIG_ESPRESSIF_SPI_PERIPH
static int spi_driver_init(int port)
{
int ret = OK;
struct spi_dev_s *spi;
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
int ret = OK;
/* Initialize SPI device */
@@ -122,12 +122,16 @@ static int spi_driver_init(int port)
return -ENODEV;
}
#ifdef CONFIG_SPI_DRIVER
syslog(LOG_INFO, "Initializing /dev/spi%d...\n", port);
ret = spi_register(spi, port);
if (ret < 0)
{
syslog(LOG_ERR, "Failed to register /dev/spi%d: %d\n", port, ret);
esp_spibus_uninitialize(spi);
}
#endif
return ret;
}
@@ -184,7 +188,7 @@ int board_spidev_initialize(int port)
default:
{
wderr("ERROR: unsupported SPI %d\n", port);
syslog(LOG_ERR, "ERROR: unsupported SPI %d\n", port);
return ERROR;
}
}
@@ -27,7 +27,7 @@
#include <nuttx/config.h>
#include <stdio.h>
#include <debug.h>
#include <syslog.h>
#include <errno.h>
#include <nuttx/spi/slave.h>
@@ -57,28 +57,29 @@
int board_spislavedev_initialize(int bus)
{
int ret;
struct spi_slave_ctrlr_s *ctrlr;
spiinfo("Initializing /dev/spislv%d...\n", bus);
int ret = OK;
/* Initialize SPI Slave controller device */
ctrlr = esp_spislave_ctrlr_initialize(bus);
if (ctrlr == NULL)
{
spierr("Failed to initialize SPI%d as slave.\n", bus);
syslog(LOG_ERR, "Failed to initialize SPI%d as slave.\n", bus);
return -ENODEV;
}
#ifdef CONFIG_SPI_SLAVE_DRIVER
syslog(LOG_INFO, "Initializing /dev/spislv%d...\n", bus);
ret = spi_slave_register(ctrlr, bus);
if (ret < 0)
{
spierr("Failed to register /dev/spislv%d: %d\n", bus, ret);
syslog(LOG_ERR, "Failed to register /dev/spislv%d: %d\n", bus, ret);
esp_spislave_ctrlr_uninitialize(ctrlr);
}
#endif
return ret;
}
@@ -85,7 +85,7 @@
# endif
#endif
#ifdef CONFIG_SPI_SLAVE_DRIVER
#ifdef CONFIG_SPI_SLAVE
# include "espressif/esp_spi.h"
# include "esp_board_spislavedev.h"
#endif
@@ -250,7 +250,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_ESPRESSIF_SPI) && defined(CONFIG_SPI_DRIVER)
#ifdef CONFIG_ESPRESSIF_SPI
# ifdef CONFIG_ESPRESSIF_SPI2
ret = board_spidev_initialize(ESPRESSIF_SPI2);
if (ret < 0)
@@ -266,7 +266,7 @@ int esp_bringup(void)
syslog(LOG_ERR, "ERROR: Failed to init spidev 3: %d\n", ret);
}
# endif /* CONFIG_ESPRESSIF_SPI_BITBANG */
#endif /* CONFIG_ESPRESSIF_SPI && CONFIG_SPI_DRIVER*/
#endif /* CONFIG_ESPRESSIF_SPI */
#ifdef CONFIG_ESPRESSIF_SPIFLASH
ret = board_spiflash_init();
@@ -286,7 +286,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_I2C_DRIVER)
#if defined(CONFIG_I2C)
/* Configure I2C peripheral interfaces */
ret = board_i2c_init();
@@ -347,7 +347,7 @@ int esp_bringup(void)
}
#endif
#if defined(CONFIG_SPI_SLAVE_DRIVER) && defined(CONFIG_ESPRESSIF_SPI2)
#if defined(CONFIG_SPI_SLAVE) && defined(CONFIG_ESPRESSIF_SPI2)
ret = board_spislavedev_initialize(ESPRESSIF_SPI2);
if (ret < 0)
{