From: Sam Protsenko <semen.protsenko@linaro.org>
Date: Sat, 25 May 2024 21:53:30 +0000 (-0500)
Subject: arm: exynos: Map iRAM APM area for Exynos850 SoC
X-Git-Tag: v2025.01-rc5-pxa1908~463^2
X-Git-Url: http://git.dujemihanovic.xyz/img/static//%22brlog.php?a=commitdiff_plain;h=7045c4dd04648fd2ba1806b75e139d941db0d6c5;p=u-boot.git

arm: exynos: Map iRAM APM area for Exynos850 SoC

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.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
---

diff --git a/arch/arm/mach-exynos/mmu-arm64.c b/arch/arm/mach-exynos/mmu-arm64.c
index 30e522804f..4c154950f7 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,