Commit dee9c534db78d445e5a0b21b34e870afef960dd3
Committed by
Tom Rini
1 parent
99bcad1809
Exists in
master
and in
57 other branches
ppc4xx: Remove ML2 board support
As the board seems to be unmaintained for some time, lets remove the support in mainline completely. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Peter De Schrijver <p2@mind.be> Acked-by: Marek Vasut <marex@denx.de>
Showing 11 changed files with 1 additions and 1067 deletions Side-by-side Diff
MAINTAINERS
arch/powerpc/include/asm/ppc4xx.h
board/ml2/Makefile
| 1 | -# | |
| 2 | -# (C) Copyright 2000-2006 | |
| 3 | -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. | |
| 4 | -# | |
| 5 | -# See file CREDITS for list of people who contributed to this | |
| 6 | -# project. | |
| 7 | -# | |
| 8 | -# This program is free software; you can redistribute it and/or | |
| 9 | -# modify it under the terms of the GNU General Public License as | |
| 10 | -# published by the Free Software Foundation; either version 2 of | |
| 11 | -# the License, or (at your option) any later version. | |
| 12 | -# | |
| 13 | -# This program is distributed in the hope that it will be useful, | |
| 14 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 15 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 16 | -# GNU General Public License for more details. | |
| 17 | -# | |
| 18 | -# You should have received a copy of the GNU General Public License | |
| 19 | -# along with this program; if not, write to the Free Software | |
| 20 | -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
| 21 | -# MA 02111-1307 USA | |
| 22 | -# | |
| 23 | - | |
| 24 | -include $(TOPDIR)/config.mk | |
| 25 | - | |
| 26 | -LIB = $(obj)lib$(BOARD).o | |
| 27 | - | |
| 28 | -COBJS = $(BOARD).o flash.o serial.o | |
| 29 | -SOBJS = init.o | |
| 30 | - | |
| 31 | -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) | |
| 32 | -OBJS := $(addprefix $(obj),$(COBJS)) | |
| 33 | -SOBJS := $(addprefix $(obj),$(SOBJS)) | |
| 34 | - | |
| 35 | -$(LIB): $(OBJS) $(SOBJS) | |
| 36 | - $(call cmd_link_o_target, $(OBJS) $(SOBJS)) | |
| 37 | - | |
| 38 | -######################################################################### | |
| 39 | - | |
| 40 | -# defines $(obj).depend target | |
| 41 | -include $(SRCTREE)/rules.mk | |
| 42 | - | |
| 43 | -sinclude $(obj).depend | |
| 44 | - | |
| 45 | -######################################################################### |
board/ml2/flash.c
| 1 | -/* | |
| 2 | - * flash.c: Support code for the flash chips on the Xilinx ML2 board | |
| 3 | - * | |
| 4 | - * Copyright 2002 Mind NV | |
| 5 | - * | |
| 6 | - * http://www.mind.be/ | |
| 7 | - * | |
| 8 | - * Author : Peter De Schrijver (p2@mind.be) | |
| 9 | - * | |
| 10 | - * This software may be used and distributed according to the terms of | |
| 11 | - * the GNU General Public License (GPL) version 2, incorporated herein by | |
| 12 | - * reference. Drivers based on or derived from this code fall under the GPL | |
| 13 | - * and must retain the authorship, copyright and this license notice. This | |
| 14 | - * file is not a complete program and may only be used when the entire program | |
| 15 | - * is licensed under the GPL. | |
| 16 | - * | |
| 17 | - */ | |
| 18 | - | |
| 19 | -#include <common.h> | |
| 20 | -#include <asm/u-boot.h> | |
| 21 | -#include <configs/ML2.h> | |
| 22 | - | |
| 23 | -#define FLASH_BANK_SIZE (64*1024*1024) | |
| 24 | - | |
| 25 | -flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS]; | |
| 26 | - | |
| 27 | -#define SECT_SIZE (512*1024) | |
| 28 | - | |
| 29 | -#define CMD_READ_ARRAY 0x00FF00FF00FF00FULL | |
| 30 | -#define CMD_IDENTIFY 0x0090009000900090ULL | |
| 31 | -#define CMD_ERASE_SETUP 0x0020002000200020ULL | |
| 32 | -#define CMD_ERASE_CONFIRM 0x00D000D000D000D0ULL | |
| 33 | -#define CMD_PROGRAM 0x0040004000400040ULL | |
| 34 | -#define CMD_RESUME 0x00D000D000D000D0ULL | |
| 35 | -#define CMD_SUSPEND 0x00B000B000B000B0ULL | |
| 36 | -#define CMD_STATUS_READ 0x0070007000700070ULL | |
| 37 | -#define CMD_STATUS_RESET 0x0050005000500050ULL | |
| 38 | - | |
| 39 | -#define BIT_BUSY 0x0080008000800080ULL | |
| 40 | -#define BIT_ERASE_SUSPEND 0x004000400400040ULL | |
| 41 | -#define BIT_ERASE_ERROR 0x0020002000200020ULL | |
| 42 | -#define BIT_PROGRAM_ERROR 0x0010001000100010ULL | |
| 43 | -#define BIT_VPP_RANGE_ERROR 0x0008000800080008ULL | |
| 44 | -#define BIT_PROGRAM_SUSPEND 0x0004000400040004ULL | |
| 45 | -#define BIT_PROTECT_ERROR 0x0002000200020002ULL | |
| 46 | -#define BIT_UNDEFINED 0x0001000100010001ULL | |
| 47 | - | |
| 48 | -#define BIT_SEQUENCE_ERROR 0x0030003000300030ULL | |
| 49 | - | |
| 50 | -#define BIT_TIMEOUT 0x80000000 | |
| 51 | - | |
| 52 | - | |
| 53 | -inline void eieio(void) { | |
| 54 | - | |
| 55 | - __asm__ __volatile__ ("eieio" : : : "memory"); | |
| 56 | - | |
| 57 | -} | |
| 58 | - | |
| 59 | -ulong flash_init(void) { | |
| 60 | - | |
| 61 | - int i, j; | |
| 62 | - ulong size = 0; | |
| 63 | - | |
| 64 | - for(i=0;i<CONFIG_SYS_MAX_FLASH_BANKS;i++) { | |
| 65 | - ulong flashbase = 0; | |
| 66 | - | |
| 67 | - flash_info[i].flash_id = (INTEL_MANUFACT & FLASH_VENDMASK) | | |
| 68 | - (INTEL_ID_28F128J3A & FLASH_TYPEMASK); | |
| 69 | - flash_info[i].size = FLASH_BANK_SIZE; | |
| 70 | - flash_info[i].sector_count = CONFIG_SYS_MAX_FLASH_SECT; | |
| 71 | - memset(flash_info[i].protect, 0, CONFIG_SYS_MAX_FLASH_SECT); | |
| 72 | - if (i==0) | |
| 73 | - flashbase = CONFIG_SYS_FLASH_BASE; | |
| 74 | - else | |
| 75 | - panic("configured too many flash banks!\n"); | |
| 76 | - for (j = 0; j < flash_info[i].sector_count; j++) | |
| 77 | - flash_info[i].start[j]=flashbase + j * SECT_SIZE; | |
| 78 | - | |
| 79 | - size += flash_info[i].size; | |
| 80 | - } | |
| 81 | - | |
| 82 | - return size; | |
| 83 | -} | |
| 84 | - | |
| 85 | -void flash_print_info (flash_info_t *info) { | |
| 86 | - | |
| 87 | - int i; | |
| 88 | - | |
| 89 | - switch (info->flash_id & FLASH_VENDMASK) { | |
| 90 | - case (INTEL_MANUFACT & FLASH_VENDMASK): | |
| 91 | - printf("Intel: "); | |
| 92 | - break; | |
| 93 | - default: | |
| 94 | - printf("Unknown Vendor "); | |
| 95 | - break; | |
| 96 | - } | |
| 97 | - | |
| 98 | - switch (info->flash_id & FLASH_TYPEMASK) { | |
| 99 | - case (INTEL_ID_28F128J3A & FLASH_TYPEMASK): | |
| 100 | - printf("4x 28F128J3A (128Mbit)\n"); | |
| 101 | - break; | |
| 102 | - default: | |
| 103 | - printf("Unknown Chip Type\n"); | |
| 104 | - break; | |
| 105 | - } | |
| 106 | - | |
| 107 | - printf(" Size: %ld MB in %d Sectors\n", info->size >> 20, info->sector_count); | |
| 108 | - printf(" Sector Start Addresses:"); | |
| 109 | - for (i = 0; i < info->sector_count; i++) { | |
| 110 | - if ((i % 5) == 0) | |
| 111 | - printf("\n "); | |
| 112 | - printf (" %08lX%s", info->start[i], | |
| 113 | - info->protect[i] ? " (RO)" : " "); | |
| 114 | - } | |
| 115 | - printf ("\n"); | |
| 116 | -} | |
| 117 | - | |
| 118 | -int flash_error (unsigned long long code) { | |
| 119 | - | |
| 120 | - if (code & BIT_TIMEOUT) { | |
| 121 | - printf ("Timeout\n"); | |
| 122 | - return ERR_TIMOUT; | |
| 123 | - } | |
| 124 | - | |
| 125 | - if (~code & BIT_BUSY) { | |
| 126 | - printf ("Busy\n"); | |
| 127 | - return ERR_PROG_ERROR; | |
| 128 | - } | |
| 129 | - | |
| 130 | - if (code & BIT_VPP_RANGE_ERROR) { | |
| 131 | - printf ("Vpp range error\n"); | |
| 132 | - return ERR_PROG_ERROR; | |
| 133 | - } | |
| 134 | - | |
| 135 | - if (code & BIT_PROTECT_ERROR) { | |
| 136 | - printf ("Device protect error\n"); | |
| 137 | - return ERR_PROG_ERROR; | |
| 138 | - } | |
| 139 | - | |
| 140 | - if (code & BIT_SEQUENCE_ERROR) { | |
| 141 | - printf ("Command seqence error\n"); | |
| 142 | - return ERR_PROG_ERROR; | |
| 143 | - } | |
| 144 | - | |
| 145 | - if (code & BIT_ERASE_ERROR) { | |
| 146 | - printf ("Block erase error\n"); | |
| 147 | - return ERR_PROG_ERROR; | |
| 148 | - } | |
| 149 | - | |
| 150 | - if (code & BIT_PROGRAM_ERROR) { | |
| 151 | - printf ("Program error\n"); | |
| 152 | - return ERR_PROG_ERROR; | |
| 153 | - } | |
| 154 | - | |
| 155 | - if (code & BIT_ERASE_SUSPEND) { | |
| 156 | - printf ("Block erase suspended\n"); | |
| 157 | - return ERR_PROG_ERROR; | |
| 158 | - } | |
| 159 | - | |
| 160 | - if (code & BIT_PROGRAM_SUSPEND) { | |
| 161 | - printf ("Program suspended\n"); | |
| 162 | - return ERR_PROG_ERROR; | |
| 163 | - } | |
| 164 | - | |
| 165 | - return ERR_OK; | |
| 166 | - | |
| 167 | -} | |
| 168 | - | |
| 169 | -int flash_erase (flash_info_t *info, int s_first, int s_last) { | |
| 170 | - | |
| 171 | - int rc = ERR_OK; | |
| 172 | - int sect; | |
| 173 | - unsigned long long result; | |
| 174 | - | |
| 175 | - if (info->flash_id == FLASH_UNKNOWN) | |
| 176 | - return ERR_UNKNOWN_FLASH_TYPE; | |
| 177 | - | |
| 178 | - if ((s_first < 0) || (s_first > s_last)) | |
| 179 | - return ERR_INVAL; | |
| 180 | - | |
| 181 | - if ((info->flash_id & FLASH_VENDMASK) != (INTEL_MANUFACT & FLASH_VENDMASK)) | |
| 182 | - return ERR_UNKNOWN_FLASH_VENDOR; | |
| 183 | - | |
| 184 | - for (sect=s_first; sect<=s_last; ++sect) | |
| 185 | - if (info->protect[sect]) | |
| 186 | - return ERR_PROTECTED; | |
| 187 | - | |
| 188 | - for (sect = s_first; sect<=s_last && !ctrlc(); sect++) { | |
| 189 | - volatile unsigned long long *addr= | |
| 190 | - (unsigned long long *)(info->start[sect]); | |
| 191 | - | |
| 192 | - printf("Erasing sector %2d ... ", sect); | |
| 193 | - | |
| 194 | - *addr=CMD_STATUS_RESET; | |
| 195 | - eieio(); | |
| 196 | - *addr=CMD_ERASE_SETUP; | |
| 197 | - eieio(); | |
| 198 | - *addr=CMD_ERASE_CONFIRM; | |
| 199 | - eieio(); | |
| 200 | - | |
| 201 | - do { | |
| 202 | - result = *addr; | |
| 203 | - } while(~result & BIT_BUSY); | |
| 204 | - | |
| 205 | - *addr=CMD_READ_ARRAY; | |
| 206 | - | |
| 207 | - if ((rc = flash_error(result)) == ERR_OK) | |
| 208 | - printf("ok.\n"); | |
| 209 | - else | |
| 210 | - break; | |
| 211 | - } | |
| 212 | - | |
| 213 | - if (ctrlc()) | |
| 214 | - printf("User Interrupt!\n"); | |
| 215 | - | |
| 216 | - return rc; | |
| 217 | -} | |
| 218 | - | |
| 219 | -static int write_word (flash_info_t *info, ulong dest, unsigned long long data) { | |
| 220 | - | |
| 221 | - volatile unsigned long long *addr=(unsigned long long *)dest; | |
| 222 | - unsigned long long result; | |
| 223 | - int rc = ERR_OK; | |
| 224 | - | |
| 225 | - result = *addr; | |
| 226 | - if ((result & data) != data) | |
| 227 | - return ERR_NOT_ERASED; | |
| 228 | - | |
| 229 | - *addr=CMD_STATUS_RESET; | |
| 230 | - eieio(); | |
| 231 | - *addr=CMD_PROGRAM; | |
| 232 | - eieio(); | |
| 233 | - *addr=data; | |
| 234 | - eieio(); | |
| 235 | - | |
| 236 | - do { | |
| 237 | - result = *addr; | |
| 238 | - } while(~result & BIT_BUSY); | |
| 239 | - | |
| 240 | - *addr=CMD_READ_ARRAY; | |
| 241 | - | |
| 242 | - rc = flash_error(result); | |
| 243 | - | |
| 244 | - return rc; | |
| 245 | - | |
| 246 | -} | |
| 247 | - | |
| 248 | -int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt) { | |
| 249 | - | |
| 250 | - ulong cp, wp; | |
| 251 | - unsigned long long data; | |
| 252 | - int l; | |
| 253 | - int i,rc; | |
| 254 | - | |
| 255 | - wp=(addr & ~7); | |
| 256 | - | |
| 257 | - if((l=addr-wp) != 0) { | |
| 258 | - data=0; | |
| 259 | - for(i=0,cp=wp;i<l;++i,++cp) | |
| 260 | - data = (data >> 8) | (*(uchar *)cp << 24); | |
| 261 | - | |
| 262 | - for (; i<8 && cnt>0; ++i) { | |
| 263 | - data = (data >> 8) | (*src++ << 24); | |
| 264 | - --cnt; | |
| 265 | - ++cp; | |
| 266 | - } | |
| 267 | - | |
| 268 | - for (; i<8; ++i, ++cp) | |
| 269 | - data = (data >> 8) | (*(uchar *)cp << 24); | |
| 270 | - | |
| 271 | - if ((rc = write_word(info, wp, data)) != 0) | |
| 272 | - return rc; | |
| 273 | - | |
| 274 | - wp+=8; | |
| 275 | - } | |
| 276 | - | |
| 277 | - while(cnt>=8) { | |
| 278 | - data = *((unsigned long long *)src); | |
| 279 | - if ((rc = write_word(info, wp, data)) != 0) | |
| 280 | - return rc; | |
| 281 | - src+=8; | |
| 282 | - wp+=8; | |
| 283 | - cnt-=8; | |
| 284 | - } | |
| 285 | - | |
| 286 | - if(cnt == 0) | |
| 287 | - return ERR_OK; | |
| 288 | - | |
| 289 | - data = 0; | |
| 290 | - for (i=0, cp=wp; i<8 && cnt>0; ++i, ++cp) { | |
| 291 | - data = (data >> 8) | (*src++ << 24); | |
| 292 | - --cnt; | |
| 293 | - } | |
| 294 | - for (; i<8; ++i, ++cp) { | |
| 295 | - data = (data >> 8) | (*(uchar *)cp << 24); | |
| 296 | - } | |
| 297 | - | |
| 298 | - return write_word(info, wp, data); | |
| 299 | - | |
| 300 | -} |
board/ml2/init.S
| 1 | -/* | |
| 2 | - * init.S: Stubs for U-Boot initialization | |
| 3 | - * | |
| 4 | - * Copyright 2002 Mind NV | |
| 5 | - * | |
| 6 | - * http://www.mind.be/ | |
| 7 | - * | |
| 8 | - * Author : Peter De Schrijver (p2@mind.be) | |
| 9 | - * | |
| 10 | - * This software may be used and distributed according to the terms of | |
| 11 | - * the GNU General Public License (GPL) version 2, incorporated herein by | |
| 12 | - * reference. Drivers based on or derived from this code fall under the GPL | |
| 13 | - * and must retain the authorship, copyright and this license notice. This | |
| 14 | - * file is not a complete program and may only be used when the entire | |
| 15 | - * program is licensed under the GPL. | |
| 16 | - * | |
| 17 | - */ | |
| 18 | - | |
| 19 | -#include <asm/ppc4xx.h> | |
| 20 | - | |
| 21 | -#include <ppc_asm.tmpl> | |
| 22 | -#include <ppc_defs.h> | |
| 23 | - | |
| 24 | -#include <asm/cache.h> | |
| 25 | -#include <asm/mmu.h> | |
| 26 | - | |
| 27 | - | |
| 28 | - .globl ext_bus_cntlr_init | |
| 29 | -ext_bus_cntlr_init: | |
| 30 | - blr |
board/ml2/ml2.c
| 1 | -/* | |
| 2 | - * ml2.c: U-Boot platform support for Xilinx ML2 board | |
| 3 | - * | |
| 4 | - * Copyright 2002 Mind NV | |
| 5 | - * | |
| 6 | - * http://www.mind.be/ | |
| 7 | - * | |
| 8 | - * Author : Peter De Schrijver (p2@mind.be) | |
| 9 | - * | |
| 10 | - * Derived from : Other platform support files in this tree | |
| 11 | - * | |
| 12 | - * This software may be used and distributed according to the terms of | |
| 13 | - * the GNU General Public License (GPL) version 2, incorporated herein by | |
| 14 | - * reference. Drivers based on or derived from this code fall under the GPL | |
| 15 | - * and must retain the authorship, copyright and this license notice. This | |
| 16 | - * file is not a complete program and may only be used when the entire | |
| 17 | - * program is licensed under the GPL. | |
| 18 | - * | |
| 19 | - */ | |
| 20 | - | |
| 21 | -#include <common.h> | |
| 22 | -#include <asm/processor.h> | |
| 23 | - | |
| 24 | - | |
| 25 | -int board_early_init_f (void) | |
| 26 | -{ | |
| 27 | - return 0; | |
| 28 | -} | |
| 29 | - | |
| 30 | - | |
| 31 | -int checkboard (void) | |
| 32 | -{ | |
| 33 | - char buf[64]; | |
| 34 | - int i; | |
| 35 | - int l = getenv_f("serial#", buf, sizeof(buf)); | |
| 36 | - | |
| 37 | - if (l < 0 || strncmp(buf, "ML2", 9)) { | |
| 38 | - printf ("### No HW ID - assuming ML2"); | |
| 39 | - } else { | |
| 40 | - for (i = 0; i < l; i++) { | |
| 41 | - if (buf[i] == ' ') | |
| 42 | - break; | |
| 43 | - putc(buf[i]); | |
| 44 | - } | |
| 45 | - } | |
| 46 | - putc ('\n'); | |
| 47 | - | |
| 48 | - return (0); | |
| 49 | -} | |
| 50 | - | |
| 51 | - | |
| 52 | -phys_size_t initdram (int board_type) | |
| 53 | -{ | |
| 54 | - return 32 * 1024 * 1024; | |
| 55 | -} | |
| 56 | - | |
| 57 | -int testdram (void) | |
| 58 | -{ | |
| 59 | - printf ("test: xxx MB - ok\n"); | |
| 60 | - | |
| 61 | - return (0); | |
| 62 | -} |
board/ml2/serial.c
| 1 | -/* | |
| 2 | - * (C) Copyright 2002 | |
| 3 | - * Peter De Schrijver (p2@mind.be), Mind Linux Solutions, NV. | |
| 4 | - * | |
| 5 | - * This program is free software; you can redistribute it and/or | |
| 6 | - * modify it under the terms of the GNU General Public License as | |
| 7 | - * published by the Free Software Foundation; either version 2 of | |
| 8 | - * the License, or (at your option) any later version. | |
| 9 | - * | |
| 10 | - * This program is distributed in the hope that it will be useful, | |
| 11 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 12 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 13 | - * GNU General Public License for more details. | |
| 14 | - * | |
| 15 | - * You should have received a copy of the GNU General Public License | |
| 16 | - * along with this program; if not, write to the Free Software | |
| 17 | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
| 18 | - * MA 02111-1307 USA | |
| 19 | - * | |
| 20 | - */ | |
| 21 | - | |
| 22 | -#include <common.h> | |
| 23 | -#include <asm/u-boot.h> | |
| 24 | -#include <asm/processor.h> | |
| 25 | -#include <command.h> | |
| 26 | -#include <configs/ML2.h> | |
| 27 | -#include <serial.h> | |
| 28 | -#include <linux/compiler.h> | |
| 29 | - | |
| 30 | -#if (defined CONFIG_SYS_INIT_CHAN1) || (defined CONFIG_SYS_INIT_CHAN2) | |
| 31 | -#include <ns16550.h> | |
| 32 | -#endif | |
| 33 | - | |
| 34 | -DECLARE_GLOBAL_DATA_PTR; | |
| 35 | - | |
| 36 | -#if (defined CONFIG_SYS_INIT_CHAN1) || (defined CONFIG_SYS_INIT_CHAN2) | |
| 37 | -const NS16550_t COM_PORTS[] = { (NS16550_t) CONFIG_SYS_NS16550_COM1, | |
| 38 | - (NS16550_t) CONFIG_SYS_NS16550_COM2 | |
| 39 | -}; | |
| 40 | -#endif | |
| 41 | - | |
| 42 | -static int ml2_serial_init(void) | |
| 43 | -{ | |
| 44 | - int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 / gd->baudrate; | |
| 45 | - | |
| 46 | -#ifdef CONFIG_SYS_INIT_CHAN1 | |
| 47 | - (void) NS16550_init (COM_PORTS[0], clock_divisor); | |
| 48 | -#endif | |
| 49 | -#ifdef CONFIG_SYS_INIT_CHAN2 | |
| 50 | - (void) NS16550_init (COM_PORTS[1], clock_divisor); | |
| 51 | -#endif | |
| 52 | - return 0; | |
| 53 | - | |
| 54 | -} | |
| 55 | - | |
| 56 | -static void ml2_serial_putc(const char c) | |
| 57 | -{ | |
| 58 | - if (c == '\n') | |
| 59 | - NS16550_putc (COM_PORTS[CONFIG_SYS_DUART_CHAN], '\r'); | |
| 60 | - | |
| 61 | - NS16550_putc (COM_PORTS[CONFIG_SYS_DUART_CHAN], c); | |
| 62 | -} | |
| 63 | - | |
| 64 | -static int ml2_serial_getc(void) | |
| 65 | -{ | |
| 66 | - return NS16550_getc (COM_PORTS[CONFIG_SYS_DUART_CHAN]); | |
| 67 | -} | |
| 68 | - | |
| 69 | -static int ml2_serial_tstc(void) | |
| 70 | -{ | |
| 71 | - return NS16550_tstc (COM_PORTS[CONFIG_SYS_DUART_CHAN]); | |
| 72 | -} | |
| 73 | - | |
| 74 | -static void ml2_serial_setbrg(void) | |
| 75 | -{ | |
| 76 | - int clock_divisor = CONFIG_SYS_NS16550_CLK / 16 / gd->baudrate; | |
| 77 | - | |
| 78 | -#ifdef CONFIG_SYS_INIT_CHAN1 | |
| 79 | - NS16550_reinit (COM_PORTS[0], clock_divisor); | |
| 80 | -#endif | |
| 81 | -#ifdef CONFIG_SYS_INIT_CHAN2 | |
| 82 | - NS16550_reinit (COM_PORTS[1], clock_divisor); | |
| 83 | -#endif | |
| 84 | -} | |
| 85 | - | |
| 86 | -static void ml2_serial_puts(const char *s) | |
| 87 | -{ | |
| 88 | - while (*s) { | |
| 89 | - serial_putc (*s++); | |
| 90 | - } | |
| 91 | -} | |
| 92 | - | |
| 93 | -static struct serial_device ml2_serial_drv = { | |
| 94 | - .name = "ml2_serial", | |
| 95 | - .start = ml2_serial_init, | |
| 96 | - .stop = NULL, | |
| 97 | - .setbrg = ml2_serial_setbrg, | |
| 98 | - .putc = ml2_serial_putc, | |
| 99 | - .puts = ml2_serial_puts, | |
| 100 | - .getc = ml2_serial_getc, | |
| 101 | - .tstc = ml2_serial_tstc, | |
| 102 | -}; | |
| 103 | - | |
| 104 | -void ml2_serial_initialize(void) | |
| 105 | -{ | |
| 106 | - serial_register(&ml2_serial_drv); | |
| 107 | -} | |
| 108 | - | |
| 109 | -__weak struct serial_device *default_serial_console(void) | |
| 110 | -{ | |
| 111 | - return &ml2_serial_drv; | |
| 112 | -} | |
| 113 | - | |
| 114 | -#if defined(CONFIG_CMD_KGDB) | |
| 115 | -void kgdb_serial_init (void) | |
| 116 | -{ | |
| 117 | -} | |
| 118 | - | |
| 119 | -void putDebugChar (int c) | |
| 120 | -{ | |
| 121 | - serial_putc (c); | |
| 122 | -} | |
| 123 | - | |
| 124 | -void putDebugStr (const char *str) | |
| 125 | -{ | |
| 126 | - serial_puts (str); | |
| 127 | -} | |
| 128 | - | |
| 129 | -int getDebugChar (void) | |
| 130 | -{ | |
| 131 | - return serial_getc (); | |
| 132 | -} | |
| 133 | - | |
| 134 | -void kgdb_interruptible (int yes) | |
| 135 | -{ | |
| 136 | - return; | |
| 137 | -} | |
| 138 | -#endif |
board/ml2/u-boot.lds
| 1 | -/* | |
| 2 | - * (C) Copyright 2000 | |
| 3 | - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. | |
| 4 | - * | |
| 5 | - * See file CREDITS for list of people who contributed to this | |
| 6 | - * project. | |
| 7 | - * | |
| 8 | - * This program is free software; you can redistribute it and/or | |
| 9 | - * modify it under the terms of the GNU General Public License as | |
| 10 | - * published by the Free Software Foundation; either version 2 of | |
| 11 | - * the License, or (at your option) any later version. | |
| 12 | - * | |
| 13 | - * This program is distributed in the hope that it will be useful, | |
| 14 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 15 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 16 | - * GNU General Public License for more details. | |
| 17 | - * | |
| 18 | - * You should have received a copy of the GNU General Public License | |
| 19 | - * along with this program; if not, write to the Free Software | |
| 20 | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
| 21 | - * MA 02111-1307 USA | |
| 22 | - */ | |
| 23 | - | |
| 24 | -OUTPUT_ARCH(powerpc) | |
| 25 | - | |
| 26 | -SECTIONS | |
| 27 | -{ | |
| 28 | - /* Read-only sections, merged into text segment: */ | |
| 29 | - . = + SIZEOF_HEADERS; | |
| 30 | - .text : | |
| 31 | - { | |
| 32 | - *(.text*) | |
| 33 | - } | |
| 34 | - _etext = .; | |
| 35 | - PROVIDE (etext = .); | |
| 36 | - .rodata : | |
| 37 | - { | |
| 38 | - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) | |
| 39 | - } | |
| 40 | - | |
| 41 | - /* Read-write section, merged into data segment: */ | |
| 42 | - . = (. + 0x00FF) & 0xFFFFFF00; | |
| 43 | - _erotext = .; | |
| 44 | - PROVIDE (erotext = .); | |
| 45 | - .reloc : | |
| 46 | - { | |
| 47 | - _GOT2_TABLE_ = .; | |
| 48 | - KEEP(*(.got2)) | |
| 49 | - KEEP(*(.got)) | |
| 50 | - PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); | |
| 51 | - _FIXUP_TABLE_ = .; | |
| 52 | - KEEP(*(.fixup)) | |
| 53 | - } | |
| 54 | - __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1; | |
| 55 | - __fixup_entries = (. - _FIXUP_TABLE_)>>2; | |
| 56 | - | |
| 57 | - .data : | |
| 58 | - { | |
| 59 | - *(.data*) | |
| 60 | - *(.sdata*) | |
| 61 | - CONSTRUCTORS | |
| 62 | - } | |
| 63 | - _edata = .; | |
| 64 | - PROVIDE (edata = .); | |
| 65 | - | |
| 66 | - . = .; | |
| 67 | - __u_boot_cmd_start = .; | |
| 68 | - .u_boot_cmd : { *(.u_boot_cmd) } | |
| 69 | - __u_boot_cmd_end = .; | |
| 70 | - | |
| 71 | - | |
| 72 | - . = .; | |
| 73 | - __start___ex_table = .; | |
| 74 | - __ex_table : { *(__ex_table) } | |
| 75 | - __stop___ex_table = .; | |
| 76 | - | |
| 77 | - . = ALIGN(256); | |
| 78 | - __init_begin = .; | |
| 79 | - .text.init : { *(.text.init) } | |
| 80 | - .data.init : { *(.data.init) } | |
| 81 | - . = ALIGN(256); | |
| 82 | - __init_end = .; | |
| 83 | - | |
| 84 | - __bss_start = .; | |
| 85 | - .bss (NOLOAD) : | |
| 86 | - { | |
| 87 | - *(.bss*) | |
| 88 | - *(.sbss*) | |
| 89 | - *(COMMON) | |
| 90 | - . = ALIGN(4); | |
| 91 | - } | |
| 92 | - __bss_end__ = . ; | |
| 93 | - PROVIDE (end = .); | |
| 94 | -} |
board/ml2/u-boot.lds.debug
| 1 | -/* | |
| 2 | - * (C) Copyright 2000 | |
| 3 | - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. | |
| 4 | - * | |
| 5 | - * See file CREDITS for list of people who contributed to this | |
| 6 | - * project. | |
| 7 | - * | |
| 8 | - * This program is free software; you can redistribute it and/or | |
| 9 | - * modify it under the terms of the GNU General Public License as | |
| 10 | - * published by the Free Software Foundation; either version 2 of | |
| 11 | - * the License, or (at your option) any later version. | |
| 12 | - * | |
| 13 | - * This program is distributed in the hope that it will be useful, | |
| 14 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 15 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 16 | - * GNU General Public License for more details. | |
| 17 | - * | |
| 18 | - * You should have received a copy of the GNU General Public License | |
| 19 | - * along with this program; if not, write to the Free Software | |
| 20 | - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
| 21 | - * MA 02111-1307 USA | |
| 22 | - */ | |
| 23 | - | |
| 24 | -OUTPUT_ARCH(powerpc) | |
| 25 | -/* Do we need any of these for elf? | |
| 26 | - __DYNAMIC = 0; */ | |
| 27 | -SECTIONS | |
| 28 | -{ | |
| 29 | - /* Read-only sections, merged into text segment: */ | |
| 30 | - . = + SIZEOF_HEADERS; | |
| 31 | - .interp : { *(.interp) } | |
| 32 | - .hash : { *(.hash) } | |
| 33 | - .dynsym : { *(.dynsym) } | |
| 34 | - .dynstr : { *(.dynstr) } | |
| 35 | - .rel.text : { *(.rel.text) } | |
| 36 | - .rela.text : { *(.rela.text) } | |
| 37 | - .rel.data : { *(.rel.data) } | |
| 38 | - .rela.data : { *(.rela.data) } | |
| 39 | - .rel.rodata : { *(.rel.rodata) } | |
| 40 | - .rela.rodata : { *(.rela.rodata) } | |
| 41 | - .rel.got : { *(.rel.got) } | |
| 42 | - .rela.got : { *(.rela.got) } | |
| 43 | - .rel.ctors : { *(.rel.ctors) } | |
| 44 | - .rela.ctors : { *(.rela.ctors) } | |
| 45 | - .rel.dtors : { *(.rel.dtors) } | |
| 46 | - .rela.dtors : { *(.rela.dtors) } | |
| 47 | - .rel.bss : { *(.rel.bss) } | |
| 48 | - .rela.bss : { *(.rela.bss) } | |
| 49 | - .rel.plt : { *(.rel.plt) } | |
| 50 | - .rela.plt : { *(.rela.plt) } | |
| 51 | - .init : { *(.init) } | |
| 52 | - .plt : { *(.plt) } | |
| 53 | - .text : | |
| 54 | - { | |
| 55 | - /* WARNING - the following is hand-optimized to fit within */ | |
| 56 | - /* the sector layout of our flash chips! XXX FIXME XXX */ | |
| 57 | - | |
| 58 | - mpc8xx/start.o (.text) | |
| 59 | - common/dlmalloc.o (.text) | |
| 60 | - lib/vsprintf.o (.text) | |
| 61 | - lib/crc32.o (.text) | |
| 62 | - arch/powerpc/lib/extable.o (.text) | |
| 63 | - | |
| 64 | - common/env_embedded.o(.text) | |
| 65 | - | |
| 66 | - *(.text) | |
| 67 | - *(.got1) | |
| 68 | - } | |
| 69 | - _etext = .; | |
| 70 | - PROVIDE (etext = .); | |
| 71 | - .rodata : | |
| 72 | - { | |
| 73 | - *(.rodata) | |
| 74 | - *(.rodata1) | |
| 75 | - *(.rodata.str1.4) | |
| 76 | - *(.eh_frame) | |
| 77 | - } | |
| 78 | - .fini : { *(.fini) } =0 | |
| 79 | - .ctors : { *(.ctors) } | |
| 80 | - .dtors : { *(.dtors) } | |
| 81 | - | |
| 82 | - /* Read-write section, merged into data segment: */ | |
| 83 | - . = (. + 0x0FFF) & 0xFFFFF000; | |
| 84 | - _erotext = .; | |
| 85 | - PROVIDE (erotext = .); | |
| 86 | - .reloc : | |
| 87 | - { | |
| 88 | - *(.got) | |
| 89 | - _GOT2_TABLE_ = .; | |
| 90 | - *(.got2) | |
| 91 | - _FIXUP_TABLE_ = .; | |
| 92 | - *(.fixup) | |
| 93 | - } | |
| 94 | - __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2; | |
| 95 | - __fixup_entries = (. - _FIXUP_TABLE_)>>2; | |
| 96 | - | |
| 97 | - .data : | |
| 98 | - { | |
| 99 | - *(.data) | |
| 100 | - *(.data1) | |
| 101 | - *(.sdata) | |
| 102 | - *(.sdata2) | |
| 103 | - *(.dynamic) | |
| 104 | - CONSTRUCTORS | |
| 105 | - } | |
| 106 | - _edata = .; | |
| 107 | - PROVIDE (edata = .); | |
| 108 | - | |
| 109 | - __u_boot_cmd_start = .; | |
| 110 | - .u_boot_cmd : { *(.u_boot_cmd) } | |
| 111 | - __u_boot_cmd_end = .; | |
| 112 | - | |
| 113 | - | |
| 114 | - __start___ex_table = .; | |
| 115 | - __ex_table : { *(__ex_table) } | |
| 116 | - __stop___ex_table = .; | |
| 117 | - | |
| 118 | - . = ALIGN(4096); | |
| 119 | - __init_begin = .; | |
| 120 | - .text.init : { *(.text.init) } | |
| 121 | - .data.init : { *(.data.init) } | |
| 122 | - . = ALIGN(4096); | |
| 123 | - __init_end = .; | |
| 124 | - | |
| 125 | - __bss_start = .; | |
| 126 | - .bss : | |
| 127 | - { | |
| 128 | - *(.sbss) *(.scommon) | |
| 129 | - *(.dynbss) | |
| 130 | - *(.bss) | |
| 131 | - *(COMMON) | |
| 132 | - } | |
| 133 | - __bss_end__ = . ; | |
| 134 | - PROVIDE (end = .); | |
| 135 | -} |
boards.cfg
include/configs/ML2.h
| 1 | -/* | |
| 2 | - * ML2.h: ML2 specific config options | |
| 3 | - * | |
| 4 | - * Copyright 2002 Mind NV | |
| 5 | - * | |
| 6 | - * http://www.mind.be/ | |
| 7 | - * | |
| 8 | - * Author : Peter De Schrijver (p2@mind.be) | |
| 9 | - * | |
| 10 | - * Derived from : other configuration header files in this tree | |
| 11 | - * | |
| 12 | - * This software may be used and distributed according to the terms of | |
| 13 | - * the GNU General Public License (GPL) version 2, incorporated herein by | |
| 14 | - * reference. Drivers based on or derived from this code fall under the GPL | |
| 15 | - * and must retain the authorship, copyright and this license notice. This | |
| 16 | - * file is not a complete program and may only be used when the entire | |
| 17 | - * program is licensed under the GPL. | |
| 18 | - * | |
| 19 | - */ | |
| 20 | - | |
| 21 | -#ifndef __CONFIG_H | |
| 22 | -#define __CONFIG_H | |
| 23 | - | |
| 24 | -/* | |
| 25 | - * High Level Configuration Options | |
| 26 | - * (easy to change) | |
| 27 | - */ | |
| 28 | - | |
| 29 | -#define CONFIG_405 1 /* This is a PPC405 CPU */ | |
| 30 | -#define CONFIG_4xx 1 /* ...member of PPC4xx family */ | |
| 31 | -#define CONFIG_ML2 1 /* ...on a ML2 board */ | |
| 32 | - | |
| 33 | -#define CONFIG_SYS_TEXT_BASE 0x18000000 | |
| 34 | -#define CONFIG_SYS_LDSCRIPT "board/ml2/u-boot.lds" | |
| 35 | - | |
| 36 | -#define CONFIG_ENV_IS_IN_FLASH 1 | |
| 37 | - | |
| 38 | -#ifdef CONFIG_ENV_IS_IN_NVRAM | |
| 39 | -#undef CONFIG_ENV_IS_IN_FLASH | |
| 40 | -#else | |
| 41 | -#ifdef CONFIG_ENV_IS_IN_FLASH | |
| 42 | -#undef CONFIG_ENV_IS_IN_NVRAM | |
| 43 | -#endif | |
| 44 | -#endif | |
| 45 | - | |
| 46 | -#define CONFIG_BAUDRATE 9600 | |
| 47 | -#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */ | |
| 48 | - | |
| 49 | -#if 1 | |
| 50 | -#define CONFIG_BOOTCOMMAND "bootm" /* autoboot command */ | |
| 51 | -#else | |
| 52 | -#define CONFIG_BOOTCOMMAND "bootp" /* autoboot command */ | |
| 53 | -#endif | |
| 54 | - | |
| 55 | -#define CONFIG_PREBOOT "fsload 0x00100000 /boot/image" | |
| 56 | - | |
| 57 | -#if 0 | |
| 58 | -#define CONFIG_BOOTARGS "root=/dev/nfs " \ | |
| 59 | - "ip=192.168.2.176:192.168.2.190:192.168.2.79:255.255.255.0 " \ | |
| 60 | - "nfsroot=192.168.2.190:/home/stefan/cpci405/target_ftest4" | |
| 61 | -#else | |
| 62 | -#define CONFIG_BOOTARGS "root=/dev/mtdblock2 " \ | |
| 63 | - "console=ttyS0 console=tty" | |
| 64 | - | |
| 65 | -#endif | |
| 66 | - | |
| 67 | -#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ | |
| 68 | -#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ | |
| 69 | - | |
| 70 | - | |
| 71 | -/* | |
| 72 | - * BOOTP options | |
| 73 | - */ | |
| 74 | -#define CONFIG_BOOTP_BOOTFILESIZE | |
| 75 | -#define CONFIG_BOOTP_BOOTPATH | |
| 76 | -#define CONFIG_BOOTP_GATEWAY | |
| 77 | -#define CONFIG_BOOTP_HOSTNAME | |
| 78 | - | |
| 79 | - | |
| 80 | -/* | |
| 81 | - * Command line configuration. | |
| 82 | - */ | |
| 83 | -#include <config_cmd_default.h> | |
| 84 | - | |
| 85 | -#define CONFIG_CMD_IRQ | |
| 86 | -#define CONFIG_CMD_KGDB | |
| 87 | -#define CONFIG_CMD_BEDBUG | |
| 88 | -#define CONFIG_CMD_ELF | |
| 89 | -#define CONFIG_CMD_JFFS2 | |
| 90 | - | |
| 91 | -#undef CONFIG_CMD_NET | |
| 92 | -#undef CONFIG_CMD_NFS | |
| 93 | -#undef CONFIG_CMD_RTC | |
| 94 | -#undef CONFIG_CMD_PCI | |
| 95 | -#undef CONFIG_CMD_I2C | |
| 96 | - | |
| 97 | - | |
| 98 | -#undef CONFIG_WATCHDOG /* watchdog disabled */ | |
| 99 | - | |
| 100 | -#define CONFIG_SYS_CLK_FREQ 50000000 | |
| 101 | - | |
| 102 | -#define CONFIG_SPD_EEPROM 1 /* use SPD EEPROM for setup */ | |
| 103 | - | |
| 104 | -/* | |
| 105 | - * I2C | |
| 106 | - */ | |
| 107 | -#define CONFIG_HARD_I2C /* I2C with hardware support */ | |
| 108 | -#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */ | |
| 109 | -#define CONFIG_SYS_I2C_SLAVE 0x7F | |
| 110 | -#define CONFIG_SYS_I2C_SPEED 400000 | |
| 111 | - | |
| 112 | -/* | |
| 113 | - * Miscellaneous configurable options | |
| 114 | - */ | |
| 115 | -#define CONFIG_SYS_LONGHELP /* undef to save memory */ | |
| 116 | -#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */ | |
| 117 | -#if defined(CONFIG_CMD_KGDB) | |
| 118 | -#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ | |
| 119 | -#else | |
| 120 | -#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ | |
| 121 | -#endif | |
| 122 | -#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */ | |
| 123 | -#define CONFIG_SYS_MAXARGS 16 /* max number of command args */ | |
| 124 | -#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ | |
| 125 | - | |
| 126 | -#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */ | |
| 127 | -#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */ | |
| 128 | - | |
| 129 | -/* | |
| 130 | - * If CONFIG_SYS_EXT_SERIAL_CLOCK, then the UART divisor is 1. | |
| 131 | - * If CONFIG_SYS_405_UART_ERRATA_59, then UART divisor is 31. | |
| 132 | - * Otherwise, UART divisor is determined by CPU Clock and CONFIG_SYS_BASE_BAUD value. | |
| 133 | - * The Linux BASE_BAUD define should match this configuration. | |
| 134 | - * baseBaud = cpuClock/(uartDivisor*16) | |
| 135 | - * If CONFIG_SYS_405_UART_ERRATA_59 and 200MHz CPU clock, | |
| 136 | - * set Linux BASE_BAUD to 403200. | |
| 137 | - */ | |
| 138 | -#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* external serial clock */ | |
| 139 | -#undef CONFIG_SYS_405_UART_ERRATA_59 /* 405GP/CR Rev. D silicon */ | |
| 140 | - | |
| 141 | -#define CONFIG_SYS_BASE_BAUD (3125000*16) | |
| 142 | -#define CONFIG_SYS_NS16550_CLK CONFIG_SYS_BASE_BAUD | |
| 143 | -#define CONFIG_SYS_DUART_CHAN 0 | |
| 144 | -#define CONFIG_SYS_NS16550_COM1 0xa0001003 | |
| 145 | -#define CONFIG_SYS_NS16550_COM2 0xa0011003 | |
| 146 | -#define CONFIG_SYS_NS16550_REG_SIZE -4 | |
| 147 | -#define CONFIG_SYS_NS16550 1 | |
| 148 | -#define CONFIG_SYS_INIT_CHAN1 1 | |
| 149 | -#define CONFIG_SYS_INIT_CHAN2 1 | |
| 150 | - | |
| 151 | -/* The following table includes the supported baudrates */ | |
| 152 | -#define CONFIG_SYS_BAUDRATE_TABLE \ | |
| 153 | - {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400} | |
| 154 | - | |
| 155 | -#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */ | |
| 156 | -#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */ | |
| 157 | - | |
| 158 | -#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */ | |
| 159 | - | |
| 160 | - | |
| 161 | -/*----------------------------------------------------------------------- | |
| 162 | - * Start addresses for the final memory configuration | |
| 163 | - * (Set up by the startup code) | |
| 164 | - * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0 | |
| 165 | - */ | |
| 166 | -#define CONFIG_SYS_SDRAM_BASE 0x00000000 | |
| 167 | -#define CONFIG_SYS_FLASH_BASE 0x18000000 | |
| 168 | -#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE | |
| 169 | -#define CONFIG_SYS_MONITOR_LEN (192 * 1024) /* Reserve 196 kB for Monitor */ | |
| 170 | -#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */ | |
| 171 | - | |
| 172 | -/* | |
| 173 | - * For booting Linux, the board info and command line data | |
| 174 | - * have to be in the first 8 MB of memory, since this is | |
| 175 | - * the maximum mapped by the Linux kernel during initialization. | |
| 176 | - */ | |
| 177 | -#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ | |
| 178 | -/*----------------------------------------------------------------------- | |
| 179 | - * FLASH organization | |
| 180 | - */ | |
| 181 | -#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ | |
| 182 | -#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */ | |
| 183 | - | |
| 184 | -#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */ | |
| 185 | -#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */ | |
| 186 | - | |
| 187 | -/* BEG ENVIRONNEMENT FLASH */ | |
| 188 | -#ifdef CONFIG_ENV_IS_IN_FLASH | |
| 189 | -#define CONFIG_ENV_OFFSET 0x00050000 /* Offset of Environment Sector */ | |
| 190 | -#define CONFIG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */ | |
| 191 | -#define CONFIG_ENV_SECT_SIZE 0x10000 /* see README - env sector total size */ | |
| 192 | -#endif | |
| 193 | -/* END ENVIRONNEMENT FLASH */ | |
| 194 | -/*----------------------------------------------------------------------- | |
| 195 | - * NVRAM organization | |
| 196 | - */ | |
| 197 | -#define CONFIG_SYS_NVRAM_BASE_ADDR 0xf0000000 /* NVRAM base address */ | |
| 198 | -#define CONFIG_SYS_NVRAM_SIZE 0x1ff8 /* NVRAM size */ | |
| 199 | - | |
| 200 | -#ifdef CONFIG_ENV_IS_IN_NVRAM | |
| 201 | -#define CONFIG_ENV_SIZE 0x1000 /* Size of Environment vars */ | |
| 202 | -#define CONFIG_ENV_ADDR \ | |
| 203 | - (CONFIG_SYS_NVRAM_BASE_ADDR+CONFIG_SYS_NVRAM_SIZE-CONFIG_ENV_SIZE) /* Env */ | |
| 204 | -#endif | |
| 205 | - | |
| 206 | -/* | |
| 207 | - * Init Memory Controller: | |
| 208 | - * | |
| 209 | - * BR0/1 and OR0/1 (FLASH) | |
| 210 | - */ | |
| 211 | - | |
| 212 | -#define FLASH_BASE0_PRELIM CONFIG_SYS_FLASH_BASE /* FLASH bank #0 */ | |
| 213 | -#define FLASH_BASE1_PRELIM 0 /* FLASH bank #1 */ | |
| 214 | - | |
| 215 | - | |
| 216 | -/* Configuration Port location */ | |
| 217 | -#define CONFIG_PORT_ADDR 0xF0000500 | |
| 218 | - | |
| 219 | -/*----------------------------------------------------------------------- | |
| 220 | - * Definitions for initial stack pointer and data area (in DPRAM) | |
| 221 | - */ | |
| 222 | - | |
| 223 | -#define CONFIG_SYS_INIT_RAM_ADDR 0x800000 /* inside of SDRAM */ | |
| 224 | -#define CONFIG_SYS_INIT_RAM_SIZE 0x2000 /* Size of used area in RAM */ | |
| 225 | -#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) | |
| 226 | -#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET | |
| 227 | - | |
| 228 | -/*----------------------------------------------------------------------- | |
| 229 | - * Definitions for Serial Presence Detect EEPROM address | |
| 230 | - * (to get SDRAM settings) | |
| 231 | - */ | |
| 232 | -#define SPD_EEPROM_ADDRESS 0x50 | |
| 233 | - | |
| 234 | -#if defined(CONFIG_CMD_KGDB) | |
| 235 | -#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ | |
| 236 | -#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ | |
| 237 | -#endif | |
| 238 | - | |
| 239 | -/* | |
| 240 | - * JFFS2 partitions | |
| 241 | - * | |
| 242 | - */ | |
| 243 | -/* No command line, one static partition, whole device */ | |
| 244 | -#undef CONFIG_CMD_MTDPARTS | |
| 245 | -#define CONFIG_JFFS2_DEV "nor0" | |
| 246 | -#define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF | |
| 247 | -#define CONFIG_JFFS2_PART_OFFSET 0x00080000 | |
| 248 | - | |
| 249 | -/* mtdparts command line support */ | |
| 250 | -/* Note: fake mtd_id used, no linux mtd map file */ | |
| 251 | -/* | |
| 252 | -#define CONFIG_CMD_MTDPARTS | |
| 253 | -#define MTDIDS_DEFAULT "nor0=ml2-0" | |
| 254 | -#define MTDPARTS_DEFAULT "mtdparts=ml2-0:-@512k(jffs2)" | |
| 255 | -*/ | |
| 256 | - | |
| 257 | -#endif /* __CONFIG_H */ |