]>
Commit | Line | Data |
---|---|---|
d0e6665a TM |
1 | /* |
2 | * bluestone.h - configuration for Bluestone (APM821XX) | |
3 | * | |
4 | * Copyright (c) 2010, Applied Micro Circuits Corporation | |
5 | * Author: Tirumala R Marri <[email protected]> | |
6 | * | |
7 | * This program is free software; you can redistribute it and/or | |
8 | * modify it under the terms of the GNU General Public License as | |
9 | * published by the Free Software Foundation; either version 2 of | |
10 | * the License, or (at your option) any later version. | |
11 | * | |
12 | * This program is distributed in the hope that it will be useful, | |
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | * GNU General Public License for more details. | |
16 | * | |
17 | * You should have received a copy of the GNU General Public License | |
18 | * along with this program; if not, write to the Free Software | |
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
20 | * MA 02111-1307 USA | |
21 | */ | |
22 | ||
23 | #ifndef __CONFIG_H | |
24 | #define __CONFIG_H | |
25 | ||
26 | /* | |
27 | * High Level Configuration Options | |
28 | */ | |
29 | #define CONFIG_APM821XX 1 /* APM821XX series */ | |
30 | #define CONFIG_HOSTNAME bluestone | |
31 | ||
32 | #define CONFIG_4xx 1 /* ... PPC4xx family */ | |
33 | #define CONFIG_440 1 | |
34 | /* | |
35 | * Include common defines/options for all AMCC eval boards | |
36 | */ | |
37 | #include "amcc-common.h" | |
38 | #define CONFIG_SYS_CLK_FREQ 50000000 | |
39 | ||
40 | #define CONFIG_BOARD_TYPES 1 /* support board types */ | |
41 | #define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */ | |
42 | #define CONFIG_MISC_INIT_R 1 /* Call misc_init_r */ | |
43 | ||
44 | /* | |
45 | * Base addresses -- Note these are effective addresses where the | |
46 | * actual resources get mapped (not physical addresses) | |
47 | */ | |
48 | /* EBC stuff */ | |
49 | /* later mapped to this addr */ | |
50 | #define CONFIG_SYS_FLASH_BASE 0xFFF00000 | |
51 | #define CONFIG_SYS_FLASH_SIZE (4 << 20) /* 1MB usable */ | |
52 | ||
53 | /* EBC Boot Space: 0xFF000000 */ | |
54 | #define CONFIG_SYS_BOOT_BASE_ADDR 0xFF000000 | |
55 | #define CONFIG_SYS_OCM_BASE 0xE3000000 /* OCM: 32k */ | |
56 | #define CONFIG_SYS_SRAM_BASE 0xE8000000 /* SRAM: 256k */ | |
57 | #define CONFIG_SYS_AHB_BASE 0xE2000000 /* internal AHB peripherals*/ | |
58 | ||
59 | #define CONFIG_SYS_SRAM_SIZE (256 << 10) | |
60 | /* | |
61 | * Initial RAM & stack pointer (placed in OCM) | |
62 | */ | |
63 | #define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_BASE /* OCM */ | |
64 | #define CONFIG_SYS_INIT_RAM_END (4 << 10) | |
65 | #define CONFIG_SYS_GBL_DATA_SIZE 256 /* num bytes initial data */ | |
66 | #define CONFIG_SYS_GBL_DATA_OFFSET \ | |
67 | (CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE) | |
68 | #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET | |
69 | ||
70 | /* | |
71 | * Environment | |
72 | */ | |
73 | /* | |
74 | * Define here the location of the environment variables (FLASH). | |
75 | */ | |
76 | #define CONFIG_ENV_IS_IN_FLASH 1 /* use FLASH for environment vars */ | |
77 | ||
78 | /* | |
79 | * FLASH related | |
80 | */ | |
81 | #define CONFIG_SYS_FLASH_CFI /* The flash is CFI compatible */ | |
82 | #define CONFIG_FLASH_CFI_DRIVER /* Use common CFI driver */ | |
83 | #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_8BIT | |
84 | #define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE} | |
85 | /* max number of memory banks */ | |
86 | #define CONFIG_SYS_MAX_FLASH_BANKS 1 | |
87 | /* max number of sectors on one chip */ | |
88 | #define CONFIG_SYS_MAX_FLASH_SECT 80 | |
89 | /* Timeout for Flash Erase (in ms) */ | |
90 | #define CONFIG_SYS_FLASH_ERASE_TOUT 120000 | |
91 | /* Timeout for Flash Write (in ms) */ | |
92 | #define CONFIG_SYS_FLASH_WRITE_TOUT 500 | |
93 | /* use buffered writes (20x faster) */ | |
94 | #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 | |
95 | /* print 'E' for empty sector on flinfo */ | |
96 | #define CONFIG_SYS_FLASH_EMPTY_INFO | |
97 | #ifdef CONFIG_ENV_IS_IN_FLASH | |
98 | #define CONFIG_ENV_SECT_SIZE 0x10000 /* size of one complete sector */ | |
99 | #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE) | |
100 | #define CONFIG_ENV_SIZE 0x4000 /* Total Size of Environment Sector */ | |
101 | /* Address and size of Redundant Environment Sector */ | |
102 | #define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR - CONFIG_ENV_SECT_SIZE) | |
103 | #define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE) | |
104 | #endif /* CONFIG_ENV_IS_IN_FLASH */ | |
105 | ||
106 | /* SDRAM */ | |
107 | #define CONFIG_SPD_EEPROM 1 /* Use SPD EEPROM for setup */ | |
108 | #define SPD_EEPROM_ADDRESS {0x53, 0x51} /* SPD i2c spd addresses */ | |
109 | #define CONFIG_PPC4xx_DDR_AUTOCALIBRATION /* IBM DDR autocalibration */ | |
110 | #define CONFIG_AUTOCALIB "silent\0" /* default is non-verbose */ | |
111 | #define CONFIG_DDR_ECC 1 /* with ECC support */ | |
112 | ||
113 | /* | |
114 | * Serial Port | |
115 | */ | |
116 | #define CONFIG_CONS_INDEX 1 /* Use UART0 */ | |
117 | ||
118 | /* | |
119 | * I2C | |
120 | */ | |
121 | #define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed */ | |
122 | #define CONFIG_SYS_I2C_MULTI_EEPROMS | |
123 | #define CONFIG_SYS_I2C_EEPROM_ADDR 0x54 | |
124 | #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 | |
125 | #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 | |
126 | #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5 /* Data sheet */ | |
127 | ||
128 | /* I2C bootstrap EEPROM */ | |
129 | #define CONFIG_4xx_CONFIG_I2C_EEPROM_ADDR 0x52 | |
130 | #define CONFIG_4xx_CONFIG_I2C_EEPROM_OFFSET 0 | |
131 | #define CONFIG_4xx_CONFIG_BLOCKSIZE 16 | |
132 | ||
133 | /* | |
134 | * Ethernet | |
135 | */ | |
136 | #define CONFIG_IBM_EMAC4_V4 1 | |
137 | #define CONFIG_EMAC_PHY_MODE EMAC_PHY_MODE_NONE_RGMII | |
138 | #define CONFIG_HAS_ETH0 | |
139 | /* PHY address, See schematics */ | |
140 | #define CONFIG_PHY_ADDR 0x1f | |
141 | /* reset phy upon startup */ | |
142 | #define CONFIG_PHY_RESET 1 | |
143 | /* Include GbE speed/duplex detection */ | |
144 | #define CONFIG_PHY_GIGE 1 | |
145 | #define CONFIG_PHY_DYNAMIC_ANEG 1 | |
146 | ||
147 | /* | |
148 | * External Bus Controller (EBC) Setup | |
149 | **/ | |
150 | #define CONFIG_SYS_EBC_CFG (EBC_CFG_LE_LOCK | \ | |
151 | EBC_CFG_PTD_ENABLE | \ | |
152 | EBC_CFG_RTC_2048PERCLK | \ | |
153 | EBC_CFG_ATC_HI | \ | |
154 | EBC_CFG_DTC_HI | \ | |
155 | EBC_CFG_CTC_HI | \ | |
156 | EBC_CFG_OEO_PREVIOUS) | |
157 | /* NOR Flash */ | |
158 | #define CONFIG_SYS_EBC_PB0AP (EBC_BXAP_BME_DISABLED | \ | |
159 | EBC_BXAP_TWT_ENCODE(64) | \ | |
160 | EBC_BXAP_BCE_DISABLE | \ | |
161 | EBC_BXAP_BCT_2TRANS | \ | |
162 | EBC_BXAP_CSN_ENCODE(1) | \ | |
163 | EBC_BXAP_OEN_ENCODE(2) | \ | |
164 | EBC_BXAP_WBN_ENCODE(2) | \ | |
165 | EBC_BXAP_WBF_ENCODE(2) | \ | |
166 | EBC_BXAP_TH_ENCODE(7) | \ | |
167 | EBC_BXAP_SOR_DELAYED | \ | |
168 | EBC_BXAP_BEM_WRITEONLY | \ | |
169 | EBC_BXAP_PEN_DISABLED) | |
170 | /* Peripheral Bank Configuration Register - EBC_BxCR */ | |
171 | #define CONFIG_SYS_EBC_PB0CR \ | |
172 | (EBC_BXCR_BAS_ENCODE(CONFIG_SYS_FLASH_BASE) | \ | |
173 | EBC_BXCR_BS_1MB | \ | |
174 | EBC_BXCR_BU_RW | \ | |
175 | EBC_BXCR_BW_8BIT) | |
176 | ||
177 | ||
178 | #endif /* __CONFIG_H */ |