1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * Copyright 2011-2014 Freescale Semiconductor, Inc. 4 */ 5 6 /* 7 * Corenet DS style board configuration file 8 */ 9 #ifndef __QEMU_PPCE500_H 10 #define __QEMU_PPCE500_H 11 12 /* Needed to fill the ccsrbar pointer */ 13 14 /* Virtual address to CCSRBAR */ 15 #define CFG_SYS_CCSRBAR 0xe0000000 16 /* Physical address should be a function call */ 17 #ifndef __ASSEMBLY__ 18 extern unsigned long long get_phys_ccsrbar_addr_early(void); 19 #define CFG_SYS_CCSRBAR_PHYS_HIGH (get_phys_ccsrbar_addr_early() >> 32) 20 #define CFG_SYS_CCSRBAR_PHYS_LOW get_phys_ccsrbar_addr_early() 21 #else 22 #define CFG_SYS_CCSRBAR_PHYS_HIGH 0x0 23 #define CFG_SYS_CCSRBAR_PHYS_LOW CFG_SYS_CCSRBAR 24 #endif 25 26 /* Virtual address to a temporary map if we need it (max 128MB) */ 27 #define CFG_SYS_TMPVIRT 0xe8000000 28 29 /* 30 * DDR Setup 31 */ 32 #define CFG_SYS_DDR_SDRAM_BASE 0x00000000 33 #define CFG_SYS_SDRAM_BASE CFG_SYS_DDR_SDRAM_BASE 34 35 #define CFG_SYS_INIT_RAM_ADDR 0x00100000 36 #define CFG_SYS_INIT_RAM_ADDR_PHYS_HIGH 0x0 37 #define CFG_SYS_INIT_RAM_ADDR_PHYS_LOW 0x00100000 38 /* The assembler doesn't like typecast */ 39 #define CFG_SYS_INIT_RAM_ADDR_PHYS \ 40 ((CFG_SYS_INIT_RAM_ADDR_PHYS_HIGH * 1ull << 32) | \ 41 CFG_SYS_INIT_RAM_ADDR_PHYS_LOW) 42 #define CFG_SYS_INIT_RAM_SIZE 0x00004000 43 44 #define CFG_SYS_INIT_SP_OFFSET (CFG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 45 46 /* 47 * Miscellaneous configurable options 48 */ 49 50 /* 51 * For booting Linux, the board info and command line data 52 * have to be in the first 64 MB of memory, since this is 53 * the maximum mapped by the Linux kernel during initialization. 54 */ 55 #define CFG_SYS_BOOTMAPSZ (64 << 20) /* Initial map for Linux*/ 56 57 /* 58 * Environment Configuration 59 */ 60 61 #endif /* __QEMU_PPCE500_H */ 62