mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-18 23:54:39 +00:00
feat(mmu): support mmu and flash mmap driver on p4
This commit is contained in:
@@ -36,11 +36,14 @@ static inline uint32_t mmu_ll_vaddr_to_laddr(uint32_t vaddr)
|
||||
*
|
||||
* @param laddr linear address
|
||||
* @param vaddr_type virtual address type, could be instruction type or data type. See `mmu_vaddr_t`
|
||||
* @param target virtual address aimed physical memory target, not used
|
||||
*
|
||||
* @return virtual address
|
||||
*/
|
||||
static inline uint32_t mmu_ll_laddr_to_vaddr(uint32_t laddr, mmu_vaddr_t vaddr_type)
|
||||
static inline uint32_t mmu_ll_laddr_to_vaddr(uint32_t laddr, mmu_vaddr_t vaddr_type, mmu_target_t target)
|
||||
{
|
||||
(void)target;
|
||||
(void)vaddr_type;
|
||||
//On ESP32C6, I/D share the same vaddr range
|
||||
return SOC_MMU_IBUS_VADDR_BASE | laddr;
|
||||
}
|
||||
@@ -391,7 +394,12 @@ static inline uint32_t mmu_ll_entry_id_to_vaddr_base(uint32_t mmu_id, uint32_t e
|
||||
HAL_ASSERT(shift_code);
|
||||
}
|
||||
uint32_t laddr = entry_id << shift_code;
|
||||
return mmu_ll_laddr_to_vaddr(laddr, type);
|
||||
|
||||
/**
|
||||
* For `mmu_ll_laddr_to_vaddr`, target is for compatibility on this chip.
|
||||
* Here we just pass MMU_TARGET_FLASH0 to get vaddr
|
||||
*/
|
||||
return mmu_ll_laddr_to_vaddr(laddr, type, MMU_TARGET_FLASH0);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
Reference in New Issue
Block a user