1 /* 2 * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #pragma once 7 8 #include <stdint.h> 9 #include "soc/ext_mem_defs.h" 10 #include "soc/soc.h" 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 /* Defined for flash mmap */ 17 #define SOC_MMU_REGIONS_COUNT 1 18 #define SOC_MMU_PAGES_PER_REGION 256 19 #define SOC_MMU_IROM0_PAGES_START (CACHE_IROM_MMU_START / sizeof(uint32_t)) 20 #define SOC_MMU_IROM0_PAGES_END (CACHE_IROM_MMU_END / sizeof(uint32_t)) 21 #define SOC_MMU_DROM0_PAGES_START (CACHE_DROM_MMU_START / sizeof(uint32_t)) 22 #define SOC_MMU_DROM0_PAGES_END (CACHE_DROM_MMU_END / sizeof(uint32_t)) 23 #define SOC_MMU_INVALID_ENTRY_VAL MMU_TABLE_INVALID_VAL 24 #define SOC_MMU_ADDR_MASK (MMU_VALID - 1) 25 #define SOC_MMU_PAGE_IN_FLASH(page) (page) //Always in Flash 26 #define SOC_MMU_VADDR1_START_ADDR IRAM0_CACHE_ADDRESS_LOW 27 #define SOC_MMU_PRO_IRAM0_FIRST_USABLE_PAGE SOC_MMU_IROM0_PAGES_START 28 #define SOC_MMU_VADDR0_START_ADDR (SOC_IROM_LOW + (SOC_MMU_DROM0_PAGES_START * SPI_FLASH_MMU_PAGE_SIZE)) 29 #define SOC_MMU_VADDR1_FIRST_USABLE_ADDR SOC_IROM_LOW 30 31 #ifdef __cplusplus 32 } 33 #endif 34