SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
The memory address ranges emif(c) through emif(h) can be interleaved between the two EMIFs by setting the MA_PRIORITY[8] HIMEM_INTERLEAVE_UN bit to 0x1. If enabled, this high-order interleaving occurs on a fixed 256-byte boundary, unlike emif(a) and emif(b) programmable interleaving which can be configured to 128-, 256-, and 512-byte boundary through the MA_LISA_MAP_i[19:18] SDRC_INTL bit field and is enabled through the MA_LISA_MAP_i [9:8] SDRC_MAP bit field.
Figure 4-7 and Figure 4-8 show how sections emif(a) through emif(h) are mapped into the EMIF1 and EMIF2 address spaces. The MA_LISA_MAP_i registers can be programmed to allow emif(a) and emif(b) address ranges to be remapped anywhere in EMIF1 or EMIF2 address spaces. Restricting EMIF1 and EMIF2 address spaces to the locations 0x0000 0000–0x7FFF FFFF allows the fully programmable emif(a) and emif(b) regions to co-exist with the fixed interleaving regions (emif(c) through emif(h)) without overlap. Although it is not recommended, the user can program the interleaver to map the emif(a) and emif(b) address ranges to the EMIF 0x8000 0000–0xFFFF FFFF location. If this is done, then additional address aliasing exists between emif sections (a/b) and sections (c) through (h).
In fixed interleaving, memory address space 0 is always used.