Commit Graph

37600 Commits

Author SHA1 Message Date
Omar Chebib 57330b48e4 hw/timer: implement a generic TimerGoup controller for newer Espressif targets 2025-06-24 14:55:53 +08:00
Omar Chebib 248b410174 hw/misc: optimize flash decryption speed on the ESP32 2025-05-13 17:30:32 +08:00
Omar Chebib 1ede4bd3d9 riscv: fix a bug in ESP CPU that resulted in some interrupts being dismissed 2025-04-17 10:02:17 +08:00
Omar Chebib fd97b40f5a hw/timer: fix several bug related to timings, both in cycle count and TimerGroup for the ESP32-C3 2025-04-17 10:02:17 +08:00
Omar Chebib 16a219aac8 misc/ssi_psram: refactor PSRAM to use a state machine
The emulated PSRAM now internally uses a state machine, making is more sturdy
and resilient to dummy cycles.

* Fixes #57
2025-04-03 11:56:10 +08:00
Omar Chebib 9607e26254 esp32: refactor drivers to use three-stage reset instead of legacy reset 2025-03-25 17:42:45 +08:00
Omar Chebib e0bfd3961f esp32s3: refactor drivers to use three-stage reset instead of legacy reset 2025-03-25 17:24:12 +08:00
Omar Chebib 95c74f43e2 esp: refactor Espressif generic drivers to use three-stage reset instead of legacy reset 2025-03-25 16:41:56 +08:00
Omar Chebib 17207a3c3f esp32c3: refactor drivers to use three-stage reset instead of legacy reset 2025-03-25 15:36:04 +08:00
Omar Chebib ccdda32084 hw/timer: fix reset/default value for register SYSTIMER_CONF on ESP targets
* Fixes https://github.com/espressif/qemu/issues/120
2025-03-10 18:06:28 +08:00
Dmitry Yakovlev 7591824ec4 hw/xtensa: implement ESP32-S3 machine
This also includes the ESP32-S3 BIOS (ROM bootloader)
2025-02-28 16:39:03 +01:00
Dmitry Yakovlev c0cce1fc74 hw/i2c: add I2C to ESP32-S3
ESP32 implementation is used as a stub.
2025-02-28 16:39:03 +01:00
Dmitry Yakovlev 0c1bf393dc hw/misc: implement ESP32-S3 XTS-AES peripheral
Co-authored-by: Harshal Patil <harshal.patil@espressif.com>
2025-02-28 16:39:03 +01:00
Dmitry Yakovlev bd9cb721a3 hw/misc: implement ESP32-S3 Digital Signature
Co-authored-by: Harshal Patil <harshal.patil@espressif.com>
2025-02-28 16:39:03 +01:00
Dmitry Yakovlev e67f694323 hw/misc: implement ESP32-S3 RSA
Co-authored-by: Harshal Patil <harshal.patil@espressif.com>
2025-02-28 16:39:03 +01:00
harshal.patil 3629646ec5 hw/misc: Implement ESP32-S3 AES 2025-02-28 16:39:03 +01:00
harshal.patil 24deaa4323 hw/misc: Implement ESP32-S3 HMAC 2025-02-28 16:39:02 +01:00
Dmitry Yakovlev 6c66f8c15a hw/misc: Add dummy ESP32-S3 PMS module 2025-02-28 16:39:02 +01:00
Dmitry Yakovlev 8ab216a956 hw/nvram: Implement ESP32-S3 eFuse
Co-authored-by: Omar Chebib <omar.chebib@espressif.com>
2025-02-28 16:39:02 +01:00
Dmitry Yakovlev 015a0fbc4f hw/misc: implement ESP32-S3 RNG 2025-02-28 16:39:02 +01:00
Dmitry Yakovlev c5a5b13d57 hw/misc: implement ESP32-S3 real-time clock module 2025-02-28 16:39:02 +01:00
Dmitry Yakovlev f59cf20d7f hw/misc: add ESP32-S3 USB Serial JTAG as a stub
ESP32-C3 implementation is used.
2025-02-28 16:39:02 +01:00
Dmitry Yakovlev 6eceeee95b hw/misc: Implement ESP32-S3 SHA
Co-authored-by: Harshal Patil <harshal.patil@espressif.com>
2025-02-28 16:39:02 +01:00
Dmitry Yakovlev 9a33d7d456 hw/dma: implement ESP32-S3 GDMA
Co-authored-by: Omar Chebib <omar.chebib@espressif.com>
2025-02-28 16:39:02 +01:00
Omar Chebib 81f8593bc5 hw/misc: Implement ESP32-S3 Cache (SPI Flash)
Co-authored-by: Dmitry Yakovlev <dmitry@espressif.com>
2025-02-28 16:39:02 +01:00
Dmitry Yakovlev e013d77398 hw/xtensa: implement ESP32-S3 Interrupt Matrix
All features are implemented, except level/edge trigger option.
2025-02-26 07:41:42 +01:00
Dmitry Yakovlev e458bfa43f hw/xtensa: implement ESP32-S3 clock and system registers 2025-02-26 07:41:42 +01:00
Dmitry Yakovlev 4b9285f1de hw/ssi: implement ESP32-S3 SPI1 (SPI flash)
Co-authored-by: Omar Chebib <omar.chebib@espressif.com>
2025-02-26 07:41:42 +01:00
Dmitry Yakovlev 79eb790ebe hw/timer: implement ESP32-S3 System Timer
Co-authored-by: Omar Chebib <omar.chebib@espressif.com>
2025-02-26 07:41:42 +01:00
Dmitry Yakovlev c3a794405a hw/timer: implement ESP32-S3 Timer Group
Currently ESP32-C3 implementation is used.
2025-02-26 07:41:42 +01:00
Dmitry Yakovlev d585712419 hw/gpio: implement ESP32-S3 GPIO
S3 GPIO overrides ESP32 GPIO driver and modifies the boot strap pin
2025-02-26 07:41:42 +01:00
Dmitry Yakovlev dced9356d8 hw/char: implement ESP32-S3 UART
S3 UART overrides ESP32's UART
2025-02-26 07:41:42 +01:00
Omar Chebib 6353353d25 hw/riscv: implement ESP32-C3 machine
This also includes the C3 BIOS (ROM bootloader)
2025-02-26 07:41:41 +01:00
harshal.patil 7199aeb023 hw/misc: implement ESP32-C3 XTS-AES peripheral 2025-02-26 07:41:41 +01:00
harshal.patil 9f1a4bbec8 hw/misc: implement ESP32-C3 Digital Signature 2025-02-26 07:41:41 +01:00
harshal.patil 4479e366fb hw/misc: Implement a generic Digital Signature driver for newer Espressif targets 2025-02-26 07:41:41 +01:00
Omar Chebib e1bfe6adfd hw/misc: implement ESP32-C3 RSA
Co-authored-by: Harshal Patil <harshal.patil@espressif.com>
2025-02-26 07:41:41 +01:00
harshal.patil cbd9c20425 hw/misc: implement a generic RSA driver for newer Espressif targets 2025-02-26 07:41:41 +01:00
Omar Chebib 9385e8de91 hw/misc: implement ESP32-C3 AES
Co-authored-by: Harshal Patil <harshal.patil@espressif.com>
2025-02-26 07:41:41 +01:00
harshal.patil 78702e57a0 hw/misc: Implement a generic AES driver for newer Espressif targets 2025-02-26 07:41:40 +01:00
harshal.patil f7ade96f03 hw/misc: implement ESP32-C3 HMAC
Added an internal HMAC implementation using the existing internal SHA APIs
2025-02-26 07:41:40 +01:00
harshal.patil e23b18cfc2 hw/misc: Implement a generic HMAC driver for newer Espressif targets 2025-02-26 07:41:40 +01:00
Omar Chebib 95dbb0580d hw/nvram: implement ESP32-C3 eFuses 2025-02-26 07:41:40 +01:00
Omar Chebib 37f6a5ad70 hw/nvram: implement two Efuse classes for the ESP32-C3 and the ESP32-S3
The new efuses classes are derived from the common efuse implementation: ESPEfuseClass.
2025-02-26 07:41:40 +01:00
Omar Chebib 03ce2cfee8 hw/misc: implement ESP32-C3 RTC CNTL registers 2025-02-26 07:41:40 +01:00
Omar Chebib e9cb83a49f hw/misc: implement ESP32-C3 USB Serial JTAG as a stub
The module doesn't do much at the moment, it is used as a stub
2025-02-26 07:41:40 +01:00
Omar Chebib 6569a0882a hw/misc: Implement ESP32-C3 SHA
Co-authored-by: Harshal Patil <harshal.patil@espressif.com>
2025-02-26 07:41:40 +01:00
harshal.patil 24970c0d2c hw/misc: Implement a generic SHA driver for newer Espressif targets 2025-02-26 07:41:40 +01:00
Omar Chebib 3418debeda hw/dma: implement ESP32-C3 GDMA 2025-02-26 07:41:39 +01:00
Omar Chebib b4083f0cfb hw/dma: implement a generic GDMA controller for newer Espressif targets 2025-02-26 07:41:39 +01:00