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