]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - include/configs/OCOTEA.h
74e5acd5426fc655ca90df267b693da202bae019
[karo-tx-uboot.git] / include / configs / OCOTEA.h
1 /*
2  * (C) Copyright 2004 Paul Reynolds <PaulReynolds@lhsolutions.com>
3  *
4  * See file CREDITS for list of people who contributed to this
5  * project.
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 /************************************************************************
24  * 1 March 2004  Travis B. Sawyer <tsawyer@sandburst.com>
25  * Adapted to current Das U-Boot source
26  ***********************************************************************/
27
28
29 /************************************************************************
30  * OCOTEA.h - configuration for IBM 440GX Ref (Ocotea)
31  ***********************************************************************/
32
33 #ifndef __CONFIG_H
34 #define __CONFIG_H
35
36 /*-----------------------------------------------------------------------
37  * High Level Configuration Options
38  *----------------------------------------------------------------------*/
39 #define CONFIG_OCOTEA           1           /* Board is ebony           */
40 #define CONFIG_440_GX           1           /* Specifc GX support       */
41 #define CONFIG_4xx              1           /* ... PPC4xx family        */
42 #define CONFIG_BOARD_EARLY_INIT_F 1         /* Call board_pre_init      */
43 #undef  CFG_DRAM_TEST                       /* Disable-takes long time! */
44 #define CONFIG_SYS_CLK_FREQ     33333333    /* external freq to pll     */
45
46 /*-----------------------------------------------------------------------
47  * Base addresses -- Note these are effective addresses where the
48  * actual resources get mapped (not physical addresses)
49  *----------------------------------------------------------------------*/
50 #define CFG_SDRAM_BASE      0x00000000      /* _must_ be 0              */
51 #define CFG_FLASH_BASE      0xff800000      /* start of FLASH           */
52 #define CFG_MONITOR_BASE    0xfff80000      /* start of monitor         */
53 #define CFG_PCI_MEMBASE     0x80000000      /* mapped pci memory        */
54 #define CFG_PERIPHERAL_BASE 0xe0000000      /* internal peripherals     */
55 #define CFG_ISRAM_BASE      0xc0000000      /* internal SRAM            */
56 #define CFG_PCI_BASE        0xd0000000      /* internal PCI regs        */
57
58 #define CFG_FPGA_BASE       (CFG_PERIPHERAL_BASE + 0x08300000)
59 #define CFG_NVRAM_BASE_ADDR (CFG_PERIPHERAL_BASE + 0x08000000)
60
61 /*-----------------------------------------------------------------------
62  * Initial RAM & stack pointer (placed in internal SRAM)
63  *----------------------------------------------------------------------*/
64 #define CFG_TEMP_STACK_OCM  1
65 #define CFG_OCM_DATA_ADDR   CFG_ISRAM_BASE
66 #define CFG_INIT_RAM_ADDR   CFG_ISRAM_BASE  /* Initial RAM address      */
67 #define CFG_INIT_RAM_END    0x2000          /* End of used area in RAM  */
68 #define CFG_GBL_DATA_SIZE   128             /* num bytes initial data   */
69
70 #define CFG_GBL_DATA_OFFSET     (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
71 #define CFG_POST_WORD_ADDR      (CFG_GBL_DATA_OFFSET - 0x4)
72 #define CFG_INIT_SP_OFFSET      CFG_POST_WORD_ADDR
73
74 #define CFG_MONITOR_LEN     (256 * 1024)    /* Reserve 256 kB for Mon   */
75 #define CFG_MALLOC_LEN      (128 * 1024)    /* Reserve 128 kB for malloc*/
76
77 /*-----------------------------------------------------------------------
78  * Serial Port
79  *----------------------------------------------------------------------*/
80 #undef  CONFIG_SERIAL_SOFTWARE_FIFO
81 #define CFG_EXT_SERIAL_CLOCK    (1843200 * 6)   /* Ext clk @ 11.059 MHz */
82 #define CONFIG_BAUDRATE         115200
83
84 #define CFG_BAUDRATE_TABLE  \
85     {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
86
87 /*-----------------------------------------------------------------------
88  * NVRAM/RTC
89  *
90  * NOTE: Upper 8 bytes of NVRAM is where the RTC registers are located.
91  * The DS1743 code assumes this condition (i.e. -- it assumes the base
92  * address for the RTC registers is:
93  *
94  *      CFG_NVRAM_BASE_ADDR + CFG_NVRAM_SIZE
95  *
96  *----------------------------------------------------------------------*/
97 #define CFG_NVRAM_SIZE      (0x2000 - 8)    /* NVRAM size(8k)- RTC regs */
98 #define CONFIG_RTC_DS174x       1                   /* DS1743 RTC               */
99
100 /*-----------------------------------------------------------------------
101  * FLASH related
102  *----------------------------------------------------------------------*/
103 #define CFG_MAX_FLASH_BANKS     3                   /* number of banks      */
104 #define CFG_MAX_FLASH_SECT      64                  /* sectors per device   */
105
106 #undef  CFG_FLASH_CHECKSUM
107 #define CFG_FLASH_ERASE_TOUT    120000  /* Timeout for Flash Erase (in ms)      */
108 #define CFG_FLASH_WRITE_TOUT    500     /* Timeout for Flash Write (in ms)      */
109
110 /*-----------------------------------------------------------------------
111  * DDR SDRAM
112  *----------------------------------------------------------------------*/
113 #define CONFIG_SPD_EEPROM       1        /* Use SPD EEPROM for setup     */
114 #define SPD_EEPROM_ADDRESS {0x53,0x52}  /* SPD i2c spd addresses        */
115
116 /*-----------------------------------------------------------------------
117  * I2C
118  *----------------------------------------------------------------------*/
119 #define CONFIG_HARD_I2C         1           /* I2C with hardware support        */
120 #undef  CONFIG_SOFT_I2C                     /* I2C bit-banged           */
121 #define CFG_I2C_SPEED           400000  /* I2C speed and slave address  */
122 #define CFG_I2C_SLAVE           0x7F
123 #define CFG_I2C_NOPROBES    {0x69}  /* Don't probe these addrs */
124
125
126 /*-----------------------------------------------------------------------
127  * Environment
128  *----------------------------------------------------------------------*/
129 #define CFG_ENV_IS_IN_NVRAM     1           /* Environment uses NVRAM   */
130 #undef  CFG_ENV_IS_IN_FLASH                 /* ... not in flash         */
131 #undef  CFG_ENV_IS_IN_EEPROM                /* ... not in EEPROM        */
132 #define CONFIG_ENV_OVERWRITE    1
133
134 #define CFG_ENV_SIZE            0x1000      /* Size of Environment vars */
135 #define CFG_ENV_ADDR            \
136         (CFG_NVRAM_BASE_ADDR+CFG_NVRAM_SIZE-CFG_ENV_SIZE)
137
138 #define CONFIG_BOOTARGS         "root=/dev/hda1 "
139 #define CONFIG_BOOTCOMMAND      "bootm ffc00000"    /* autoboot command */
140 #define CONFIG_BOOTDELAY        -1                  /* disable autoboot */
141 #define CONFIG_BAUDRATE         115200
142
143 #define CONFIG_LOADS_ECHO       1       /* echo on for serial download  */
144 #define CFG_LOADS_BAUD_CHANGE   1       /* allow baudrate change        */
145
146 #define CONFIG_MII              1       /* MII PHY management           */
147 #define CONFIG_NET_MULTI        1
148 #define CONFIG_PHY_ADDR         1       /* PHY address, See schematics  */
149 #define CONFIG_PHY1_ADDR        2
150 #define CONFIG_PHY2_ADDR        0x10
151 #define CONFIG_PHY3_ADDR        0x18
152 #define CONFIG_CIS8201_PHY      1       /* Enable 'special' RGMII mode for Cicada phy */
153 #define CONFIG_PHY_GIGE         1       /* Include GbE speed/duplex detection */
154 #define CONFIG_NETMASK          255.255.255.0
155 #define CONFIG_IPADDR           10.1.2.3
156 #define CONFIG_ETHADDR          00:04:AC:E3:28:8A
157 #define CONFIG_ETHADDR1         00:04:AC:E3:28:8B
158 #define CONFIG_ETHADDR2         00:04:AC:E3:28:8C
159 #define CONFIG_ETHADDR3         00:04:AC:E3:28:8D
160 #define CFG_RX_ETH_BUFFER       32        /* Number of ethernet rx buffers & descriptors */
161 #define CONFIG_SERVERIP         10.1.2.2
162
163 #define CONFIG_COMMANDS        (CONFIG_CMD_DFL  | \
164                                 CFG_CMD_PCI     | \
165                                 CFG_CMD_IRQ     | \
166                                 CFG_CMD_I2C     | \
167                                 CFG_CMD_KGDB    | \
168                                 CFG_CMD_DHCP    | \
169                                 CFG_CMD_DATE    | \
170                                 CFG_CMD_BEDBUG  | \
171                                 CFG_CMD_PING    | \
172                                 CFG_CMD_DIAG    | \
173                                 CFG_CMD_MII     | \
174                                 CFG_CMD_NET     | \
175                                 CFG_CMD_ELF     )
176
177 /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
178 #include <cmd_confdefs.h>
179
180 #undef CONFIG_WATCHDOG                  /* watchdog disabled            */
181
182 /*
183  * Miscellaneous configurable options
184  */
185 #define CFG_LONGHELP                    /* undef to save memory         */
186 #define CFG_PROMPT      "=> "           /* Monitor Command Prompt       */
187 #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
188 #define CFG_CBSIZE      1024            /* Console I/O Buffer Size      */
189 #else
190 #define CFG_CBSIZE      256             /* Console I/O Buffer Size      */
191 #endif
192 #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
193 #define CFG_MAXARGS     16              /* max number of command args   */
194 #define CFG_BARGSIZE    CFG_CBSIZE      /* Boot Argument Buffer Size    */
195
196 #define CFG_MEMTEST_START       0x0400000       /* memtest works on     */
197 #define CFG_MEMTEST_END         0x0C00000       /* 4 ... 12 MB in DRAM  */
198
199 #define CFG_LOAD_ADDR           0x100000        /* default load address */
200 #define CFG_EXTBDINFO           1       /* To use extended board_into (bd_t) */
201
202 #define CFG_HZ          100             /* decrementer freq: 1 ms ticks */
203
204
205 /*-----------------------------------------------------------------------
206  * PCI stuff
207  *-----------------------------------------------------------------------
208  */
209 /* General PCI */
210 #define CONFIG_PCI                                  /* include pci support              */
211 #define CONFIG_PCI_PNP                          /* do pci plug-and-play         */
212 #define CONFIG_PCI_SCAN_SHOW            /* show pci devices on startup  */
213 #define CFG_PCI_TARGBASE    0x80000000  /* PCIaddr mapped to CFG_PCI_MEMBASE */
214
215 /* Board-specific PCI */
216 #define CFG_PCI_PRE_INIT                /* enable board pci_pre_init()  */
217 #define CFG_PCI_TARGET_INIT                 /* let board init pci target    */
218
219 #define CFG_PCI_SUBSYS_VENDORID 0x1014  /* IBM */
220 #define CFG_PCI_SUBSYS_DEVICEID 0xcafe  /* Whatever */
221
222 /*
223  * For booting Linux, the board info and command line data
224  * have to be in the first 8 MB of memory, since this is
225  * the maximum mapped by the Linux kernel during initialization.
226  */
227 #define CFG_BOOTMAPSZ           (8 << 20)       /* Initial Memory map for Linux */
228 /*-----------------------------------------------------------------------
229  * Cache Configuration
230  */
231 #define CFG_DCACHE_SIZE         8192    /* For IBM 405 CPUs                     */
232 #define CFG_CACHELINE_SIZE      32      /* ...                  */
233 #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
234 #define CFG_CACHELINE_SHIFT     5       /* log base 2 of the above value        */
235 #endif
236
237 /*
238  * Internal Definitions
239  *
240  * Boot Flags
241  */
242 #define BOOTFLAG_COLD   0x01            /* Normal Power-On: Boot from FLASH     */
243 #define BOOTFLAG_WARM   0x02            /* Software reboot                      */
244
245 #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
246 #define CONFIG_KGDB_BAUDRATE    230400  /* speed to run kgdb serial port */
247 #define CONFIG_KGDB_SER_INDEX   2       /* which serial port to use */
248 #endif
249 #endif  /* __CONFIG_H */