mirror of
https://github.com/espressif/esptool.git
synced 2025-10-20 04:54:31 +08:00
feat(esp32c6 stub): Increase CPU frequency and write/read speeds over USB-JTAG/Serial
This commit is contained in:

committed by
Radim Karniš

parent
b04cc52b5c
commit
180695ef3f
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"entry": 1082132080,
|
||||
"text": "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",
|
||||
"entry": 1082132132,
|
||||
"text": "QREixCbCBsa39wBgEUfYyzf0AGC3BIRAXECRi5HnskAiRJJEQQGCgAhAg6cEABN19Q+Cl9W3ARG3BwBgSsgDqYcAJspOxlLEBs4izLcEAGD9WTcKhEDATBN09A8N4PJAYkQjqCQBsknSREJJIkoFYYKAiECDJwoAE3X1D4KXfRTjGTT/yb83NwBgfEudi/X/NycAYHxLnYv1/4KAQREGxt03tzcAYCOmBwI3BwAImMOYQ33/yFeyQBNF9f8FiUEBgoBBEQbG2T993TcHAEC3NwBgmMM3NwBgHEP9/7JAQQGCgEERIsQ3BIVAkwcECpxLBsYmwqHPXTcxyRMEBAoYSL1HgURj1ucABES9iJO0FABNP5U/HEQ3BwABE5bHAGN/5gC3BoAAmeC3BgABNzcAYFDDFMO3NgBgmEJ9/0FHkeAFRxRIupccxJmOFMiyQCJEkkRBAYKAEwcADJxBYxvlAIHnhUecwSGoI6AFAPlXPoWCgAVHY4fnAIlGY43XAP1X/beTFwUBEwewDcGH4xHl/olHyb+TB8ANYxb1AJjBkwcADPG3kwbQDf1X4xLV/JjBkwewDW2/twWFQEERk4WFCQbGUT9jSQUGtweFQJOHBwGDpgcIA9dHCBN19Q9CB0GDEwYXAEIGQYIjkscINpcjAKcAA9dHCJFnk4cHBEIHQYNjHvcCN4eEQBMHBwGhZ7qXA6YHCLfGhEC3B4VAk4cHAZOGBgVjH+YAI6bHCCOg1wgjkgcIIaD5V+MG9fyyQEEBgoAjptcII6DnCN23QREGxpcAgP/ngEDmA0WFAbJAdRUTNRUAQQGCgEERBsbFNxHBDUWyQEEBFwOA/2cA499BEQbGlwCA/+eAoN3JNwHFskBBAdm/skBBAYKAQREGxhMHAAxjGuUAEwWwDdE/EwXADbJAQQHptxMHsA3jG+X+wTcTBdAN9bdBESLEJsIGxiqEswS1AGMXlACyQCJEkkRBAYKAA0UEAAUETT/ttxMFAAx5t0ERBsaZPwXFtweEQAOnRwAZzzdmCWCDJwYRtwb9//0W9Y+3BgMAdY/ZjyMo9hCyQEEBgoABESLMNwSFQJMHBAomysRHBs5KyE7GEwQECmPzlQCuhLnAAylEAKqJJpkTWckAHEhjVfAAHERjX/kCNTt93UhAJobOhZcAgP/ngCDeE3X1DwHFkwdADFzIXECml1zAXESzhJdARMTyQGJE0kRCSbJJBWGCgKEzZb8BEQbOIszNMTcEzj9sABMFRP+XAID/54BA3YVHFeWyR5P3ByA+xv05NzcAYBxHtwZAABMFRP/VjxzHskWXAID/54Dg2rM3oADyQGJEPoUFYYKAQRG3B4VABUcGxiOA5wqThwcKE9fFAJjHBWd9F8zDyMf5jTqVqpWxgYzLI6oHAEE3GcETBVAMskBBAYKAdXFKwX1zBWkixSbDzt7S3NbaBsd9dBqRkwcJB4qXEwSE+j6Uqokiha6ElwCA/+eAYC+TBwkHBWqKl7OKR0G54AVnkwcHB310kwWE+oqXEwSE+T6UkwcHB4qXvpUihZcAgP/ngKAsIoXBRQU9AUUFYxqRukAqRJpECkn2WWZa1lpJYYKAJoljc5oABWlKhtaFToWXAID/54AgyRN19Q8B7UqG1oUihZcAgP/ngOAnypmzhCRBabcTBTAGVb8xcX1zVtNa0V7PYs0G3yLdJttK2U7XUtVmy2rJbscFZxqRNowTBwcHFAg2l/13upc+xiOqB/iqii6LsoslM5MHAAIZwbcHAgA+hZcAgP/ngOAghWdj43cVhWQYCH10k4cEB7qXEwSE+jOJhwBKhZcAgP/ngGAffXoYCJOHBAe6l5MMOvm+nJOHBAcTDYr5upeBST6dhWeThwcHGAi6lzOERwGDLUT5Y/ZtC2PxuQNVoJE7poUihSUzsTMmhqKFSoWXAID/54CAGqaapplj9mkDs4e5QWPyhwOzBztB3oRj83cBvoQmhqKFVoWXAID/54DgtxN19Q9N3YVnk4cHBxgIupczhEcBIywE+IFEjU2jCQT4ZoWXAID/54BApn35A0U0+eqFqTZjQAUC4+Kd/oVnGAiThwcHupczh5cAUpcjCqf4hQTpt/lX4xP1/BFH44Pk9AVnFAiTBwcHfXS2l5MFhPoTBIT5PpSTBwcHtpe+lSKFlwCA/+eAoA9pMcFFIoW5OUkxxTa3BwIAGeGTBwACPoWXAID/54CgDAVjGpH6UGpU2lRKWbpZKlqaWgpb+ktqTNpMSk26TSlhgoC3V0FJGXGTh/eEAUWG3qLcptrK2M7W0tTW0trQ3s7izObK6sjuxj7OlwCA/+eAgJ+lPg3Bt2YJYIOnBhE3B4RAIyL3ADcH/f99F/mPQWfZjyOo9hC3B4RANzeFQJOHBwATB8e6IaAjoAcAkQfj7ef+4T6RRWgIdTbBPreHhECThwcBIWc+lyMg9wi3B4BANwqEQJOHZxsjIPoAtwqFQCk2EwoKAJOKCgFjBwUQtwcBYEVHI6DnDIVFRUWXAID/54Cg+7cFgEABRpOFBQBFRZcAgP/ngKD8N/cAYBxLNwUCAJPnRwAcy5cAgP/ngKD7txcJYIhfgUU3C4VAcYlhFRM1FQCXAID/54Bgo8Fn/RcTBwAQhWZBZrcFAAEBRZMJCwqNazcMhECXAID/54Bgmc6bkwwMAYOnygj134OkygiFRyOmCggjAvECg8cUAAlHIxPhAqMC8QIC1E1HY4HnCFFHY4/nBilHY57nAIPHNAADxyQAogfZjxFHY5XnAJxEnEM+1Nk0oUVIEGk8A8c0AIPHJACRZiIHXY+ThwYBY/TnBBMFsA0dPBMFwA0FPBMF4A4tNFk8Qbe3BYBAAUaThWUDFUWXAID/54Bg7TcHAGBcRxMFAAKT5xcQXMcxt8lHIxPxAkW3g8cUADVGY43HLGNu9g4ZRmOMxzZjYvYIDUZjgscYY2z2BAlGY47HJgFJEwTwDxN19A/FMhN1+Q/pOi004xoE8IPHFAA9R2OJ50Rja/c2EUdjgudUGUdjgudWDUfjmufug8U0AIPHJAAThYQBogXdjcEVNTTxvZFGY4bXJJVG45XX+sFHBUVjEvcQnETYSCMm+gAjJOoAZaKlRmOO1yRj7PYCnUZjitcooUbjn9f2kwdAAmMR9x4C1B1EAUUtOgFFiTpNMkUyoUVIEH0UjTp19AFJAUSpv6lGY47XJK1G45XX9OFHYxv3HtxMmEzUSJBIzESIRJfwf//ngEB+KokzNaAAKoQtt9FGY4DXDmPt9gTFRmOG1whj6vYCvUZjidcWwUbjk9fwBURjH/cMnEgRZ2Ns9ybARMxIiEQzhIcCLTQjrAkAI6SLsPmgyUZjjNcWzUbjm9fswUcFRGMW9wrMRIhEiTRNqJMGIA1jidcSY+D2ApMGAA1jitcIkwYQDeOV1+qhR2MM9wgFRSqEraiTBjANY4PXRJMGQA3jl9fog0cLCmOABxqcREEXA6RJAWOE5wATBAAMgUeTBvAOY83nDgPHVACDx0QAAUkiB12Pg8dkAMIHXY+Dx3QA4gfZj+OI9uQTBBAMobUFRBHvcBCBRQFFl/B//+eAIGQR5dFFaBDv8P+DAUQBSR21BURt/5fwf//ngOBoMzSgAPW3A62EAMBEs2eNABOXRwE5/+0wKf1BaSKdfRn9fTMFjUAZ6AFFqbcxgZfwf//ngIBnFf1ulOW3s3clAfX3QWkzBY1AY26JAH15MwWNQHnYMYGX8H//54AAZRH5SpT1t0GBl/B//+eAQGTjEgXwMwQkQfm3oUfjAPfkAUkTBAAMUbvBR82/wUcFROMR9/acSGPv9g7MSIhEXTiNtzOG9AADRoYBhQexju29g0cLCq3Pg6fJAO3jIwALCgOkSQE9twFJBUUVtZFHBUXjE/fqiESBRZfwf//ngIBmqbeTd/cAyf8TXUcAE4SEAAFJ/V3jdKndSESX8H//54CgShxEWEAUQH2PY4e3AZBCk8f3//GPXY+YwgUJQQTZv5FHqb+DJYoAQReR5QHPAUkTBGAM3bGDJ8oAY+XnBpN3NwCd/wMoygABRoFHMwX4QLOG9QBj6ecA4wIG1iMk2gAjJqoAobszhvQAEE6RB5DCBUbpv6FHBUXjH/feAyTKABnAEwSADCMmCgAjJAoAMzWAANWzAUkTBCAMQbEBSRMEgAyluQFJEwSQDIW5SUdjieccY2L3BEVH45LnuIPHNAADxyQAE4SEAaIH2Y+TjQf/BUmDp8kAY4UNAJnDY0QgEWNXCRgTB3AMI6rpAOOYB7STB5AMWaITByANY4vnDBMHQA3jneeyA8Q0AIPHJAAiBF2Ml/B//+eA4EYDqckAQRRjcyQBIonjCwmwA6RJAEqUMYCDpwkBY1bwAIOniQBjUPQK7/Dvu3XdA6VJAEqGk4WEAZfwf//ngGBCCcWTB0AMI6r5AIOnSQDKlyOi+QCDp8kAM4knQSOmKQGX8H//54CgQG28CWUTBQVxA6nEAIBEl/B//+eAQDG3BwBg2Eu3BgABwRaTV0cBEgd1j72L2Y+zhycDAUWz1YcCl/B//+eAYDITBYA+l/B//+eA4C29tNRIkEjMRIhE7/BP94W07/CPtoG/tzaFQAOnxrq3h4RAk4cHAZmPPtaDp4uwNz2FQG7QEw0NCpOExroFSGPz/QANSELGOsTv8A+zIkcySDcFhUCihXwQkwYMARAQEwWFC5fwf//ngMAyglcDJ42wjECzjf1AHY8+lLJXIyTtsCqJvpWMwJMHDAGdjQHFoWfjmvXmZoXv8G/SI6CUAZ214x8J5uOFB5yTB4AMI6r5AH26nETjnQea7/BvxAllEwUFcZfwf//ngEAh7/Dvy5fwf//ngIAlYbrAROMKBJjv8A/CEwWAPpfwf//ngAAf7/CvyQKUrbrv8C/J9lBmVNZURlm2WSZalloGW/ZLZkzWTEZNtk0JYYKAAAA=",
|
||||
"text_start": 1082130432,
|
||||
"data": "DACEQA==",
|
||||
"data_start": 1082469288
|
||||
"data": "EACEQA==",
|
||||
"data_start": 1082469292
|
||||
}
|
@@ -51,7 +51,7 @@
|
||||
#endif // ESP32C6
|
||||
|
||||
// Increase CPU freq to speed up read/write operations over USB
|
||||
#define USE_MAX_CPU_FREQ !ESP32C6 && (WITH_USB_JTAG_SERIAL || WITH_USB_OTG)
|
||||
#define USE_MAX_CPU_FREQ (WITH_USB_JTAG_SERIAL || WITH_USB_OTG)
|
||||
|
||||
/**********************************************************
|
||||
* Per-SOC based peripheral register base addresses
|
||||
@@ -125,6 +125,7 @@
|
||||
#define SPI0_BASE_REG 0x60002000 /* SPI peripheral 0, inner state machine */
|
||||
#define GPIO_BASE_REG 0x60091000
|
||||
#define USB_DEVICE_BASE_REG 0x6000F000
|
||||
#define DR_REG_PCR_BASE 0x60096000
|
||||
#endif
|
||||
|
||||
/**********************************************************
|
||||
@@ -241,9 +242,6 @@
|
||||
#define DR_REG_INTERRUPT_CORE0_BASE 0x600c2000
|
||||
#define INTERRUPT_CORE0_USB_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x068) /* USB-JTAG-Serial */
|
||||
|
||||
#define USB_DEVICE_INT_ENA_REG (USB_DEVICE_BASE_REG + 0x010)
|
||||
#define USB_DEVICE_SERIAL_OUT_RECV_PKT_INT_ENA (1<<2)
|
||||
|
||||
#define ETS_USB_INUM 17 /* arbitrary level 1 level interrupt */
|
||||
#endif // ESP32C3
|
||||
|
||||
@@ -255,9 +253,6 @@
|
||||
#define INTERRUPT_CORE0_USB_INTR_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x098) /* DWC-OTG */
|
||||
#define INTERRUPT_CORE0_USB_DEVICE_INT_MAP_REG (DR_REG_INTERRUPT_CORE0_BASE + 0x180) /* USB-JTAG-Serial */
|
||||
|
||||
#define USB_DEVICE_INT_ENA_REG (USB_DEVICE_BASE_REG + 0x010)
|
||||
#define USB_DEVICE_SERIAL_OUT_RECV_PKT_INT_ENA (1<<2)
|
||||
|
||||
#define ETS_USB_INUM 17 /* arbitrary level 1 level interrupt */
|
||||
#endif // ESP32S3
|
||||
|
||||
@@ -267,18 +262,17 @@
|
||||
#define DR_REG_INTERRUPT_MATRIX_BASE 0x60010000
|
||||
#define INTERRUPT_CORE0_USB_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xC0) /* USB-JTAG-Serial, INTMTX_CORE0_USB_INT_MAP_REG */
|
||||
|
||||
#define USB_DEVICE_INT_ENA_REG (USB_DEVICE_BASE_REG + 0x010)
|
||||
#define USB_DEVICE_SERIAL_OUT_RECV_PKT_INT_ENA (1<<2)
|
||||
|
||||
#define ETS_USB_INUM 17 /* arbitrary level 1 level interrupt */
|
||||
#endif // ESP32C6
|
||||
|
||||
#ifdef WITH_USB_JTAG_SERIAL
|
||||
#define USB_DEVICE_INT_ENA_REG (USB_DEVICE_BASE_REG + 0x010)
|
||||
#define USB_DEVICE_INT_CLR_REG (USB_DEVICE_BASE_REG + 0x014)
|
||||
#define USB_DEVICE_EP1_CONF_REG (USB_DEVICE_BASE_REG + 0x004)
|
||||
#define USB_DEVICE_EP1_REG (USB_DEVICE_BASE_REG + 0x000)
|
||||
#define USB_DEVICE_SERIAL_OUT_RECV_PKT_INT_CLR (1<<2)
|
||||
#define USB_DEVICE_SERIAL_OUT_EP_DATA_AVAIL (1<<2)
|
||||
#define USB_DEVICE_SERIAL_OUT_RECV_PKT_INT_ENA (1<<2)
|
||||
#endif // WITH_USB_JTAG_SERIAL
|
||||
|
||||
#define USB_GAHBCFG_REG (USB_BASE_REG + 0x8)
|
||||
@@ -345,6 +339,14 @@
|
||||
#define SYSTEM_SOC_CLK_MAX 1
|
||||
#endif // ESP32S2
|
||||
|
||||
#ifdef ESP32C6
|
||||
#define PCR_SYSCLK_CONF_REG (DR_REG_PCR_BASE + 0x110)
|
||||
#define PCR_SOC_CLK_SEL_M ((PCR_SOC_CLK_SEL_V)<<(PCR_SOC_CLK_SEL_S))
|
||||
#define PCR_SOC_CLK_SEL_V 0x3
|
||||
#define PCR_SOC_CLK_SEL_S 16
|
||||
#define PCR_SOC_CLK_MAX 1 // CPU_CLK frequency is 160 MHz (source is PLL_CLK)
|
||||
#endif // ESP32C6
|
||||
|
||||
/**********************************************************
|
||||
* Per-SOC security info buffer size
|
||||
*/
|
||||
|
@@ -63,18 +63,27 @@ static bool can_use_max_cpu_freq()
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ESP32C6
|
||||
static uint32_t pcr_sysclk_conf_reg = 0;
|
||||
#else
|
||||
static uint32_t cpu_per_conf_reg = 0;
|
||||
static uint32_t sysclk_conf_reg = 0;
|
||||
#endif
|
||||
|
||||
static void set_max_cpu_freq()
|
||||
{
|
||||
if (can_use_max_cpu_freq())
|
||||
{
|
||||
/* Set CPU frequency to max. This also increases SPI speed. */
|
||||
#if ESP32C6
|
||||
pcr_sysclk_conf_reg = READ_REG(PCR_SYSCLK_CONF_REG);
|
||||
WRITE_REG(PCR_SYSCLK_CONF_REG, (pcr_sysclk_conf_reg & ~PCR_SOC_CLK_SEL_M) | (PCR_SOC_CLK_MAX << PCR_SOC_CLK_SEL_S));
|
||||
#else
|
||||
cpu_per_conf_reg = READ_REG(SYSTEM_CPU_PER_CONF_REG);
|
||||
sysclk_conf_reg = READ_REG(SYSTEM_SYSCLK_CONF_REG);
|
||||
WRITE_REG(SYSTEM_CPU_PER_CONF_REG, (cpu_per_conf_reg & ~SYSTEM_CPUPERIOD_SEL_M) | (SYSTEM_CPUPERIOD_MAX << SYSTEM_CPUPERIOD_SEL_S));
|
||||
WRITE_REG(SYSTEM_SYSCLK_CONF_REG, (sysclk_conf_reg & ~SYSTEM_SOC_CLK_SEL_M) | (SYSTEM_SOC_CLK_MAX << SYSTEM_SOC_CLK_SEL_S));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,11 +91,18 @@ static void reset_cpu_freq()
|
||||
{
|
||||
/* Restore saved sysclk_conf and cpu_per_conf registers.
|
||||
Use only if set_max_cpu_freq() has been called. */
|
||||
#if ESP32C6
|
||||
if (can_use_max_cpu_freq() && pcr_sysclk_conf_reg != 0)
|
||||
{
|
||||
WRITE_REG(PCR_SYSCLK_CONF_REG, (READ_REG(PCR_SYSCLK_CONF_REG) & ~PCR_SOC_CLK_SEL_M) | (pcr_sysclk_conf_reg & PCR_SOC_CLK_SEL_M));
|
||||
}
|
||||
#else
|
||||
if (can_use_max_cpu_freq() && sysclk_conf_reg != 0 && cpu_per_conf_reg != 0)
|
||||
{
|
||||
WRITE_REG(SYSTEM_CPU_PER_CONF_REG, (READ_REG(SYSTEM_CPU_PER_CONF_REG) & ~SYSTEM_CPUPERIOD_SEL_M) | (cpu_per_conf_reg & SYSTEM_CPUPERIOD_SEL_M));
|
||||
WRITE_REG(SYSTEM_SYSCLK_CONF_REG, (READ_REG(SYSTEM_SYSCLK_CONF_REG) & ~SYSTEM_SOC_CLK_SEL_M) | (sysclk_conf_reg & SYSTEM_SOC_CLK_SEL_M));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif // USE_MAX_CPU_FREQ
|
||||
|
||||
|
Reference in New Issue
Block a user