1menu "SoC Settings"
2    # No visible menu/configs for now
3    visible if 0
4
5    menu "MMU Config"
6        # This Config is used for configure the MMU.
7        # Be configured based on flash size selection.
8        # Invisible to users.
9
10        config MMU_PAGE_SIZE_16KB
11            bool
12            default y if SOC_MMU_PAGE_SIZE_CONFIGURABLE && ESPTOOLPY_FLASHSIZE_1MB
13            default n
14
15        config MMU_PAGE_SIZE_32KB
16            bool
17            default y if SOC_MMU_PAGE_SIZE_CONFIGURABLE && ESPTOOLPY_FLASHSIZE_2MB
18            default n
19
20        config MMU_PAGE_SIZE_64KB
21            bool
22            default y if !MMU_PAGE_SIZE_32KB && !MMU_PAGE_SIZE_16KB
23            default n
24
25        config MMU_PAGE_MODE
26            string
27            default "8KB" if MMU_PAGE_SIZE_8KB
28            default "16KB" if MMU_PAGE_SIZE_16KB
29            default "32KB" if MMU_PAGE_SIZE_32KB
30            default "64KB" if MMU_PAGE_SIZE_64KB
31
32        config MMU_PAGE_SIZE
33            # Some chips support different flash MMU page sizes: 64k, 32k, 16k.
34            # Since the number of MMU pages is limited, the maximum flash size supported
35            # for each page size is reduced proportionally: 4 MB, 2MB, 1MB. To make best
36            # use of small flash sizes (reducing the wasted space due to alignment), we
37            # need to use the smallest possible MMU page size for the given flash size.
38            hex
39            default 0x2000 if MMU_PAGE_SIZE_8KB
40            default 0x4000 if MMU_PAGE_SIZE_16KB
41            default 0x8000 if MMU_PAGE_SIZE_32KB
42            default 0x10000 if MMU_PAGE_SIZE_64KB
43    endmenu
44
45endmenu
46