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 + 5)
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) |
38 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL_NC) |
44 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
47 .virt = 0x880000000UL,
48 .phys = 0x880000000UL,
50 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
53 .virt = 0x500000000UL,
54 .phys = 0x500000000UL,
55 .size = 0x400000000UL,
56 .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
58 PTE_BLOCK_PXN | PTE_BLOCK_UXN
65 struct mm_region *mem_map = am654_mem_map;
66 #endif /* CONFIG_SOC_K3_AM6 */
68 #ifdef CONFIG_SOC_K3_J721E
69 /* NR_DRAM_BANKS + 32bit IO + 64bit IO + terminator */
70 #define NR_MMU_REGIONS (CONFIG_NR_DRAM_BANKS + 6)
72 /* ToDo: Add 64bit IO */
73 struct mm_region j721e_mem_map[NR_MMU_REGIONS] = {
78 .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
80 PTE_BLOCK_PXN | PTE_BLOCK_UXN
85 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
91 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL_NC) |
97 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
100 .virt = 0x880000000UL,
101 .phys = 0x880000000UL,
102 .size = 0x80000000UL,
103 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
104 PTE_BLOCK_INNER_SHARE
106 .virt = 0x500000000UL,
107 .phys = 0x500000000UL,
108 .size = 0x400000000UL,
109 .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
110 PTE_BLOCK_NON_SHARE |
111 PTE_BLOCK_PXN | PTE_BLOCK_UXN
113 .virt = 0x4d80000000UL,
114 .phys = 0x4d80000000UL,
115 .size = 0x0002000000UL,
116 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL_NC) |
117 PTE_BLOCK_INNER_SHARE
119 /* List terminator */
124 struct mm_region *mem_map = j721e_mem_map;
125 #endif /* CONFIG_SOC_K3_J721E */