Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions esp-hal/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ For help getting started with this HAL, please refer to [The Rust on ESP Book] a

<!-- The following table is machine generated. Do not edit the comments and the table by hand! -->
<!-- start chip support table -->
<<<<<<< HEAD
| Driver | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-S2 | ESP32-S3 |
| ------------------------- |:-----:|:--------:|:--------:|:--------:|:--------:|:---------:|:--------:|:--------:|:--------:|
| ADC | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | | ⚒️ | ⚒️ | ⚒️ |
Expand Down Expand Up @@ -112,6 +113,65 @@ For help getting started with this HAL, please refer to [The Rust on ESP Book] a
| USB OTG FS | | | | | | | | ⚒️ | ⚒️ |
| USB Serial/JTAG | | | ⚒️ | ⚒️ | ⚒️ | | ⚒️ | | ⚒️ |
| WIFI | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | | ⚒️ | ⚒️ |
=======
| Driver | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ------------------------- |:-----:|:--------:|:--------:|:--------:|:--------:|:---------:|:--------:|:--------:|:--------:|:--------:|
| ADC | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | [❌][5422] [^1] | ⚒️ | ❌ | ⚒️ | ⚒️ |
| AES | ⚒️ | | ⚒️ | ⚒️ | ⚒️ | | ⚒️ | ❌ | ⚒️ | ⚒️ |
| ASSIST_DEBUG | | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ❌ | | ⚒️ |
| Analog Voltage Comparator | | | | [❌][5168] [^1] | | [❌][5423] [^1] | | ❌ | | |
| Bit Scrambler | | | | [❌][5170] [^1] | | | | | | |
| Bluetooth | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | | | ⚒️ |
| Camera interface | ❌ | | | | | | | ❌ | ❌ | ⚒️ |
| DAC | ⚒️ | | | | | | | | ⚒️ | |
| Dedicated GPIO | | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | | ⚒️ | ⚒️ |
| DMA | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ❌ | ⚒️ | ⚒️ |
| DS | | | [❌][884] [^1] | [❌][884] [^1] | [❌][884] [^1] | | [❌][884] [^1] | ❌ | [❌][884] [^1] | [❌][884] [^1] |
| ECDSA | | | | [❌][5444] [^1] | | [❌][5444] [^1] | [❌][5444] [^1] | ❌ | | |
| ECC | | ⚒️ | | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | | |
| Ethernet | ⚒️ | | | | | | | ⚒️ | | |
| ETM | | | | [❌][5167] [^1] | ⚒️ | [❌][5419] [^1] | ⚒️ | ❌ | | |
| GPIO | ✔️ | ✔️ | ✔️ | ⚒️ | ✔️ | ⚒️ | ✔️ | ⚒️ | ✔️ | ✔️ |
| HMAC | | | ⚒️ | [❌][5166] [^1] | ⚒️ | | ⚒️ | ❌ | ⚒️ | ⚒️ |
| I2C master | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ⚒️ | ✔️ | ✔️ |
| I2C slave | [❌][1909] [^1] | | [❌][1909] [^1] | [❌][1909] [^1] | [❌][1909] [^1] | [❌][1909] [^1] | [❌][1909] [^1] | ❌ | [❌][1909] [^1] | [❌][1909] [^1] |
| I2S | ⚒️ | | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ❌ | ⚒️ | ⚒️ |
| IEEE 802.15.4 | | | | ⚒️ | ⚒️ | | ⚒️ | | | |
| Interrupts | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ |
| IOMUX | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | | ⚒️ | ⚒️ |
| Key Manager | | | | [❌][5171] [^1] | | | | | | |
| LEDC | ⚒️ | ⚒️ | ⚒️ | [❌][5161] [^1] | ⚒️ | [❌][5418] [^1] | ⚒️ | ❌ | ⚒️ | ⚒️ |
| LP I2C master | | | | ⚒️ | ⚒️ | | | ❌ | | |
| LP UART | | | | [❌][5155] [^1] | ⚒️ | | | ❌ | | |
| MCPWM | ⚒️ | | | [❌][5154] [^1] | ⚒️ | | ⚒️ | ❌ | | ⚒️ |
| PARL_IO | | | | ⚒️ | ⚒️ | | ⚒️ | | | |
| PCNT | ⚒️ | | | ⚒️ | ⚒️ | | ⚒️ | ❌ | ⚒️ | ⚒️ |
| PHY | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | | ⚒️ | ⚒️ |
| PSRAM | ⚒️ | | | ⚒️ | | ⚒️ | | ⚒️ | ⚒️ | ⚒️ |
| RGB display | ⚒️ | | | | | | | ❌ | ❌ | ⚒️ |
| RMT | ⚒️ | | ⚒️ | ⚒️ | ⚒️ | | ⚒️ | | ⚒️ | ⚒️ |
| RNG | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ |
| RSA | ⚒️ | | ⚒️ | ⚒️ | ⚒️ | | ⚒️ | ❌ | ⚒️ | ⚒️ |
| RTC Timekeeping | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ❌ | ⚒️ | ⚒️ |
| SDIO host | ❌ | | | | | | | ❌ | | ❌ |
| SDIO slave | ❌ | | | [❌][5169] [^1] | ❌ | [❌][5417] [^1] | | ❌ | | |
| SHA | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ❌ | ⚒️ | ⚒️ |
| Light/deep sleep | ⚒️ | ⚒️ | ⚒️ | [❌][5165] [^1] | ⚒️ | [❌][5424] [^1] | ⚒️ | ❌ | ⚒️ | ⚒️ |
| SPI master | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ⚒️ | ✔️ | ✔️ |
| SPI slave | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ❌ | ⚒️ | ⚒️ |
| SYSTIMER | | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ |
| Temperature sensor | ⚒️ | ⚒️ | ⚒️ | [❌][5153] [^1] | ⚒️ | [❌][5421] [^1] | ⚒️ | ❌ | ⚒️ | ⚒️ |
| Timers | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ |
| Touch | ⚒️ | | | [❌][5164] [^1] | | | | ❌ | [❌][1905] [^1] | [❌][1905] [^1] |
| TWAI / CAN / CANFD | ⚒️ | | ⚒️ | [❌][5163] [^1] | ⚒️ | | ⚒️ | ❌ | ⚒️ | ⚒️ |
| UART | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ⚒️ | ✔️ | ✔️ |
| UHCI | ❌ | | ⚒️ | ⚒️ | ⚒️ | | ⚒️ | ❌ | ❌ | ⚒️ |
| ULP (FSM) | ❌ | | | | | | | | ❌ | ❌ |
| ULP (RISC-V) | | | | [❌][5160] [^1] | ⚒️ | | | ❌ | ⚒️ | ⚒️ |
| USB OTG FS | | | | | | | | ⚒️ | ⚒️ | ⚒️ |
| USB Serial/JTAG | | | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | | ⚒️ |
| WIFI | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | ⚒️ | | | ⚒️ | ⚒️ |
>>>>>>> 20e5e4eb (Mark unsupported peripherals as such (#5597))

* Empty cell: Not available
* ❌: Not supported
Expand Down
17 changes: 0 additions & 17 deletions esp-metadata-generated/src/_build_script_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -285,8 +285,6 @@ impl Chip {
"rng_driver_supported",
"rsa_driver_supported",
"lp_timer_driver_supported",
"sd_host_driver_supported",
"sd_slave_driver_supported",
"sha_driver_supported",
"sleep_driver_supported",
"soc_driver_supported",
Expand All @@ -297,7 +295,6 @@ impl Chip {
"touch_driver_supported",
"twai_driver_supported",
"uart_driver_supported",
"ulp_fsm_driver_supported",
"wifi_driver_supported",
"adc_adc1",
"adc_adc2",
Expand Down Expand Up @@ -484,8 +481,6 @@ impl Chip {
"cargo:rustc-cfg=rng_driver_supported",
"cargo:rustc-cfg=rsa_driver_supported",
"cargo:rustc-cfg=lp_timer_driver_supported",
"cargo:rustc-cfg=sd_host_driver_supported",
"cargo:rustc-cfg=sd_slave_driver_supported",
"cargo:rustc-cfg=sha_driver_supported",
"cargo:rustc-cfg=sleep_driver_supported",
"cargo:rustc-cfg=soc_driver_supported",
Expand All @@ -496,7 +491,6 @@ impl Chip {
"cargo:rustc-cfg=touch_driver_supported",
"cargo:rustc-cfg=twai_driver_supported",
"cargo:rustc-cfg=uart_driver_supported",
"cargo:rustc-cfg=ulp_fsm_driver_supported",
"cargo:rustc-cfg=wifi_driver_supported",
"cargo:rustc-cfg=adc_adc1",
"cargo:rustc-cfg=adc_adc2",
Expand Down Expand Up @@ -2425,7 +2419,6 @@ impl Chip {
"rng_driver_supported",
"rsa_driver_supported",
"lp_timer_driver_supported",
"sd_slave_driver_supported",
"sha_driver_supported",
"sleep_driver_supported",
"soc_driver_supported",
Expand Down Expand Up @@ -2700,7 +2693,6 @@ impl Chip {
"cargo:rustc-cfg=rng_driver_supported",
"cargo:rustc-cfg=rsa_driver_supported",
"cargo:rustc-cfg=lp_timer_driver_supported",
"cargo:rustc-cfg=sd_slave_driver_supported",
"cargo:rustc-cfg=sha_driver_supported",
"cargo:rustc-cfg=sleep_driver_supported",
"cargo:rustc-cfg=soc_driver_supported",
Expand Down Expand Up @@ -4176,7 +4168,6 @@ impl Chip {
"timergroup_driver_supported",
"twai_driver_supported",
"uart_driver_supported",
"ulp_fsm_driver_supported",
"ulp_riscv_driver_supported",
"usb_otg_driver_supported",
"wifi_driver_supported",
Expand Down Expand Up @@ -4389,7 +4380,6 @@ impl Chip {
"cargo:rustc-cfg=timergroup_driver_supported",
"cargo:rustc-cfg=twai_driver_supported",
"cargo:rustc-cfg=uart_driver_supported",
"cargo:rustc-cfg=ulp_fsm_driver_supported",
"cargo:rustc-cfg=ulp_riscv_driver_supported",
"cargo:rustc-cfg=usb_otg_driver_supported",
"cargo:rustc-cfg=wifi_driver_supported",
Expand Down Expand Up @@ -4802,7 +4792,6 @@ impl Chip {
"rng_driver_supported",
"rsa_driver_supported",
"lp_timer_driver_supported",
"sd_host_driver_supported",
"sha_driver_supported",
"sleep_driver_supported",
"soc_driver_supported",
Expand All @@ -4814,7 +4803,6 @@ impl Chip {
"twai_driver_supported",
"uart_driver_supported",
"uhci_driver_supported",
"ulp_fsm_driver_supported",
"ulp_riscv_driver_supported",
"usb_otg_driver_supported",
"usb_serial_jtag_driver_supported",
Expand Down Expand Up @@ -5052,7 +5040,6 @@ impl Chip {
"cargo:rustc-cfg=rng_driver_supported",
"cargo:rustc-cfg=rsa_driver_supported",
"cargo:rustc-cfg=lp_timer_driver_supported",
"cargo:rustc-cfg=sd_host_driver_supported",
"cargo:rustc-cfg=sha_driver_supported",
"cargo:rustc-cfg=sleep_driver_supported",
"cargo:rustc-cfg=soc_driver_supported",
Expand All @@ -5064,7 +5051,6 @@ impl Chip {
"cargo:rustc-cfg=twai_driver_supported",
"cargo:rustc-cfg=uart_driver_supported",
"cargo:rustc-cfg=uhci_driver_supported",
"cargo:rustc-cfg=ulp_fsm_driver_supported",
"cargo:rustc-cfg=ulp_riscv_driver_supported",
"cargo:rustc-cfg=usb_otg_driver_supported",
"cargo:rustc-cfg=usb_serial_jtag_driver_supported",
Expand Down Expand Up @@ -5544,8 +5530,6 @@ pub fn emit_check_cfg_directives() {
println!("cargo:rustc-check-cfg=cfg(rng_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(rsa_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(lp_timer_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(sd_host_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(sd_slave_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(sha_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(sleep_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(soc_driver_supported)");
Expand All @@ -5556,7 +5540,6 @@ pub fn emit_check_cfg_directives() {
println!("cargo:rustc-check-cfg=cfg(touch_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(twai_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(uart_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(ulp_fsm_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(wifi_driver_supported)");
println!("cargo:rustc-check-cfg=cfg(adc_adc1)");
println!("cargo:rustc-check-cfg=cfg(adc_adc2)");
Expand Down
3 changes: 3 additions & 0 deletions esp-metadata/devices/esp32.toml
Original file line number Diff line number Diff line change
Expand Up @@ -882,7 +882,9 @@ deep_sleep = true
[device.mcpwm]
[device.pcnt]
[device.sd_host]
support_status = "not_supported"
[device.sd_slave]
support_status = "not_supported"
[device.touch]
[device.twai]

Expand All @@ -894,6 +896,7 @@ extmem_origin = 0x3F800000
[device.lp_timer]

[device.ulp_fsm]
support_status = "not_supported"

## Radio
[device.wifi]
Expand Down
1 change: 1 addition & 0 deletions esp-metadata/devices/esp32c6.toml
Original file line number Diff line number Diff line change
Expand Up @@ -756,6 +756,7 @@ version = 1

[device.pcnt]
[device.sd_slave]
support_status = "not_supported"
[device.twai]
[device.usb_serial_jtag]

Expand Down
1 change: 1 addition & 0 deletions esp-metadata/devices/esp32s2.toml
Original file line number Diff line number Diff line change
Expand Up @@ -685,6 +685,7 @@ extmem_origin = 0x3f500000
[device.systimer]
[device.temp_sensor]
[device.ulp_fsm]
support_status = "not_supported"
[device.ulp_riscv]
[device.lp_timer]

Expand Down
2 changes: 2 additions & 0 deletions esp-metadata/devices/esp32s3.toml
Original file line number Diff line number Diff line change
Expand Up @@ -871,6 +871,7 @@ deep_sleep = true
[device.mcpwm]
[device.pcnt]
[device.sd_host]
support_status = "not_supported"
[device.twai]
[device.usb_otg]
[device.usb_serial_jtag]
Expand All @@ -884,6 +885,7 @@ octal_spi = true
[device.systimer]
[device.temp_sensor]
[device.ulp_fsm]
support_status = "not_supported"
[device.ulp_riscv]
[device.lp_timer]

Expand Down