feat(p4): p4 rev3 real chip support
This commit is contained in:
@@ -224,6 +224,7 @@ static void bootloader_spi_flash_resume(void)
|
||||
|
||||
esp_err_t bootloader_init_spi_flash(void)
|
||||
{
|
||||
bootloader_init_mspi_clock();
|
||||
bootloader_init_flash_configure();
|
||||
|
||||
#if CONFIG_BOOTLOADER_FLASH_DC_AWARE
|
||||
|
||||
@@ -34,7 +34,11 @@ __attribute__((weak)) void bootloader_clock_configure(void)
|
||||
esp_rom_output_tx_wait_idle(0);
|
||||
|
||||
/* Set CPU to a higher certain frequency. Keep other clocks unmodified. */
|
||||
#if CONFIG_IDF_TARGET_ESP32P4 && !CONFIG_ESP32P4_SELECTS_REV_LESS_V3
|
||||
int cpu_freq_mhz = 100;
|
||||
#else
|
||||
int cpu_freq_mhz = CPU_CLK_FREQ_MHZ_BTLD;
|
||||
#endif
|
||||
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
/* On ESP32 rev 0, switching to 80/160 MHz if clock was previously set to
|
||||
|
||||
@@ -386,6 +386,11 @@ err:
|
||||
}
|
||||
|
||||
#ifdef BOOTLOADER_BUILD
|
||||
#if CONFIG_IDF_TARGET_ESP32P4 && !CONFIG_ESP32P4_SELECTS_REV_LESS_V3
|
||||
#define ROM_STACK_START (SOC_ROM_STACK_START_REV2)
|
||||
#else
|
||||
#define ROM_STACK_START (SOC_ROM_STACK_START)
|
||||
#endif
|
||||
/* Check the region load_addr - load_end doesn't overlap any memory used by the bootloader, registers, or other invalid memory
|
||||
*/
|
||||
static bool verify_load_addresses(int segment_index, intptr_t load_addr, intptr_t load_end, bool print_error, bool no_recurse)
|
||||
@@ -405,7 +410,7 @@ static bool verify_load_addresses(int segment_index, intptr_t load_addr, intptr_
|
||||
if (esp_ptr_in_dram(load_addr_p) && esp_ptr_in_dram(load_inclusive_end_p)) { /* Writing to DRAM */
|
||||
/* Check if we're clobbering the stack */
|
||||
intptr_t sp = (intptr_t)esp_cpu_get_sp();
|
||||
if (bootloader_util_regions_overlap(sp - STACK_LOAD_HEADROOM, SOC_ROM_STACK_START,
|
||||
if (bootloader_util_regions_overlap(sp - STACK_LOAD_HEADROOM, ROM_STACK_START,
|
||||
load_addr, load_end)) {
|
||||
reason = "overlaps bootloader stack";
|
||||
goto invalid;
|
||||
|
||||
Reference in New Issue
Block a user