Skip to content
Open
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
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ A Go command-line tool and library for flashing firmware to Espressif ESP8266 an
- ESP32-S3
- ESP32-C2 (ESP8684)
- ESP32-C3
- ESP32-C5
- ESP32-C6
- ESP32-H2

Expand Down
4 changes: 4 additions & 0 deletions pkg/espflasher/chip.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ const (
ChipESP32S3
ChipESP32C2
ChipESP32C3
ChipESP32C5
ChipESP32C6
ChipESP32H2
ChipAuto // Auto-detect chip type
Expand All @@ -32,6 +33,8 @@ func (c ChipType) String() string {
return "ESP32-C2"
case ChipESP32C3:
return "ESP32-C3"
case ChipESP32C5:
return "ESP32-C5"
case ChipESP32C6:
return "ESP32-C6"
case ChipESP32H2:
Expand Down Expand Up @@ -125,6 +128,7 @@ var chipDefs = map[ChipType]*chipDef{
ChipESP32S3: defESP32S3,
ChipESP32C2: defESP32C2,
ChipESP32C3: defESP32C3,
ChipESP32C5: defESP32C5,
ChipESP32C6: defESP32C6,
ChipESP32H2: defESP32H2,
}
Expand Down
42 changes: 42 additions & 0 deletions pkg/espflasher/target_esp32c5.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package espflasher

// ESP32-C5 target definition.
// Reference: https://github.com/espressif/esptool/blob/master/esptool/targets/esp32c5.py

var defESP32C5 = &chipDef{
ChipType: ChipESP32C5,
Name: "ESP32-C5",
ImageChipID: 23,
UsesMagicValue: false, // Uses chip ID

SPIRegBase: 0x60003000,
SPIUSROffs: 0x18,
SPIUSR1Offs: 0x1C,
SPIUSR2Offs: 0x20,
SPIMOSIOffs: 0x24,
SPIMISOOffs: 0x98,
SPIW0Offs: 0x58,

SPIMISODLenOffs: 0x28,
SPIMOSIDLenOffs: 0x24,

SPIAddrRegMSB: true,

UARTDateReg: 0x60000078,
UARTClkDiv: 0x60000014,
XTALClkDiv: 1,

BootloaderFlashOffset: 0x2000,

SupportsEncryptedFlash: true,
ROMHasCompressedFlash: true,
ROMHasChangeBaud: true,

FlashFrequency: map[string]byte{
"80m": 0xF,
"40m": 0x0,
"20m": 0x2,
},

FlashSizes: defaultFlashSizes(),
}
Loading