]>
Commit | Line | Data |
---|---|---|
16c0cc1c SR |
1 | /* |
2 | * (C) Copyright 2007 | |
3 | * Stefan Roese, DENX Software Engineering, [email protected]. | |
4 | * | |
3765b3e7 | 5 | * SPDX-License-Identifier: GPL-2.0+ |
16c0cc1c SR |
6 | */ |
7 | ||
8 | /************************************************************************ | |
9 | * acadia.h - configuration for AMCC Acadia (405EZ) | |
10 | ***********************************************************************/ | |
11 | ||
12 | #ifndef __CONFIG_H | |
13 | #define __CONFIG_H | |
14 | ||
15 | /*----------------------------------------------------------------------- | |
16 | * High Level Configuration Options | |
17 | *----------------------------------------------------------------------*/ | |
3cb86f3e | 18 | #define CONFIG_ACADIA 1 /* Board is Acadia */ |
3cb86f3e | 19 | #define CONFIG_405EZ 1 /* Specifc 405EZ support*/ |
490f2040 | 20 | |
2ae18241 WD |
21 | #ifndef CONFIG_SYS_TEXT_BASE |
22 | #define CONFIG_SYS_TEXT_BASE 0xFFF80000 | |
23 | #endif | |
24 | ||
490f2040 SR |
25 | /* |
26 | * Include common defines/options for all AMCC eval boards | |
27 | */ | |
28 | #define CONFIG_HOSTNAME acadia | |
29 | #include "amcc-common.h" | |
30 | ||
5d4a1790 | 31 | /* Detect Acadia PLL input clock automatically via CPLD bit */ |
6d0f6bcf | 32 | #define CONFIG_SYS_CLK_FREQ ((in8(CONFIG_SYS_CPLD_BASE + 0) == 0x0c) ? \ |
5d4a1790 | 33 | 66666666 : 33333000) |
16c0cc1c | 34 | |
3cb86f3e | 35 | #define CONFIG_MISC_INIT_F 1 /* Call misc_init_f */ |
16c0cc1c SR |
36 | |
37 | #define CONFIG_NO_SERIAL_EEPROM | |
38 | /*#undef CONFIG_NO_SERIAL_EEPROM*/ | |
39 | ||
40 | #ifdef CONFIG_NO_SERIAL_EEPROM | |
16c0cc1c SR |
41 | /*---------------------------------------------------------------------------- |
42 | * PLL settings for 266MHz CPU, 133MHz PLB/SDRAM, 66MHz EBC, 33MHz PCI, | |
43 | * assuming a 66MHz input clock to the 405EZ. | |
44 | *---------------------------------------------------------------------------*/ | |
45 | /* #define PLLMR0_100_100_12 */ | |
46 | #define PLLMR0_200_133_66 | |
47 | /* #define PLLMR0_266_160_80 */ | |
48 | /* #define PLLMR0_333_166_83 */ | |
49 | #endif | |
50 | ||
51 | /*----------------------------------------------------------------------- | |
52 | * Base addresses -- Note these are effective addresses where the | |
53 | * actual resources get mapped (not physical addresses) | |
54 | *----------------------------------------------------------------------*/ | |
6d0f6bcf JCPV |
55 | #define CONFIG_SYS_FLASH_BASE 0xfe000000 |
56 | #define CONFIG_SYS_CPLD_BASE 0x80000000 | |
57 | #define CONFIG_SYS_NAND_ADDR 0xd0000000 | |
58 | #define CONFIG_SYS_USB_HOST 0xef603000 /* USB OHCI 1.1 controller */ | |
16c0cc1c | 59 | |
3cb86f3e SR |
60 | /*----------------------------------------------------------------------- |
61 | * Initial RAM & stack pointer | |
62 | *----------------------------------------------------------------------*/ | |
6d0f6bcf | 63 | #define CONFIG_SYS_TEMP_STACK_OCM 1 /* OCM as init ram */ |
3cb86f3e SR |
64 | |
65 | /* On Chip Memory location */ | |
6d0f6bcf JCPV |
66 | #define CONFIG_SYS_OCM_DATA_ADDR 0xf8000000 |
67 | #define CONFIG_SYS_OCM_DATA_SIZE 0x4000 /* 16K of onchip SRAM */ | |
68 | #define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_DATA_ADDR /* inside of SRAM */ | |
553f0982 | 69 | #define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_OCM_DATA_SIZE /* Size of used area in RAM */ |
3cb86f3e | 70 | |
25ddd1fb | 71 | #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) |
6d0f6bcf | 72 | #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET |
3cb86f3e SR |
73 | |
74 | /*----------------------------------------------------------------------- | |
75 | * Serial Port | |
76 | *----------------------------------------------------------------------*/ | |
550650dd | 77 | #define CONFIG_CONS_INDEX 1 /* Use UART0 */ |
6d0f6bcf JCPV |
78 | #undef CONFIG_SYS_EXT_SERIAL_CLOCK /* external serial clock */ |
79 | #define CONFIG_SYS_BASE_BAUD 691200 | |
3cb86f3e SR |
80 | |
81 | /*----------------------------------------------------------------------- | |
82 | * Environment | |
83 | *----------------------------------------------------------------------*/ | |
5a1aceb0 | 84 | #define CONFIG_ENV_IS_IN_FLASH 1 /* use FLASH for environment vars */ |
16c0cc1c | 85 | |
3cb86f3e SR |
86 | /*----------------------------------------------------------------------- |
87 | * FLASH related | |
88 | *----------------------------------------------------------------------*/ | |
6d0f6bcf | 89 | #define CONFIG_SYS_FLASH_CFI /* The flash is CFI compatible */ |
00b1883a | 90 | #define CONFIG_FLASH_CFI_DRIVER /* Use common CFI driver */ |
3cb86f3e | 91 | |
6d0f6bcf JCPV |
92 | #define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE} |
93 | #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ | |
94 | #define CONFIG_SYS_MAX_FLASH_SECT 512 /* max number of sectors on one chip */ | |
3cb86f3e | 95 | |
6d0f6bcf JCPV |
96 | #define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */ |
97 | #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */ | |
3cb86f3e | 98 | |
6d0f6bcf JCPV |
99 | #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 /* use buffered writes (20x faster) */ |
100 | #define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */ | |
3cb86f3e | 101 | |
5a1aceb0 | 102 | #ifdef CONFIG_ENV_IS_IN_FLASH |
0e8d1586 | 103 | #define CONFIG_ENV_SECT_SIZE 0x40000 /* size of one complete sector */ |
6d0f6bcf | 104 | #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE-CONFIG_ENV_SECT_SIZE) |
0e8d1586 | 105 | #define CONFIG_ENV_SIZE 0x4000 /* Total Size of Environment Sector */ |
3cb86f3e SR |
106 | |
107 | /* Address and size of Redundant Environment Sector */ | |
0e8d1586 JCPV |
108 | #define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR-CONFIG_ENV_SECT_SIZE) |
109 | #define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE) | |
3cb86f3e SR |
110 | #endif |
111 | ||
112 | /*----------------------------------------------------------------------- | |
113 | * RAM (CRAM) | |
114 | *----------------------------------------------------------------------*/ | |
6d0f6bcf | 115 | #define CONFIG_SYS_MBYTES_RAM 64 /* 64MB */ |
3cb86f3e SR |
116 | |
117 | /*----------------------------------------------------------------------- | |
118 | * I2C | |
119 | *----------------------------------------------------------------------*/ | |
880540de | 120 | #define CONFIG_SYS_I2C_PPC4XX_SPEED_0 400000 |
3cb86f3e | 121 | |
6d0f6bcf JCPV |
122 | #define CONFIG_SYS_I2C_EEPROM_ADDR (0xa8>>1) |
123 | #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 | |
124 | #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 | |
125 | #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 | |
3cb86f3e SR |
126 | |
127 | /* I2C SYSMON (LM75, AD7414 is almost compatible) */ | |
128 | #define CONFIG_DTT_LM75 1 /* ON Semi's LM75 */ | |
129 | #define CONFIG_DTT_AD7414 1 /* use AD7414 */ | |
130 | #define CONFIG_DTT_SENSORS {0} /* Sensor addresses */ | |
6d0f6bcf JCPV |
131 | #define CONFIG_SYS_DTT_MAX_TEMP 70 |
132 | #define CONFIG_SYS_DTT_LOW_TEMP -30 | |
133 | #define CONFIG_SYS_DTT_HYSTERESIS 3 | |
3cb86f3e | 134 | |
3cb86f3e SR |
135 | /*----------------------------------------------------------------------- |
136 | * Ethernet | |
137 | *----------------------------------------------------------------------*/ | |
3cb86f3e | 138 | #define CONFIG_PHY_ADDR 0 /* PHY address */ |
d1c1ba85 | 139 | #define CONFIG_HAS_ETH0 1 |
3cb86f3e | 140 | |
490f2040 SR |
141 | /* |
142 | * Default environment variables | |
143 | */ | |
16c0cc1c | 144 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
490f2040 | 145 | CONFIG_AMCC_DEF_ENV \ |
84a45d33 SR |
146 | CONFIG_AMCC_DEF_ENV_POWERPC \ |
147 | CONFIG_AMCC_DEF_ENV_PPC_OLD \ | |
490f2040 | 148 | CONFIG_AMCC_DEF_ENV_NOR_UPD \ |
16c0cc1c SR |
149 | "kernel_addr=fff10000\0" \ |
150 | "ramdisk_addr=fff20000\0" \ | |
16c0cc1c SR |
151 | "kozio=bootm ffc60000\0" \ |
152 | "" | |
16c0cc1c | 153 | |
16c0cc1c | 154 | #define CONFIG_USB_OHCI |
16c0cc1c | 155 | |
16c0cc1c SR |
156 | /* Partitions */ |
157 | #define CONFIG_MAC_PARTITION | |
158 | #define CONFIG_DOS_PARTITION | |
159 | #define CONFIG_ISO_PARTITION | |
160 | ||
161 | #define CONFIG_SUPPORT_VFAT | |
162 | ||
079a136c | 163 | /* |
490f2040 | 164 | * Commands additional to the ones defined in amcc-common.h |
079a136c | 165 | */ |
0b361c91 | 166 | #define CONFIG_CMD_DTT |
0b361c91 | 167 | #define CONFIG_CMD_NAND |
0b361c91 | 168 | |
16c0cc1c SR |
169 | /*----------------------------------------------------------------------- |
170 | * NAND FLASH | |
171 | *----------------------------------------------------------------------*/ | |
6d0f6bcf | 172 | #define CONFIG_SYS_MAX_NAND_DEVICE 1 |
6d0f6bcf JCPV |
173 | #define CONFIG_SYS_NAND_BASE (CONFIG_SYS_NAND_ADDR + CONFIG_SYS_NAND_CS) |
174 | #define CONFIG_SYS_NAND_SELECT_DEVICE 1 /* nand driver supports mutipl. chips */ | |
16c0cc1c | 175 | |
16c0cc1c SR |
176 | /*----------------------------------------------------------------------- |
177 | * External Bus Controller (EBC) Setup | |
3cb86f3e | 178 | *----------------------------------------------------------------------*/ |
6d0f6bcf | 179 | #define CONFIG_SYS_NAND_CS 3 |
3cb86f3e | 180 | /* Memory Bank 0 (Flash) initialization */ |
6d0f6bcf JCPV |
181 | #define CONFIG_SYS_EBC_PB0AP 0x03337200 |
182 | #define CONFIG_SYS_EBC_PB0CR 0xfe0bc000 | |
16c0cc1c | 183 | |
c440bfe6 | 184 | /* Memory Bank 3 (NAND-FLASH) initialization */ |
6d0f6bcf JCPV |
185 | #define CONFIG_SYS_EBC_PB3AP 0x018003c0 |
186 | #define CONFIG_SYS_EBC_PB3CR (CONFIG_SYS_NAND_ADDR | 0x1c000) | |
c440bfe6 | 187 | |
3cb86f3e SR |
188 | /* Just initial configuration for CRAM. Will be changed in memory.c to sync mode*/ |
189 | /* Memory Bank 1 (CRAM) initialization */ | |
6d0f6bcf JCPV |
190 | #define CONFIG_SYS_EBC_PB1AP 0x030400c0 |
191 | #define CONFIG_SYS_EBC_PB1CR 0x000bc000 | |
16c0cc1c | 192 | |
3cb86f3e | 193 | /* Memory Bank 2 (CRAM) initialization */ |
6d0f6bcf JCPV |
194 | #define CONFIG_SYS_EBC_PB2AP 0x030400c0 |
195 | #define CONFIG_SYS_EBC_PB2CR 0x020bc000 | |
16c0cc1c | 196 | |
3cb86f3e | 197 | /* Memory Bank 4 (CPLD) initialization */ |
6d0f6bcf JCPV |
198 | #define CONFIG_SYS_EBC_PB4AP 0x04006000 |
199 | #define CONFIG_SYS_EBC_PB4CR (CONFIG_SYS_CPLD_BASE | 0x18000) | |
16c0cc1c | 200 | |
6d0f6bcf | 201 | #define CONFIG_SYS_EBC_CFG 0xf8400000 |
16c0cc1c | 202 | |
3cb86f3e SR |
203 | /*----------------------------------------------------------------------- |
204 | * GPIO Setup | |
205 | *----------------------------------------------------------------------*/ | |
6d0f6bcf JCPV |
206 | #define CONFIG_SYS_GPIO_CRAM_CLK 8 |
207 | #define CONFIG_SYS_GPIO_CRAM_WAIT 9 /* GPIO-In */ | |
208 | #define CONFIG_SYS_GPIO_CRAM_ADV 10 | |
209 | #define CONFIG_SYS_GPIO_CRAM_CRE (32 + 21) /* GPIO-Out */ | |
3cb86f3e | 210 | |
16c0cc1c SR |
211 | /*----------------------------------------------------------------------- |
212 | * Definitions for GPIO_0 setup (PPC405EZ specific) | |
213 | * | |
5d4a1790 SR |
214 | * GPIO0[0-2] - External Bus Controller CS_4 - CS_6 Outputs |
215 | * GPIO0[3] - NAND FLASH Controller CE3 (NFCE3) Output | |
16c0cc1c SR |
216 | * GPIO0[4] - External Bus Controller Hold Input |
217 | * GPIO0[5] - External Bus Controller Priority Input | |
218 | * GPIO0[6] - External Bus Controller HLDA Output | |
219 | * GPIO0[7] - External Bus Controller Bus Request Output | |
220 | * GPIO0[8] - CRAM Clk Output | |
221 | * GPIO0[9] - External Bus Controller Ready Input | |
222 | * GPIO0[10] - CRAM Adv Output | |
223 | * GPIO0[11-24] - NAND Flash Control Data -> Bypasses GPIO when enabled | |
224 | * GPIO0[25] - External DMA Request Input | |
225 | * GPIO0[26] - External DMA EOT I/O | |
226 | * GPIO0[25] - External DMA Ack_n Output | |
227 | * GPIO0[17-23] - External Interrupts IRQ0 - IRQ6 inputs | |
228 | * GPIO0[28-30] - Trace Outputs / PWM Inputs | |
229 | * GPIO0[31] - PWM_8 I/O | |
230 | */ | |
6d0f6bcf JCPV |
231 | #define CONFIG_SYS_GPIO0_TCR 0xC0A00000 |
232 | #define CONFIG_SYS_GPIO0_OSRL 0x50004400 | |
233 | #define CONFIG_SYS_GPIO0_OSRH 0x02000055 | |
234 | #define CONFIG_SYS_GPIO0_ISR1L 0x00001000 | |
235 | #define CONFIG_SYS_GPIO0_ISR1H 0x00000055 | |
236 | #define CONFIG_SYS_GPIO0_TSRL 0x02000000 | |
237 | #define CONFIG_SYS_GPIO0_TSRH 0x00000055 | |
16c0cc1c SR |
238 | |
239 | /*----------------------------------------------------------------------- | |
240 | * Definitions for GPIO_1 setup (PPC405EZ specific) | |
241 | * | |
242 | * GPIO1[0-6] - PWM_9 to PWM_15 I/O | |
243 | * GPIO1[7] - PWM_DIV_CLK (Out) / IRQ4 Input | |
244 | * GPIO1[8] - TS5 Output / DAC_IP_TRIG Input | |
245 | * GPIO1[9] - TS6 Output / ADC_IP_TRIG Input | |
246 | * GPIO1[10-12] - UART0 Control Inputs | |
247 | * GPIO1[13] - UART0_DTR_N Output/IEEE_1588_TS Output/TMRCLK Input | |
248 | * GPIO1[14] - UART0_RTS_N Output/SPI_SS_2_N Output | |
249 | * GPIO1[15] - SPI_SS_3_N Output/UART0_RI_N Input | |
250 | * GPIO1[16] - SPI_SS_1_N Output | |
251 | * GPIO1[17-20] - Trace Output/External Interrupts IRQ0 - IRQ3 inputs | |
252 | */ | |
6d0f6bcf JCPV |
253 | #define CONFIG_SYS_GPIO1_TCR 0xFFFF8414 |
254 | #define CONFIG_SYS_GPIO1_OSRL 0x40000110 | |
255 | #define CONFIG_SYS_GPIO1_OSRH 0x55455555 | |
256 | #define CONFIG_SYS_GPIO1_ISR1L 0x15555445 | |
257 | #define CONFIG_SYS_GPIO1_ISR1H 0x00000000 | |
258 | #define CONFIG_SYS_GPIO1_TSRL 0x00000000 | |
259 | #define CONFIG_SYS_GPIO1_TSRH 0x00000000 | |
16c0cc1c | 260 | |
16c0cc1c | 261 | #endif /* __CONFIG_H */ |