1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * (C) Copyright 2008
4  * Sergei Poselenov, Emcraft Systems, sposelenov@emcraft.com.
5  *
6  * Wolfgang Denk <wd@denx.de>
7  * Copyright 2004 Freescale Semiconductor.
8  * (C) Copyright 2002,2003 Motorola,Inc.
9  * Xianghua Xiao <X.Xiao@motorola.com>
10  */
11 
12 /*
13  * Socrates
14  */
15 
16 #ifndef __CONFIG_H
17 #define __CONFIG_H
18 
19 /*
20  * Only possible on E500 Version 2 or newer cores.
21  */
22 
23 /*
24  * sysclk for MPC85xx
25  *
26  * Two valid values are:
27  *    33000000
28  *    66000000
29  *
30  * Most PCI cards are still 33Mhz, so in the presence of PCI, 33MHz
31  * is likely the desired value here, so that is now the default.
32  * The board, however, can run at 66MHz.  In any event, this value
33  * must match the settings of some switches.  Details can be found
34  * in the README.mpc85xxads.
35  */
36 
37 #define CFG_SYS_INIT_DBCR DBCR_IDM		/* Enable Debug Exceptions	*/
38 
39 #undef	CFG_SYS_DRAM_TEST			/* memory test, takes time	*/
40 
41 #define CFG_SYS_CCSRBAR		0xE0000000
42 #define CFG_SYS_CCSRBAR_PHYS_LOW	CFG_SYS_CCSRBAR
43 
44 /* DDR Setup */
45 #define CFG_SYS_DDR_SDRAM_BASE	0x00000000
46 #define CFG_SYS_SDRAM_BASE		CFG_SYS_DDR_SDRAM_BASE
47 
48 /* I2C addresses of SPD EEPROMs */
49 #define SPD_EEPROM_ADDRESS	0x50	/* CTLR 0 DIMM 0 */
50 
51 /* Hardcoded values, to use instead of SPD */
52 #define CFG_SYS_DDR_CS0_BNDS		0x0000000f
53 #define CFG_SYS_DDR_CS0_CONFIG		0x80010102
54 #define CFG_SYS_DDR_TIMING_0		0x00260802
55 #define CFG_SYS_DDR_TIMING_1		0x3935D322
56 #define CFG_SYS_DDR_TIMING_2		0x14904CC8
57 #define CFG_SYS_DDR_MODE			0x00480432
58 #define CFG_SYS_DDR_INTERVAL		0x030C0100
59 #define CFG_SYS_DDR_CONFIG_2		0x04400000
60 #define CFG_SYS_DDR_CONFIG			0xC3008000
61 #define CFG_SYS_DDR_CLK_CONTROL		0x03800000
62 #define CFG_SYS_SDRAM_SIZE			256 /* in Megs */
63 
64 /*
65  * Flash on the LocalBus
66  */
67 #define CFG_SYS_FLASH0		0xFE000000
68 #define CFG_SYS_FLASH_BANKS_LIST	{ CFG_SYS_FLASH0 }
69 
70 #define CFG_SYS_LBC_FLASH_BASE	CFG_SYS_FLASH0	/* Localbus flash start	*/
71 #define CFG_SYS_FLASH_BASE		CFG_SYS_LBC_FLASH_BASE /* start of FLASH	*/
72 
73 #define CFG_SYS_LBC_LCRR		0x00030004    /* LB clock ratio reg	*/
74 #define CFG_SYS_LBC_LBCR		0x00000000    /* LB config reg		*/
75 #define CFG_SYS_LBC_LSRT		0x20000000    /* LB sdram refresh timer	*/
76 #define CFG_SYS_LBC_MRTPR		0x20000000    /* LB refresh timer presc.*/
77 
78 #define CFG_SYS_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address	*/
79 #define CFG_SYS_INIT_RAM_SIZE	0x4000		/* Size used area in RAM*/
80 
81 #define CFG_SYS_INIT_SP_OFFSET	(CFG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
82 
83 /* FPGA and NAND */
84 #define CFG_SYS_FPGA_BASE		0xc0000000
85 #define CFG_SYS_FPGA_SIZE		0x00100000	/* 1 MB		*/
86 
87 #define CFG_SYS_NAND_BASE		(CFG_SYS_FPGA_BASE + 0x70)
88 
89 /* LIME GDC */
90 #define CFG_SYS_LIME_BASE		0xc8000000
91 
92 /*
93  * General PCI
94  * Memory space is mapped 1-1.
95  */
96 
97 #define CFG_SYS_PCI1_MEM_PHYS	0x80000000
98 #define CFG_SYS_PCI1_IO_PHYS	0xE2000000
99 
100 /*
101  * Miscellaneous configurable options
102  */
103 
104 /*
105  * For booting Linux, the board info and command line data
106  * have to be in the first 8 MB of memory, since this is
107  * the maximum mapped by the Linux kernel during initialization.
108  */
109 #define CFG_SYS_BOOTMAPSZ	(8 << 20)	/* Initial Memory map for Linux	*/
110 
111 #define CFG_ENV_FLAGS_LIST_STATIC "ethaddr:mw,eth1addr:mw,system1_addr:xw,serial#:sw,ethact:sw,ethprime:sw"
112 
113 /* pass open firmware flat tree */
114 
115 #endif	/* __CONFIG_H */
116