Commit e091832f25a06c9b3b5996eb22293d8f9661260a

Authored by Lokesh Vutla
Committed by Tom Rini
1 parent c68721d93a

armv8: K3: am654: Add custom MMU support

Add MMU mappings for AM654 SoC.

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>

Showing 2 changed files with 46 additions and 0 deletions Side-by-side Diff

arch/arm/mach-k3/Makefile
... ... @@ -4,4 +4,5 @@
4 4 # Lokesh Vutla <lokeshvutla@ti.com>
5 5  
6 6 obj-$(CONFIG_SOC_K3_AM6) += am6_init.o
  7 +obj-$(CONFIG_ARM64) += arm64-mmu.o
arch/arm/mach-k3/arm64-mmu.c
  1 +// SPDX-License-Identifier: GPL-2.0+
  2 +/*
  3 + * K3: ARM64 MMU setup
  4 + *
  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/cpu/armv8/zynqmp/cpu.c)
  8 + *
  9 + */
  10 +
  11 +#include <common.h>
  12 +#include <asm/system.h>
  13 +#include <asm/armv8/mmu.h>
  14 +
  15 +/* NR_DRAM_BANKS + 32bit IO + 64bit IO + terminator */
  16 +#define NR_MMU_REGIONS (CONFIG_NR_DRAM_BANKS + 3)
  17 +
  18 +/* ToDo: Add 64bit IO */
  19 +struct mm_region am654_mem_map[NR_MMU_REGIONS] = {
  20 + {
  21 + .virt = 0x0UL,
  22 + .phys = 0x0UL,
  23 + .size = 0x80000000UL,
  24 + .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  25 + PTE_BLOCK_NON_SHARE |
  26 + PTE_BLOCK_PXN | PTE_BLOCK_UXN
  27 + }, {
  28 + .virt = 0x80000000UL,
  29 + .phys = 0x80000000UL,
  30 + .size = 0x80000000UL,
  31 + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
  32 + PTE_BLOCK_INNER_SHARE
  33 + }, {
  34 + .virt = 0x880000000UL,
  35 + .phys = 0x880000000UL,
  36 + .size = 0x80000000UL,
  37 + .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
  38 + PTE_BLOCK_INNER_SHARE
  39 + }, {
  40 + /* List terminator */
  41 + 0,
  42 + }
  43 +};
  44 +
  45 +struct mm_region *mem_map = am654_mem_map;