uboot/arch/arm/mach-uniphier/arm64/mem_map.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0+
   2/*
   3 * Copyright (C) 2016 Masahiro Yamada <yamada.masahiro@socionext.com>
   4 */
   5
   6#include <linux/types.h>
   7#include <asm/armv8/mmu.h>
   8
   9#include "../init.h"
  10
  11static struct mm_region uniphier_mem_map[] = {
  12        {
  13                .virt = 0x00000000,
  14                .phys = 0x00000000,
  15                .size = 0x80000000,
  16                .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  17                         PTE_BLOCK_NON_SHARE |
  18                         PTE_BLOCK_PXN | PTE_BLOCK_UXN
  19        },
  20        {
  21                .virt = 0x80000000,
  22                .phys = 0x80000000,
  23                .size = 0xc0000000,
  24                .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
  25                         PTE_BLOCK_INNER_SHARE
  26        },
  27        { /* sentinel */ }
  28};
  29
  30struct mm_region *mem_map = uniphier_mem_map;
  31
  32void uniphier_mem_map_init(unsigned long dram_base, unsigned long dram_size)
  33{
  34        uniphier_mem_map[0].size = dram_base;
  35        uniphier_mem_map[1].virt = dram_base;
  36        uniphier_mem_map[1].phys = dram_base;
  37        uniphier_mem_map[1].size = dram_size;
  38}
  39