mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 12:08:19 +00:00 
			
		
		
		
	As part of bringing the master branch back in to next, we need to allow for all of these changes to exist here. Reported-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Tom Rini <trini@konsulko.com>
		
			
				
	
	
		
			129 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0
 | |
| /*
 | |
|  * Copyright (C) 2016-2024 Intel Corporation <www.intel.com>
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #include <asm/armv8/mmu.h>
 | |
| #include <asm/global_data.h>
 | |
| 
 | |
| DECLARE_GLOBAL_DATA_PTR;
 | |
| 
 | |
| #if IS_ENABLED(CONFIG_TARGET_SOCFPGA_AGILEX5)
 | |
| static struct mm_region socfpga_agilex5_mem_map[] = {
 | |
| 	{
 | |
| 		/* OCRAM 512KB */
 | |
| 		.virt	= 0x00000000UL,
 | |
| 		.phys	= 0x00000000UL,
 | |
| 		.size	= 0x00080000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
 | |
| 				PTE_BLOCK_NON_SHARE,
 | |
| 	}, {
 | |
| 		/* DEVICE */
 | |
| 		.virt	= 0x10808000UL,
 | |
| 		.phys	= 0x10808000UL,
 | |
| 		.size	= 0x0F7F8000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
 | |
| 				PTE_BLOCK_NON_SHARE |
 | |
| 				PTE_BLOCK_PXN | PTE_BLOCK_UXN,
 | |
| 	}, {
 | |
| 		/* FPGA 1.5GB */
 | |
| 		.virt	= 0x20000000UL,
 | |
| 		.phys	= 0x20000000UL,
 | |
| 		.size	= 0x60000000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
 | |
| 				PTE_BLOCK_NON_SHARE |
 | |
| 				PTE_BLOCK_PXN | PTE_BLOCK_UXN,
 | |
| 	}, {
 | |
| 		/* FPGA 15GB */
 | |
| 		.virt	= 0x440000000UL,
 | |
| 		.phys	= 0x440000000UL,
 | |
| 		.size	= 0x3C0000000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
 | |
| 				PTE_BLOCK_NON_SHARE |
 | |
| 				PTE_BLOCK_PXN | PTE_BLOCK_UXN,
 | |
| 	}, {
 | |
| 		/* FPGA 240GB */
 | |
| 		.virt	= 0x4400000000UL,
 | |
| 		.phys	= 0x4400000000UL,
 | |
| 		.size	= 0x3C00000000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
 | |
| 				PTE_BLOCK_NON_SHARE |
 | |
| 				PTE_BLOCK_PXN | PTE_BLOCK_UXN,
 | |
| 	}, {
 | |
| 		/* MEM 2GB */
 | |
| 		.virt	= 0x80000000UL,
 | |
| 		.phys	= 0x80000000UL,
 | |
| 		.size	= 0x80000000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_NORMAL) |
 | |
| 				PTE_BLOCK_INNER_SHARE,
 | |
| 	}, {
 | |
| 		/* List terminator */
 | |
| 	},
 | |
| };
 | |
| 
 | |
| struct mm_region *mem_map = socfpga_agilex5_mem_map;
 | |
| 
 | |
| #else
 | |
| static struct mm_region socfpga_stratix10_mem_map[] = {
 | |
| 	{
 | |
| 		/* MEM 2GB*/
 | |
| 		.virt	= 0x0UL,
 | |
| 		.phys	= 0x0UL,
 | |
| 		.size	= 0x80000000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_NORMAL) |
 | |
| 				PTE_BLOCK_INNER_SHARE,
 | |
| 	}, {
 | |
| 		/* FPGA 1.5GB */
 | |
| 		.virt	= 0x80000000UL,
 | |
| 		.phys	= 0x80000000UL,
 | |
| 		.size	= 0x60000000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
 | |
| 				PTE_BLOCK_NON_SHARE |
 | |
| 				PTE_BLOCK_PXN | PTE_BLOCK_UXN,
 | |
| 	}, {
 | |
| 		/* DEVICE 142MB */
 | |
| 		.virt	= 0xF7000000UL,
 | |
| 		.phys	= 0xF7000000UL,
 | |
| 		.size	= 0x08E00000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
 | |
| 				PTE_BLOCK_NON_SHARE |
 | |
| 				PTE_BLOCK_PXN | PTE_BLOCK_UXN,
 | |
| 	}, {
 | |
| 		/* OCRAM 1MB but available 256KB */
 | |
| 		.virt	= 0xFFE00000UL,
 | |
| 		.phys	= 0xFFE00000UL,
 | |
| 		.size	= 0x00100000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_NORMAL) |
 | |
| 				PTE_BLOCK_INNER_SHARE,
 | |
| 	}, {
 | |
| 		/* DEVICE 32KB */
 | |
| 		.virt	= 0xFFFC0000UL,
 | |
| 		.phys	= 0xFFFC0000UL,
 | |
| 		.size	= 0x00008000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
 | |
| 				PTE_BLOCK_NON_SHARE |
 | |
| 				PTE_BLOCK_PXN | PTE_BLOCK_UXN,
 | |
| 	}, {
 | |
| 		/* MEM 124GB */
 | |
| 		.virt	= 0x0100000000UL,
 | |
| 		.phys	= 0x0100000000UL,
 | |
| 		.size	= 0x1F00000000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_NORMAL) |
 | |
| 				PTE_BLOCK_INNER_SHARE,
 | |
| 	}, {
 | |
| 		/* DEVICE 4GB */
 | |
| 		.virt	= 0x2000000000UL,
 | |
| 		.phys	= 0x2000000000UL,
 | |
| 		.size	= 0x0100000000UL,
 | |
| 		.attrs	= PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
 | |
| 				PTE_BLOCK_NON_SHARE |
 | |
| 				PTE_BLOCK_PXN | PTE_BLOCK_UXN,
 | |
| 	}, {
 | |
| 		/* List terminator */
 | |
| 	},
 | |
| };
 | |
| 
 | |
| struct mm_region *mem_map = socfpga_stratix10_mem_map;
 | |
| #endif
 |