mirror of
https://github.com/esp-rs/esp-hal.git
synced 2025-09-26 20:00:32 +00:00
Fix and extend pin layouts (#3726)
* Fix ESP32 pin layout Co-authored-by: rmsyn <github@weathered-steel.dev> * Tabulate ESP32 * Fix C2 pin layout * Fix C3 pin layout * Fix C6 pin layout Co-authored-by: rmsyn <github@weathered-steel.dev> * Note AF availability on IoMuxSignal * Add mising AFs to H2 * Remove unavailable pins * Add mising signals to S2 * Add mising signals to S3 * Changelog * Update semver baseline --------- Co-authored-by: rmsyn <github@weathered-steel.dev>
This commit is contained in:
parent
a7798f6902
commit
9146407573
@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- The `const CHANNEL: u8` parameter of RMT channels can now be erased via `Channel::degrade()`. (#3505)
|
||||
- ESP32-C6: GPIO6 now implements `AnalogPin` (#3668)
|
||||
- SPI master: Expose octal SPI-specific `with_sio` functions (#3702)
|
||||
- Added GPIO11-GPIO17 to ESP32-C2. (#3726)
|
||||
|
||||
### Changed
|
||||
|
||||
@ -39,6 +40,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
- `InterruptHandler` no longer implements `PartialEq`, `Eq` or `Hash`. (#3650)
|
||||
- `gpio::NUM_PINS` (#3658)
|
||||
- Removed GPIO24 from ESP32. (#3726)
|
||||
- Removed GPIO15-GPIO21 from ESP32-H2. (#3726)
|
||||
|
||||
## [v1.0.0-beta.1] - 2025-06-03
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -123,34 +123,33 @@ constant_0_input = 0x30
|
||||
constant_1_input = 0x38
|
||||
remap_iomux_pin_registers = true
|
||||
pins = [
|
||||
{ pin = 0, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 1 = "CLK_OUT1", 5 = "EMAC_TX_CLK" } },
|
||||
{ pin = 1, kind = ["input", "output"], alternate_functions = { 0 = "U0TXD", 1 = "CLK_OUT3", 5 = "EMAC_RXD2" } },
|
||||
{ pin = 2, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 1 = "HSPIWP", 3 = "HS2_DATA0", 4 = "SD_DATA0" } },
|
||||
{ pin = 3, kind = ["input", "output"], alternate_functions = { 0 = "U0RXD", 1 = "CLK_OUT2" } },
|
||||
{ pin = 4, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 1 = "HSPIHD", 3 = "HS2_DATA1", 4 = "SD_DATA1", 5 = "EMAC_TX_ER" } },
|
||||
{ pin = 5, kind = ["input", "output"], alternate_functions = { 1 = "VSPICS0", 3 = "HS1_DATA6", 5 = "EMAC_RX_CLK" } },
|
||||
{ pin = 6, kind = ["input", "output"], alternate_functions = { 0 = "SD_CLK", 1 = "SPICLK", 3 = "HS1_CLK", 4 = "U1CTS" } },
|
||||
{ pin = 7, kind = ["input", "output"], alternate_functions = { 0 = "SD_DATA0", 1 = "SPIQ", 3 = "HS1_DATA0", 4 = "U2RTS"} },
|
||||
{ pin = 8, kind = ["input", "output"], alternate_functions = { 0 = "SD_DATA1", 1 = "SPID", 3 = "HS1_DATA1" } },
|
||||
{ pin = 9, kind = ["input", "output"], alternate_functions = { 0 = "SD_DATA2", 1 = "SPIHD", 3 = "HS1_DATA2", 4 = "U1RXD" } },
|
||||
{ pin = 10, kind = ["input", "output"], alternate_functions = { 0 = "SD_DATA3", 1 = "SPIWP", 3 = "HS1_DATA3", 4 = "U1TXD" } },
|
||||
{ pin = 11, kind = ["input", "output"], alternate_functions = { 0 = "SD_CMD", 1 = "SPICS0", 3 = "HS1_CMD", 4 = "U1RTS" } },
|
||||
{ pin = 12, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 0 = "MTDI", 1 = "HSPIQ", 3 = "HS2_DATA2", 4 = "SD_DATA2", 5 = "EMAC_TXD3" } },
|
||||
{ pin = 13, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 0 = "MTCK", 1 = "HSPID", 3 = "HS2_DATA3", 4 = "SD_DATA3", 5 = "EMAC_RX_ER" } },
|
||||
{ pin = 14, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 0 = "MTMS", 1 = "HSPICLK", 3 = "HS2_CLK", 4 = "SD_CLK", 5 = "EMAC_TXD2" } },
|
||||
{ pin = 15, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 0 = "MTDO", 1 = "HSPICS0", 3 = "HS2_CMD", 4 = "SD_CMD", 5 = "EMAC_RXD3" } },
|
||||
{ pin = 16, kind = ["input", "output"], alternate_functions = { 3 = "HS1_DATA4", 4 = "U2RXD", 5 = "EMAC_CLK_OUT" } },
|
||||
{ pin = 17, kind = ["input", "output"], alternate_functions = { 3 = "HS1_DATA5", 4 = "U2TXD", 5 = "EMAC_CLK_180" } },
|
||||
{ pin = 18, kind = ["input", "output"], alternate_functions = { 1 = "VSPICLK", 3 = "HS1_DATA7" } },
|
||||
{ pin = 19, kind = ["input", "output"], alternate_functions = { 1 = "VSPIQ", 3 = "U0CTS", 5 = "EMAC_TXD0" } },
|
||||
{ pin = 20, kind = ["input", "output"] },
|
||||
{ pin = 21, kind = ["input", "output"], alternate_functions = { 1 = "VSPIHD", 5 = "EMAC_TX_EN" } },
|
||||
{ pin = 22, kind = ["input", "output"], alternate_functions = { 1 = "VSPIWP", 3 = "U0RTS", 5 = "EMAC_TXD1" } },
|
||||
{ pin = 23, kind = ["input", "output"], alternate_functions = { 1 = "VSPID", 3 = "HS1_STROBE" } },
|
||||
{ pin = 24, kind = ["input", "output"] },
|
||||
{ pin = 25, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 5 = "EMAC_RXD0" } },
|
||||
{ pin = 26, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 5 = "EMAC_RXD1" } },
|
||||
{ pin = 27, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 5 = "EMAC_RX_DV" } },
|
||||
{ pin = 0, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 1 = "CLK_OUT1", 5 = "EMAC_TX_CLK" } },
|
||||
{ pin = 1, kind = ["input", "output"], alternate_functions = { 0 = "U0TXD", 1 = "CLK_OUT3", 5 = "EMAC_RXD2" } },
|
||||
{ pin = 2, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 1 = "HSPIWP", 3 = "HS2_DATA0", 4 = "SD_DATA0" } },
|
||||
{ pin = 3, kind = ["input", "output"], alternate_functions = { 0 = "U0RXD", 1 = "CLK_OUT2" } },
|
||||
{ pin = 4, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 1 = "HSPIHD", 3 = "HS2_DATA1", 4 = "SD_DATA1", 5 = "EMAC_TX_ER" } },
|
||||
{ pin = 5, kind = ["input", "output"], alternate_functions = { 1 = "VSPICS0", 3 = "HS1_DATA6", 5 = "EMAC_RX_CLK" } },
|
||||
{ pin = 6, kind = ["input", "output"], alternate_functions = { 0 = "SD_CLK", 1 = "SPICLK", 3 = "HS1_CLK", 4 = "U1CTS" } },
|
||||
{ pin = 7, kind = ["input", "output"], alternate_functions = { 0 = "SD_DATA0", 1 = "SPIQ", 3 = "HS1_DATA0", 4 = "U2RTS" } },
|
||||
{ pin = 8, kind = ["input", "output"], alternate_functions = { 0 = "SD_DATA1", 1 = "SPID", 3 = "HS1_DATA1", 4 = "U2CTS" } },
|
||||
{ pin = 9, kind = ["input", "output"], alternate_functions = { 0 = "SD_DATA2", 1 = "SPIHD", 3 = "HS1_DATA2", 4 = "U1RXD" } },
|
||||
{ pin = 10, kind = ["input", "output"], alternate_functions = { 0 = "SD_DATA3", 1 = "SPIWP", 3 = "HS1_DATA3", 4 = "U1TXD" } },
|
||||
{ pin = 11, kind = ["input", "output"], alternate_functions = { 0 = "SD_CMD", 1 = "SPICS0", 3 = "HS1_CMD", 4 = "U1RTS" } },
|
||||
{ pin = 12, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 0 = "MTDI", 1 = "HSPIQ", 3 = "HS2_DATA2", 4 = "SD_DATA2", 5 = "EMAC_TXD3" } },
|
||||
{ pin = 13, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 0 = "MTCK", 1 = "HSPID", 3 = "HS2_DATA3", 4 = "SD_DATA3", 5 = "EMAC_RX_ER" } },
|
||||
{ pin = 14, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 0 = "MTMS", 1 = "HSPICLK", 3 = "HS2_CLK", 4 = "SD_CLK", 5 = "EMAC_TXD2" } },
|
||||
{ pin = 15, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 0 = "MTDO", 1 = "HSPICS0", 3 = "HS2_CMD", 4 = "SD_CMD", 5 = "EMAC_RXD3" } },
|
||||
{ pin = 16, kind = ["input", "output"], alternate_functions = { 3 = "HS1_DATA4", 4 = "U2RXD", 5 = "EMAC_CLK_OUT" } },
|
||||
{ pin = 17, kind = ["input", "output"], alternate_functions = { 3 = "HS1_DATA5", 4 = "U2TXD", 5 = "EMAC_CLK_180" } },
|
||||
{ pin = 18, kind = ["input", "output"], alternate_functions = { 1 = "VSPICLK", 3 = "HS1_DATA7" } },
|
||||
{ pin = 19, kind = ["input", "output"], alternate_functions = { 1 = "VSPIQ", 3 = "U0CTS", 5 = "EMAC_TXD0" } },
|
||||
{ pin = 20, kind = ["input", "output"] }, # ESP32-PICO-V3 only
|
||||
{ pin = 21, kind = ["input", "output"], alternate_functions = { 1 = "VSPIHD", 5 = "EMAC_TX_EN" } },
|
||||
{ pin = 22, kind = ["input", "output"], alternate_functions = { 1 = "VSPIWP", 3 = "U0RTS", 5 = "EMAC_TXD1" } },
|
||||
{ pin = 23, kind = ["input", "output"], alternate_functions = { 1 = "VSPID", 3 = "HS1_STROBE" } },
|
||||
{ pin = 25, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 5 = "EMAC_RXD0" } },
|
||||
{ pin = 26, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 5 = "EMAC_RXD1" } },
|
||||
{ pin = 27, kind = ["input", "output", "analog", "rtc", "touch"], alternate_functions = { 5 = "EMAC_RX_DV" } },
|
||||
{ pin = 32, kind = ["input", "output", "analog", "rtc", "touch"] },
|
||||
{ pin = 33, kind = ["input", "output", "analog", "rtc", "touch"] },
|
||||
{ pin = 34, kind = ["input", "analog", "rtc"] },
|
||||
@ -315,6 +314,7 @@ input_signals = [
|
||||
{ name = "PCMCLK", id = 205 },
|
||||
{ name = "PCMDIN", id = 206 },
|
||||
|
||||
{ name = "SD_CMD" },
|
||||
{ name = "SD_DATA0" },
|
||||
{ name = "SD_DATA1" },
|
||||
{ name = "SD_DATA2" },
|
||||
|
@ -99,16 +99,23 @@ pins = [
|
||||
{ pin = 1, kind = ["input", "output", "analog", "rtc"] },
|
||||
{ pin = 2, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "FSPIQ" } },
|
||||
{ pin = 3, kind = ["input", "output", "analog", "rtc"] },
|
||||
{ pin = 4, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "FSPIHD" } },
|
||||
{ pin = 5, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "FSPIWP" } },
|
||||
{ pin = 6, kind = ["input", "output"], alternate_functions = { 2 = "FSPICLK" } },
|
||||
{ pin = 7, kind = ["input", "output"], alternate_functions = { 2 = "FSPID" } },
|
||||
{ pin = 4, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "MTMS", 2 = "FSPIHD" } },
|
||||
{ pin = 5, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "MTDI", 2 = "FSPIWP" } },
|
||||
{ pin = 6, kind = ["input", "output"], alternate_functions = { 0 = "MTCK", 2 = "FSPICLK" } },
|
||||
{ pin = 7, kind = ["input", "output"], alternate_functions = { 0 = "MTDO", 2 = "FSPID" } },
|
||||
{ pin = 8, kind = ["input", "output"] },
|
||||
{ pin = 9, kind = ["input", "output"] },
|
||||
{ pin = 10, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS0" } },
|
||||
{ pin = 10, kind = ["input", "output"] }, # Available without SiP flash
|
||||
{ pin = 11, kind = ["input", "output"], alternate_functions = { 0 = "SPIHD" } }, # Available without SiP flash
|
||||
{ pin = 12, kind = ["input", "output"], alternate_functions = { 0 = "SPIHD" } }, # Available without SiP flash
|
||||
{ pin = 13, kind = ["input", "output"], alternate_functions = { 0 = "SPIWP" } }, # Available without SiP flash
|
||||
{ pin = 14, kind = ["input", "output"], alternate_functions = { 0 = "SPICS0" } }, # Available without SiP flash
|
||||
{ pin = 15, kind = ["input", "output"], alternate_functions = { 0 = "SPICLK" } }, # Available without SiP flash
|
||||
{ pin = 16, kind = ["input", "output"], alternate_functions = { 0 = "SPID" } }, # Available without SiP flash
|
||||
{ pin = 17, kind = ["input", "output"], alternate_functions = { 0 = "SPIQ" } }, # Available without SiP flash
|
||||
{ pin = 18, kind = ["input", "output"] },
|
||||
{ pin = 19, kind = ["input", "output"] },
|
||||
{ pin = 20, kind = ["input", "output"], alternate_functions = { 0 = "U0RXD" } },
|
||||
{ pin = 19, kind = ["input", "output"], alternate_functions = { 0 = "U0RXD" } },
|
||||
{ pin = 20, kind = ["input", "output"], alternate_functions = { 0 = "U0TXD" } },
|
||||
]
|
||||
input_signals = [
|
||||
{ name = "SPIQ", id = 0 },
|
||||
@ -144,13 +151,17 @@ input_signals = [
|
||||
{ name = "SIG_FUNC_98", id = 98 },
|
||||
{ name = "SIG_FUNC_99", id = 99 },
|
||||
{ name = "SIG_FUNC_100", id = 100 },
|
||||
|
||||
{ name = "MTCK" },
|
||||
{ name = "MTMS" },
|
||||
{ name = "MTDI" },
|
||||
]
|
||||
output_signals = [
|
||||
{ name = "SPIQ", id = 0 },
|
||||
{ name = "SPID", id = 1 },
|
||||
{ name = "SPIHD", id = 2 },
|
||||
{ name = "SPIWP", id = 3 },
|
||||
{ name = "SPICLK_MUX", id = 4 },
|
||||
{ name = "SPICLK", id = 4 },
|
||||
{ name = "SPICS0", id = 5 },
|
||||
{ name = "U0TXD", id = 6 },
|
||||
{ name = "U0RTS", id = 7 },
|
||||
@ -208,6 +219,8 @@ output_signals = [
|
||||
{ name = "CLK_OUT2", id = 124 },
|
||||
{ name = "CLK_OUT3", id = 125 },
|
||||
{ name = "GPIO", id = 128 },
|
||||
|
||||
{ name = "MTDO" },
|
||||
]
|
||||
|
||||
[device.i2c_master]
|
||||
|
@ -110,10 +110,10 @@ pins = [
|
||||
{ pin = 1, kind = ["input", "output", "analog", "rtc"] },
|
||||
{ pin = 2, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "FSPIQ" } },
|
||||
{ pin = 3, kind = ["input", "output", "analog", "rtc"] },
|
||||
{ pin = 4, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "USB_JTAG_TMS", 2 = "FSPIHD" } },
|
||||
{ pin = 5, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "USB_JTAG_TDI", 2 = "FSPIWP" } },
|
||||
{ pin = 6, kind = ["input", "output"], alternate_functions = { 0 = "USB_JTAG_TCK", 2 = "FSPICLK" } },
|
||||
{ pin = 7, kind = ["input", "output"], alternate_functions = { 0 = "USB_JTAG_TDO", 2 = "FSPID" } },
|
||||
{ pin = 4, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "MTMS", 2 = "FSPIHD" } },
|
||||
{ pin = 5, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "MTDI", 2 = "FSPIWP" } },
|
||||
{ pin = 6, kind = ["input", "output"], alternate_functions = { 0 = "MTCK", 2 = "FSPICLK" } },
|
||||
{ pin = 7, kind = ["input", "output"], alternate_functions = { 0 = "MTDO", 2 = "FSPID" } },
|
||||
{ pin = 8, kind = ["input", "output"] },
|
||||
{ pin = 9, kind = ["input", "output"] },
|
||||
{ pin = 10, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS0" } },
|
||||
@ -121,7 +121,7 @@ pins = [
|
||||
{ pin = 12, kind = ["input", "output"], alternate_functions = { 0 = "SPIHD" } },
|
||||
{ pin = 13, kind = ["input", "output"], alternate_functions = { 0 = "SPIWP" } },
|
||||
{ pin = 14, kind = ["input", "output"], alternate_functions = { 0 = "SPICS0" } },
|
||||
{ pin = 15, kind = ["input", "output"], alternate_functions = { 0 = "SPICLK_MUX" } },
|
||||
{ pin = 15, kind = ["input", "output"], alternate_functions = { 0 = "SPICLK" } },
|
||||
{ pin = 16, kind = ["input", "output"], alternate_functions = { 0 = "SPID" } },
|
||||
{ pin = 17, kind = ["input", "output"], alternate_functions = { 0 = "SPIQ" } },
|
||||
{ pin = 18, kind = ["input", "output", "usb_device"] },
|
||||
@ -172,13 +172,17 @@ input_signals = [
|
||||
{ name = "SIG_FUNC_98", id = 98 },
|
||||
{ name = "SIG_FUNC_99", id = 99 },
|
||||
{ name = "SIG_FUNC_100", id = 100 },
|
||||
|
||||
{ name = "MTCK" },
|
||||
{ name = "MTMS" },
|
||||
{ name = "MTDI" },
|
||||
]
|
||||
output_signals = [
|
||||
{ name = "SPIQ", id = 0 },
|
||||
{ name = "SPID", id = 1 },
|
||||
{ name = "SPIHD", id = 2 },
|
||||
{ name = "SPIWP", id = 3 },
|
||||
{ name = "SPICLK_MUX", id = 4 },
|
||||
{ name = "SPICLK", id = 4 },
|
||||
{ name = "SPICS0", id = 5 },
|
||||
{ name = "U0TXD", id = 6 },
|
||||
{ name = "U0RTS", id = 7 },
|
||||
@ -253,6 +257,8 @@ output_signals = [
|
||||
{ name = "SPICS1", id = 126 },
|
||||
{ name = "USB_JTAG_TRST", id = 127 },
|
||||
{ name = "GPIO", id = 128 },
|
||||
|
||||
{ name = "MTDO" },
|
||||
]
|
||||
|
||||
[device.i2c_master]
|
||||
|
@ -150,10 +150,10 @@ pins = [
|
||||
{ pin = 1, kind = ["input", "output", "analog", "rtc"] },
|
||||
{ pin = 2, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "FSPIQ" } },
|
||||
{ pin = 3, kind = ["input", "output", "analog", "rtc"] },
|
||||
{ pin = 4, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "USB_JTAG_TMS", 2 = "FSPIHD" } },
|
||||
{ pin = 5, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "USB_JTAG_TDI", 2 = "FSPIWP" } },
|
||||
{ pin = 6, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "USB_JTAG_TCK", 2 = "FSPICLK" } },
|
||||
{ pin = 7, kind = ["input", "output", "rtc"], alternate_functions = { 0 = "USB_JTAG_TDO", 2 = "FSPID" } },
|
||||
{ pin = 4, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "MTMS", 2 = "FSPIHD" } },
|
||||
{ pin = 5, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "MTDI", 2 = "FSPIWP" } },
|
||||
{ pin = 6, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 0 = "MTCK", 2 = "FSPICLK" } },
|
||||
{ pin = 7, kind = ["input", "output", "rtc"], alternate_functions = { 0 = "MTDO", 2 = "FSPID" } },
|
||||
{ pin = 8, kind = ["input", "output"] },
|
||||
{ pin = 9, kind = ["input", "output"] },
|
||||
{ pin = 10, kind = ["input", "output"] },
|
||||
@ -162,20 +162,20 @@ pins = [
|
||||
{ pin = 13, kind = ["input", "output", "usb_device"] },
|
||||
{ pin = 14, kind = ["input", "output"] },
|
||||
{ pin = 15, kind = ["input", "output"] },
|
||||
{ pin = 16, kind = ["input", "output"], alternate_functions = { 0 = "U0RXD", 2 = "FSPICS0" } },
|
||||
{ pin = 17, kind = ["input", "output"], alternate_functions = { 0 = "U0TXD", 2 = "FSPICS1" } },
|
||||
{ pin = 18, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS2" } },
|
||||
{ pin = 19, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS3" } },
|
||||
{ pin = 20, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS4" } },
|
||||
{ pin = 21, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS5" } },
|
||||
{ pin = 22, kind = ["input", "output"] },
|
||||
{ pin = 23, kind = ["input", "output"] },
|
||||
{ pin = 16, kind = ["input", "output"], alternate_functions = { 0 = "U0TXD", 2 = "FSPICS0" } },
|
||||
{ pin = 17, kind = ["input", "output"], alternate_functions = { 0 = "U0RXD", 2 = "FSPICS1" } },
|
||||
{ pin = 18, kind = ["input", "output"], alternate_functions = { 0 = "SDIO_CMD", 2 = "FSPICS2" } },
|
||||
{ pin = 19, kind = ["input", "output"], alternate_functions = { 0 = "SDIO_CLK", 2 = "FSPICS3" } },
|
||||
{ pin = 20, kind = ["input", "output"], alternate_functions = { 0 = "SDIO_DATA0", 2 = "FSPICS4" } },
|
||||
{ pin = 21, kind = ["input", "output"], alternate_functions = { 0 = "SDIO_DATA1", 2 = "FSPICS5" } },
|
||||
{ pin = 22, kind = ["input", "output"], alternate_functions = { 0 = "SDIO_DATA2" } },
|
||||
{ pin = 23, kind = ["input", "output"], alternate_functions = { 0 = "SDIO_DATA3" } },
|
||||
{ pin = 24, kind = ["input", "output"], alternate_functions = { 0 = "SPICS0" } },
|
||||
{ pin = 25, kind = ["input", "output"], alternate_functions = { 0 = "SPIQ" } },
|
||||
{ pin = 26, kind = ["input", "output"], alternate_functions = { 0 = "SPIWP" } },
|
||||
{ pin = 27, kind = ["input", "output"] },
|
||||
{ pin = 28, kind = ["input", "output"], alternate_functions = { 0 = "SPIHD" } },
|
||||
{ pin = 29, kind = ["input", "output"], alternate_functions = { 0 = "SPICLK_MUX" } },
|
||||
{ pin = 29, kind = ["input", "output"], alternate_functions = { 0 = "SPICLK" } },
|
||||
{ pin = 30, kind = ["input", "output"], alternate_functions = { 0 = "SPID" } },
|
||||
]
|
||||
input_signals = [
|
||||
@ -276,6 +276,16 @@ input_signals = [
|
||||
{ name = "SPID", id = 122 },
|
||||
{ name = "SPIHD", id = 123 },
|
||||
{ name = "SPIWP", id = 124 },
|
||||
|
||||
{ name = "SDIO_CMD" },
|
||||
{ name = "SDIO_DATA0" },
|
||||
{ name = "SDIO_DATA1" },
|
||||
{ name = "SDIO_DATA2" },
|
||||
{ name = "SDIO_DATA3" },
|
||||
|
||||
{ name = "MTDI" },
|
||||
{ name = "MTCK" },
|
||||
{ name = "MTMS" },
|
||||
]
|
||||
output_signals = [
|
||||
{ name = "LEDC_LS_SIG0", id = 0 },
|
||||
@ -373,7 +383,7 @@ output_signals = [
|
||||
{ name = "FSPICS3", id = 103 },
|
||||
{ name = "FSPICS4", id = 104 },
|
||||
{ name = "FSPICS5", id = 105 },
|
||||
{ name = "SPICLK_MUX", id = 114 },
|
||||
{ name = "SPICLK", id = 114 },
|
||||
{ name = "SPICS0", id = 115 },
|
||||
{ name = "SPICS1", id = 116 },
|
||||
{ name = "GPIO_TASK_MATRIX_OUT0", id = 117 },
|
||||
@ -388,6 +398,15 @@ output_signals = [
|
||||
{ name = "CLK_OUT_OUT2", id = 126 },
|
||||
{ name = "CLK_OUT_OUT3", id = 127 },
|
||||
{ name = "GPIO", id = 128 },
|
||||
|
||||
{ name = "SDIO_CLK" },
|
||||
{ name = "SDIO_CMD" },
|
||||
{ name = "SDIO_DATA0" },
|
||||
{ name = "SDIO_DATA1" },
|
||||
{ name = "SDIO_DATA2" },
|
||||
{ name = "SDIO_DATA3" },
|
||||
|
||||
{ name = "MTDO" },
|
||||
]
|
||||
|
||||
[device.i2c_master]
|
||||
|
@ -125,12 +125,12 @@ output_signal_max = 128
|
||||
constant_0_input = 0x3c
|
||||
constant_1_input = 0x38
|
||||
pins = [
|
||||
{ pin = 0, kind = ["input", "output", "analog"], alternate_functions = { 2 = "FSPIQ" } },
|
||||
{ pin = 1, kind = ["input", "output", "analog"], alternate_functions = { 2 = "FSPICS0" } },
|
||||
{ pin = 2, kind = ["input", "output", "analog"], alternate_functions = { 2 = "FSPIWP" } },
|
||||
{ pin = 3, kind = ["input", "output", "analog"], alternate_functions = { 2 = "FSPIHD" } },
|
||||
{ pin = 4, kind = ["input", "output", "analog"], alternate_functions = { 2 = "FSPICLK" } },
|
||||
{ pin = 5, kind = ["input", "output", "analog"], alternate_functions = { 2 = "FSPID" } },
|
||||
{ pin = 0, kind = ["input", "output", "analog"], alternate_functions = { 2 = "FSPIQ" } },
|
||||
{ pin = 1, kind = ["input", "output", "analog"], alternate_functions = { 2 = "FSPICS0" } },
|
||||
{ pin = 2, kind = ["input", "output", "analog"], alternate_functions = { 0 = "MTMS", 2 = "FSPIWP" } },
|
||||
{ pin = 3, kind = ["input", "output", "analog"], alternate_functions = { 0 = "MTDI", 2 = "FSPIHD" } },
|
||||
{ pin = 4, kind = ["input", "output", "analog"], alternate_functions = { 0 = "MTCK", 2 = "FSPICLK" } },
|
||||
{ pin = 5, kind = ["input", "output", "analog"], alternate_functions = { 0 = "MTDO", 2 = "FSPID" } },
|
||||
{ pin = 6, kind = ["input", "output"] },
|
||||
{ pin = 7, kind = ["input", "output"] },
|
||||
{ pin = 8, kind = ["input", "output"] },
|
||||
@ -140,17 +140,10 @@ pins = [
|
||||
{ pin = 12, kind = ["input", "output"] },
|
||||
{ pin = 13, kind = ["input", "output"] },
|
||||
{ pin = 14, kind = ["input", "output"] },
|
||||
{ pin = 15, kind = ["input", "output"], alternate_functions = { 0 = "SPICS0" } },
|
||||
{ pin = 16, kind = ["input", "output"], alternate_functions = { 0 = "SPIQ" } },
|
||||
{ pin = 17, kind = ["input", "output"], alternate_functions = { 0 = "SPIWP" } },
|
||||
{ pin = 18, kind = ["input", "output"], alternate_functions = { 0 = "SPIHD" } },
|
||||
{ pin = 19, kind = ["input", "output"], alternate_functions = { 0 = "SPICLK" } },
|
||||
{ pin = 20, kind = ["input", "output"], alternate_functions = { 0 = "SPID" } },
|
||||
{ pin = 21, kind = ["input", "output"] },
|
||||
{ pin = 22, kind = ["input", "output"] },
|
||||
{ pin = 23, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS1" } },
|
||||
{ pin = 24, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS2" } },
|
||||
{ pin = 25, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS3" } },
|
||||
{ pin = 23, kind = ["input", "output"], alternate_functions = { 0 = "U0RXD", 2 = "FSPICS1" } },
|
||||
{ pin = 24, kind = ["input", "output"], alternate_functions = { 0 = "U0TXD", 2 = "FSPICS2" } },
|
||||
{ pin = 25, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS3" } },
|
||||
{ pin = 26, kind = ["input", "output", "usb_device"], alternate_functions = { 2 = "FSPICS4" } },
|
||||
{ pin = 27, kind = ["input", "output", "usb_device"], alternate_functions = { 2 = "FSPICS5" } },
|
||||
]
|
||||
@ -233,6 +226,10 @@ input_signals = [
|
||||
{ name = "SPID", id = 122 },
|
||||
{ name = "SPIHD", id = 123 },
|
||||
{ name = "SPIWP", id = 124 },
|
||||
|
||||
{ name = "MTDI" },
|
||||
{ name = "MTCK" },
|
||||
{ name = "MTMS" },
|
||||
]
|
||||
output_signals = [
|
||||
{ name = "LEDC_LS_SIG0", id = 0 },
|
||||
@ -328,6 +325,8 @@ output_signals = [
|
||||
{ name = "CLK_OUT_OUT2", id = 126 },
|
||||
{ name = "CLK_OUT_OUT3", id = 127 },
|
||||
{ name = "GPIO", id = 128 },
|
||||
|
||||
{ name = "MTDO" }
|
||||
]
|
||||
|
||||
[device.i2c_master]
|
||||
|
@ -142,30 +142,30 @@ pins = [
|
||||
{ pin = 15, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "U0RTS" } },
|
||||
{ pin = 16, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "U0CTS" } },
|
||||
{ pin = 17, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "U1TXD" } },
|
||||
{ pin = 18, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "U1RXD" } },
|
||||
{ pin = 19, kind = ["input", "output", "analog", "rtc", "usb_dm"], alternate_functions = { 2 = "U1RTS" } },
|
||||
{ pin = 20, kind = ["input", "output", "analog", "rtc", "usb_dp"], alternate_functions = { 2 = "U1CTS" } },
|
||||
{ pin = 18, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "U1RXD", 3 = "CLK_OUT3" } },
|
||||
{ pin = 19, kind = ["input", "output", "analog", "rtc", "usb_dm"], alternate_functions = { 2 = "U1RTS", 3 = "CLK_OUT2" } },
|
||||
{ pin = 20, kind = ["input", "output", "analog", "rtc", "usb_dp"], alternate_functions = { 2 = "U1CTS", 3 = "CLK_OUT1" } },
|
||||
{ pin = 21, kind = ["input", "output", "analog", "rtc"] },
|
||||
|
||||
{ pin = 26, kind = ["input", "output"] },
|
||||
{ pin = 27, kind = ["input", "output"] },
|
||||
{ pin = 28, kind = ["input", "output"] },
|
||||
{ pin = 29, kind = ["input", "output"] },
|
||||
{ pin = 30, kind = ["input", "output"] },
|
||||
{ pin = 31, kind = ["input", "output"] },
|
||||
{ pin = 32, kind = ["input", "output"] },
|
||||
{ pin = 26, kind = ["input", "output"], alternate_functions = { 0 = "SPICS1" } },
|
||||
{ pin = 27, kind = ["input", "output"], alternate_functions = { 0 = "SPIHD" } },
|
||||
{ pin = 28, kind = ["input", "output"], alternate_functions = { 0 = "SPIWP" } },
|
||||
{ pin = 29, kind = ["input", "output"], alternate_functions = { 0 = "SPICS0" } },
|
||||
{ pin = 30, kind = ["input", "output"], alternate_functions = { 0 = "SPICLK" } },
|
||||
{ pin = 31, kind = ["input", "output"], alternate_functions = { 0 = "SPIQ" } },
|
||||
{ pin = 32, kind = ["input", "output"], alternate_functions = { 0 = "SPID" } },
|
||||
{ pin = 33, kind = ["input", "output"], alternate_functions = { 2 = "FSPIHD", 3 = "SUBSPIHD" } },
|
||||
{ pin = 34, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS0", 3 = "SUBSPICS0" } },
|
||||
{ pin = 35, kind = ["input", "output"], alternate_functions = { 2 = "FSPID", 3 = "SUBSPID" } },
|
||||
{ pin = 36, kind = ["input", "output"], alternate_functions = { 2 = "FSPICLK", 3 = "SUBSPICLK" } },
|
||||
{ pin = 37, kind = ["input", "output"], alternate_functions = { 2 = "FSPIQ", 3 = "SUBSPIQ", 4 = "SPIDQS" } },
|
||||
{ pin = 38, kind = ["input", "output"], alternate_functions = { 2 = "FSPIWP", 3 = "SUBSPIWP" } },
|
||||
{ pin = 39, kind = ["input", "output"], alternate_functions = { 3 = "SUBSPICS1" } },
|
||||
{ pin = 40, kind = ["input", "output"] },
|
||||
{ pin = 41, kind = ["input", "output"] },
|
||||
{ pin = 42, kind = ["input", "output"] },
|
||||
{ pin = 43, kind = ["input", "output"] },
|
||||
{ pin = 44, kind = ["input", "output"] },
|
||||
{ pin = 39, kind = ["input", "output"], alternate_functions = { 0 = "MTCK", 2 = "CLK_OUT3", 3 = "SUBSPICS1" } },
|
||||
{ pin = 40, kind = ["input", "output"], alternate_functions = { 0 = "MTDO", 2 = "CLK_OUT2" } },
|
||||
{ pin = 41, kind = ["input", "output"], alternate_functions = { 0 = "MTDI", 2 = "CLK_OUT1" } },
|
||||
{ pin = 42, kind = ["input", "output"], alternate_functions = { 0 = "MTMS" } },
|
||||
{ pin = 43, kind = ["input", "output"], alternate_functions = { 0 = "U0TXD", 2 = "CLK_OUT1" } },
|
||||
{ pin = 44, kind = ["input", "output"], alternate_functions = { 0 = "U0RXD", 2 = "CLK_OUT2" } },
|
||||
{ pin = 45, kind = ["input", "output"] },
|
||||
{ pin = 46, kind = ["input", "output"] },
|
||||
]
|
||||
@ -249,6 +249,10 @@ input_signals = [
|
||||
{ name = "SUBSPIDQS", id = 171 },
|
||||
{ name = "PCMFSYNC", id = 203 },
|
||||
{ name = "PCMCLK", id = 204 },
|
||||
|
||||
{ name = "MTDI" },
|
||||
{ name = "MTCK" },
|
||||
{ name = "MTMS" },
|
||||
]
|
||||
output_signals = [
|
||||
{ name = "SPIQ", id = 0 },
|
||||
@ -348,6 +352,12 @@ output_signals = [
|
||||
{ name = "PCMCLK", id = 210 },
|
||||
{ name = "CLK_I2S", id = 251 },
|
||||
{ name = "GPIO", id = 256 },
|
||||
|
||||
{ name = "CLK_OUT1" },
|
||||
{ name = "CLK_OUT2" },
|
||||
{ name = "CLK_OUT3" },
|
||||
|
||||
{ name = "MTDO" },
|
||||
]
|
||||
[device.i2c_master]
|
||||
support_status = "supported"
|
||||
|
@ -149,34 +149,34 @@ pins = [
|
||||
{ pin = 15, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "U0RTS" } },
|
||||
{ pin = 16, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "U0CTS" } },
|
||||
{ pin = 17, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "U1TXD" } },
|
||||
{ pin = 18, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "U1RXD" } },
|
||||
{ pin = 19, kind = ["input", "output", "analog", "rtc", "usb_dm", "usb_device"], alternate_functions = { 2 = "U1RTS" } },
|
||||
{ pin = 20, kind = ["input", "output", "analog", "rtc", "usb_dp", "usb_device"], alternate_functions = { 2 = "U1CTS" } },
|
||||
{ pin = 18, kind = ["input", "output", "analog", "rtc"], alternate_functions = { 2 = "U1RXD", 3 = "CLK_OUT3" } },
|
||||
{ pin = 19, kind = ["input", "output", "analog", "rtc", "usb_dm", "usb_device"], alternate_functions = { 2 = "U1RTS", 3 = "CLK_OUT2" } },
|
||||
{ pin = 20, kind = ["input", "output", "analog", "rtc", "usb_dp", "usb_device"], alternate_functions = { 2 = "U1CTS", 3 = "CLK_OUT1" } },
|
||||
{ pin = 21, kind = ["input", "output", "analog", "rtc"] },
|
||||
|
||||
{ pin = 26, kind = ["input", "output"] },
|
||||
{ pin = 27, kind = ["input", "output"] },
|
||||
{ pin = 28, kind = ["input", "output"] },
|
||||
{ pin = 29, kind = ["input", "output"] },
|
||||
{ pin = 30, kind = ["input", "output"] },
|
||||
{ pin = 31, kind = ["input", "output"] },
|
||||
{ pin = 32, kind = ["input", "output"] },
|
||||
{ pin = 33, kind = ["input", "output"], alternate_functions = { 2 = "FSPIHD", 3 = "SUBSPIHD" } },
|
||||
{ pin = 34, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS0", 3 = "SUBSPICS0" } },
|
||||
{ pin = 35, kind = ["input", "output"], alternate_functions = { 2 = "FSPID", 3 = "SUBSPID" } },
|
||||
{ pin = 36, kind = ["input", "output"], alternate_functions = { 2 = "FSPICLK", 3 = "SUBSPICLK" } },
|
||||
{ pin = 37, kind = ["input", "output"], alternate_functions = { 2 = "FSPIQ", 3 = "SUBSPIQ", 4 = "SPIDQS" } },
|
||||
{ pin = 38, kind = ["input", "output"], alternate_functions = { 2 = "FSPIWP", 3 = "SUBSPIWP" } },
|
||||
{ pin = 39, kind = ["input", "output"], alternate_functions = { 3 = "SUBSPICS1" } },
|
||||
{ pin = 40, kind = ["input", "output"] },
|
||||
{ pin = 41, kind = ["input", "output"] },
|
||||
{ pin = 26, kind = ["input", "output"], alternate_functions = { 0 = "SPICS1" } },
|
||||
{ pin = 27, kind = ["input", "output"], alternate_functions = { 0 = "SPIHD" } },
|
||||
{ pin = 28, kind = ["input", "output"], alternate_functions = { 0 = "SPIWP" } },
|
||||
{ pin = 29, kind = ["input", "output"], alternate_functions = { 0 = "SPICS0" } },
|
||||
{ pin = 30, kind = ["input", "output"], alternate_functions = { 0 = "SPICLK" } },
|
||||
{ pin = 31, kind = ["input", "output"], alternate_functions = { 0 = "SPIQ" } },
|
||||
{ pin = 32, kind = ["input", "output"], alternate_functions = { 0 = "SPID" } },
|
||||
{ pin = 33, kind = ["input", "output"], alternate_functions = { 2 = "FSPIHD", 3 = "SUBSPIHD", 4 = "SPIIO4" } },
|
||||
{ pin = 34, kind = ["input", "output"], alternate_functions = { 2 = "FSPICS0", 3 = "SUBSPICS0", 4 = "SPIIO5" } },
|
||||
{ pin = 35, kind = ["input", "output"], alternate_functions = { 2 = "FSPID", 3 = "SUBSPID", 4 = "SPIIO6" } },
|
||||
{ pin = 36, kind = ["input", "output"], alternate_functions = { 2 = "FSPICLK", 3 = "SUBSPICLK", 4 = "SPIIO7" } },
|
||||
{ pin = 37, kind = ["input", "output"], alternate_functions = { 2 = "FSPIQ", 3 = "SUBSPIQ", 4 = "SPIDQS" } },
|
||||
{ pin = 38, kind = ["input", "output"], alternate_functions = { 2 = "FSPIWP", 3 = "SUBSPIWP" } },
|
||||
{ pin = 39, kind = ["input", "output"], alternate_functions = { 2 = "CLK_OUT3", 3 = "SUBSPICS1" } },
|
||||
{ pin = 40, kind = ["input", "output"], alternate_functions = { 2 = "CLK_OUT2" } },
|
||||
{ pin = 41, kind = ["input", "output"], alternate_functions = { 2 = "CLK_OUT1" } },
|
||||
{ pin = 42, kind = ["input", "output"] },
|
||||
{ pin = 43, kind = ["input", "output"] },
|
||||
{ pin = 44, kind = ["input", "output"] },
|
||||
{ pin = 43, kind = ["input", "output"], alternate_functions = { 0 = "U0TXD", 2 = "CLK_OUT1" } },
|
||||
{ pin = 44, kind = ["input", "output"], alternate_functions = { 0 = "U0RXD", 2 = "CLK_OUT2" } },
|
||||
{ pin = 45, kind = ["input", "output"] },
|
||||
{ pin = 46, kind = ["input", "output"] },
|
||||
{ pin = 47, kind = ["input", "output"] },
|
||||
{ pin = 48, kind = ["input", "output"] },
|
||||
{ pin = 47, kind = ["input", "output"], alternate_functions = { 0 = "SPICLK_P_DIFF", 2 = "SUBSPICLK_P_DIFF" } },
|
||||
{ pin = 48, kind = ["input", "output"], alternate_functions = { 0 = "SPICLK_N_DIFF", 2 = "SUBSPICLK_N_DIFF" } },
|
||||
]
|
||||
input_signals = [
|
||||
{ name = "SPIQ", id = 0 },
|
||||
@ -334,6 +334,15 @@ input_signals = [
|
||||
{ name = "SDHOST_CDATA_IN_25", id = 218 },
|
||||
{ name = "SDHOST_CDATA_IN_26", id = 219 },
|
||||
{ name = "SDHOST_CDATA_IN_27", id = 220 },
|
||||
|
||||
{ name = "SPIIO4" },
|
||||
{ name = "SPIIO5" },
|
||||
{ name = "SPIIO6" },
|
||||
{ name = "SPIIO7" },
|
||||
|
||||
{ name = "MTDI" },
|
||||
{ name = "MTCK" },
|
||||
{ name = "MTMS" },
|
||||
]
|
||||
output_signals = [
|
||||
{ name = "SPIQ", id = 0 },
|
||||
@ -494,6 +503,22 @@ output_signals = [
|
||||
{ name = "SDHOST_CDATA_OUT_26", id = 219 },
|
||||
{ name = "SDHOST_CDATA_OUT_27", id = 220 },
|
||||
{ name = "GPIO", id = 256 },
|
||||
|
||||
{ name = "SPIIO4" },
|
||||
{ name = "SPIIO5" },
|
||||
{ name = "SPIIO6" },
|
||||
{ name = "SPIIO7" },
|
||||
|
||||
{ name = "CLK_OUT1" },
|
||||
{ name = "CLK_OUT2" },
|
||||
{ name = "CLK_OUT3" },
|
||||
|
||||
{ name = "SPICLK_P_DIFF" },
|
||||
{ name = "SPICLK_N_DIFF" },
|
||||
{ name = "SUBSPICLK_P_DIFF" },
|
||||
{ name = "SUBSPICLK_N_DIFF" },
|
||||
|
||||
{ name = "MTDO" },
|
||||
]
|
||||
|
||||
[device.i2c_master]
|
||||
|
@ -102,6 +102,10 @@ impl AfMap {
|
||||
/// An input or output peripheral signal. The names usually match the signal
|
||||
/// name in the Peripheral Signal List table, without the `in` or `out` suffix.
|
||||
/// If the `id` is `None`, the signal cannot be routed through the GPIO matrix.
|
||||
///
|
||||
/// If the TRM's signal table says "no" to Direct Input/Output via IO MUX, the
|
||||
/// signal does not have an Alternate Function and must be routed through the
|
||||
/// GPIO matrix.
|
||||
#[derive(Debug, Default, Clone, serde::Deserialize, serde::Serialize)]
|
||||
pub(crate) struct IoMuxSignal {
|
||||
/// The name of the signal.
|
||||
|
Loading…
x
Reference in New Issue
Block a user