mirror of
https://github.com/esphome/esphome.git
synced 2025-07-28 22:26:36 +00:00
[spi] Restrict octal spi to S3/S2/P4 (#9041)
This commit is contained in:
parent
9652b1a556
commit
a488c8cd5c
@ -2,12 +2,14 @@ import re
|
|||||||
|
|
||||||
from esphome import pins
|
from esphome import pins
|
||||||
import esphome.codegen as cg
|
import esphome.codegen as cg
|
||||||
|
from esphome.components.esp32 import only_on_variant
|
||||||
from esphome.components.esp32.const import (
|
from esphome.components.esp32.const import (
|
||||||
KEY_ESP32,
|
KEY_ESP32,
|
||||||
VARIANT_ESP32C2,
|
VARIANT_ESP32C2,
|
||||||
VARIANT_ESP32C3,
|
VARIANT_ESP32C3,
|
||||||
VARIANT_ESP32C6,
|
VARIANT_ESP32C6,
|
||||||
VARIANT_ESP32H2,
|
VARIANT_ESP32H2,
|
||||||
|
VARIANT_ESP32P4,
|
||||||
VARIANT_ESP32S2,
|
VARIANT_ESP32S2,
|
||||||
VARIANT_ESP32S3,
|
VARIANT_ESP32S3,
|
||||||
)
|
)
|
||||||
@ -287,7 +289,15 @@ def spi_mode_schema(mode):
|
|||||||
if mode == TYPE_SINGLE:
|
if mode == TYPE_SINGLE:
|
||||||
return SPI_SINGLE_SCHEMA
|
return SPI_SINGLE_SCHEMA
|
||||||
pin_count = 4 if mode == TYPE_QUAD else 8
|
pin_count = 4 if mode == TYPE_QUAD else 8
|
||||||
|
onlys = [cv.only_on([PLATFORM_ESP32]), cv.only_with_esp_idf]
|
||||||
|
if pin_count == 8:
|
||||||
|
onlys.append(
|
||||||
|
only_on_variant(
|
||||||
|
supported=[VARIANT_ESP32S3, VARIANT_ESP32S2, VARIANT_ESP32P4]
|
||||||
|
)
|
||||||
|
)
|
||||||
return cv.All(
|
return cv.All(
|
||||||
|
*onlys,
|
||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(TYPE_CLASS[mode]),
|
cv.GenerateID(): cv.declare_id(TYPE_CLASS[mode]),
|
||||||
@ -308,8 +318,6 @@ def spi_mode_schema(mode):
|
|||||||
),
|
),
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
cv.only_on([PLATFORM_ESP32]),
|
|
||||||
cv.only_with_esp_idf,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
38
tests/components/spi/test.esp32-p4-idf.yaml
Normal file
38
tests/components/spi/test.esp32-p4-idf.yaml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
spi:
|
||||||
|
- id: quad_spi
|
||||||
|
type: quad
|
||||||
|
interface: spi3
|
||||||
|
clk_pin:
|
||||||
|
number: 47
|
||||||
|
data_pins:
|
||||||
|
- allow_other_uses: true
|
||||||
|
number: 40
|
||||||
|
- allow_other_uses: true
|
||||||
|
number: 41
|
||||||
|
- allow_other_uses: true
|
||||||
|
number: 42
|
||||||
|
- allow_other_uses: true
|
||||||
|
number: 43
|
||||||
|
- id: octal_spi
|
||||||
|
type: octal
|
||||||
|
interface: hardware
|
||||||
|
clk_pin:
|
||||||
|
number: 0
|
||||||
|
data_pins:
|
||||||
|
- 36
|
||||||
|
- 37
|
||||||
|
- 38
|
||||||
|
- 39
|
||||||
|
- allow_other_uses: true
|
||||||
|
number: 40
|
||||||
|
- allow_other_uses: true
|
||||||
|
number: 41
|
||||||
|
- allow_other_uses: true
|
||||||
|
number: 42
|
||||||
|
- allow_other_uses: true
|
||||||
|
number: 43
|
||||||
|
- id: spi_id_3
|
||||||
|
interface: any
|
||||||
|
clk_pin: 8
|
||||||
|
mosi_pin: 9
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user