1 // SPDX-License-Identifier: GPL-2.0+
5 * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
6 * Lokesh Vutla <lokeshvutla@ti.com>
7 * (This file is derived from arch/arm/mach-zynqmp/cpu.c)
12 #include <asm/system.h>
13 #include <asm/armv8/mmu.h>
15 #ifdef CONFIG_SOC_K3_AM6
16 /* NR_DRAM_BANKS + 32bit IO + 64bit IO + terminator */
17 #define NR_MMU_REGIONS (CONFIG_NR_DRAM_BANKS + 3)
19 /* ToDo: Add 64bit IO */
20 struct mm_region am654_mem_map[NR_MMU_REGIONS] = {
25 .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
27 PTE_BLOCK_PXN | PTE_BLOCK_UXN
32 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
35 .virt = 0x880000000UL,
36 .phys = 0x880000000UL,
38 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
46 struct mm_region *mem_map = am654_mem_map;
47 #endif /* CONFIG_SOC_K3_AM6 */
49 #ifdef CONFIG_SOC_K3_J721E
50 /* NR_DRAM_BANKS + 32bit IO + 64bit IO + terminator */
51 #define NR_MMU_REGIONS (CONFIG_NR_DRAM_BANKS + 5)
53 /* ToDo: Add 64bit IO */
54 struct mm_region j721e_mem_map[NR_MMU_REGIONS] = {
59 .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
61 PTE_BLOCK_PXN | PTE_BLOCK_UXN
66 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
72 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL_NC) |
78 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
81 .virt = 0x880000000UL,
82 .phys = 0x880000000UL,
84 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
87 .virt = 0x500000000UL,
88 .phys = 0x500000000UL,
89 .size = 0x400000000UL,
90 .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
92 PTE_BLOCK_PXN | PTE_BLOCK_UXN
99 struct mm_region *mem_map = j721e_mem_map;
100 #endif /* CONFIG_SOC_K3_J721E */