Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESP32-P4 support status (IDFGH-11914) #12996

Open
igrr opened this issue Jan 17, 2024 · 56 comments
Open

ESP32-P4 support status (IDFGH-11914) #12996

igrr opened this issue Jan 17, 2024 · 56 comments
Labels
Status: In Progress Work is in progress

Comments

@igrr
Copy link
Member

igrr commented Jan 17, 2024

ESP32-P4 support status in ESP-IDF

ESP-IDF v5.3, currently in development, will include initial support for the mass production version of the ESP32-P4 chip.

In the list below, supported features are marked with a checked checkbox, unsupported features have an unchecked checkbox. An internal issue reference (such as "IDF-1234") is listed at the end of the feature description to help us keep this list up to date:

  • ⏳ Unsupported feature (IDF-1234)
  • ✅ Supported feature

This list will be updated as the support for ESP32-P4 is being developed.

Reporting issues about ESP32-P4

If you have an issue to report about any of the ESP32-P4 features, please create a separate issue. This issue is only intended for announcements of ESP32-P4 support status.


  • Low Power System
    • ✅ Low Power Core (RISC-V)
    • ✅ Low-power ADC
    • ✅ Low-power GPIO
    • ✅ Low-power I2C Master
    • ✅ Low-power I2S
      • ✅ Voice Activity Detection
    • ✅ Low-power SPI
    • ⏳ Low-power Temperature Sensor (IDF-7535)
    • ✅ Low-power Timer
    • ✅ Low-power UART
    • ✅ Low-power Watchdog Timer
  • Peripherals
    • ADC
      • ⏳ ADC Calibration (IDF-7467)
      • ✅ ADC continuous mode driver
        • ADC continuous mode digital monitor
      • ✅ ADC oneshot mode driver
      • ⏳ Support Low Power ADC instance (IDF-7468)
    • ⏳ Bit Scrambler (IDF-6877)
    • Camera
      • ✅ ISP DVP
      • ✅ LCD_CAM DVP
      • ✅ MIPI CSI
    • ✅ Clock Output
    • DMA (Direct Memory Access)
      • ✅ DMA-2D
      • ✅ DW_GDMA
      • ✅ GDMA
    • Ethernet driver
      • ✅ SPI Ethernet driver
      • ✅ internal MAC driver
    • ✅ Event Task Matrix
    • ✅ GPIO driver
      • ✅ Analog Comparator
      • ✅ GPIO ETM
      • ✅ Glitch Filter
      • Hysteresis
      • ✅ RTC IO (LP IO) driver
    • ✅ GPIO sigma delta driver
    • GPSPI
      • SPI Master driver
      • ✅ SPI Slave HD driver
      • ✅ SPI Slave driver
      • ⏳ Support Low Power SPI instance (IDF-7504)
    • ✅ GPTimer driver
    • I2C
      • ✅ I2C master driver
        • ✅ Support Low Power I2C instance
      • ✅ I2C slave driver
    • I2S
      • ✅ I2S driver
        • I2S PDM rx mode
        • I2S PDM tx mode
        • I2S STD mode
        • I2S TDM mode
      • ✅ I2S legacy driver
    • I3C
      • ⏳ I3C Master Driver (IDF-6871)
      • ⏳ I3C Slave Driver (IDF-6872)
    • ✅ Image Signal Processor
    • JPEG
      • ✅ JPEG Decoder Driver
      • ✅ JPEG Encoder Driver
    • LCD driver
      • ✅ I2C LCD driver
      • ✅ MIPI DSI LCD driver
      • ✅ RGB LCD driver
      • ✅ SPI LCD driver
      • ✅ i80 LCD driver
    • ✅ LEDC driver
      • Gamma Curve Generation
    • ✅ MCPWM driver
    • ✅ PCNT driver
    • PSRAM
      • ✅ .bss/.noinit PSRAM
      • ✅ PSRAM Device Driver
      • ✅ XIP PSRAM
    • Parallel IO
      • ✅ Parallel IO RX Driver
      • ✅ Parallel IO TX Driver
    • ✅ Pixel Processing Accelorator Driver
    • ✅ RMT driver
    • SD/SDIO/MMC driver
      • ✅ SDMMC Host driver
        • ✅ UHS-I support
      • ✅ SDSPI Host driver
    • ✅ SPI Flash driver
      • ✅ External flash support
    • Systimer driver
      • ✅ Esptimer implementation over systimer
      • ✅ OS tick port over systimer
    • ✅ TWAI driver
    • ✅ Temperature Sensor driver
    • ✅ Touch Sensor driver
    • UART
      • ✅ Support Low Power UART instance
      • ✅ UART FIFO mode driver
      • ⏳ UHCI (UART DMA mode) driver (IDF-7507)
    • USB OTG
      • ✅ USB Device (TinyUSB) driver
        • ✅ USB 2.0 Device Support
      • ✅ USB Host driver
        • ✅ USB 2.0 Host Support
    • ✅ USB Serial JTAG
  • Power management
    • ✅ Auto Light Sleep
    • ✅ Deep Sleep
    • ✅ Dynamic Frequency Switch
    • ✅ Light Sleep
      • ⏳ Sleep retention (IDF-11007)
  • Security Features
    • ✅ AES accelerator
    • ✅ Digital Signature driver
    • ✅ ECC accelerator
    • ⏳ECDSA driver
    • ✅ Flash encryption
    • ✅ HMAC driver
    • ⏳ HUK Generator
    • ⏳ Key Manager
    • ✅ RNG
    • ✅ RSA hardware accelerator driver
    • ✅ SHA accelerator
    • ✅ Secure boot
  • System Features
    • ✅ AI Instructions (coprocessor)
    • ✅ Bootloader Support
    • Cache
      • ✅ Cache Driver
    • ✅ Console
    • ✅ Cxx Component
    • ✅ ESP Event
    • ✅ ESP ROM
    • ✅ ESP Ringbuffer
    • ✅ ESP Timer
    • ✅ Efuse controller driver
    • ✅ Floating Point Unit
    • ✅ FreeRTOS
    • ✅ Hardware Loop Instruction
    • ✅ MMU
    • MSPI
      • ✅ MSPI tuning (Flash & PSRAM DDR and/or over 80 MHz)
      • ✅ SPI Flash auto suspend
    • ✅ POSIX Threads
    • Panic Handling Features
      • ✅ Core Dump
      • ✅ Debug Watchpoint
      • ✅ GDB Stub
      • ✅ Panic Handler
      • ✅ Stack Guard
    • Power Supply Detector
      • ✅ Brownout Detector
    • ✅ Ram App
    • ✅ TCM
    • ✅ Watch Dog Timers
    • ✅ app trace
    • ✅ newlib
@igrr igrr pinned this issue Jan 17, 2024
@espressif-bot espressif-bot added the Status: Opened Issue is new label Jan 17, 2024
@github-actions github-actions bot changed the title ESP32-P4 support status ESP32-P4 support status (IDFGH-11914) Jan 17, 2024
@espressif-bot espressif-bot added Status: In Progress Work is in progress and removed Status: Opened Issue is new labels Jan 17, 2024
@diplfranzhoepfinger
Copy link
Contributor

when do you expect first P4 Docs and Samples ?

@Alvin1Zhang
Copy link
Collaborator

Alvin1Zhang commented Feb 2, 2024

Update on Feb. 2nd, 2024: support of MIPI DSI, 2DDMA, ESP-ROM, I2S legacy driver have been added.

@Alvin1Zhang
Copy link
Collaborator

when do you expect first P4 Docs and Samples ?

Thanks for asking and sorry for reply late, please help write to https://www.espressif.com/en/contact-us/sales-questions for more support. Thanks.

@Alvin1Zhang
Copy link
Collaborator

Update on Feb. 20th, 2024: support of USB 2.0 Device Support, USB 2.0 Host Support, Low-power GPIO and Low-power Timer have been added.

@Alvin1Zhang
Copy link
Collaborator

Update on March 12th, 2024: support of Console, as well as SPI Ethernet driver have been added.

@TD-er
Copy link
Contributor

TD-er commented Mar 25, 2024

when do you expect first P4 Docs and Samples ?

Thanks for asking and sorry for reply late, please help write to https://www.espressif.com/en/contact-us/sales-questions for more support. Thanks.

I have seen similar references to the Espressif site like these as a reply on questions to get samples, but you can't apply for non-released samples on that site and also not on the linked sample distributors.
The P4/C5/C61 are not present as an option, nor some generic "pre-production" label.

@Alvin1Zhang
Copy link
Collaborator

Update on March 27th, 2024: support of Light Sleep, Dynamic Frequency Switch, AES Accelerator, Low-power UART, Stack Guard, Glitch Filter, Low-power I2C Master have been added.

@Espressif-yangxi
Copy link

when do you expect first P4 Docs and Samples ?

Thanks for asking and sorry for reply late, please help write to https://www.espressif.com/en/contact-us/sales-questions for more support. Thanks.

I have seen similar references to the Espressif site like these as a reply on questions to get samples, but you can't apply for non-released samples on that site and also not on the linked sample distributors. The P4/C5/C61 are not present as an option, nor some generic "pre-production" label.

@TD-er We are pleased to take your feedback into account. The new product options ESP32-P4/C5/C61 has been released on the page_contact us. If you are interested in these products and would like to request samples or obtain more information, please don't hesitate to reach out to Espressif customer support team through this link. We are ready to provide support. Thank you.

@edbek
Copy link

edbek commented Apr 12, 2024

What will be the consumption of the ESP32-P4 processor in BLE mode? Will the same large 40mA remain or will it be within 5mA, like Nordic?
What consumption ESP32-P4 is planned in deep-sleep mode?

@igrr
Copy link
Member Author

igrr commented Apr 12, 2024

@edbek ESP32-P4 doesn't include any wireless peripherals (Wi-Fi or BLE). Regarding the deep sleep current, please wait a bit for the details, they will be available when the datasheet is published.

@Alvin1Zhang
Copy link
Collaborator

Update on April 15th, 2024: support of Panic Handler, MIPI CSI (New), JPEG Decoder Driver, Deep Sleep, SHA Accelerator, Debug Watchpoint, Auto Light Sleep and RNG have been added.

@Alvin1Zhang
Copy link
Collaborator

Update on May 7th, 2024: support of JPEG Encoder Driver and TCM have been added.

@jstoefer
Copy link

Update on April 15th, 2024: ... MIPI CSI (New) ...
Does the ISP of the P4 have support for stitching HDR ?
Will there be support for HDR ?

@ginkgm
Copy link
Collaborator

ginkgm commented May 29, 2024

Update on April 15th, 2024: ... MIPI CSI (New) ...
Does the ISP of the P4 have support for stitching HDR ?
Will there be support for HDR ?

No I think the ISP doesn't support HDR.

@Alvin1Zhang
Copy link
Collaborator

Alvin1Zhang commented Jun 14, 2024

Update on June 14th, 2024: support of Parallel IO RX Driver, USB Serial JTAG, Brownout Detector, XIP PSRAM, Pixel Processing Accelerator Driver, USB 2.0 Device Support, SPI Flash auto suspend, ADC oneshot mode driver, ADC continuous mode driver, H264 Encoder (New) and Touch Sensor driver have been added.

@Alvin1Zhang
Copy link
Collaborator

Alvin1Zhang commented Jun 25, 2024

Update on June 25th, 2024: support of GDB Stub, NimBLE Host, ESP8689 SDIO/SPI driver and Coexistence have been added.

@Alvin1Zhang
Copy link
Collaborator

Update on July 3rd, 2024: support of Low-power SPI has been added.

@Alvin1Zhang
Copy link
Collaborator

Update on July 22nd, 2024: support of Clock Glitch Detector and .bss PSRAM have been added.

@AndyDevLat
Copy link

Update on Feb. 20th, 2024: support of USB 2.0 Device Support, USB 2.0 Host Support, Low-power GPIO and Low-power Timer have been added.

Does it mean we can already create applications using USB high speed host but full speed host support is still pending?

@tore-espressif
Copy link
Collaborator

Does it mean we can already create applications using USB high speed host but full speed host support is still pending?

The ESP32-P4 has two USB-OTG peripherals, with 2 dedicated PHYs. One peripheral (USB_HS) support High-Speed and Full-Speed host, while the other one (USB_FS) only supports Full-Speed host.

Only USB_HS peripheral is supported now. (We have a know issue with Low-Speed devices not working ATM).

Just for completeness Low-Speed only USB host is not allowed by the USB specification

@AndyDevLat
Copy link

AndyDevLat commented Aug 14, 2024

Noted, thank you. And USB_FS peripheral not supported just in host mode? I mean can it be used for device mode via tinyusb?

@tore-espressif
Copy link
Collaborator

Noted, thank you. And USB_FS peripheral not supported just in host mode? I mean can it be used for device mode via tinyusb?

USB_FS not supported at all at the moment :/

@AndyDevLat
Copy link

Ok, I will wait for updates;)

@tom-borcin
Copy link
Collaborator

Hello @TiKoESoPe, support for RGB LCD Driver is in progress right now. Once the support is done, we will update the status

@torntrousers
Copy link

Update on Feb. 2nd, 2024: support of MIPI DSI, 2DDMA, Key Manager, HUK Generator, ESP-ROM, I2S legacy driver have been added.

Hello @Alvin1Zhang / @igrr - interested in the Key Management Unit on the P4 and from that comment back in Feb about "Key Manager" support i hoped there was some support, but asking over here it seems not yet - https://esp32.com/viewtopic.php?f=2&t=41800

Could you give any update on the Key Management Unit ?

Thanks!

@TiKoESoPe
Copy link

Hello @tom-borcin, thanks for the info. I will wait. 👍

@AdityaHPatwardhan
Copy link
Collaborator

AdityaHPatwardhan commented Sep 16, 2024

Hello @Alvin1Zhang / @igrr - interested in the Key Management Unit on the P4 and from that comment back in Feb about "Key Manager" support i hoped there was some support, but asking over here it seems not yet - https://esp32.com/viewtopic.php?f=2&t=41800

Could you give any update on the Key Management Unit ?

Thanks!

Hi @torntrousers,
There were some performance concerns of the Key Management Unit on the currently available revisions of ESP32-P4 SoC, hence it has been marked as not supported for now.
Once a new revision that fixes the issue is available then the support shall be enabled in the ESP-IDF.

@torntrousers
Copy link

torntrousers commented Sep 16, 2024

Hello @Alvin1Zhang / @igrr - interested in the Key Management Unit on the P4 and from that comment back in Feb about "Key Manager" support i hoped there was some support, but asking over here it seems not yet - https://esp32.com/viewtopic.php?f=2&t=41800
Could you give any update on the Key Management Unit ?
Thanks!

Hi @torntrousers, There were some performance issues of the Key Management Unit on the currently available revisions of ESP32-P4 SoC, hence it has been marked as not supported for now. Once a new revision that fixes the issue is available then the support shall be enabled in the ESP-IDF.

Thanks for the reply @AdityaHPatwardhan . Do you mean a new hardware revision? I bought a couple of the P4 EV kits especially to try the Key Management Unit so i guess they are no good for this now? Could maybe put a note on the shop page - all it says presently is that its all good except that the ADC is uncalibrated :( Could you post back here when the new rev boards are available?

@TD-er
Copy link
Contributor

TD-er commented Sep 16, 2024

Yep, which silicon revision should have it?
And which revisions can be found out there ?

@AdityaHPatwardhan
Copy link
Collaborator

AdityaHPatwardhan commented Sep 16, 2024

@torntrousers @TD-er, The work to fix is already on-going, I can only confirm when a new revision is available and has been tested. Just to prevent users from accidentally configuring the feature we have disabled the support from ESP-IDF and also marked it as non-supported in the above status link.
EDIT:
Note: Key Management Unit shall remain disabled for all upcoming revisions unless notified.

@ESP32DE
Copy link
Contributor

ESP32DE commented Sep 20, 2024

@torntrousers @TD-er, The work to fix is already on-going, I can only confirm when a new revision is available and has been tested. Ideally it should be the very next revision of ESP32-P4 (which is ECO2). Just to prevent users from accidentally configuring the feature we have disabled the support from ESP-IDF and also marked it as non-supported in the above status link.

@AdityaHPatwardhan FWIK the ESP32-P4-Function-EV-Board is Rev0.0. The ECO1 which has reactivated pin which is nc in the Rev0.0 ( got from a live stream talk between the lines ) and is the upcomming revision. I understand that the KM is done in this.
Now you talk from ECO2 ? :) Is this a typo or reality that we can not use KM in the upcomming ECO1 ?

edit: If you mean ECO2 we talk about Q1/25 to launch the ECO2 and not yet guaranteed that KM works?

@AdityaHPatwardhan
Copy link
Collaborator

@ESP32DE Yes, The Key manager shall not be enabled for the ECO1 chip. Apologies for the inconvenience. Please note that no other feature of the SoC is affected due to the Key Manager being disabled.

@torntrousers
Copy link

I bought a couple of P4's just to try the KM, any chance i can trade them in for eco2's when that comes out?
;)

@tom-borcin
Copy link
Collaborator

I bought a couple of P4's just to try the KM, any chance i can trade them in for eco2's when that comes out? ;)

Hi @torntrousers, please contact our sales team: https://www.espressif.com/en/contact-us/sales-questions

@DatanoiseTV
Copy link

I have also 30 spare P4 chips, if anyone is interested. Shipping from Germany.

@microfoundry
Copy link

microfoundry commented Oct 2, 2024

Just curious - the Espressif site** states the P4 will have a single I3S Interface (which I assume to be SoundWire), yet I see nothing here that would indicate that is in ESP-IDF development. It is a typo (i3c maybe?) or...

**Specifically on the Espressif Product Selector site/P4 Product Brief/Features/Communication Interfaces

@tom-borcin
Copy link
Collaborator

Hi @microfoundry, that indeed looks like a typo. Thank you for notifying us

@Alvin1Zhang
Copy link
Collaborator

Alvin1Zhang commented Oct 8, 2024

Update on October 8th, 2024: support of below features have been added.

  • Low-power I2S
  • Clock Output
  • Support Low Power I2C instance
  • I2C LCD driver
  • SPI LCD driver
  • i80 LCD driver
  • External flash support

@torntrousers
Copy link

Update on October 8th, 2024: support of below features have been added.

* ECDSA driver

Is there any doc or example code for that ECDSA driver that i can see?

@ginkgm
Copy link
Collaborator

ginkgm commented Oct 8, 2024

Just curious - the Espressif site** states the P4 will have a single I3S Interface (which I assume to be SoundWire), yet I see nothing here that would indicate that is in ESP-IDF development. It is a typo (i3c maybe?) or...

**Specifically on the Espressif Product Selector site/P4 Product Brief/Features/Communication Interfaces

Hi @microfoundry , thanks for your question.

It is supposed to be an I3C peripheral to work with camera sensors. Could you provide link to where you saw it on our official site, so that we can correct this error?

@microfoundry
Copy link

image

@HareshPrajapati
Copy link

HareshPrajapati commented Oct 16, 2024

I have also 30 spare P4 chips, if anyone is interested. Shipping from Germany.

@DatanoiseTV, Is it possible to ship to india?

@tom-borcin
Copy link
Collaborator

Update on October 8th, 2024: support of below features have been added.

* ECDSA driver

Is there any doc or example code for that ECDSA driver that i can see?

Hi @torntrousers, here is:

  1. ECDSA documentation: https://docs.espressif.com/projects/esp-idf/en/stable/esp32h2/api-reference/peripherals/ecdsa.html
  2. Our own test: https://github.com/espressif/esp-idf/blob/master/components/hal/test_apps/crypto/main/ecdsa/test_ecdsa.c

@ESP32DE
Copy link
Contributor

ESP32DE commented Oct 18, 2024

Just curious - the Espressif site** states the P4 will have a single I3S Interface (which I assume to be SoundWire), yet I see nothing here that would indicate that is in ESP-IDF development. It is a typo (i3c maybe?) or...

@microfoundry

I3C

grafik

@microfoundry
Copy link

Understood - It was more about the typo that has since been corrected on Espressif's Product Selector site (as seen in the original screen shot I posted after the 2nd request for where I saw that...)

-Terry

@Emill
Copy link

Emill commented Oct 20, 2024

Is there any information or reference about the so called "AI instructions"? Is it the same instruction set as the ESP32-S3 processor instruction extensions or a new one?

@PhilippvK
Copy link

Is there any information or reference about the so called "AI instructions"? Is it the same instruction set as the ESP32-S3 processor instruction extensions or a new one?

@Emill I couldn’t find any official documentation/specification of the ISA implemented on the P4, but the Espressif LLVM toolchain already supports it. Feel free to look at the implemented instructions: https://github.com/espressif/llvm-project/blob/e9c8e60ee8d58e21a7f3582a4695eeb99ec4c5d7/llvm/lib/Target/RISCV/RISCVInstrInfoESP32P4.td

@Emill
Copy link

Emill commented Oct 21, 2024

Is there any information or reference about the so called "AI instructions"? Is it the same instruction set as the ESP32-S3 processor instruction extensions or a new one?

@Emill I couldn’t find any official documentation/specification of the ISA implemented on the P4, but the Espressif LLVM toolchain already supports it. Feel free to look at the implemented instructions: https://github.com/espressif/llvm-project/blob/e9c8e60ee8d58e21a7f3582a4695eeb99ec4c5d7/llvm/lib/Target/RISCV/RISCVInstrInfoESP32P4.td

Thanks! It seems they have mostly preserved the same instructions as in ESP32-S3 but added a few new instructions as well.

@foxnux
Copy link

foxnux commented Nov 15, 2024

Is there any ETA for RGB LCD driver (IDF-10962)?
I got some ESP32-P4 samples and designed our own PCB, but I am not able to start testing a RGB565 LCD panel.

@suda-morris
Copy link
Collaborator

suda-morris commented Nov 15, 2024

@foxnux RGB_LCD driver is already available on release/v5.4 and master branch. efcb91b

BTW, on P4, we also have MIPI DSI controller, a better choice for HMI solution.

@Alvin1Zhang
Copy link
Collaborator

Update on November 15th, 2024: support of below features have been added.

  • Voice Activity Detection
  • Image Signal Processor
  • RGB LCD driver
  • UHS-I support
  • app trace

@foxnux
Copy link

foxnux commented Nov 15, 2024

@suda-morris Thank you for the good news. Yes! It was already added almost three weeks ago.
I should keep checking the master branch. Sorry for the noise.

Yep, once we use up our stock of tens of thousands of RGB LCDs, we will switch to MIPI LCDs. ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: In Progress Work is in progress
Projects
None yet
Development

No branches or pull requests