summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Shawcroft <scott@tannewt.org>2020-12-11 20:34:01 -0800
committerScott Shawcroft <scott@tannewt.org>2020-12-15 18:12:59 -0800
commit0dcc659d536034637009e3c5cb7713c35c002929 (patch)
treead4e2794cfd4784b9248f490c2c79dcbb58caa48
parent1ad49d9a18224ecc53d8f49d0675a369274556ce (diff)
Swap to IDF release/4.2 branch for stability
-rw-r--r--.gitmodules2
-rw-r--r--ports/esp32s2/Makefile8
-rw-r--r--ports/esp32s2/common-hal/alarm/pin/PinAlarm.c4
-rw-r--r--ports/esp32s2/common-hal/analogio/AnalogIn.h2
-rw-r--r--ports/esp32s2/common-hal/busio/I2C.h2
-rw-r--r--ports/esp32s2/common-hal/busio/SPI.c5
-rw-r--r--ports/esp32s2/common-hal/busio/SPI.h4
-rw-r--r--ports/esp32s2/common-hal/busio/UART.h2
-rw-r--r--ports/esp32s2/common-hal/digitalio/DigitalInOut.c2
-rw-r--r--ports/esp32s2/common-hal/microcontroller/Pin.c2
m---------ports/esp32s2/esp-idf0
-rw-r--r--ports/esp32s2/peripherals/pins.h6
-rw-r--r--ports/esp32s2/supervisor/port.c6
-rw-r--r--ports/esp32s2/supervisor/usb.c28
14 files changed, 35 insertions, 38 deletions
diff --git a/.gitmodules b/.gitmodules
index d36613d60..b74cd0b30 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -152,7 +152,7 @@
url = https://github.com/adafruit/Adafruit_CircuitPython_RFM69.git
[submodule "ports/esp32s2/esp-idf"]
path = ports/esp32s2/esp-idf
- url = https://github.com/jepler/esp-idf.git
+ url = https://github.com/adafruit/esp-idf.git
[submodule "ports/esp32s2/certificates/nina-fw"]
path = ports/esp32s2/certificates/nina-fw
url = https://github.com/adafruit/nina-fw.git
diff --git a/ports/esp32s2/Makefile b/ports/esp32s2/Makefile
index 01f8f48a7..e496a61a4 100644
--- a/ports/esp32s2/Makefile
+++ b/ports/esp32s2/Makefile
@@ -143,7 +143,6 @@ LDFLAGS += -L$(BUILD)/esp-idf/esp-idf/esp32s2 \
-Tesp32s2.peripherals.ld \
-Lesp-idf/components/esp_rom/esp32s2/ld \
-Tesp32s2.rom.ld \
- -Tesp32s2.rom.api.ld \
-Tesp32s2.rom.libgcc.ld \
-Tesp32s2.rom.newlib-data.ld \
-Tesp32s2.rom.newlib-funcs.ld \
@@ -276,7 +275,7 @@ menuconfig: $(BUILD)/esp-idf/config
# qstr builds include headers so we need to make sure they are up to date
$(HEADER_BUILD)/qstr.split: | $(BUILD)/esp-idf/config/sdkconfig.h
-ESP_IDF_COMPONENTS_LINK = freertos log hal esp_system esp_adc_cal esp32s2 bootloader_support pthread esp_timer vfs spi_flash app_update esp_common esp32s2 heap newlib driver xtensa soc esp_ringbuf esp_wifi esp_event wpa_supplicant mbedtls efuse nvs_flash esp_netif lwip esp_rom esp-tls
+ESP_IDF_COMPONENTS_LINK = freertos log esp_system esp_adc_cal esp32s2 bootloader_support pthread esp_timer vfs spi_flash app_update esp_common esp32s2 heap newlib driver xtensa soc esp_ringbuf esp_wifi esp_event wpa_supplicant mbedtls efuse nvs_flash esp_netif lwip esp-tls
ESP_IDF_COMPONENTS_INCLUDE = driver freertos log soc
@@ -288,11 +287,11 @@ ESP_IDF_WIFI_COMPONENTS_EXPANDED = $(foreach component, $(ESP_IDF_WIFI_COMPONENT
MBEDTLS_COMPONENTS_LINK = crypto tls x509
MBEDTLS_COMPONENTS_LINK_EXPANDED = $(foreach component, $(MBEDTLS_COMPONENTS_LINK), $(BUILD)/esp-idf/esp-idf/mbedtls/mbedtls/library/libmbed$(component).a)
-BINARY_BLOBS = esp-idf/components/xtensa/esp32s2/libxt_hal.a
+BINARY_BLOBS = esp-idf/components/xtensa/esp32s2/libhal.a
BINARY_WIFI_BLOBS = libcoexist.a libcore.a libespnow.a libmesh.a libnet80211.a libpp.a librtc.a libsmartconfig.a libphy.a
BINARY_BLOBS += $(addprefix esp-idf/components/esp_wifi/lib/esp32s2/, $(BINARY_WIFI_BLOBS))
-ESP_IDF_COMPONENTS_EXPANDED += $(BUILD)/esp-idf/esp-idf/soc/soc/esp32s2/libsoc_esp32s2.a esp-idf/components/xtensa/esp32s2/libxt_hal.a
+ESP_IDF_COMPONENTS_EXPANDED += $(BUILD)/esp-idf/esp-idf/soc/soc/esp32s2/libsoc_esp32s2.a
ESP_AUTOGEN_LD = $(BUILD)/esp-idf/esp-idf/esp32s2/esp32s2_out.ld $(BUILD)/esp-idf/esp-idf/esp32s2/ld/esp32s2.project.ld
FLASH_FLAGS = --flash_mode $(CIRCUITPY_ESP_FLASH_MODE) --flash_freq $(CIRCUITPY_ESP_FLASH_FREQ) --flash_size $(CIRCUITPY_ESP_FLASH_SIZE)
@@ -308,7 +307,6 @@ esp-idf-stamp: $(BUILD)/esp-idf/config/sdkconfig.h
esp-idf/esp32s2/ld/esp32s2.project.ld \
esp-idf/esp_event/libesp_event.a \
esp-idf/esp_netif/libesp_netif.a \
- esp-idf/esp_rom/libesp_rom.a \
esp-idf/esp_system/libesp_system.a \
esp-idf/esp_wifi/libesp_wifi.a \
esp-idf/lwip/liblwip.a \
diff --git a/ports/esp32s2/common-hal/alarm/pin/PinAlarm.c b/ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
index 179f34da7..01e2faeb8 100644
--- a/ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
+++ b/ports/esp32s2/common-hal/alarm/pin/PinAlarm.c
@@ -33,9 +33,9 @@
#include "supervisor/esp_port.h"
#include "components/driver/include/driver/rtc_io.h"
-#include "components/esp_system/include/esp_sleep.h"
+#include "components/esp32s2/include/esp_sleep.h"
#include "components/freertos/include/freertos/FreeRTOS.h"
-#include "components/hal/esp32s2/include/hal/gpio_ll.h"
+#include "components/soc/src/esp32s2/include/hal/gpio_ll.h"
#include "components/xtensa/include/esp_debug_helpers.h"
void common_hal_alarm_pin_pin_alarm_construct(alarm_pin_pin_alarm_obj_t *self, mcu_pin_obj_t *pin, bool value, bool edge, bool pull) {
diff --git a/ports/esp32s2/common-hal/analogio/AnalogIn.h b/ports/esp32s2/common-hal/analogio/AnalogIn.h
index fed4d0217..b9c4866f2 100644
--- a/ports/esp32s2/common-hal/analogio/AnalogIn.h
+++ b/ports/esp32s2/common-hal/analogio/AnalogIn.h
@@ -29,7 +29,7 @@
#include "common-hal/microcontroller/Pin.h"
-#include "components/hal/include/hal/adc_types.h"
+#include "components/soc/include/hal/adc_types.h"
#include "FreeRTOS.h"
#include "freertos/semphr.h"
#include "py/obj.h"
diff --git a/ports/esp32s2/common-hal/busio/I2C.h b/ports/esp32s2/common-hal/busio/I2C.h
index c39d6d744..1a989e30a 100644
--- a/ports/esp32s2/common-hal/busio/I2C.h
+++ b/ports/esp32s2/common-hal/busio/I2C.h
@@ -29,7 +29,7 @@
#include "common-hal/microcontroller/Pin.h"
-#include "components/hal/include/hal/i2c_types.h"
+#include "components/soc/include/hal/i2c_types.h"
#include "FreeRTOS.h"
#include "freertos/semphr.h"
#include "py/obj.h"
diff --git a/ports/esp32s2/common-hal/busio/SPI.c b/ports/esp32s2/common-hal/busio/SPI.c
index 562881585..182a04b0b 100644
--- a/ports/esp32s2/common-hal/busio/SPI.c
+++ b/ports/esp32s2/common-hal/busio/SPI.c
@@ -273,7 +273,7 @@ bool common_hal_busio_spi_configure(busio_spi_obj_t *self,
self->bits = bits;
self->target_frequency = baudrate;
self->hal_context.timing_conf = &self->timing_conf;
- esp_err_t result = spi_hal_cal_clock_conf(&self->hal_context,
+ esp_err_t result = spi_hal_get_clock_conf(&self->hal_context,
self->target_frequency,
128 /* duty_cycle */,
self->connected_through_gpio,
@@ -366,7 +366,8 @@ bool common_hal_busio_spi_transfer(busio_spi_obj_t *self, const uint8_t *data_ou
burst_length = sizeof(hal->hw->data_buf);
// When switching to non-DMA, we need to make sure DMA is off. Otherwise,
// the S2 will transmit zeroes instead of our data.
- spi_ll_txdma_disable(hal->hw);
+ hal->hw->dma_out_link.dma_tx_ena = 0;
+ hal->hw->dma_out_link.stop = 1;
}
// This rounds up.
diff --git a/ports/esp32s2/common-hal/busio/SPI.h b/ports/esp32s2/common-hal/busio/SPI.h
index f6c1c344a..d6203feae 100644
--- a/ports/esp32s2/common-hal/busio/SPI.h
+++ b/ports/esp32s2/common-hal/busio/SPI.h
@@ -30,8 +30,8 @@
#include "common-hal/microcontroller/Pin.h"
#include "components/driver/include/driver/spi_common_internal.h"
-#include "components/hal/include/hal/spi_hal.h"
-#include "components/hal/include/hal/spi_types.h"
+#include "components/soc/include/hal/spi_hal.h"
+#include "components/soc/include/hal/spi_types.h"
#include "py/obj.h"
typedef struct {
diff --git a/ports/esp32s2/common-hal/busio/UART.h b/ports/esp32s2/common-hal/busio/UART.h
index 1d7f13511..751fb2e00 100644
--- a/ports/esp32s2/common-hal/busio/UART.h
+++ b/ports/esp32s2/common-hal/busio/UART.h
@@ -29,7 +29,7 @@
#include "common-hal/microcontroller/Pin.h"
-#include "components/hal/include/hal/uart_types.h"
+#include "components/soc/include/hal/uart_types.h"
#include "py/obj.h"
typedef struct {
diff --git a/ports/esp32s2/common-hal/digitalio/DigitalInOut.c b/ports/esp32s2/common-hal/digitalio/DigitalInOut.c
index 152db1e71..a2a0209f9 100644
--- a/ports/esp32s2/common-hal/digitalio/DigitalInOut.c
+++ b/ports/esp32s2/common-hal/digitalio/DigitalInOut.c
@@ -30,7 +30,7 @@
#include "components/driver/include/driver/gpio.h"
-#include "components/hal/include/hal/gpio_hal.h"
+#include "components/soc/include/hal/gpio_hal.h"
void common_hal_digitalio_digitalinout_never_reset(
digitalio_digitalinout_obj_t *self) {
diff --git a/ports/esp32s2/common-hal/microcontroller/Pin.c b/ports/esp32s2/common-hal/microcontroller/Pin.c
index 81dfa1308..9a393c170 100644
--- a/ports/esp32s2/common-hal/microcontroller/Pin.c
+++ b/ports/esp32s2/common-hal/microcontroller/Pin.c
@@ -32,7 +32,7 @@
#include "py/mphal.h"
#include "components/driver/include/driver/gpio.h"
-#include "components/hal/include/hal/gpio_hal.h"
+#include "components/soc/include/hal/gpio_hal.h"
#ifdef MICROPY_HW_NEOPIXEL
bool neopixel_in_use;
diff --git a/ports/esp32s2/esp-idf b/ports/esp32s2/esp-idf
-Subproject d06744f5efc382c61cbad8758107cec308feef0
+Subproject ebe7784258d8c10e9cc334ccc00c3fd270746c8
diff --git a/ports/esp32s2/peripherals/pins.h b/ports/esp32s2/peripherals/pins.h
index c78eb8385..8bad937ef 100644
--- a/ports/esp32s2/peripherals/pins.h
+++ b/ports/esp32s2/peripherals/pins.h
@@ -35,9 +35,9 @@
#include "esp32s2_peripherals_config.h"
#include "esp-idf/config/sdkconfig.h"
-#include "components/hal/include/hal/gpio_types.h"
-#include "components/hal/include/hal/adc_types.h"
-#include "components/hal/include/hal/touch_sensor_types.h"
+#include "components/soc/include/hal/gpio_types.h"
+#include "components/soc/include/hal/adc_types.h"
+#include "components/soc/include/hal/touch_sensor_types.h"
typedef struct {
PIN_PREFIX_FIELDS
diff --git a/ports/esp32s2/supervisor/port.c b/ports/esp32s2/supervisor/port.c
index 7d8aac4d5..8a87180cd 100644
--- a/ports/esp32s2/supervisor/port.c
+++ b/ports/esp32s2/supervisor/port.c
@@ -54,7 +54,7 @@
#include "peripherals/rmt.h"
#include "peripherals/pcnt.h"
#include "peripherals/timer.h"
-#include "components/esp_rom/include/esp_rom_uart.h"
+#include "components/esp_rom/include/esp32s2/rom/ets_sys.h"
#include "components/heap/include/esp_heap_caps.h"
#include "components/xtensa/include/esp_debug_helpers.h"
#include "components/soc/soc/esp32s2/include/soc/cache_memory.h"
@@ -93,7 +93,9 @@ safe_mode_t port_init(void) {
esp_timer_create(&args, &_sleep_timer);
// Send the ROM output out of the UART. This includes early logs.
- esp_rom_install_channel_putc(1, esp_rom_uart_putc);
+ #ifdef DEBUG
+ ets_install_uart_printf();
+ #endif
heap = NULL;
never_reset_module_internal_pins();
diff --git a/ports/esp32s2/supervisor/usb.c b/ports/esp32s2/supervisor/usb.c
index 6c92f7253..16657d407 100644
--- a/ports/esp32s2/supervisor/usb.c
+++ b/ports/esp32s2/supervisor/usb.c
@@ -34,8 +34,7 @@
#include "components/driver/include/driver/periph_ctrl.h"
#include "components/driver/include/driver/gpio.h"
#include "components/esp_rom/include/esp32s2/rom/gpio.h"
-#include "components/esp_rom/include/esp_rom_gpio.h"
-#include "components/hal/esp32s2/include/hal/gpio_ll.h"
+#include "components/soc/src/esp32s2/include/hal/gpio_ll.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
@@ -77,23 +76,20 @@ static void configure_pins (usb_hal_context_t *usb)
* Introduce additional parameters in usb_hal_context_t when adding support
* for USB Host.
*/
- for ( const usb_iopin_dsc_t *iopin = usb_periph_iopins; iopin->pin != -1; ++iopin ) {
- if ( (usb->use_external_phy) || (iopin->ext_phy_only == 0) ) {
- esp_rom_gpio_pad_select_gpio(iopin->pin);
- if ( iopin->is_output ) {
- esp_rom_gpio_connect_out_signal(iopin->pin, iopin->func, false, false);
+ for (const usb_iopin_dsc_t* iopin = usb_periph_iopins; iopin->pin != -1; ++iopin) {
+ if ((usb->use_external_phy) || (iopin->ext_phy_only == 0)) {
+ gpio_pad_select_gpio(iopin->pin);
+ if (iopin->is_output) {
+ gpio_matrix_out(iopin->pin, iopin->func, false, false);
+ } else {
+ gpio_matrix_in(iopin->pin, iopin->func, false);
+ gpio_pad_input_enable(iopin->pin);
}
- else {
- esp_rom_gpio_connect_in_signal(iopin->pin, iopin->func, false);
- if ( (iopin->pin != GPIO_FUNC_IN_LOW) && (iopin->pin != GPIO_FUNC_IN_HIGH) ) {
- gpio_ll_input_enable(&GPIO, iopin->pin);
- }
- }
- esp_rom_gpio_pad_unhold(iopin->pin);
+ gpio_pad_unhold(iopin->pin);
}
}
- if ( !usb->use_external_phy ) {
- gpio_set_drive_capability(USBPHY_DM_NUM, GPIO_DRIVE_CAP_3);
+ if (!usb->use_external_phy) {
+ gpio_set_drive_capability(USBPHY_DP_NUM, GPIO_DRIVE_CAP_3);
gpio_set_drive_capability(USBPHY_DP_NUM, GPIO_DRIVE_CAP_3);
}
}