[esp32] Add missing variant support (#12305)

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Jonathan Swoboda
2025-12-05 16:28:24 -05:00
committed by GitHub
parent 10b54df771
commit a517e0ec80
5 changed files with 25 additions and 3 deletions
@@ -5,9 +5,11 @@ from esphome.components.esp32 import (
VARIANT_ESP32, VARIANT_ESP32,
VARIANT_ESP32C2, VARIANT_ESP32C2,
VARIANT_ESP32C3, VARIANT_ESP32C3,
VARIANT_ESP32C5,
VARIANT_ESP32C6, VARIANT_ESP32C6,
VARIANT_ESP32C61, VARIANT_ESP32C61,
VARIANT_ESP32H2, VARIANT_ESP32H2,
VARIANT_ESP32P4,
VARIANT_ESP32S2, VARIANT_ESP32S2,
VARIANT_ESP32S3, VARIANT_ESP32S3,
get_esp32_variant, get_esp32_variant,
@@ -55,9 +57,11 @@ WAKEUP_PINS = {
], ],
VARIANT_ESP32C2: [0, 1, 2, 3, 4, 5], VARIANT_ESP32C2: [0, 1, 2, 3, 4, 5],
VARIANT_ESP32C3: [0, 1, 2, 3, 4, 5], VARIANT_ESP32C3: [0, 1, 2, 3, 4, 5],
VARIANT_ESP32C5: [0, 1, 2, 3, 4, 5, 6, 7],
VARIANT_ESP32C6: [0, 1, 2, 3, 4, 5, 6, 7], VARIANT_ESP32C6: [0, 1, 2, 3, 4, 5, 6, 7],
VARIANT_ESP32C61: [0, 1, 2, 3, 4, 5, 6], VARIANT_ESP32C61: [0, 1, 2, 3, 4, 5, 6],
VARIANT_ESP32H2: [7, 8, 9, 10, 11, 12, 13, 14], VARIANT_ESP32H2: [7, 8, 9, 10, 11, 12, 13, 14],
VARIANT_ESP32P4: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
VARIANT_ESP32S2: [ VARIANT_ESP32S2: [
0, 0,
1, 1,
@@ -124,9 +128,11 @@ def _validate_ex1_wakeup_mode(value):
if value == "ANY_LOW": if value == "ANY_LOW":
esp32.only_on_variant( esp32.only_on_variant(
supported=[ supported=[
VARIANT_ESP32C5,
VARIANT_ESP32C6, VARIANT_ESP32C6,
VARIANT_ESP32C61, VARIANT_ESP32C61,
VARIANT_ESP32H2, VARIANT_ESP32H2,
VARIANT_ESP32P4,
VARIANT_ESP32S2, VARIANT_ESP32S2,
VARIANT_ESP32S3, VARIANT_ESP32S3,
], ],
@@ -221,6 +227,7 @@ CONFIG_SCHEMA = cv.All(
unsupported=[ unsupported=[
VARIANT_ESP32C2, VARIANT_ESP32C2,
VARIANT_ESP32C3, VARIANT_ESP32C3,
VARIANT_ESP32C5,
VARIANT_ESP32C6, VARIANT_ESP32C6,
VARIANT_ESP32C61, VARIANT_ESP32C61,
VARIANT_ESP32H2, VARIANT_ESP32H2,
+3
View File
@@ -7,6 +7,7 @@ from esphome.components.canbus import CONF_BIT_RATE, CanbusComponent, CanSpeed
from esphome.components.esp32 import ( from esphome.components.esp32 import (
VARIANT_ESP32, VARIANT_ESP32,
VARIANT_ESP32C3, VARIANT_ESP32C3,
VARIANT_ESP32C5,
VARIANT_ESP32C6, VARIANT_ESP32C6,
VARIANT_ESP32C61, VARIANT_ESP32C61,
VARIANT_ESP32H2, VARIANT_ESP32H2,
@@ -59,6 +60,7 @@ CAN_SPEEDS_ESP32_S2 = {
CAN_SPEEDS_ESP32_S3 = {**CAN_SPEEDS_ESP32_S2} CAN_SPEEDS_ESP32_S3 = {**CAN_SPEEDS_ESP32_S2}
CAN_SPEEDS_ESP32_C3 = {**CAN_SPEEDS_ESP32_S2} CAN_SPEEDS_ESP32_C3 = {**CAN_SPEEDS_ESP32_S2}
CAN_SPEEDS_ESP32_C5 = {**CAN_SPEEDS_ESP32_S2}
CAN_SPEEDS_ESP32_C6 = {**CAN_SPEEDS_ESP32_S2} CAN_SPEEDS_ESP32_C6 = {**CAN_SPEEDS_ESP32_S2}
CAN_SPEEDS_ESP32_C61 = {**CAN_SPEEDS_ESP32_S2} CAN_SPEEDS_ESP32_C61 = {**CAN_SPEEDS_ESP32_S2}
CAN_SPEEDS_ESP32_H2 = {**CAN_SPEEDS_ESP32_S2} CAN_SPEEDS_ESP32_H2 = {**CAN_SPEEDS_ESP32_S2}
@@ -67,6 +69,7 @@ CAN_SPEEDS_ESP32_P4 = {**CAN_SPEEDS_ESP32_S2}
CAN_SPEEDS = { CAN_SPEEDS = {
VARIANT_ESP32: CAN_SPEEDS_ESP32, VARIANT_ESP32: CAN_SPEEDS_ESP32,
VARIANT_ESP32C3: CAN_SPEEDS_ESP32_C3, VARIANT_ESP32C3: CAN_SPEEDS_ESP32_C3,
VARIANT_ESP32C5: CAN_SPEEDS_ESP32_C5,
VARIANT_ESP32C6: CAN_SPEEDS_ESP32_C6, VARIANT_ESP32C6: CAN_SPEEDS_ESP32_C6,
VARIANT_ESP32C61: CAN_SPEEDS_ESP32_C61, VARIANT_ESP32C61: CAN_SPEEDS_ESP32_C61,
VARIANT_ESP32H2: CAN_SPEEDS_ESP32_H2, VARIANT_ESP32H2: CAN_SPEEDS_ESP32_H2,
+11 -1
View File
@@ -5,6 +5,9 @@ import esphome.codegen as cg
from esphome.components.esp32 import ( from esphome.components.esp32 import (
VARIANT_ESP32, VARIANT_ESP32,
VARIANT_ESP32C3, VARIANT_ESP32C3,
VARIANT_ESP32C5,
VARIANT_ESP32C6,
VARIANT_ESP32C61,
VARIANT_ESP32P4, VARIANT_ESP32P4,
VARIANT_ESP32S2, VARIANT_ESP32S2,
VARIANT_ESP32S3, VARIANT_ESP32S3,
@@ -301,7 +304,14 @@ def _final_validate_spi(config):
return return
if spi_configs := fv.full_config.get().get(CONF_SPI): if spi_configs := fv.full_config.get().get(CONF_SPI):
variant = get_esp32_variant() variant = get_esp32_variant()
if variant in (VARIANT_ESP32C3, VARIANT_ESP32S2, VARIANT_ESP32S3): if variant in (
VARIANT_ESP32C3,
VARIANT_ESP32C5,
VARIANT_ESP32C6,
VARIANT_ESP32C61,
VARIANT_ESP32S2,
VARIANT_ESP32S3,
):
spi_host = "SPI2_HOST" spi_host = "SPI2_HOST"
else: else:
spi_host = "SPI3_HOST" spi_host = "SPI3_HOST"
@@ -87,8 +87,8 @@ void EthernetComponent::setup() {
.intr_flags = 0, .intr_flags = 0,
}; };
#if defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32S2) || \ #if defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C5) || defined(USE_ESP32_VARIANT_ESP32C6) || \
defined(USE_ESP32_VARIANT_ESP32S3) defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
auto host = SPI2_HOST; auto host = SPI2_HOST;
#else #else
auto host = SPI3_HOST; auto host = SPI3_HOST;
+2
View File
@@ -7,6 +7,7 @@ from esphome.components.esp32 import (
KEY_ESP32, KEY_ESP32,
VARIANT_ESP32C2, VARIANT_ESP32C2,
VARIANT_ESP32C3, VARIANT_ESP32C3,
VARIANT_ESP32C5,
VARIANT_ESP32C6, VARIANT_ESP32C6,
VARIANT_ESP32C61, VARIANT_ESP32C61,
VARIANT_ESP32H2, VARIANT_ESP32H2,
@@ -129,6 +130,7 @@ def get_hw_interface_list():
if get_target_variant() in [ if get_target_variant() in [
VARIANT_ESP32C2, VARIANT_ESP32C2,
VARIANT_ESP32C3, VARIANT_ESP32C3,
VARIANT_ESP32C5,
VARIANT_ESP32C6, VARIANT_ESP32C6,
VARIANT_ESP32C61, VARIANT_ESP32C61,
VARIANT_ESP32H2, VARIANT_ESP32H2,