diff --git a/ports/espressif/common-hal/analogio/AnalogOut.c b/ports/espressif/common-hal/analogio/AnalogOut.c
index 2c79124759630..2b5f9d0b35c28 100644
--- a/ports/espressif/common-hal/analogio/AnalogOut.c
+++ b/ports/espressif/common-hal/analogio/AnalogOut.c
@@ -35,7 +35,9 @@
 #include "shared-bindings/microcontroller/Pin.h"
 #include "supervisor/shared/translate.h"
 
+#ifdef CONFIG_IDF_TARGET_ESP32S2
 #include "components/driver/include/driver/dac_common.h"
+#endif
 
 #include "common-hal/microcontroller/Pin.h"
 
@@ -56,7 +58,11 @@ void common_hal_analogio_analogout_construct(analogio_analogout_obj_t *self,
 }
 
 bool common_hal_analogio_analogout_deinited(analogio_analogout_obj_t *self) {
+    #ifdef CONFIG_IDF_TARGET_ESP32S2
     return self->channel == DAC_CHANNEL_MAX;
+    #else
+    return false;
+    #endif
 }
 
 void common_hal_analogio_analogout_deinit(analogio_analogout_obj_t *self) {
diff --git a/ports/espressif/esp-idf b/ports/espressif/esp-idf
index ddc44956bf718..214d62b9ad859 160000
--- a/ports/espressif/esp-idf
+++ b/ports/espressif/esp-idf
@@ -1 +1 @@
-Subproject commit ddc44956bf718540d5451e17e1becf6c7dffe5b8
+Subproject commit 214d62b9ad859318520e38870c828278c2caee2a
diff --git a/ports/espressif/mpconfigport.mk b/ports/espressif/mpconfigport.mk
index 312b05dc40e47..0f297b9989836 100644
--- a/ports/espressif/mpconfigport.mk
+++ b/ports/espressif/mpconfigport.mk
@@ -21,6 +21,7 @@ CIRCUITPY_FRAMEBUFFERIO ?= 1
 CIRCUITPY_FREQUENCYIO ?= 1
 CIRCUITPY_IMAGECAPTURE ?= 1
 CIRCUITPY_I2CPERIPHERAL ?= 1
+CIRCUITPY_RGBMATRIX ?= 1
 CIRCUITPY_ROTARYIO ?= 1
 CIRCUITPY_NVM ?= 1
 CIRCUITPY_PS2IO ?= 1
@@ -43,13 +44,9 @@ CIRCUITPY_IMAGECAPTURE = 0
 CIRCUITPY_PARALLELDISPLAY = 0
 CIRCUITPY_TOUCHIO ?= 1
 CIRCUITPY_TOUCHIO_USE_NATIVE = 0
-CIRCUITPY_RGBMATRIX ?= 0
 else ifeq ($(IDF_TARGET),esp32s3)
 CIRCUITPY_IMAGECAPTURE = 0
 CIRCUITPY_PARALLELDISPLAY = 0
-CIRCUITPY_RGBMATRIX ?= 0
-else
-CIRCUITPY_RGBMATRIX ?= 1
 endif
 
 # From ESP32-S2/S3 Technical Reference Manual: