1/*
2 * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#include "sdkconfig.h"
8
9/* CPU instruction prefetch padding size for flash mmap scenario */
10_esp_flash_mmap_prefetch_pad_size = 16;
11
12/* CPU instruction prefetch padding size for memory protection scenario */
13#ifdef CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE
14_esp_memprot_prefetch_pad_size = CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE;
15#else
16_esp_memprot_prefetch_pad_size = 0;
17#endif
18
19/* Memory alignment size for PMS */
20#ifdef CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE
21_esp_memprot_align_size = CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE;
22#else
23_esp_memprot_align_size = 0;
24#endif
25
26#if CONFIG_APP_BUILD_TYPE_RAM
27_esp_mmu_block_size = 0;
28#else
29_esp_mmu_block_size = (CONFIG_MMU_PAGE_SIZE);
30#endif
31
32#if CONFIG_SOC_RTC_MEM_SUPPORTED
33    #if CONFIG_BOOTLOADER_RESERVE_RTC_MEM
34        #ifdef CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC
35            #define ESP_BOOTLOADER_RESERVE_RTC (CONFIG_BOOTLOADER_RESERVE_RTC_SIZE + CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE)
36        #else
37            #define ESP_BOOTLOADER_RESERVE_RTC (CONFIG_BOOTLOADER_RESERVE_RTC_SIZE)
38        #endif // not CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC
39    #else
40        #define ESP_BOOTLOADER_RESERVE_RTC 0
41    #endif // not CONFIG_BOOTLOADER_RESERVE_RTC_MEM
42
43    /* rtc timer data (s_rtc_timer_retain_mem, see esp_clk.c files). For rtc_timer_data_in_rtc_mem section. */
44    #define RTC_TIMER_RESERVE_RTC (24)
45
46    #if CONFIG_IDF_TARGET_ESP32
47        #define RESERVE_RTC_MEM (RTC_TIMER_RESERVE_RTC)
48    #else
49        #define RESERVE_RTC_MEM (ESP_BOOTLOADER_RESERVE_RTC + RTC_TIMER_RESERVE_RTC)
50    #endif
51#endif // SOC_RTC_MEM_SUPPORTED
52