evan
09616c2093
fix(esp32c3): emulate GPIO interrupts
2026-07-26 15:34:45 -04:00
evan
d613b079ef
feat(xteink): count guest ADC reads per channel
...
Host tooling needs to know when the guest has actually sampled a button,
since the firmware only polls the resistor ladder between e-ink refreshes.
2026-07-26 11:18:28 -04:00
evan
5721bd8102
feat(xteink): wire USB serial JTAG interrupts
...
Report SOF and serial-in-empty as always pending and route the peripheral
IRQ through the interrupt matrix so the ESP-IDF console driver progresses.
Merge emulator stdout into serial.log so crash output lands in one place.
2026-07-26 09:21:43 -04:00
evan
fe35cb68d6
feat(xteink): add ESP32-C3 Wi-Fi emulation with qemu AP
...
Ports the ESP32 Wi-Fi emulation (esp32c3_wifi, esp32_wifi_ap, esp32_wlan_*)
from the lcgamboa/PICSimLab QEMU fork and integrates it behind the
esp32c3_wifi NIC model, plus the supporting radio peripherals
(ANA/PHYA/FE/PWR manager).
- Exposes an open SSID 'qemu' bridged to the host via QEMU user-mode NAT
(libslirp, now enabled in the native build).
- Adds ESP-IDF 5.5 compatibility fixes: channel resolution from the
beacon DS Parameter Set IE / AP lookup, persistent SYSCON register
backing (phy_module_has_clock_bits), DMA inlink/outlink descriptor
mirroring, RX descriptor ring reset on item.next==0, and descriptor
ownership/length semantics.
- xteink-emu now starts with -nic user,model=esp32c3_wifi and synthesizes
an eFuse image with a fixed guest MAC.
Verified against a stock Arduino-ESP32 sketch: scans, finds 'qemu',
associates, gets DHCP 192.168.4.15, and completes an outbound TCP
connection. Unmodified CrossPoint firmware still needs the power-button
hold during boot (tracked separately).
2026-07-24 16:21:12 -04:00
evan
cbeba3fbe9
fix(display): classify X3 grayscale from loaded LUTs
2026-07-21 11:42:04 -04:00
evan
b0bce6c486
Add xteink browser bridge
2026-07-20 00:20:51 -04:00
evan
c4227568de
Add xteink machine for wasm build
2026-07-19 21:56:40 -04:00
Kohei Tokunaga
e712868ec5
Update wasm backend
...
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com >
2026-07-19 21:08:45 -04:00
Kohei Tokunaga
2816a551ef
TCG: add wasm backend
...
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com >
2026-07-19 21:08:45 -04:00
Omar Chebib
40edccac41
hw/riscv: fix interrupts being lost or delayed when MIE=0 on the ESP32-C3
2026-04-17 10:15:24 +08:00
Omar Chebib
30f83141bb
hw/misc: implement SPI data transfers for the PSRAM in both QPI and OPI.
2025-08-15 09:41:13 +08:00
Yuan Yu
dcf57b8d44
hw/xtensa: add CAN peripheral to ESP32
2025-07-31 14:36:30 +08:00
Omar Chebib
c46f68cfd3
hw/timer: modify the ESP32-C3 TimerGroup driver to override the new generic one
2025-06-24 14:55:53 +08:00
Omar Chebib
2b7742774a
hw/timer: implement an ESP32-S3 TimerGroup that overrides the new generic one
2025-06-24 14:55:53 +08:00
Omar Chebib
57330b48e4
hw/timer: implement a generic TimerGoup controller for newer Espressif targets
2025-06-24 14:55:53 +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
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
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
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
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
Dmitry Yakovlev
58bdf76da0
tcg: add support for 8-argument helpers
2025-02-26 07:41:41 +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