Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 24 additions & 10 deletions mcux/mcux-sdk-ng/devices/i.MX/i.MX95/MIMX9596/drivers/fsl_memory.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,19 @@

#define FSL_MEM_M33_TCM_OFFSET 0x200000U
#elif (__CORTEX_M == 7U)
/* The CM7 subsystem local TCM start address, refer to Reference Manual for detailed information */
#define FSL_MEM_M7_TCM_BEGIN 0x20000000U
/* The CM7 subsystem local TCM end address, refer to Reference Manual for detailed information */
#define FSL_MEM_M7_TCM_END 0x2007FFFFU
/* The CM7 subsystem local ITCM start address, refer to Reference Manual for detailed information */
#define FSL_MEM_M7_ITCM_BEGIN 0x00000000U
/* The CM7 subsystem local ITCM end address, refer to Reference Manual for detailed information */
#define FSL_MEM_M7_ITCM_END 0x0003FFFFU

#define FSL_MEM_M7_TCM_OFFSET 0x400000U
#define FSL_MEM_M7_ITCM_OFFSET 0x203C0000U

/* The CM7 subsystem local DTCM start address, refer to Reference Manual for detailed information */
#define FSL_MEM_M7_DTCM_BEGIN 0x20000000U
/* The CM7 subsystem local DTCM end address, refer to Reference Manual for detailed information */
#define FSL_MEM_M7_DTCM_END 0x2007FFFFU

#define FSL_MEM_M7_DTCM_OFFSET 0x400000U
#else
#error "Device is not supported by this driver!"
#endif
Expand Down Expand Up @@ -76,9 +83,12 @@ static inline uint32_t MEMORY_ConvertMemoryMapAddress(uint32_t addr, mem_directi
dest = addr + FSL_MEM_M33_TCM_OFFSET;
}
#elif (__CORTEX_M == 7U)
if ((addr >= FSL_MEM_M7_TCM_BEGIN) && (addr <= FSL_MEM_M7_TCM_END))
if ((addr >= FSL_MEM_M7_ITCM_BEGIN) && (addr <= FSL_MEM_M7_ITCM_END))
{
dest = addr + FSL_MEM_M7_TCM_OFFSET;
dest = addr + FSL_MEM_M7_ITCM_OFFSET;
} else if ((addr >= FSL_MEM_M7_DTCM_BEGIN) && (addr <= FSL_MEM_M7_DTCM_END))
{
dest = addr + FSL_MEM_M7_DTCM_OFFSET;
}
#endif
else
Expand All @@ -96,10 +106,14 @@ static inline uint32_t MEMORY_ConvertMemoryMapAddress(uint32_t addr, mem_directi
dest = addr - FSL_MEM_M33_TCM_OFFSET;
}
#elif (__CORTEX_M == 7U)
if ((addr >= (FSL_MEM_M7_TCM_BEGIN + FSL_MEM_M7_TCM_OFFSET)) &&
(addr <= (FSL_MEM_M7_TCM_END + FSL_MEM_M7_TCM_OFFSET)))
if ((addr >= (FSL_MEM_M7_ITCM_BEGIN + FSL_MEM_M7_ITCM_OFFSET)) &&
(addr <= (FSL_MEM_M7_ITCM_END + FSL_MEM_M7_ITCM_OFFSET)))
{
dest = addr - FSL_MEM_M7_ITCM_OFFSET;
} else if ((addr >= (FSL_MEM_M7_DTCM_BEGIN + FSL_MEM_M7_DTCM_OFFSET)) &&
(addr <= (FSL_MEM_M7_DTCM_END + FSL_MEM_M7_DTCM_OFFSET)))
{
dest = addr - FSL_MEM_M7_TCM_OFFSET;
dest = addr - FSL_MEM_M7_DTCM_OFFSET;
}
#endif
else
Expand Down