2 * Copyright (C) 2016 Stefan Roese <sr@denx.de>
4 * SPDX-License-Identifier: GPL-2.0+
12 #include <asm/system.h>
13 #include <asm/arch/cpu.h>
14 #include <asm/arch/soc.h>
15 #include <asm/armv8/mmu.h>
17 DECLARE_GLOBAL_DATA_PTR;
20 #define MVEBU_RFU_BASE (MVEBU_REGISTER(0x6f0000))
21 #define RFU_GLOBAL_SW_RST (MVEBU_RFU_BASE + 0x84)
22 #define RFU_SW_RESET_OFFSET 0
24 static struct mm_region mvebu_mem_map[] = {
30 .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) |
34 /* SRAM, MMIO regions - AP806 region */
37 .size = 0x01000000UL, /* 16MiB internal registers */
38 .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
42 /* SRAM, MMIO regions - CP110 region */
45 .size = 0x02000000UL, /* 32MiB internal registers */
46 .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
55 struct mm_region *mem_map = mvebu_mem_map;
57 void reset_cpu(ulong ignored)
61 reg = readl(RFU_GLOBAL_SW_RST);
62 reg &= ~(1 << RFU_SW_RESET_OFFSET);
63 writel(reg, RFU_GLOBAL_SW_RST);