This iRAM APM area is needed for I3C access to PMIC via APM block.
Without this mapping any access to APM iRAM leads to "Synchronous Abort"
exception.

Signed-off-by: Sam Protsenko <semen.protse...@linaro.org>
---
 arch/arm/mach-exynos/mmu-arm64.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/mach-exynos/mmu-arm64.c b/arch/arm/mach-exynos/mmu-arm64.c
index 30e522804fbf..4c154950f73b 100644
--- a/arch/arm/mach-exynos/mmu-arm64.c
+++ b/arch/arm/mach-exynos/mmu-arm64.c
@@ -101,6 +101,14 @@ struct mm_region *mem_map = exynos7880_mem_map;
 
 static struct mm_region exynos850_mem_map[] = {
        {
+               /* iRAM */
+               .virt = 0x02000000UL,
+               .phys = 0x02000000UL,
+               .size = SZ_2M,
+               .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRE) |
+                        PTE_BLOCK_NON_SHARE |
+                        PTE_BLOCK_PXN | PTE_BLOCK_UXN
+       }, {
                /* Peripheral block */
                .virt = 0x10000000UL,
                .phys = 0x10000000UL,
-- 
2.39.2

Reply via email to