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

Closed
igrr opened this issue Jan 17, 2024 · 60 comments
Closed

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

igrr opened this issue Jan 17, 2024 · 60 comments
Assignees
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally

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;)

@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. ;)

@Alvin1Zhang
Copy link
Collaborator

Thanks for subscribing to this ticket, only remaining items are:

* Peripherals
	* Low-power Temperature Sensor (IDF-7535)
	* ADC Calibration (IDF-7467)
	* Support Low Power ADC instance (IDF-7468)
	* Bit Scrambler (IDF-6877)
	* Support Low Power SPI instance (IDF-7504)
	* I3C Master Driver (IDF-6871)
	* I3C Slave Driver (IDF-6872)
	* UHCI (UART DMA mode) driver (IDF-7507)
* Power management
	* Sleep retention (IDF-11007)
* Security
	* ECDSA driver
	* HUK Generator
	* Key Manager

There will be updates for these remaining items when they are supported. We are closing the issue and unpinning it. Please open new issue if you have a feature request, question or any other problem. Thanks.

@Alvin1Zhang Alvin1Zhang unpinned this issue Nov 28, 2024
@espressif-bot espressif-bot added Status: Done Issue is done internally Resolution: Done Issue is done internally and removed Status: In Progress Work is in progress labels Nov 28, 2024
@AndyDevLat
Copy link

AndyDevLat commented Nov 28, 2024 via email

@tore-espressif
Copy link
Collaborator

This issue was closed, but as i understand USB FS is still not working?

You're correct. We have tested internal FS device mode, which will be added after we upgrade to TinyUSB v0.17, by end of December.

FS Host is not yet fully tested, but there is no HW issue, only missing SW support

@AndyDevLat
Copy link

AndyDevLat commented Nov 28, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally
Projects
None yet
Development

No branches or pull requests