mirror of
https://github.com/espressif/esptool.git
synced 2025-10-19 20:13:00 +08:00
feat(esp32h2): Enable USB-JTAG/Serial mode in the stub flasher
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"entry": 1082131916,
|
||||
"text": "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",
|
||||
"entry": 1082132118,
|
||||
"text": "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",
|
||||
"text_start": 1082130432,
|
||||
"data": "GCuDQPQIgEBACYBAmAmAQDwKgECoCoBAVgqAQLwHgED4CYBAOAqAQKwJgEBsB4BA4AmAQGwHgEDOCIBAEgmAQEAJgECYCYBA4AiAQCYIgEBWCIBA3AiAQPoMgEBACYBAwAuAQK4MgEC4BoBA2AyAQLgGgEC4BoBAuAaAQLgGgEC4BoBAuAaAQLgGgEC4BoBAXAuAQLgGgEDcC4BArgyAQA==",
|
||||
"data_start": 1082403752
|
||||
"data": "HCuDQDAKgECACoBA2AqAQHwLgEDoC4BAlguAQPwIgEA4C4BAeAuAQOwKgECsCIBAIAuAQKwIgEAKCoBAUAqAQIAKgEDYCoBAHAqAQGAJgECQCYBAGAqAQDoOgECACoBAAA2AQPINgEDsB4BAGg6AQOwHgEDsB4BA7AeAQOwHgEDsB4BA7AeAQOwHgEDsB4BAnAyAQOwHgEAeDYBA8g2AQA==",
|
||||
"data_start": 1082403756
|
||||
}
|
@@ -18,11 +18,11 @@ int uart_rx_one_char(uint8_t *ch);
|
||||
uint8_t uart_rx_one_char_block();
|
||||
int uart_tx_one_char(char ch);
|
||||
|
||||
#if ESP32C6
|
||||
#if ESP32C6 || ESP32H2
|
||||
/* uart_tx_one_char doesn't send data to USB device serial, needs to be replaced */
|
||||
int uart_tx_one_char2(char ch);
|
||||
#define uart_tx_one_char(ch) uart_tx_one_char2(ch)
|
||||
#endif // ESP32C6
|
||||
#endif // ESP32C6 || ESP32H2
|
||||
|
||||
void uart_div_modify(uint32_t uart_no, uint32_t baud_div);
|
||||
|
||||
|
@@ -50,6 +50,11 @@
|
||||
#define IS_RISCV 1
|
||||
#endif // ESP32C6
|
||||
|
||||
#ifdef ESP32H2
|
||||
#define WITH_USB_JTAG_SERIAL 1
|
||||
#define IS_RISCV 1
|
||||
#endif // ESP32H2
|
||||
|
||||
// Increase CPU freq to speed up read/write operations over USB
|
||||
#define USE_MAX_CPU_FREQ (WITH_USB_JTAG_SERIAL || WITH_USB_OTG)
|
||||
|
||||
@@ -139,10 +144,13 @@
|
||||
#endif
|
||||
|
||||
#ifdef ESP32H2
|
||||
#define UART_BASE_REG 0x60000000 /* UART0 */
|
||||
#define SPI_BASE_REG 0x60003000 /* SPI peripheral 1, used for SPI flash */
|
||||
#define SPI0_BASE_REG 0x60002000 /* SPI peripheral 0, inner state machine */
|
||||
#define GPIO_BASE_REG 0x60091000
|
||||
#define UART_BASE_REG 0x60000000 /* UART0 */
|
||||
#define SPI_BASE_REG 0x60003000 /* SPI peripheral 1, used for SPI flash */
|
||||
#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
|
||||
#define DR_REG_LP_WDT_BASE 0x600B1C00
|
||||
#endif
|
||||
|
||||
/**********************************************************
|
||||
@@ -277,11 +285,20 @@
|
||||
#define UART_USB_JTAG_SERIAL 3
|
||||
|
||||
#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 INTERRUPT_CORE0_USB_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0xC0) /* USB-JTAG-Serial, INTMTX_CORE0_USB_INTR_MAP_REG */
|
||||
|
||||
#define ETS_USB_INUM 17 /* arbitrary level 1 level interrupt */
|
||||
#endif // ESP32C6
|
||||
|
||||
#ifdef ESP32H2
|
||||
#define UART_USB_JTAG_SERIAL 3
|
||||
|
||||
#define DR_REG_INTERRUPT_MATRIX_BASE 0x60010000
|
||||
#define INTERRUPT_CORE0_USB_INTR_MAP_REG (DR_REG_INTERRUPT_MATRIX_BASE + 0x94) /* USB-JTAG-Serial, INTMTX_CORE0_USB_INTR_MAP_REG */
|
||||
|
||||
#define ETS_USB_INUM 17 /* arbitrary level 1 level interrupt */
|
||||
#endif // ESP32H2
|
||||
|
||||
#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)
|
||||
@@ -320,6 +337,11 @@
|
||||
#define RTC_CNTL_WDTWPROTECT_REG (DR_REG_LP_WDT_BASE + 0x0018) // LP_WDT_RWDT_WPROTECT_REG
|
||||
#endif
|
||||
|
||||
#ifdef ESP32H2
|
||||
#define RTC_CNTL_WDTCONFIG0_REG (DR_REG_LP_WDT_BASE + 0x0) // LP_WDT_RWDT_CONFIG0_REG
|
||||
#define RTC_CNTL_WDTWPROTECT_REG (DR_REG_LP_WDT_BASE + 0x0018) // LP_WDT_RWDT_WPROTECT_REG
|
||||
#endif
|
||||
|
||||
#define RTC_CNTL_WDT_WKEY 0x50D83AA1
|
||||
#define RTC_CNTL_FORCE_DOWNLOAD_BOOT (1 << 0)
|
||||
|
||||
@@ -377,6 +399,14 @@
|
||||
#define PCR_SOC_CLK_MAX 1 // CPU_CLK frequency is 160 MHz (source is PLL_CLK)
|
||||
#endif // ESP32C6
|
||||
|
||||
#ifdef ESP32H2
|
||||
#define PCR_SYSCLK_CONF_REG (DR_REG_PCR_BASE + 0x10c)
|
||||
#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,7 +63,7 @@ static bool can_use_max_cpu_freq()
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ESP32C6
|
||||
#if ESP32C6 || ESP32H2
|
||||
static uint32_t pcr_sysclk_conf_reg = 0;
|
||||
#else
|
||||
static uint32_t cpu_per_conf_reg = 0;
|
||||
@@ -75,7 +75,7 @@ static void set_max_cpu_freq()
|
||||
if (can_use_max_cpu_freq())
|
||||
{
|
||||
/* Set CPU frequency to max. This also increases SPI speed. */
|
||||
#if ESP32C6
|
||||
#if ESP32C6 || ESP32H2
|
||||
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
|
||||
@@ -92,7 +92,7 @@ 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 ESP32C6 || ESP32H2
|
||||
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));
|
||||
|
Reference in New Issue
Block a user