162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * arch/arm/mach-sa1100/include/mach/memory.h 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 1999-2000 Nicolas Pitre <nico@fluxnic.net> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#ifndef __ASM_ARCH_MEMORY_H 962306a36Sopenharmony_ci#define __ASM_ARCH_MEMORY_H 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <linux/sizes.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/* 1462306a36Sopenharmony_ci * Because of the wide memory address space between physical RAM banks on the 1562306a36Sopenharmony_ci * SA1100, it's much convenient to use Linux's SparseMEM support to implement 1662306a36Sopenharmony_ci * our memory map representation. Assuming all memory nodes have equal access 1762306a36Sopenharmony_ci * characteristics, we then have generic discontiguous memory support. 1862306a36Sopenharmony_ci * 1962306a36Sopenharmony_ci * The sparsemem banks are matched with the physical memory bank addresses 2062306a36Sopenharmony_ci * which are incidentally the same as virtual addresses. 2162306a36Sopenharmony_ci * 2262306a36Sopenharmony_ci * node 0: 0xc0000000 - 0xc7ffffff 2362306a36Sopenharmony_ci * node 1: 0xc8000000 - 0xcfffffff 2462306a36Sopenharmony_ci * node 2: 0xd0000000 - 0xd7ffffff 2562306a36Sopenharmony_ci * node 3: 0xd8000000 - 0xdfffffff 2662306a36Sopenharmony_ci */ 2762306a36Sopenharmony_ci#define MAX_PHYSMEM_BITS 32 2862306a36Sopenharmony_ci#define SECTION_SIZE_BITS 27 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci/* 3162306a36Sopenharmony_ci * Cache flushing area - SA1100 zero bank 3262306a36Sopenharmony_ci */ 3362306a36Sopenharmony_ci#define FLUSH_BASE_PHYS 0xe0000000 3462306a36Sopenharmony_ci#define FLUSH_BASE 0xf5000000 3562306a36Sopenharmony_ci#define FLUSH_BASE_MINICACHE 0xf5100000 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci#endif 38