During the lcd1602 tests on our internal CI we noticed that the
lcd1602 was failing because there is not a I2C display in the
emulated board on QEMU. It is better to remove the "return ret"
from the bringup because the user will see the error anyway.
This commit removes the initialization of the Wi-Fi partition
from the Wi-Fi board logic and moves it to the SPI Flash board code.
It creates 2 different partition (one for Wi-Fi and one for general
use).
It also allows these partitions to be mounted over several FSs.
Currently the "esp32_spiflash_alloc_mtdpart" allocates a
statically-defined partition from "offset" and "size" set via
Kconfig.
This commit changes the function interface to receive those information
as arguments, enabling the creation of multiple MTD partitions with
different offsets and sizes.
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
the common scripts.
This allows having a more costumized linker script per board.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
The GPIO_LEDx are already used by esp32_userleds.c, they shouldn't
be used by esp32_gpio.c. This patch also includes the GPIO Input
example (GPIN) that was missing.
As ESP32 has 2 I2C interfaces and BMP180 is a I2C sensor, the criterias to use BMP180 in I2C0 or I2C1 are:
1- First, bring-up routines search for BMP180 in I2C0.
If BMP180 is found in I2C0, then /dev/press0 is created.
2- If BMP180 cannot be registered in I2C0, bring-up routines search for it in I2C1.
If BMP180 is found in I2C1, then /dev/press0 is created.
It means only one BMP180 could be suported in Nuttx. In my tests I've observed
that BMP180 example application doesn't seem to work with /dev/press1 BMP180 device,
therefore even BMP180 is found in I2C1, it'll be registered as /dev/press0 device.
It was missing and it wasn't possible to enable I2C (0 and/or 1)
before this fix.
To sum up, this fix implements a I2C register function in ESP32
bring-up routines (esp32_bringup.c) and call if for I2C0 and/or
I2C1 during ESP32 bringup (these function callings are conditioned
by CONFIG_ESP32_I2C (to check if I2C support has been configured),
CONFIG_ESP32_I2C0 (to check if I2C0 support has been configured)
and CONFIG_ESP32_I2C1 (to check if I2C1 support has been configured).
Once this fix is implemented, /dev/i2c0 and/or /dev/i2c1 interfaces
become available and work fine.
interrupts.
This example uses the GPIO driver with the 3 on board LEDs outputs and one input
as an interrupt pin.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>