From debb7354d1ea4f694154818df5e5b523f5c1cc1d Mon Sep 17 00:00:00 2001 From: Jon Loeliger Date: Wed, 26 Apr 2006 17:58:56 -0500 Subject: Initial support for MPC8641 HPCN board. --- Makefile | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 74e94749fcb..acfa5bd2489 100644 --- a/Makefile +++ b/Makefile @@ -114,6 +114,9 @@ endif ifeq ($(CPU),mpc85xx) OBJS += cpu/$(CPU)/resetvec.o endif +ifeq ($(CPU),mpc86xx) +OBJS += cpu/$(CPU)/resetvec.o +endif ifeq ($(CPU),bf533) OBJS += cpu/$(CPU)/start1.o cpu/$(CPU)/interrupt.o cpu/$(CPU)/cache.o OBJS += cpu/$(CPU)/cplbhdlr.o cpu/$(CPU)/cplbmgr.o cpu/$(CPU)/flush.o @@ -1414,6 +1417,14 @@ TQM8560_config: unconfig echo "#define CFG_BOOTFILE \"bootfile=/tftpboot/tqm$${CTYPE}/uImage\0\"">>include/config.h @./mkconfig -a TQM85xx ppc mpc85xx tqm85xx +######################################################################### +## MPC86xx Systems +######################################################################### + +MPC8641HPCN_config: unconfig + @./mkconfig $(@:_config=) ppc mpc86xx mpc8641hpcn + + ######################################################################### ## 74xx/7xx Systems ######################################################################### -- cgit v1.3.1 From 8d4ac794365a7abb1be8e050fd1b467b94a21865 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Mon, 9 Oct 2006 00:35:30 +0200 Subject: Add support for EP82xxM boards Patch by Aaron Sells, 20 Jun 2006 --- CHANGELOG | 3 +++ CREDITS | 4 ++++ MAKEALL | 12 ++++++------ Makefile | 3 +++ 4 files changed, 16 insertions(+), 6 deletions(-) (limited to 'Makefile') diff --git a/CHANGELOG b/CHANGELOG index 31233b78920..e12d767276e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,9 @@ Changes since U-Boot 1.1.4: ====================================================================== +* Add support for EP82xxM boards + Patch by Aaron Sells, 20 Jun 2006 + * Fix comments in include/ppc440.h Patch by Martin Hicks, 16 Jun 2006 diff --git a/CREDITS b/CREDITS index 32d3060c3fe..3f7b5105561 100644 --- a/CREDITS +++ b/CREDITS @@ -386,6 +386,10 @@ N: Robert Schwebel E: r.schwebel@pengutronix.de D: Support for csb226, logodl and innokom boards (PXA2xx) +N: Aaron Sells +E: sellsa@embeddedplanet.com +D: Support for EP82xxM + N: Art Shipkowski E: art@videon-central.com D: Support for NetSilicon NS7520 diff --git a/MAKEALL b/MAKEALL index 2a334ffbf93..e9c04a67465 100755 --- a/MAKEALL +++ b/MAKEALL @@ -117,12 +117,12 @@ LIST_824x=" \ LIST_8260=" \ atc cogent_mpc8260 CPU86 CPU87 \ - ep8248 ep8260 gw8260 hymod \ - IPHASE4539 ISPAN MPC8260ADS MPC8266ADS \ - MPC8272ADS PM826 PM828 ppmc8260 \ - Rattler8248 RPXsuper rsdproto sacsng \ - sbc8260 SCM TQM8260_AC TQM8260_AD \ - TQM8260_AE ZPC1900 \ + ep8248 ep8260 ep82xxm gw8260 \ + hymod IPHASE4539 ISPAN MPC8260ADS \ + MPC8266ADS MPC8272ADS PM826 PM828 \ + ppmc8260 Rattler8248 RPXsuper rsdproto \ + sacsng sbc8260 SCM TQM8260_AC \ + TQM8260_AD TQM8260_AE ZPC1900 \ " ######################################################################### diff --git a/Makefile b/Makefile index f48ca6cebb5..8ef0097a4d2 100644 --- a/Makefile +++ b/Makefile @@ -1332,6 +1332,9 @@ ep8248E_config : unconfig ep8260_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8260 ep8260 +ep82xxm_config: unconfig + @./mkconfig $(@:_config=) ppc mpc8260 ep82xxm + gw8260_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8260 gw8260 -- cgit v1.3.1 From 4707fb50cc9f815996be5f2e5a8660de852b2c37 Mon Sep 17 00:00:00 2001 From: Bartlomiej Sieka Date: Fri, 13 Oct 2006 21:09:09 +0200 Subject: Preliminary patch adding support for the MarelV38B board. --- MAKEALL | 2 +- Makefile | 3 + board/v38b/Makefile | 50 +++++++ board/v38b/config.mk | 32 +++++ board/v38b/ethaddr.c | 254 ++++++++++++++++++++++++++++++++++ board/v38b/u-boot.lds | 122 ++++++++++++++++ board/v38b/v38b.c | 253 ++++++++++++++++++++++++++++++++++ cpu/mpc5xxx/fec.c | 2 +- include/common.h | 3 +- include/configs/V38B.h | 368 +++++++++++++++++++++++++++++++++++++++++++++++++ include/status_led.h | 9 ++ lib_ppc/board.c | 7 +- 12 files changed, 1100 insertions(+), 5 deletions(-) create mode 100644 board/v38b/Makefile create mode 100644 board/v38b/config.mk create mode 100644 board/v38b/ethaddr.c create mode 100644 board/v38b/u-boot.lds create mode 100644 board/v38b/v38b.c create mode 100644 include/configs/V38B.h (limited to 'Makefile') diff --git a/MAKEALL b/MAKEALL index 2a334ffbf93..f761467ae6e 100755 --- a/MAKEALL +++ b/MAKEALL @@ -39,7 +39,7 @@ LIST_5xxx=" \ icecube_5100 icecube_5200 lite5200b mcc200 \ o2dnt pf5200 PM520 TB5200 \ Total5100 Total5200 Total5200_Rev2 TQM5200 \ - TQM5200_B TQM5200S \ + TQM5200_B TQM5200S v38b \ " ######################################################################### diff --git a/Makefile b/Makefile index ccf7f9f88fc..3924f6559a7 100644 --- a/Makefile +++ b/Makefile @@ -400,6 +400,9 @@ icecube_5100_config: unconfig } @$(MKCONFIG) -a IceCube ppc mpc5xxx icecube +v38b_config: unconfig + @./mkconfig -a V38B ppc mpc5xxx v38b + inka4x0_config: unconfig @$(MKCONFIG) inka4x0 ppc mpc5xxx inka4x0 diff --git a/board/v38b/Makefile b/board/v38b/Makefile new file mode 100644 index 00000000000..304deaa4f21 --- /dev/null +++ b/board/v38b/Makefile @@ -0,0 +1,50 @@ +# +# (C) Copyright 2003-2006 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).a + +COBJS := $(BOARD).o ethaddr.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(COBJS)) +SOBJS := $(addprefix $(obj),$(SOBJS)) + +$(LIB): $(obj).depend $(OBJS) + $(AR) crv $@ $(OBJS) + +clean: + rm -f $(SOBJS) $(OBJS) + +distclean: clean + rm -f $(LIB) core *.bak .depend + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/board/v38b/config.mk b/board/v38b/config.mk new file mode 100644 index 00000000000..75577fcbec7 --- /dev/null +++ b/board/v38b/config.mk @@ -0,0 +1,32 @@ +# +# (C) Copyright 2003-2006 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +# +# MarelV38B board +# + +sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp + +TEXT_BASE = 0xFF000000 + +PLATFORM_CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE) -I$(TOPDIR)/board diff --git a/board/v38b/ethaddr.c b/board/v38b/ethaddr.c new file mode 100644 index 00000000000..105608051c7 --- /dev/null +++ b/board/v38b/ethaddr.c @@ -0,0 +1,254 @@ +/* + * + * (C) Copyright 2006 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include +#include + +#define GPIO_ENABLE (MPC5XXX_WU_GPIO) + +/* Open Drain Emulation Register */ +#define GPIO_ODR (MPC5XXX_WU_GPIO + 0x04) + +/* Data Direction Register */ +#define GPIO_DDR (MPC5XXX_WU_GPIO + 0x08) + +/* Data Value Out Register */ +#define GPIO_DVOR (MPC5XXX_WU_GPIO + 0x0C) + +/* Interrupt Enable Register */ +#define GPIO_IER (MPC5XXX_WU_GPIO + 0x10) + +/* Individual Interrupt Enable Register */ +#define GPIO_IIER (MPC5XXX_WU_GPIO + 0x14) + +/* Interrupt Type Register */ +#define GPIO_ITR (MPC5XXX_WU_GPIO + 0x18) + +/* Master Enable Register */ +#define GPIO_MER (MPC5XXX_WU_GPIO + 0x1C) + +/* Data Input Value Register */ +#define GPIO_DIVR (MPC5XXX_WU_GPIO + 0x20) + +/* Status Register */ +#define GPIO_SR (MPC5XXX_WU_GPIO + 0x24) + +#define PSC6_0 0x10000000 +#define WKUP_7 0x80000000 + +/* For NS4 A/B board define WKUP_7, for V38B board PSC_6 */ +#define GPIO_PIN PSC6_0 + +#define NO_ERROR 0 +#define ERR_NO_NUMBER 1 +#define ERR_BAD_NUMBER 2 + +typedef volatile unsigned long GPIO_REG; +typedef GPIO_REG *GPIO_REG_PTR; + +static int is_high(void); +static int check_device(void); +static void io_out(int value); +static void io_input(void); +static void io_output(void); +static void init_gpio(void); +static void read_byte(unsigned char *data); +static void write_byte(unsigned char command); + +void read_2501_memory(unsigned char *psernum, unsigned char *perr); +void board_get_enetaddr(uchar *enetaddr); + +static int is_high() +{ + return (* ((vu_long *) GPIO_DIVR) & GPIO_PIN); +} + +static void io_out(int value) +{ + if (value) + *((vu_long *) GPIO_DVOR) |= GPIO_PIN; + else + *((vu_long *) GPIO_DVOR) &= ~GPIO_PIN; +} + +static void io_input() +{ + *((vu_long *) GPIO_DDR) &= ~GPIO_PIN; + udelay(3); /* allow input to settle */ +} + +static void io_output() +{ + *((vu_long *) GPIO_DDR) |= GPIO_PIN; +} + +static void init_gpio() +{ + *((vu_long *) GPIO_ENABLE) |= GPIO_PIN; /* Enable appropriate pin */ +} + +void read_2501_memory(unsigned char *psernum, unsigned char *perr) +{ +#define NBYTES 28 + unsigned char crcval, i; + unsigned char buf[NBYTES]; + + *perr = 0; + crcval = 0; + + for (i=0; i> 1; + } +} + +static void read_byte(unsigned char *data) +{ + unsigned char i, rdat = 0; + + for (i=0; i<8; i++) { + /* read one bit from one-wire device */ + + /* 1 - 15 us low starts bit slot */ + io_out(0); + io_output(); + udelay(0); + + /* allow line to be pulled high */ + io_input(); + + /* delay 10 us */ + udelay(10); + + /* now sample input status */ + if (is_high()) + rdat = (rdat >> 1) | 0x80; + else + rdat = rdat >> 1; + + udelay(60); /* at least 60 us */ + } + /* copy the return value */ + *data = rdat; +} + +void board_get_enetaddr(uchar *enetaddr) +{ + unsigned char sn[6], err=NO_ERROR; + + init_gpio(); + + read_2501_memory(sn, &err); + + if (err == NO_ERROR) { + sprintf(enetaddr, "%02x:%02x:%02x:%02x:%02x:%02x", + sn[0], sn[1], sn[2], sn[3], sn[4], sn[5]); + printf("MAC address: %s\n", enetaddr); + setenv("ethaddr", enetaddr); + } + else { + sprintf(enetaddr, "00:01:02:03:04:05"); + printf("Error reading MAC address.\n"); + printf("Setting default to %s\n", enetaddr); + setenv("ethaddr", enetaddr); + } +} diff --git a/board/v38b/u-boot.lds b/board/v38b/u-boot.lds new file mode 100644 index 00000000000..6ec525691a1 --- /dev/null +++ b/board/v38b/u-boot.lds @@ -0,0 +1,122 @@ +/* + * (C) Copyright 2003-2006 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +OUTPUT_ARCH(powerpc) +SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/powerpc-any-elf/lib); +/* Do we need any of these for elf? + __DYNAMIC = 0; */ +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + . = + SIZEOF_HEADERS; + .interp : { *(.interp) } + .hash : { *(.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .rel.text : { *(.rel.text) } + .rela.text : { *(.rela.text) } + .rel.data : { *(.rel.data) } + .rela.data : { *(.rela.data) } + .rel.rodata : { *(.rel.rodata) } + .rela.rodata : { *(.rela.rodata) } + .rel.got : { *(.rel.got) } + .rela.got : { *(.rela.got) } + .rel.ctors : { *(.rel.ctors) } + .rela.ctors : { *(.rela.ctors) } + .rel.dtors : { *(.rel.dtors) } + .rela.dtors : { *(.rela.dtors) } + .rel.bss : { *(.rel.bss) } + .rela.bss : { *(.rela.bss) } + .rel.plt : { *(.rel.plt) } + .rela.plt : { *(.rela.plt) } + .init : { *(.init) } + .plt : { *(.plt) } + .text : + { + cpu/mpc5xxx/start.o (.text) + *(.text) + *(.fixup) + *(.got1) + . = ALIGN(16); + *(.rodata) + *(.rodata1) + *(.rodata.str1.4) + } + .fini : { *(.fini) } =0 + .ctors : { *(.ctors) } + .dtors : { *(.dtors) } + + /* Read-write section, merged into data segment: */ + . = (. + 0x0FFF) & 0xFFFFF000; + _erotext = .; + PROVIDE (erotext = .); + .reloc : + { + *(.got) + _GOT2_TABLE_ = .; + *(.got2) + _FIXUP_TABLE_ = .; + *(.fixup) + } + __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2; + __fixup_entries = (. - _FIXUP_TABLE_) >> 2; + + .data : + { + *(.data) + *(.data1) + *(.sdata) + *(.sdata2) + *(.dynamic) + CONSTRUCTORS + } + _edata = .; + PROVIDE (edata = .); + + __u_boot_cmd_start = .; + .u_boot_cmd : { *(.u_boot_cmd) } + __u_boot_cmd_end = .; + + + __start___ex_table = .; + __ex_table : { *(__ex_table) } + __stop___ex_table = .; + + . = ALIGN(4096); + __init_begin = .; + .text.init : { *(.text.init) } + .data.init : { *(.data.init) } + . = ALIGN(4096); + __init_end = .; + + __bss_start = .; + .bss : + { + *(.sbss) *(.scommon) + *(.dynbss) + *(.bss) + *(COMMON) + } + _end = . ; + PROVIDE (end = .); +} diff --git a/board/v38b/v38b.c b/board/v38b/v38b.c new file mode 100644 index 00000000000..c56c6c84d27 --- /dev/null +++ b/board/v38b/v38b.c @@ -0,0 +1,253 @@ +/* + * (C) Copyright 2003-2006 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * + * (C) Copyright 2004 + * Mark Jonas, Freescale Semiconductor, mark.jonas@motorola.com. + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include +#include +#include + +#ifndef CFG_RAMBOOT +static void sdram_start(int hi_addr) +{ + long hi_addr_bit = hi_addr ? 0x01000000 : 0; + + /* unlock mode register */ + *(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | 0x80000000 | hi_addr_bit; + __asm__ volatile ("sync"); + + /* precharge all banks */ + *(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | 0x80000002 | hi_addr_bit; + __asm__ volatile ("sync"); + +#if SDRAM_DDR + /* set mode register: extended mode */ + *(vu_long *)MPC5XXX_SDRAM_MODE = SDRAM_EMODE; + __asm__ volatile ("sync"); + + /* set mode register: reset DLL */ + *(vu_long *)MPC5XXX_SDRAM_MODE = SDRAM_MODE | 0x04000000; + __asm__ volatile ("sync"); +#endif /* SDRAM_DDR */ + + /* precharge all banks */ + *(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | 0x80000002 | hi_addr_bit; + __asm__ volatile ("sync"); + + /* auto refresh */ + *(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | 0x80000004 | hi_addr_bit; + __asm__ volatile ("sync"); + + /* set mode register */ + *(vu_long *)MPC5XXX_SDRAM_MODE = SDRAM_MODE; + __asm__ volatile ("sync"); + + /* normal operation */ + *(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | hi_addr_bit; + __asm__ volatile ("sync"); +} +#endif /* !CFG_RAMBOOT */ + + +long int initdram(int board_type) +{ + ulong dramsize = 0; + ulong dramsize2 = 0; + uint svr, pvr; + +#ifndef CFG_RAMBOOT + ulong test1, test2; + + /* setup SDRAM chip selects */ + *(vu_long *)MPC5XXX_SDRAM_CS0CFG = 0x0000001e; /* 2G at 0x0 */ + *(vu_long *)MPC5XXX_SDRAM_CS1CFG = 0x80000000; /* disabled */ + __asm__ volatile ("sync"); + + /* setup config registers */ + *(vu_long *)MPC5XXX_SDRAM_CONFIG1 = SDRAM_CONFIG1; + *(vu_long *)MPC5XXX_SDRAM_CONFIG2 = SDRAM_CONFIG2; + __asm__ volatile ("sync"); + +#if SDRAM_DDR + /* set tap delay */ + *(vu_long *)MPC5XXX_CDM_PORCFG = SDRAM_TAPDELAY; + __asm__ volatile ("sync"); +#endif /* SDRAM_DDR */ + + /* find RAM size using SDRAM CS0 only */ + sdram_start(0); + test1 = get_ram_size((long *)CFG_SDRAM_BASE, 0x80000000); + sdram_start(1); + test2 = get_ram_size((long *)CFG_SDRAM_BASE, 0x80000000); + if (test1 > test2) { + sdram_start(0); + dramsize = test1; + } else + dramsize = test2; + + /* memory smaller than 1MB is impossible */ + if (dramsize < (1 << 20)) + dramsize = 0; + + /* set SDRAM CS0 size according to the amount of RAM found */ + if (dramsize > 0) + *(vu_long *)MPC5XXX_SDRAM_CS0CFG = 0x13 + __builtin_ffs(dramsize >> 20) - 1; + else + *(vu_long *)MPC5XXX_SDRAM_CS0CFG = 0; /* disabled */ + + /* let SDRAM CS1 start right after CS0 */ + *(vu_long *)MPC5XXX_SDRAM_CS1CFG = dramsize + 0x0000001e;/* 2G */ + + /* find RAM size using SDRAM CS1 only */ + if (!dramsize) + sdram_start(0); + test2 = test1 = get_ram_size((long *)(CFG_SDRAM_BASE + dramsize), 0x80000000); + if (!dramsize) { + sdram_start(1); + test2 = get_ram_size((long *)(CFG_SDRAM_BASE + dramsize), 0x80000000); + } + if (test1 > test2) { + sdram_start(0); + dramsize2 = test1; + } else + dramsize2 = test2; + + /* memory smaller than 1MB is impossible */ + if (dramsize2 < (1 << 20)) + dramsize2 = 0; + + /* set SDRAM CS1 size according to the amount of RAM found */ + if (dramsize2 > 0) + *(vu_long *)MPC5XXX_SDRAM_CS1CFG = dramsize + | (0x13 + __builtin_ffs(dramsize2 >> 20) - 1); + else + *(vu_long *)MPC5XXX_SDRAM_CS1CFG = dramsize; /* disabled */ + +#else /* CFG_RAMBOOT */ + + /* retrieve size of memory connected to SDRAM CS0 */ + dramsize = *(vu_long *)MPC5XXX_SDRAM_CS0CFG & 0xFF; + if (dramsize >= 0x13) + dramsize = (1 << (dramsize - 0x13)) << 20; + else + dramsize = 0; + + /* retrieve size of memory connected to SDRAM CS1 */ + dramsize2 = *(vu_long *)MPC5XXX_SDRAM_CS1CFG & 0xFF; + if (dramsize2 >= 0x13) + dramsize2 = (1 << (dramsize2 - 0x13)) << 20; + else + dramsize2 = 0; + +#endif /* CFG_RAMBOOT */ + + /* + * On MPC5200B we need to set the special configuration delay in the + * DDR controller. Please refer to Freescale's AN3221 "MPC5200B SDRAM + * Initialization and Configuration", 3.3.1 SDelay--MBAR + 0x0190: + * + * "The SDelay should be written to a value of 0x00000004. It is + * required to account for changes caused by normal wafer processing + * parameters." + */ + svr = get_svr(); + pvr = get_pvr(); + if ((SVR_MJREV(svr) >= 2) && + (PVR_MAJ(pvr) == 1) && (PVR_MIN(pvr) == 4)) { + + *(vu_long *)MPC5XXX_SDRAM_SDELAY = 0x04; + __asm__ volatile ("sync"); + } + + return dramsize + dramsize2; +} + + +int checkboard (void) +{ + puts("Board: MarelV38B\n"); + return 0; +} + + +int board_early_init_r(void) +{ + /* + * Now, when we are in RAM, enable flash write access for detection process. + * Note that CS_BOOT cannot be cleared when executing in flash. + */ + *(vu_long *)MPC5XXX_BOOTCS_CFG &= ~0x1; /* clear RO */ + return 0; +} + + +#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) + +#define GPIO_PSC1_4 0x01000000UL + +void init_ide_reset(void) +{ + debug("init_ide_reset\n"); + + /* Configure PSC1_4 as GPIO output for ATA reset */ + *(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_PSC1_4; + *(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_PSC1_4; + /* Deassert reset */ + *(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4; +} + + +void ide_set_reset(int idereset) +{ + debug("ide_reset(%d)\n", idereset); + + if (idereset) { + *(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4; + /* Make a delay. MPC5200 spec says 25 usec min */ + udelay(500000); + } else + *(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4; +} +#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */ + + +void led_d4_on(void) +{ + /* TIMER7 as GPIO output low */ + *(vu_long *) (MPC5XXX_GPT + 0x70) |= 0x24; +} + + +void led_d4_off(void) +{ + /* TIMER7 as GPIO output high */ + *(vu_long *) (MPC5XXX_GPT + 0x70) |= 0x34; +} + + +void hw_watchdog_reset(void) +{ +/* TODO fill this in */ +} + diff --git a/cpu/mpc5xxx/fec.c b/cpu/mpc5xxx/fec.c index 19737ce868d..37fe3e7153f 100644 --- a/cpu/mpc5xxx/fec.c +++ b/cpu/mpc5xxx/fec.c @@ -882,7 +882,7 @@ int mpc5xxx_fec_initialize(bd_t * bis) defined(CONFIG_ICECUBE) || defined(CONFIG_INKA4X0) || \ defined(CONFIG_MCC200) || defined(CONFIG_O2DNT) || \ defined(CONFIG_PM520) || defined(CONFIG_TOP5200) || \ - defined(CONFIG_TQM5200) + defined(CONFIG_TQM5200) || defined(CONFIG_V38B) # ifndef CONFIG_FEC_10MBIT fec->xcv_type = MII100; # else diff --git a/include/common.h b/include/common.h index bee2fb70224..e296e684a0d 100644 --- a/include/common.h +++ b/include/common.h @@ -313,7 +313,8 @@ void board_ether_init (void); #if defined(CONFIG_RPXCLASSIC) || defined(CONFIG_MBX) || \ defined(CONFIG_IAD210) || defined(CONFIG_XPEDITE1K) || \ - defined(CONFIG_METROBOX) || defined(CONFIG_KAREF) + defined(CONFIG_METROBOX) || defined(CONFIG_KAREF) || \ + defined(CONFIG_V38B) void board_get_enetaddr (uchar *addr); #endif diff --git a/include/configs/V38B.h b/include/configs/V38B.h new file mode 100644 index 00000000000..9b8fc699a90 --- /dev/null +++ b/include/configs/V38B.h @@ -0,0 +1,368 @@ +/* + * (C) Copyright 2003-2004 Wolfgang Denk, DENX Software Engineering, + * wd@denx.de. + * + * See file CREDITS for list of people who contributed to this project. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., 59 + * Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#if 0 +#define DEBUG 0xFFF +#endif + +#if 0 +#define DEBUG 0x01 +#endif + +/* + * High Level Configuration Options + * (easy to change) +*/ + +#define CONFIG_MPC5xxx 1 /* This is an MPC5xxx CPU */ +#define CONFIG_MPC5200 1 /* This is an MPC5200 CPU */ +#define CONFIG_V38B 1 /* ... on V38B board */ +#define CFG_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */ + +#define CONFIG_RTC_PCF8563 1 /* has PCF8563 RTC */ +#define CONFIG_MPC5200_DDR 1 /* has DDR SDRAM */ +#define CONFIG_HW_WATCHDOG 1 /* has watchdog */ + +#define CONFIG_NETCONSOLE 1 + +#define CONFIG_BOARD_EARLY_INIT_R 1 /* make flash read/write */ + +#define CFG_XLB_PIPELINING 1 /* gives better performance */ + + +#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */ +#define BOOTFLAG_WARM 0x02 /* Software reboot */ + +#define CFG_CACHELINE_SIZE 32 /* For MPC5xxx CPUs */ +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +# define CFG_CACHELINE_SHIFT 5 /* log base 2 of the above value */ +#endif + +/* + * Serial console configuration + */ +#define CONFIG_PSC_CONSOLE 1 /* console is on PSC1 */ +#define CONFIG_BAUDRATE 115200 /* ... at 115200 bps */ +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 } + + +/* + * DDR + */ +#define SDRAM_DDR 1 /* is DDR */ +/* Settings for XLB = 132 MHz */ +#define SDRAM_MODE 0x018D0000 +#define SDRAM_EMODE 0x40090000 +#define SDRAM_CONTROL 0x704f0f00 +#define SDRAM_CONFIG1 0x73722930 +#define SDRAM_CONFIG2 0x47770000 +#define SDRAM_TAPDELAY 0x10000000 + + +/* + * PCI - no suport + */ +#undef CONFIG_PCI + +/* + * Partitions + */ +#define CONFIG_MAC_PARTITION 1 +#define CONFIG_DOS_PARTITION 1 + +/* + * USB + */ +#define CONFIG_USB_OHCI +#define CONFIG_USB_STORAGE + +#define CONFIG_TIMESTAMP /* Print image info with timestamp */ + +/* + * Supported commands + */ +#define CONFIG_COMMANDS (CONFIG_CMD_DFL | \ + CFG_CMD_FAT | \ + CFG_CMD_I2C | \ + CFG_CMD_IDE | \ + CFG_CMD_PING | \ + CFG_CMD_DHCP | \ + CFG_CMD_DIAG | \ + CFG_CMD_IRQ | \ + CFG_CMD_JFFS2 | \ + CFG_CMD_MII | \ + CFG_CMD_SDRAMi | \ + CFG_CMD_DATE | \ + CFG_CMD_USB | \ + CFG_CMD_FAT) + +/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ +#include + +/* + * Boot low with 16 MB Flash + */ +# define CFG_LOWBOOT 1 +# define CFG_LOWBOOT16 1 + +/* + * Autobooting + */ +#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */ + +#define CONFIG_PREBOOT "echo;" \ + "echo Type \"run flash_nfs\" to mount root filesystem over NFS;" \ + "echo" + +#undef CONFIG_BOOTARGS + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "netdev=eth0\0" \ + "devno=5\0" \ + "hostname=V38B_$(devno)\0" \ + "ipaddr=10.100.99.$(devno)\0" \ + "netmask=255.255.0.0\0" \ + "serverip=10.100.10.90\0" \ + "gatewayip=10.100.254.254\0" \ + "ramargs=setenv bootargs root=/dev/ram rw\0" \ + "rootpath=/opt/eldk/ppc_6xx\0" \ + "bootfile=mpc5200/uImage\0" \ + "bootcmd=run net_nfs\0" \ + "addip=setenv bootargs $(bootargs) " \ + "ip=$(ipaddr):$(serverip):$(gatewayip):" \ + "$(netmask):$(hostname):$(netdev):off panic=1\0" \ + "flash_nfs=run nfsargs addip;bootm $(kernel_addr)\0" \ + "flash_self=run ramargs addip;bootm $(kernel_addr) " \ + "$(ramdisk_addr)\0" \ + "net_nfs=tftp 200000 $(bootfile);run nfsargs " \ + "addip;bootm\0" \ + "nfsargs=setenv bootargs root=/dev/nfs rw " \ + "nfsroot=$(serverip):$(rootpath)\0" \ + "" + +#define CONFIG_BOOTCOMMAND "run net_nfs" + +#if defined(CONFIG_MPC5200) +/* + * IPB Bus clocking configuration. + */ +#undef CFG_IPBSPEED_133 /* define for 133MHz speed */ +#endif +/* + * I2C configuration + */ +#define CONFIG_HARD_I2C 1 /* I2C with hardware support */ +#define CFG_I2C_MODULE 2 /* Select I2C module #1 or #2 */ + +#define CFG_I2C_SPEED 100000 /* 100 kHz */ +#define CFG_I2C_SLAVE 0x7F + +/* + * EEPROM configuration + */ +#define CFG_I2C_EEPROM_ADDR 0x50 /* 1010000x */ +#define CFG_I2C_EEPROM_ADDR_LEN 1 +#define CFG_EEPROM_PAGE_WRITE_BITS 3 +#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 70 + +/* + * RTC configuration + */ +#define CFG_I2C_RTC_ADDR 0x51 + +/* + * Flash configuration - use CFI driver + */ +#define CFG_FLASH_CFI 1 /* Flash is CFI conformant */ +#define CFG_FLASH_CFI_DRIVER 1 /* Use the common driver */ +#define CFG_FLASH_CFI_AMD_RESET 1 +#define CFG_FLASH_BASE 0xFF000000 +#define CFG_MAX_FLASH_BANKS 1 /* max num of flash banks */ +#define CFG_FLASH_BANKS_LIST { CFG_FLASH_BASE } +#define CFG_FLASH_SIZE 0x01000000 /* 16 MiB */ +#define CFG_MAX_FLASH_SECT 256 /* max num of sects on one chip */ +#define CFG_FLASH_USE_BUFFER_WRITE 1 /* flash write speed-up */ + +/* + * Environment settings + */ +#define CFG_ENV_IS_IN_FLASH 1 +#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x00040000) +#define CFG_ENV_SIZE 0x10000 +#define CFG_ENV_SECT_SIZE 0x10000 +#define CONFIG_ENV_OVERWRITE 1 + +/* + * Memory map + */ +#define CFG_MBAR 0xF0000000 +#define CFG_SDRAM_BASE 0x00000000 +#define CFG_DEFAULT_MBAR 0x80000000 + +/* Use SRAM until RAM will be available */ +#define CFG_INIT_RAM_ADDR MPC5XXX_SRAM +#define CFG_INIT_RAM_END MPC5XXX_SRAM_SIZE /* End of used area in DPRAM */ + + +#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ +#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) +#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET + +#define CFG_MONITOR_BASE TEXT_BASE +#if (CFG_MONITOR_BASE < CFG_FLASH_BASE) +# define CFG_RAMBOOT 1 +#endif + +#define CFG_MONITOR_LEN (192 << 10) /* Reserve 192 kB for Monitor */ +#define CFG_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */ +#define CFG_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ + +/* + * Ethernet configuration + */ +#define CONFIG_MPC5xxx_FEC 1 +#define CONFIG_PHY_ADDR 0x00 +#define CONFIG_MII 1 + +/* + * GPIO configuration + */ +#define CFG_GPS_PORT_CONFIG 0x90000404 + +/* + * Miscellaneous configurable options + */ +#define CFG_LONGHELP /* undef to save memory */ +#define CFG_PROMPT "=> " /* Monitor Command Prompt */ +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ +#else +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#endif +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ + +#define CFG_MEMTEST_START 0x00100000 /* memtest works on */ +#define CFG_MEMTEST_END 0x00f00000 /* 1 ... 15 MB in DRAM */ + +#define CFG_LOAD_ADDR 0x100000 /* default load address */ + +#define CFG_HZ 1000 /* decrementer freq: 1 ms ticks */ + +/* + * Various low-level settings + */ +#if defined(CONFIG_MPC5200) +#define CFG_HID0_INIT HID0_ICE | HID0_ICFI +#define CFG_HID0_FINAL HID0_ICE +#else +#define CFG_HID0_INIT 0 +#define CFG_HID0_FINAL 0 +#endif + + +#define CFG_BOOTCS_START CFG_FLASH_BASE +#define CFG_BOOTCS_SIZE CFG_FLASH_SIZE +#define CFG_BOOTCS_CFG 0x00047801 +#define CFG_CS0_START CFG_FLASH_BASE +#define CFG_CS0_SIZE CFG_FLASH_SIZE + +#define CFG_CS_BURST 0x00000000 +#define CFG_CS_DEADCYCLE 0x33333333 + +#define CFG_RESET_ADDRESS 0xff000000 + +/*----------------------------------------------------------------------- + * USB stuff + *----------------------------------------------------------------------- + */ +#define CONFIG_USB_CLOCK 0x0001BBBB +#define CONFIG_USB_CONFIG 0x00001000 + + +/*----------------------------------------------------------------------- + * IDE/ATA stuff Supports IDE harddisk + *----------------------------------------------------------------------- + */ + +#undef CONFIG_IDE_8xx_PCCARD /* Don't use IDE with PC Card Adapter */ + +#undef CONFIG_IDE_8xx_DIRECT /* Direct IDE not supported */ +#undef CONFIG_IDE_LED /* LED for ide not supported */ + +#define CONFIG_IDE_RESET /* reset for ide supported */ +#define CONFIG_IDE_PREINIT + +#define CFG_IDE_MAXBUS 1 /* max. 1 IDE bus */ +#define CFG_IDE_MAXDEVICE 1 /* max. 1 drive per IDE bus */ + +#define CFG_ATA_IDE0_OFFSET 0x0000 + +#define CFG_ATA_BASE_ADDR MPC5XXX_ATA + +/* Offset for data I/O */ +#define CFG_ATA_DATA_OFFSET (0x0060) + +/* Offset for normal register accesses */ +#define CFG_ATA_REG_OFFSET (CFG_ATA_DATA_OFFSET) + +/* Offset for alternate registers */ +#define CFG_ATA_ALT_OFFSET (0x005C) + +/* Interval between registers */ +#define CFG_ATA_STRIDE 4 + +/* Status LED */ + +#define CONFIG_STATUS_LED /* Status LED enabled */ +#define CONFIG_BOARD_SPECIFIC_LED /* version has board specific leds */ + +#define CFG_LED_BASE (0xf0000600 + 0x70) /* Timer 7 GPIO */ + +#ifndef __ASSEMBLY__ +/* LEDs */ +typedef unsigned int led_id_t; + +#define __led_toggle(_msk) \ + do { \ + *((volatile long *) (CFG_LED_BASE)) ^= (_msk); \ + } while(0) + +#define __led_set(_msk, _st) \ + do { \ + if ((_st)) \ + *((volatile long *) (CFG_LED_BASE)) &= ~(_msk); \ + else \ + *((volatile long *) (CFG_LED_BASE)) |= (_msk); \ + } while(0) + +#define __led_init(_msk, st) \ + { \ + *((volatile long *) (CFG_LED_BASE)) |= 0x34; \ + } + +#endif + +#endif /* __CONFIG_H */ diff --git a/include/status_led.h b/include/status_led.h index a56883b9a5e..db4c60fe3f3 100644 --- a/include/status_led.h +++ b/include/status_led.h @@ -346,6 +346,15 @@ void status_led_set (int led, int state); #elif defined(CONFIG_NIOS2) /* XXX empty just to avoid the error */ /************************************************************************/ +#elif defined(CONFIG_V38B) + +# define STATUS_LED_BIT 0x0010 /* Timer7 GPIO */ +# define STATUS_LED_PERIOD (CFG_HZ / 2) +# define STATUS_LED_STATE STATUS_LED_BLINKING + +# define STATUS_LED_ACTIVE 0 /* LED on for bit == 0 */ +# define STATUS_LED_BOOT 0 /* LED 0 used for boot status */ + #else # error Status LED configuration missing #endif diff --git a/lib_ppc/board.c b/lib_ppc/board.c index cf0e3fdf4b6..3e401bead02 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -1,5 +1,5 @@ /* - * (C) Copyright 2000-2004 + * (C) Copyright 2000-2006 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. * * See file CREDITS for list of people who contributed to this @@ -805,7 +805,10 @@ void board_init_r (gd_t *id, ulong dest_addr) #endif /* CFG_EXTBDINFO */ s = getenv ("ethaddr"); -#if defined (CONFIG_MBX) || defined (CONFIG_RPXCLASSIC) || defined(CONFIG_IAD210) +#if defined (CONFIG_MBX) || \ + defined (CONFIG_RPXCLASSIC) || \ + defined(CONFIG_IAD210) || \ + defined(CONFIG_V38B) if (s == NULL) board_get_enetaddr (bd->bi_enetaddr); else -- cgit v1.3.1 From ba999c531ed16ec749b2b6f4b0133cee38842b91 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Fri, 20 Oct 2006 17:54:33 +0200 Subject: Cleanup compile warnings. Prepare for release 1.1.5 --- CHANGELOG | 4 +++- Makefile | 2 +- board/ep82xxm/ep82xxm.c | 2 -- common/miiphybb.c | 6 +++--- cpu/ppc4xx/cpu.c | 6 +++--- 5 files changed, 10 insertions(+), 10 deletions(-) (limited to 'Makefile') diff --git a/CHANGELOG b/CHANGELOG index 6983b689314..727a7b691d5 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,7 +1,9 @@ ====================================================================== -Changes since U-Boot 1.1.4: +Changes for U-Boot 1.1.5: ====================================================================== +* Cleanup compile warnings. Prepare for release 1.1.5 + * Fix compile problem in include/configs/ep82xxm.h (must have never been tested before!) diff --git a/Makefile b/Makefile index 37769d40cc5..92034947962 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ VERSION = 1 PATCHLEVEL = 1 -SUBLEVEL = 4 +SUBLEVEL = 5 EXTRAVERSION = U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) VERSION_FILE = $(obj)include/version_autogenerated.h diff --git a/board/ep82xxm/ep82xxm.c b/board/ep82xxm/ep82xxm.c index 35e644df8c3..fe3f78e7380 100644 --- a/board/ep82xxm/ep82xxm.c +++ b/board/ep82xxm/ep82xxm.c @@ -227,8 +227,6 @@ long int initdram(int board_type) #ifndef CFG_RAMBOOT volatile immap_t *immap = (immap_t *)CFG_IMMR; volatile memctl8260_t *memctl = &immap->im_memctl; - vu_char *ramaddr = (vu_char *)CFG_SDRAM_BASE; - uchar c = 0xFF; uint psdmr = CFG_PSDMR; int i; diff --git a/common/miiphybb.c b/common/miiphybb.c index adb697ca6bd..537c15d29b8 100644 --- a/common/miiphybb.c +++ b/common/miiphybb.c @@ -41,7 +41,7 @@ static void miiphy_pre (char read, unsigned char addr, unsigned char reg) { int j; /* counter */ -#ifndef CONFIG_EP8248 +#if !(defined(CONFIG_EP8248) || defined(CONFIG_EP82XXM)) volatile ioport_t *iop = ioport_addr ((immap_t *) CFG_IMMR, MDIO_PORT); #endif @@ -126,7 +126,7 @@ int bb_miiphy_read (char *devname, unsigned char addr, { short rdreg; /* register working value */ int j; /* counter */ -#ifndef CONFIG_EP8248 +#if !(defined(CONFIG_EP8248) || defined(CONFIG_EP82XXM)) volatile ioport_t *iop = ioport_addr ((immap_t *) CFG_IMMR, MDIO_PORT); #endif @@ -193,7 +193,7 @@ int bb_miiphy_write (char *devname, unsigned char addr, unsigned char reg, unsigned short value) { int j; /* counter */ -#ifndef CONFIG_EP8248 +#if !(defined(CONFIG_EP8248) || defined(CONFIG_EP82XXM)) volatile ioport_t *iop = ioport_addr ((immap_t *) CFG_IMMR, MDIO_PORT); #endif diff --git a/cpu/ppc4xx/cpu.c b/cpu/ppc4xx/cpu.c index 6badfb1b249..f4a7208c8f3 100644 --- a/cpu/ppc4xx/cpu.c +++ b/cpu/ppc4xx/cpu.c @@ -190,9 +190,9 @@ int checkcpu (void) uint pvr = get_pvr(); ulong clock = gd->cpu_clk; char buf[32]; - char addstr[64] = ""; #if !defined(CONFIG_IOP480) + char addstr[64] = ""; sys_info_t sys_info; puts ("CPU: "); @@ -362,8 +362,8 @@ int checkcpu (void) #if defined(SDR0_PINSTP_SHIFT) printf (" Bootstrap Option %c - ", (char)bootstrap_option() + 'A'); printf ("Boot ROM Location %s\n", bootstrap_str[bootstrap_option()]); -#endif -#endif +#endif /* SDR0_PINSTP_SHIFT */ +#endif /* I2C_BOOTROM */ #if defined(CONFIG_PCI) printf (" Internal PCI arbiter %sabled", pci_arbiter_enabled() ? "en" : "dis"); -- cgit v1.3.1 From 8318fbf8cc30418b621ea9f39b84b4c1a08f003a Mon Sep 17 00:00:00 2001 From: Marian Balakowicz Date: Mon, 23 Oct 2006 22:17:05 +0200 Subject: Fix sequoia separate object direcory building problems. --- CHANGELOG | 2 ++ Makefile | 33 +++++++++++-------- board/amcc/sequoia/Makefile | 1 - board/amcc/sequoia/config.mk | 2 +- nand_spl/board/amcc/sequoia/Makefile | 64 ++++++++++++++++++++++-------------- 5 files changed, 62 insertions(+), 40 deletions(-) (limited to 'Makefile') diff --git a/CHANGELOG b/CHANGELOG index 727a7b691d5..ed6396df8fe 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,8 @@ Changes for U-Boot 1.1.5: ====================================================================== +* Fix sequoia separate object direcory building problems. + * Cleanup compile warnings. Prepare for release 1.1.5 * Fix compile problem in include/configs/ep82xxm.h diff --git a/Makefile b/Makefile index 92034947962..e6d044adc52 100644 --- a/Makefile +++ b/Makefile @@ -269,10 +269,10 @@ $(SUBDIRS): $(MAKE) -C $@ all $(NAND_SPL): version - $(MAKE) -C nand_spl all + $(MAKE) -C nand_spl/board/$(BOARDDIR) all $(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin - cat nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin + cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin version: @echo -n "#define U_BOOT_VERSION \"U-Boot " > $(VERSION_FILE); \ @@ -1146,19 +1146,22 @@ PPChameleonEVB_HI_33_config: unconfig @$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave rainier_config: unconfig - @echo "#define CONFIG_RAINIER" > include/config.h + @mkdir -p $(obj)include + @echo "#define CONFIG_RAINIER" > $(obj)include/config.h @echo "Configuring for rainier board as subset of sequoia..." @$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc rainier_nand_config: unconfig - @echo "#define CONFIG_RAINIER" > include/config.h + @mkdir -p $(obj)include + @mkdir -p $(obj)nand_spl + @mkdir -p $(obj)board/amcc/sequoia + @echo "#define CONFIG_RAINIER" > $(obj)include/config.h @echo "Configuring for rainier board as subset of sequoia..." - @ln -s board/amcc/sequoia/Makefile nand_spl/Makefile - @echo "#define CONFIG_NAND_U_BOOT" >> include/config.h + @echo "#define CONFIG_NAND_U_BOOT" >> $(obj)include/config.h @echo "Compile NAND boot image for sequoia" @$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc - @echo "TEXT_BASE = 0x01000000" >board/amcc/sequoia/config.tmp - @echo "CONFIG_NAND_U_BOOT = y" >> include/config.mk + @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp + @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk sbc405_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx sbc405 @@ -1167,12 +1170,14 @@ sequoia_config: unconfig @$(MKCONFIG) $(@:_config=) ppc ppc4xx sequoia amcc sequoia_nand_config: unconfig - @ln -s board/amcc/sequoia/Makefile nand_spl/Makefile - @echo "#define CONFIG_NAND_U_BOOT" >include/config.h + @mkdir -p $(obj)include + @mkdir -p $(obj)nand_spl + @mkdir -p $(obj)board/amcc/sequoia + @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h @echo "Compile NAND boot image for sequoia" @$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc - @echo "TEXT_BASE = 0x01000000" >board/amcc/sequoia/config.tmp - @echo "CONFIG_NAND_U_BOOT = y" >> include/config.mk + @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp + @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk sycamore_config: unconfig @echo "Configuring for sycamore board as subset of walnut..." @@ -2244,8 +2249,7 @@ clean: rm -f $(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom rm -f $(obj)board/integratorap/u-boot.lds $(obj)board/integratorcp/u-boot.lds rm -f $(obj)include/bmp_logo.h - find nand_spl -lname "*" -print | xargs rm -f - rm -f nand_spl/u-boot-spl nand_spl/u-boot-spl.map + rm -f $(obj)nand_spl/u-boot-spl $(obj)nand_spl/u-boot-spl.map clobber: clean find $(OBJTREE) -type f \( -name .depend \ @@ -2258,6 +2262,7 @@ clobber: clean rm -f $(obj)tools/crc32.c $(obj)tools/environment.c $(obj)tools/env/crc32.c rm -f $(obj)tools/inca-swap-bytes $(obj)cpu/mpc824x/bedbug_603e.c rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm + [ ! -d $(OBJTREE)/nand_spl ] || find $(obj)nand_spl -lname "*" -print | xargs rm -f ifeq ($(OBJTREE),$(SRCTREE)) mrproper \ diff --git a/board/amcc/sequoia/Makefile b/board/amcc/sequoia/Makefile index 9c1be0e4375..06ef7f93317 100644 --- a/board/amcc/sequoia/Makefile +++ b/board/amcc/sequoia/Makefile @@ -22,7 +22,6 @@ # include $(TOPDIR)/config.mk -include $(TOPDIR)/include/config.mk LIB = $(obj)lib$(BOARD).a diff --git a/board/amcc/sequoia/config.mk b/board/amcc/sequoia/config.mk index 7713a72be85..e62b8d30e41 100644 --- a/board/amcc/sequoia/config.mk +++ b/board/amcc/sequoia/config.mk @@ -24,7 +24,7 @@ # AMCC 440EPx Reference Platform (Sequoia) board # -sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp +sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp ifndef TEXT_BASE TEXT_BASE = 0xFFFA0000 diff --git a/nand_spl/board/amcc/sequoia/Makefile b/nand_spl/board/amcc/sequoia/Makefile index 897aa8b6b70..a71f583eddb 100644 --- a/nand_spl/board/amcc/sequoia/Makefile +++ b/nand_spl/board/amcc/sequoia/Makefile @@ -22,9 +22,9 @@ # include $(TOPDIR)/config.mk -include board/$(BOARDDIR)/config.mk +include $(TOPDIR)/nand_spl/board/$(BOARDDIR)/config.mk -LDSCRIPT= board/$(BOARDDIR)/u-boot.lds +LDSCRIPT= $(TOPDIR)/nand_spl/board/$(BOARDDIR)/u-boot.lds LDFLAGS = -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS) AFLAGS += -DCONFIG_NAND_SPL CFLAGS += -DCONFIG_NAND_SPL @@ -32,49 +32,65 @@ CFLAGS += -DCONFIG_NAND_SPL SOBJS = start.o init.o resetvec.o COBJS = nand_boot.o ndfc.o sdram.o -SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +SRCS := $(addprefix $(obj),$(SOBJS:.o=.S) $(COBJS:.o=.c)) OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) +__OBJS := $(SOBJS) $(COBJS) +LNDIR := $(OBJTREE)/nand_spl/board/$(BOARDDIR) -ALL = u-boot-spl u-boot-spl.bin u-boot-spl-16k.bin +nandobj := $(OBJTREE)/nand_spl/ + +ALL = $(nandobj)u-boot-spl $(nandobj)u-boot-spl.bin $(nandobj)u-boot-spl-16k.bin all: $(obj).depend $(ALL) -u-boot-spl-16k.bin: u-boot-spl +$(nandobj)u-boot-spl-16k.bin: $(nandobj)u-boot-spl $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(PAD_TO) -O binary $< $@ -u-boot-spl.bin: u-boot-spl +$(nandobj)u-boot-spl.bin: $(nandobj)u-boot-spl $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ -u-boot-spl: $(OBJS) - $(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) \ - -Map u-boot-spl.map -o u-boot-spl +$(nandobj)u-boot-spl: $(OBJS) + cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \ + -Map $(nandobj)u-boot-spl.map \ + -o $(nandobj)u-boot-spl # create symbolic links for common files # from cpu directory -ndfc.c: - @rm -f ndfc.c - ln -s ../cpu/ppc4xx/ndfc.c ndfc.c +$(obj)ndfc.c: + @rm -f $(obj)ndfc.c + ln -s $(SRCTREE)/cpu/ppc4xx/ndfc.c $(obj)ndfc.c -resetvec.S: - @rm -f resetvec.S - ln -s ../cpu/ppc4xx/resetvec.S resetvec.S +$(obj)resetvec.S: + @rm -f $(obj)resetvec.S + ln -s $(SRCTREE)/cpu/ppc4xx/resetvec.S $(obj)resetvec.S -start.S: - @rm -f start.S - ln -s ../cpu/ppc4xx/start.S start.S +$(obj)start.S: + @rm -f $(obj)start.S + ln -s $(SRCTREE)/cpu/ppc4xx/start.S $(obj)start.S # from board directory -init.S: - @rm -f init.S - ln -s ../board/amcc/sequoia/init.S init.S +$(obj)init.S: + @rm -f $(obj)init.S + ln -s $(SRCTREE)/board/amcc/sequoia/init.S $(obj)init.S + +$(obj)sdram.c: + @rm -f $(obj)sdram.c + ln -s $(SRCTREE)/board/amcc/sequoia/sdram.c $(obj)sdram.c -sdram.c: - @rm -f sdram.c - ln -s ../board/amcc/sequoia/sdram.c sdram.c +# from nand_spl directory +$(obj)nand_boot.c: + @rm -f $(obj)nand_boot.c + ln -s $(SRCTREE)/nand_spl/nand_boot.c $(obj)nand_boot.c ######################################################################### +$(obj)%.o: $(obj)%.S + $(CC) $(AFLAGS) -c -o $@ $< + +$(obj)%.o: $(obj)%.c + $(CC) $(CFLAGS) -c -o $@ $< + # defines $(obj).depend target include $(SRCTREE)/rules.mk -- cgit v1.3.1 From 7b64fef33c66be648826c0ff9758298ef13d0604 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Tue, 24 Oct 2006 14:21:16 +0200 Subject: Add AVR32 architecture support Patch by Haavard Skinnemoen, 6 Sep 2006 16:23:02 +0200 This patch adds common infrastructure code for the Atmel AVR32 architecture. See doc/README.AVR32 for details. Signed-off-by: Haavard Skinnemoen --- MAINTAINERS | 7 + Makefile | 7 + README | 5 +- avr32_config.mk | 25 ++++ doc/README.AVR32 | 33 +++++ examples/Makefile | 4 + examples/stubs.c | 13 ++ include/asm-avr32/addrspace.h | 46 ++++++ include/asm-avr32/bitops.h | 25 ++++ include/asm-avr32/byteorder.h | 37 +++++ include/asm-avr32/cacheflush.h | 83 +++++++++++ include/asm-avr32/div64.h | 39 +++++ include/asm-avr32/dma-mapping.h | 64 ++++++++ include/asm-avr32/errno.h | 132 +++++++++++++++++ include/asm-avr32/global_data.h | 59 ++++++++ include/asm-avr32/initcalls.h | 33 +++++ include/asm-avr32/io.h | 92 ++++++++++++ include/asm-avr32/posix_types.h | 144 ++++++++++++++++++ include/asm-avr32/processor.h | 97 +++++++++++++ include/asm-avr32/ptrace.h | 148 +++++++++++++++++++ include/asm-avr32/sdram.h | 33 +++++ include/asm-avr32/sections.h | 39 +++++ include/asm-avr32/setup.h | 142 ++++++++++++++++++ include/asm-avr32/string.h | 28 ++++ include/asm-avr32/sysreg.h | 279 +++++++++++++++++++++++++++++++++++ include/asm-avr32/types.h | 84 +++++++++++ include/asm-avr32/u-boot.h | 56 +++++++ lib_avr32/Makefile | 47 ++++++ lib_avr32/avr32_linux.c | 315 ++++++++++++++++++++++++++++++++++++++++ lib_avr32/board.c | 175 ++++++++++++++++++++++ lib_avr32/div64.c | 54 +++++++ lib_avr32/interrupts.c | 39 +++++ lib_avr32/memset.S | 81 +++++++++++ 33 files changed, 2463 insertions(+), 2 deletions(-) create mode 100644 avr32_config.mk create mode 100644 doc/README.AVR32 create mode 100644 include/asm-avr32/addrspace.h create mode 100644 include/asm-avr32/bitops.h create mode 100644 include/asm-avr32/byteorder.h create mode 100644 include/asm-avr32/cacheflush.h create mode 100644 include/asm-avr32/div64.h create mode 100644 include/asm-avr32/dma-mapping.h create mode 100644 include/asm-avr32/errno.h create mode 100644 include/asm-avr32/global_data.h create mode 100644 include/asm-avr32/initcalls.h create mode 100644 include/asm-avr32/io.h create mode 100644 include/asm-avr32/posix_types.h create mode 100644 include/asm-avr32/processor.h create mode 100644 include/asm-avr32/ptrace.h create mode 100644 include/asm-avr32/sdram.h create mode 100644 include/asm-avr32/sections.h create mode 100644 include/asm-avr32/setup.h create mode 100644 include/asm-avr32/string.h create mode 100644 include/asm-avr32/sysreg.h create mode 100644 include/asm-avr32/types.h create mode 100644 include/asm-avr32/u-boot.h create mode 100644 lib_avr32/Makefile create mode 100644 lib_avr32/avr32_linux.c create mode 100644 lib_avr32/board.c create mode 100644 lib_avr32/div64.c create mode 100644 lib_avr32/interrupts.c create mode 100644 lib_avr32/memset.S (limited to 'Makefile') diff --git a/MAINTAINERS b/MAINTAINERS index 42627196f86..d7ef203e551 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -554,6 +554,13 @@ Zachary P. Landau r5200 mcf52x2 +######################################################################### +# AVR32 Systems: # +# # +# Maintainer Name, Email Address # +# Board CPU # +######################################################################### + ######################################################################### # End of MAINTAINERS list # ######################################################################### diff --git a/Makefile b/Makefile index 92034947962..5260a612ff3 100644 --- a/Makefile +++ b/Makefile @@ -152,6 +152,9 @@ endif ifeq ($(ARCH),blackfin) CROSS_COMPILE = bfin-elf- endif +ifeq ($(ARCH),avr32) +CROSS_COMPILE = avr32- +endif endif endif @@ -2099,6 +2102,10 @@ pb1000_config : unconfig @echo "#define CONFIG_PB1000 1" >>$(obj)include/config.h @$(MKCONFIG) -a pb1x00 mips mips pb1x00 +#======================================================================== +# AVR32 +#======================================================================== + ######################################################################### ## MIPS64 5Kc ######################################################################### diff --git a/README b/README index a0949f0d9b1..8405a9b0cd1 100644 --- a/README +++ b/README @@ -156,6 +156,7 @@ Directory Hierarchy: - examples Example code for standalone applications, etc. - include Header Files - lib_arm Files generic to ARM architecture +- lib_avr32 Files generic to AVR32 architecture - lib_generic Files generic to all architectures - lib_i386 Files generic to i386 architecture - lib_m68k Files generic to m68k architecture @@ -2722,9 +2723,9 @@ defines the following image properties: 4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS; Currently supported: Linux, NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS). -* Target CPU Architecture (Provisions for Alpha, ARM, Intel x86, +* Target CPU Architecture (Provisions for Alpha, ARM, AVR32, Intel x86, IA64, MIPS, NIOS, PowerPC, IBM S390, SuperH, Sparc, Sparc 64 Bit; - Currently supported: ARM, Intel x86, MIPS, NIOS, PowerPC). + Currently supported: ARM, AVR32, Intel x86, MIPS, NIOS, PowerPC). * Compression Type (uncompressed, gzip, bzip2) * Load Address * Entry Point diff --git a/avr32_config.mk b/avr32_config.mk new file mode 100644 index 00000000000..0b92053e1af --- /dev/null +++ b/avr32_config.mk @@ -0,0 +1,25 @@ +# +# (C) Copyright 2000-2002 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +PLATFORM_RELFLAGS += -ffixed-r5 -mno-pic -mrelax +PLATFORM_LDFLAGS += --relax diff --git a/doc/README.AVR32 b/doc/README.AVR32 new file mode 100644 index 00000000000..abec872c57a --- /dev/null +++ b/doc/README.AVR32 @@ -0,0 +1,33 @@ +From: Haavard Skinnemoen +Date: Wed, 30 Aug 2006 17:01:46 +0200 +Subject: [PATCH] AVR32 architecture support + +This patch adds common infrastructure code for the Atmel AVR32 +architecture. + +AVR32 is a new high-performance 32-bit RISC microprocessor core, +designed for cost-sensitive embedded applications, with particular +emphasis on low power consumption and high code density. The AVR32 +architecture is not binary compatible with earlier 8-bit AVR +architectures. + +The AVR32 architecture, including the instruction set, is described +by the AVR32 Architecture Manual, available from + +http://www.atmel.com/dyn/resources/prod_documents/doc32000.pdf + +A GNU toolchain with support for AVR32 is included with the ATSTK1000 +BSP, which can be downloaded as an ISO image from + +http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3918 + +Alternatively, you can build it yourself by following the +Getting Started guide at avr32linux.org, which also provides links +to the necessary sources and patches you need to download: + +http://avr32linux.org/twiki/bin/view/Main/GettingStarted + +The AVR32 ports of u-boot, the Linux kernel, the GNU toolchain and +other associated software are actively supported by Atmel Corporation. + +Signed-off-by: Haavard Skinnemoen diff --git a/examples/Makefile b/examples/Makefile index 680fe75d921..423a79b2dd5 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -57,6 +57,10 @@ ifeq ($(ARCH),blackfin) LOAD_ADDR = 0x1000 endif +ifeq ($(ARCH),avr32) +LOAD_ADDR = 0x00000000 +endif + include $(TOPDIR)/config.mk ELF = hello_world diff --git a/examples/stubs.c b/examples/stubs.c index 1caa5757479..ffd314e6b35 100644 --- a/examples/stubs.c +++ b/examples/stubs.c @@ -138,6 +138,19 @@ gd_t *global_data; " P0 = [P0 + %1]\n" \ " JUMP (P0)\n" \ : : "i"(offsetof(gd_t, jt)), "i"(XF_ ## x * sizeof(void *)) : "P0"); +#elif defined(CONFIG_AVR32) +/* + * r6 holds the pointer to the global_data. r8 is call clobbered. + */ +#define EXPORT_FUNC(x) \ + asm volatile( \ + " .globl\t" #x "\n" \ + #x ":\n" \ + " ld.w r8, r6[%0]\n" \ + " ld.w pc, r8[%1]\n" \ + : \ + : "i"(offsetof(gd_t, jt)), "i"(XF_ ##x) \ + : "r8"); #else #error stubs definition missing for this architecture #endif diff --git a/include/asm-avr32/addrspace.h b/include/asm-avr32/addrspace.h new file mode 100644 index 00000000000..b2ba1ee2fef --- /dev/null +++ b/include/asm-avr32/addrspace.h @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_ADDRSPACE_H +#define __ASM_AVR32_ADDRSPACE_H + +/* Memory segments when segmentation is enabled */ +#define P0SEG 0x00000000 +#define P1SEG 0x80000000 +#define P2SEG 0xa0000000 +#define P3SEG 0xc0000000 +#define P4SEG 0xe0000000 + +/* Returns the privileged segment base of a given address */ +#define PXSEG(a) (((unsigned long)(a)) & 0xe0000000) + +/* Returns the physical address of a PnSEG (n=1,2) address */ +#define PHYSADDR(a) (((unsigned long)(a)) & 0x1fffffff) + +/* + * Map an address to a certain privileged segment + */ +#define P1SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P1SEG)) +#define P2SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P2SEG)) +#define P3SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P3SEG)) +#define P4SEGADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | P4SEG)) + +#endif /* __ASM_AVR32_ADDRSPACE_H */ diff --git a/include/asm-avr32/bitops.h b/include/asm-avr32/bitops.h new file mode 100644 index 00000000000..f15fd4647e2 --- /dev/null +++ b/include/asm-avr32/bitops.h @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_BITOPS_H +#define __ASM_AVR32_BITOPS_H + +#endif /* __ASM_AVR32_BITOPS_H */ diff --git a/include/asm-avr32/byteorder.h b/include/asm-avr32/byteorder.h new file mode 100644 index 00000000000..2fe867e9786 --- /dev/null +++ b/include/asm-avr32/byteorder.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_BYTEORDER_H +#define __ASM_AVR32_BYTEORDER_H + +#include + +#define __arch__swab32(x) __builtin_bswap_32(x) +#define __arch__swab16(x) __builtin_bswap_16(x) + +#if !defined(__STRICT_ANSI__) || defined(__KERNEL__) +# define __BYTEORDER_HAS_U64__ +# define __SWAB_64_THRU_32__ +#endif + +#include + +#endif /* __ASM_AVR32_BYTEORDER_H */ diff --git a/include/asm-avr32/cacheflush.h b/include/asm-avr32/cacheflush.h new file mode 100644 index 00000000000..929f68e1a0a --- /dev/null +++ b/include/asm-avr32/cacheflush.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_CACHEFLUSH_H +#define __ASM_AVR32_CACHEFLUSH_H + +/* + * Invalidate any cacheline containing virtual address vaddr without + * writing anything back to memory. + * + * Note that this function may corrupt unrelated data structures when + * applied on buffers that are not cacheline aligned in both ends. + */ +static inline void dcache_invalidate_line(volatile void *vaddr) +{ + asm volatile("cache %0[0], 0x0b" : : "r"(vaddr) : "memory"); +} + +/* + * Make sure any cacheline containing virtual address vaddr is written + * to memory. + */ +static inline void dcache_clean_line(volatile void *vaddr) +{ + asm volatile("cache %0[0], 0x0c" : : "r"(vaddr) : "memory"); +} + +/* + * Make sure any cacheline containing virtual address vaddr is written + * to memory and then invalidate it. + */ +static inline void dcache_flush_line(volatile void *vaddr) +{ + asm volatile("cache %0[0], 0x0d" : : "r"(vaddr) : "memory"); +} + +/* + * Invalidate any instruction cacheline containing virtual address + * vaddr. + */ +static inline void icache_invalidate_line(volatile void *vaddr) +{ + asm volatile("cache %0[0], 0x01" : : "r"(vaddr) : "memory"); +} + +/* + * Applies the above functions on all lines that are touched by the + * specified virtual address range. + */ +void dcache_invalidate_range(volatile void *start, size_t len); +void dcache_clean_range(volatile void *start, size_t len); +void dcache_flush_range(volatile void *start, size_t len); +void icache_invalidate_range(volatile void *start, size_t len); + +static inline void dcache_flush_unlocked(void) +{ + asm volatile("cache %0[5], 0x08" : : "r"(0) : "memory"); +} + +/* + * Make sure any pending writes are completed before continuing. + */ +#define sync_write_buffer() asm volatile("sync 0" : : : "memory") + +#endif /* __ASM_AVR32_CACHEFLUSH_H */ diff --git a/include/asm-avr32/div64.h b/include/asm-avr32/div64.h new file mode 100644 index 00000000000..2e0ba8389e1 --- /dev/null +++ b/include/asm-avr32/div64.h @@ -0,0 +1,39 @@ +#ifndef _ASM_GENERIC_DIV64_H +#define _ASM_GENERIC_DIV64_H +/* + * Copyright (C) 2003 Bernardo Innocenti + * Based on former asm-ppc/div64.h and asm-m68knommu/div64.h + * + * The semantics of do_div() are: + * + * uint32_t do_div(uint64_t *n, uint32_t base) + * { + * uint32_t remainder = *n % base; + * *n = *n / base; + * return remainder; + * } + * + * NOTE: macro parameter n is evaluated multiple times, + * beware of side effects! + */ + +#include + +extern uint32_t __div64_32(uint64_t *dividend, uint32_t divisor); + +/* The unnecessary pointer compare is there + * to check for type safety (n must be 64bit) + */ +# define do_div(n,base) ({ \ + uint32_t __base = (base); \ + uint32_t __rem; \ + (void)(((typeof((n)) *)0) == ((uint64_t *)0)); \ + if (((n) >> 32) == 0) { \ + __rem = (uint32_t)(n) % __base; \ + (n) = (uint32_t)(n) / __base; \ + } else \ + __rem = __div64_32(&(n), __base); \ + __rem; \ + }) + +#endif /* _ASM_GENERIC_DIV64_H */ diff --git a/include/asm-avr32/dma-mapping.h b/include/asm-avr32/dma-mapping.h new file mode 100644 index 00000000000..3b46fa3e62b --- /dev/null +++ b/include/asm-avr32/dma-mapping.h @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_DMA_MAPPING_H +#define __ASM_AVR32_DMA_MAPPING_H + +#include +#include + +enum dma_data_direction { + DMA_BIDIRECTIONAL = 0, + DMA_TO_DEVICE = 1, + DMA_FROM_DEVICE = 2, +}; +extern void *dma_alloc_coherent(size_t len, unsigned long *handle); + +static inline unsigned long dma_map_single(volatile void *vaddr, size_t len, + enum dma_data_direction dir) +{ + extern void __bad_dma_data_direction(void); + + switch (dir) { + case DMA_BIDIRECTIONAL: + dcache_flush_range(vaddr, len); + break; + case DMA_TO_DEVICE: + dcache_clean_range(vaddr, len); + break; + case DMA_FROM_DEVICE: + dcache_invalidate_range(vaddr, len); + break; + default: + /* This will cause a linker error */ + __bad_dma_data_direction(); + } + + return virt_to_phys(vaddr); +} + +static inline void dma_unmap_single(volatile void *vaddr, size_t len, + unsigned long paddr) +{ + +} + +#endif /* __ASM_AVR32_DMA_MAPPING_H */ diff --git a/include/asm-avr32/errno.h b/include/asm-avr32/errno.h new file mode 100644 index 00000000000..ea3506ff380 --- /dev/null +++ b/include/asm-avr32/errno.h @@ -0,0 +1,132 @@ +#ifndef _ASM_AVR32_ERRNO_H +#define _ASM_AVR32_ERRNO_H + +#define EPERM 1 /* Operation not permitted */ +#define ENOENT 2 /* No such file or directory */ +#define ESRCH 3 /* No such process */ +#define EINTR 4 /* Interrupted system call */ +#define EIO 5 /* I/O error */ +#define ENXIO 6 /* No such device or address */ +#define E2BIG 7 /* Argument list too long */ +#define ENOEXEC 8 /* Exec format error */ +#define EBADF 9 /* Bad file number */ +#define ECHILD 10 /* No child processes */ +#define EAGAIN 11 /* Try again */ +#define ENOMEM 12 /* Out of memory */ +#define EACCES 13 /* Permission denied */ +#define EFAULT 14 /* Bad address */ +#define ENOTBLK 15 /* Block device required */ +#define EBUSY 16 /* Device or resource busy */ +#define EEXIST 17 /* File exists */ +#define EXDEV 18 /* Cross-device link */ +#define ENODEV 19 /* No such device */ +#define ENOTDIR 20 /* Not a directory */ +#define EISDIR 21 /* Is a directory */ +#define EINVAL 22 /* Invalid argument */ +#define ENFILE 23 /* File table overflow */ +#define EMFILE 24 /* Too many open files */ +#define ENOTTY 25 /* Not a typewriter */ +#define ETXTBSY 26 /* Text file busy */ +#define EFBIG 27 /* File too large */ +#define ENOSPC 28 /* No space left on device */ +#define ESPIPE 29 /* Illegal seek */ +#define EROFS 30 /* Read-only file system */ +#define EMLINK 31 /* Too many links */ +#define EPIPE 32 /* Broken pipe */ +#define EDOM 33 /* Math argument out of domain of func */ +#define ERANGE 34 /* Math result not representable */ +#define EDEADLK 35 /* Resource deadlock would occur */ +#define ENAMETOOLONG 36 /* File name too long */ +#define ENOLCK 37 /* No record locks available */ +#define ENOSYS 38 /* Function not implemented */ +#define ENOTEMPTY 39 /* Directory not empty */ +#define ELOOP 40 /* Too many symbolic links encountered */ +#define EWOULDBLOCK EAGAIN /* Operation would block */ +#define ENOMSG 42 /* No message of desired type */ +#define EIDRM 43 /* Identifier removed */ +#define ECHRNG 44 /* Channel number out of range */ +#define EL2NSYNC 45 /* Level 2 not synchronized */ +#define EL3HLT 46 /* Level 3 halted */ +#define EL3RST 47 /* Level 3 reset */ +#define ELNRNG 48 /* Link number out of range */ +#define EUNATCH 49 /* Protocol driver not attached */ +#define ENOCSI 50 /* No CSI structure available */ +#define EL2HLT 51 /* Level 2 halted */ +#define EBADE 52 /* Invalid exchange */ +#define EBADR 53 /* Invalid request descriptor */ +#define EXFULL 54 /* Exchange full */ +#define ENOANO 55 /* No anode */ +#define EBADRQC 56 /* Invalid request code */ +#define EBADSLT 57 /* Invalid slot */ + +#define EDEADLOCK EDEADLK + +#define EBFONT 59 /* Bad font file format */ +#define ENOSTR 60 /* Device not a stream */ +#define ENODATA 61 /* No data available */ +#define ETIME 62 /* Timer expired */ +#define ENOSR 63 /* Out of streams resources */ +#define ENONET 64 /* Machine is not on the network */ +#define ENOPKG 65 /* Package not installed */ +#define EREMOTE 66 /* Object is remote */ +#define ENOLINK 67 /* Link has been severed */ +#define EADV 68 /* Advertise error */ +#define ESRMNT 69 /* Srmount error */ +#define ECOMM 70 /* Communication error on send */ +#define EPROTO 71 /* Protocol error */ +#define EMULTIHOP 72 /* Multihop attempted */ +#define EDOTDOT 73 /* RFS specific error */ +#define EBADMSG 74 /* Not a data message */ +#define EOVERFLOW 75 /* Value too large for defined data type */ +#define ENOTUNIQ 76 /* Name not unique on network */ +#define EBADFD 77 /* File descriptor in bad state */ +#define EREMCHG 78 /* Remote address changed */ +#define ELIBACC 79 /* Can not access a needed shared library */ +#define ELIBBAD 80 /* Accessing a corrupted shared library */ +#define ELIBSCN 81 /* .lib section in a.out corrupted */ +#define ELIBMAX 82 /* Attempting to link in too many shared libraries */ +#define ELIBEXEC 83 /* Cannot exec a shared library directly */ +#define EILSEQ 84 /* Illegal byte sequence */ +#define ERESTART 85 /* Interrupted system call should be restarted */ +#define ESTRPIPE 86 /* Streams pipe error */ +#define EUSERS 87 /* Too many users */ +#define ENOTSOCK 88 /* Socket operation on non-socket */ +#define EDESTADDRREQ 89 /* Destination address required */ +#define EMSGSIZE 90 /* Message too long */ +#define EPROTOTYPE 91 /* Protocol wrong type for socket */ +#define ENOPROTOOPT 92 /* Protocol not available */ +#define EPROTONOSUPPORT 93 /* Protocol not supported */ +#define ESOCKTNOSUPPORT 94 /* Socket type not supported */ +#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ +#define EPFNOSUPPORT 96 /* Protocol family not supported */ +#define EAFNOSUPPORT 97 /* Address family not supported by protocol */ +#define EADDRINUSE 98 /* Address already in use */ +#define EADDRNOTAVAIL 99 /* Cannot assign requested address */ +#define ENETDOWN 100 /* Network is down */ +#define ENETUNREACH 101 /* Network is unreachable */ +#define ENETRESET 102 /* Network dropped connection because of reset */ +#define ECONNABORTED 103 /* Software caused connection abort */ +#define ECONNRESET 104 /* Connection reset by peer */ +#define ENOBUFS 105 /* No buffer space available */ +#define EISCONN 106 /* Transport endpoint is already connected */ +#define ENOTCONN 107 /* Transport endpoint is not connected */ +#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */ +#define ETOOMANYREFS 109 /* Too many references: cannot splice */ +#define ETIMEDOUT 110 /* Connection timed out */ +#define ECONNREFUSED 111 /* Connection refused */ +#define EHOSTDOWN 112 /* Host is down */ +#define EHOSTUNREACH 113 /* No route to host */ +#define EALREADY 114 /* Operation already in progress */ +#define EINPROGRESS 115 /* Operation now in progress */ +#define ESTALE 116 /* Stale NFS file handle */ +#define EUCLEAN 117 /* Structure needs cleaning */ +#define ENOTNAM 118 /* Not a XENIX named type file */ +#define ENAVAIL 119 /* No XENIX semaphores available */ +#define EISNAM 120 /* Is a named type file */ +#define EREMOTEIO 121 /* Remote I/O error */ +#define EDQUOT 122 /* Quota exceeded */ + +#define ENOMEDIUM 123 /* No medium found */ +#define EMEDIUMTYPE 124 /* Wrong medium type */ + +#endif /* _ASM_AVR32_ERRNO_H */ diff --git a/include/asm-avr32/global_data.h b/include/asm-avr32/global_data.h new file mode 100644 index 00000000000..01d836c6395 --- /dev/null +++ b/include/asm-avr32/global_data.h @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2004-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_GLOBAL_DATA_H__ +#define __ASM_GLOBAL_DATA_H__ + +/* + * The following data structure is placed in some memory wich is + * available very early after boot (like DPRAM on MPC8xx/MPC82xx, or + * some locked parts of the data cache) to allow for a minimum set of + * global variables during system initialization (until we have set + * up the memory controller so that we can use RAM). + * + * Keep it *SMALL* and remember to set CFG_GBL_DATA_SIZE > sizeof(gd_t) + */ + +typedef struct global_data { + bd_t *bd; + unsigned long flags; + const struct device *console_uart; + const struct device *sm; + unsigned long baudrate; + unsigned long sdram_size; + unsigned long have_console; /* serial_init() was called */ + unsigned long reloc_off; /* Relocation Offset */ + unsigned long env_addr; /* Address of env struct */ + unsigned long env_valid; /* Checksum of env valid? */ + unsigned long cpu_hz; /* cpu core clock frequency */ + void **jt; /* jump table */ +} gd_t; + +/* + * Global Data Flags + */ +#define GD_FLG_RELOC 0x00001 /* Code was relocated to RAM */ +#define GD_FLG_DEVINIT 0x00002 /* Devices have been initialized */ +#define GD_FLG_SILENT 0x00004 /* Silent mode */ + +#define DECLARE_GLOBAL_DATA_PTR register gd_t *gd asm("r5") + +#endif /* __ASM_GLOBAL_DATA_H__ */ diff --git a/include/asm-avr32/initcalls.h b/include/asm-avr32/initcalls.h new file mode 100644 index 00000000000..7ba25cde53e --- /dev/null +++ b/include/asm-avr32/initcalls.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2005, 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_INITCALLS_H__ +#define __ASM_AVR32_INITCALLS_H__ + +#include + +extern int cpu_init(void); +extern int timer_init(void); +extern void board_init_memories(void); +extern void board_init_pio(void); +extern void board_init_info(void); + +#endif /* __ASM_AVR32_INITCALLS_H__ */ diff --git a/include/asm-avr32/io.h b/include/asm-avr32/io.h new file mode 100644 index 00000000000..e86c456ae1e --- /dev/null +++ b/include/asm-avr32/io.h @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_IO_H +#define __ASM_AVR32_IO_H + +#ifdef __KERNEL__ + +/* + * Generic IO read/write. These perform native-endian accesses. Note + * that some architectures will want to re-define __raw_{read,write}w. + */ +extern void __raw_writesb(unsigned int addr, const void *data, int bytelen); +extern void __raw_writesw(unsigned int addr, const void *data, int wordlen); +extern void __raw_writesl(unsigned int addr, const void *data, int longlen); + +extern void __raw_readsb(unsigned int addr, void *data, int bytelen); +extern void __raw_readsw(unsigned int addr, void *data, int wordlen); +extern void __raw_readsl(unsigned int addr, void *data, int longlen); + +#define __raw_writeb(v,a) (*(volatile unsigned char *)(a) = (v)) +#define __raw_writew(v,a) (*(volatile unsigned short *)(a) = (v)) +#define __raw_writel(v,a) (*(volatile unsigned int *)(a) = (v)) + +#define __raw_readb(a) (*(volatile unsigned char *)(a)) +#define __raw_readw(a) (*(volatile unsigned short *)(a)) +#define __raw_readl(a) (*(volatile unsigned int *)(a)) + +/* As long as I/O is only performed in P4 (or possibly P3), we're safe */ +#define writeb(v,a) __raw_writeb(v,a) +#define writew(v,a) __raw_writew(v,a) +#define writel(v,a) __raw_writel(v,a) + +#define readb(a) __raw_readb(a) +#define readw(a) __raw_readw(a) +#define readl(a) __raw_readl(a) + +/* + * Bad read/write accesses... + */ +extern void __readwrite_bug(const char *fn); + +#define IO_SPACE_LIMIT 0xffffffff + +/* + * All I/O is memory mapped, so these macros doesn't make very much sense + */ +#define outb(v,p) __raw_writeb(v, p) +#define outw(v,p) __raw_writew(cpu_to_le16(v),p) +#define outl(v,p) __raw_writel(cpu_to_le32(v),p) + +#define inb(p) ({ unsigned int __v = __raw_readb(p); __v; }) +#define inw(p) ({ unsigned int __v = __le16_to_cpu(__raw_readw(p)); __v; }) +#define inl(p) ({ unsigned int __v = __le32_to_cpu(__raw_readl(p)); __v; }) + +#include + +/* virt_to_phys will only work when address is in P1 or P2 */ +static __inline__ unsigned long virt_to_phys(volatile void *address) +{ + return PHYSADDR(address); +} + +static __inline__ void * phys_to_virt(unsigned long address) +{ + return (void *)P1SEGADDR(address); +} + +#define cached(addr) ((void *)P1SEGADDR(addr)) +#define uncached(addr) ((void *)P2SEGADDR(addr)) + +#endif /* __KERNEL__ */ + +#endif /* __ASM_AVR32_IO_H */ diff --git a/include/asm-avr32/posix_types.h b/include/asm-avr32/posix_types.h new file mode 100644 index 00000000000..edf1bc14d25 --- /dev/null +++ b/include/asm-avr32/posix_types.h @@ -0,0 +1,144 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_POSIX_TYPES_H +#define __ASM_AVR32_POSIX_TYPES_H + +/* + * This file is generally used by user-level software, so you need to + * be a little careful about namespace pollution etc. Also, we cannot + * assume GCC is being used. + */ + +typedef unsigned long __kernel_dev_t; +typedef unsigned long __kernel_ino_t; +typedef unsigned short __kernel_mode_t; +typedef unsigned short __kernel_nlink_t; +typedef long __kernel_off_t; +typedef int __kernel_pid_t; +typedef unsigned short __kernel_ipc_pid_t; +typedef unsigned int __kernel_uid_t; +typedef unsigned int __kernel_gid_t; +typedef unsigned long __kernel_size_t; +typedef int __kernel_ssize_t; +typedef int __kernel_ptrdiff_t; +typedef long __kernel_time_t; +typedef long __kernel_suseconds_t; +typedef long __kernel_clock_t; +typedef int __kernel_timer_t; +typedef int __kernel_clockid_t; +typedef int __kernel_daddr_t; +typedef char * __kernel_caddr_t; +typedef unsigned short __kernel_uid16_t; +typedef unsigned short __kernel_gid16_t; +typedef unsigned int __kernel_uid32_t; +typedef unsigned int __kernel_gid32_t; + +typedef unsigned short __kernel_old_uid_t; +typedef unsigned short __kernel_old_gid_t; +typedef unsigned short __kernel_old_dev_t; + +#ifdef __GNUC__ +typedef long long __kernel_loff_t; +#endif + +typedef struct { +#if defined(__KERNEL__) || defined(__USE_ALL) + int val[2]; +#else /* !defined(__KERNEL__) && !defined(__USE_ALL) */ + int __val[2]; +#endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */ +} __kernel_fsid_t; + +#if defined(__KERNEL__) + +#undef __FD_SET +static __inline__ void __FD_SET(unsigned long __fd, __kernel_fd_set *__fdsetp) +{ + unsigned long __tmp = __fd / __NFDBITS; + unsigned long __rem = __fd % __NFDBITS; + __fdsetp->fds_bits[__tmp] |= (1UL<<__rem); +} + +#undef __FD_CLR +static __inline__ void __FD_CLR(unsigned long __fd, __kernel_fd_set *__fdsetp) +{ + unsigned long __tmp = __fd / __NFDBITS; + unsigned long __rem = __fd % __NFDBITS; + __fdsetp->fds_bits[__tmp] &= ~(1UL<<__rem); +} + + +#undef __FD_ISSET +static __inline__ int __FD_ISSET(unsigned long __fd, const __kernel_fd_set *__p) +{ + unsigned long __tmp = __fd / __NFDBITS; + unsigned long __rem = __fd % __NFDBITS; + return (__p->fds_bits[__tmp] & (1UL<<__rem)) != 0; +} + +/* + * This will unroll the loop for the normal constant case (8 ints, + * for a 256-bit fd_set) + */ +#undef __FD_ZERO +static __inline__ void __FD_ZERO(__kernel_fd_set *__p) +{ + unsigned long *__tmp = __p->fds_bits; + int __i; + + if (__builtin_constant_p(__FDSET_LONGS)) { + switch (__FDSET_LONGS) { + case 16: + __tmp[ 0] = 0; __tmp[ 1] = 0; + __tmp[ 2] = 0; __tmp[ 3] = 0; + __tmp[ 4] = 0; __tmp[ 5] = 0; + __tmp[ 6] = 0; __tmp[ 7] = 0; + __tmp[ 8] = 0; __tmp[ 9] = 0; + __tmp[10] = 0; __tmp[11] = 0; + __tmp[12] = 0; __tmp[13] = 0; + __tmp[14] = 0; __tmp[15] = 0; + return; + + case 8: + __tmp[ 0] = 0; __tmp[ 1] = 0; + __tmp[ 2] = 0; __tmp[ 3] = 0; + __tmp[ 4] = 0; __tmp[ 5] = 0; + __tmp[ 6] = 0; __tmp[ 7] = 0; + return; + + case 4: + __tmp[ 0] = 0; __tmp[ 1] = 0; + __tmp[ 2] = 0; __tmp[ 3] = 0; + return; + } + } + __i = __FDSET_LONGS; + while (__i) { + __i--; + *__tmp = 0; + __tmp++; + } +} + +#endif /* defined(__KERNEL__) */ + +#endif /* __ASM_AVR32_POSIX_TYPES_H */ diff --git a/include/asm-avr32/processor.h b/include/asm-avr32/processor.h new file mode 100644 index 00000000000..cc59dfad56b --- /dev/null +++ b/include/asm-avr32/processor.h @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_PROCESSOR_H +#define __ASM_AVR32_PROCESSOR_H + +#ifndef __ASSEMBLY__ + +#define current_text_addr() ({ void *pc; __asm__("mov %0,pc" : "=r"(pc)); pc; }) + +struct avr32_cpuinfo { + unsigned long loops_per_jiffy; +}; + +extern struct avr32_cpuinfo boot_cpu_data; + +#ifdef CONFIG_SMP +extern struct avr32_cpuinfo cpu_data[]; +#define current_cpu_data cpu_data[smp_processor_id()] +#else +#define cpu_data (&boot_cpu_data) +#define current_cpu_data boot_cpu_data +#endif + +/* TODO: Make configurable (2GB will serve as a reasonable default) */ +#define TASK_SIZE 0x80000000 + +/* This decides where the kernel will search for a free chunk of vm + * space during mmap's + */ +#define TASK_UNMAPPED_BASE (TASK_SIZE / 3) + +#define cpu_relax() barrier() +#define cpu_sync_pipeline() asm volatile("sub pc, -2" : : : "memory") + +/* This struct contains the CPU context as stored by switch_to() */ +struct thread_struct { + unsigned long pc; + unsigned long ksp; /* Kernel stack pointer */ + unsigned long r7; + unsigned long r6; + unsigned long r5; + unsigned long r4; + unsigned long r3; + unsigned long r2; + unsigned long r1; + unsigned long r0; +}; + +#define INIT_THREAD { \ + .ksp = sizeof(init_stack) + (long)&init_stack, \ +} + +/* + * Do necessary setup to start up a newly executed thread. + */ +#define start_thread(regs, new_pc, new_sp) \ + set_fs(USER_DS); \ + regs->sr = 0; /* User mode. */ \ + regs->gr[REG_PC] = new_pc; \ + regs->gr[REG_SP] = new_sp + +struct task_struct; + +/* Free all resources held by a thread */ +extern void release_thread(struct task_struct *); + +/* Create a kernel thread without removing it from tasklists */ +extern int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); + +/* Prepare to copy thread state - unlazy all lazy status */ +#define prepare_to_copy(tsk) do { } while(0) + +/* Return saved PC of a blocked thread */ +#define thread_saved_pc(tsk) (tsk->thread.pc) + +#endif /* __ASSEMBLY__ */ + +#endif /* __ASM_AVR32_PROCESSOR_H */ diff --git a/include/asm-avr32/ptrace.h b/include/asm-avr32/ptrace.h new file mode 100644 index 00000000000..c770ba02c30 --- /dev/null +++ b/include/asm-avr32/ptrace.h @@ -0,0 +1,148 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_PTRACE_H +#define __ASM_AVR32_PTRACE_H + +/* + * Status Register bits + */ +#define SR_H 0x40000000 +#define SR_R 0x20000000 +#define SR_J 0x10000000 +#define SR_DM 0x08000000 +#define SR_D 0x04000000 +#define MODE_NMI 0x01c00000 +#define MODE_EXCEPTION 0x01800000 +#define MODE_INT3 0x01400000 +#define MODE_INT2 0x01000000 +#define MODE_INT1 0x00c00000 +#define MODE_INT0 0x00800000 +#define MODE_SUPERVISOR 0x00400000 +#define MODE_USER 0x00000000 +#define MODE_MASK 0x01c00000 +#define SR_EM 0x00200000 +#define SR_I3M 0x00100000 +#define SR_I2M 0x00080000 +#define SR_I1M 0x00040000 +#define SR_I0M 0x00020000 +#define SR_GM 0x00010000 + +#define MODE_SHIFT 22 +#define SR_EM_BIT 21 +#define SR_I3M_BIT 20 +#define SR_I2M_BIT 19 +#define SR_I1M_BIT 18 +#define SR_I0M_BIT 17 +#define SR_GM_BIT 16 + +/* The user-visible part */ +#define SR_Q 0x00000010 +#define SR_V 0x00000008 +#define SR_N 0x00000004 +#define SR_Z 0x00000002 +#define SR_C 0x00000001 + +/* + * The order is defined by the stdsp instruction. r0 is stored first, so it + * gets the highest address. + * + * Registers 0-12 are general-purpose registers (r12 is normally used for + * the function return value). + * Register 13 is the stack pointer + * Register 14 is the link register + * Register 15 is the program counter + */ +#define FRAME_SIZE_FULL 72 +#define REG_R12_ORIG 68 +#define REG_R0 64 +#define REG_R1 60 +#define REG_R2 56 +#define REG_R3 52 +#define REG_R4 48 +#define REG_R5 44 +#define REG_R6 40 +#define REG_R7 36 +#define REG_R8 32 +#define REG_R9 28 +#define REG_R10 34 +#define REG_R11 20 +#define REG_R12 16 +#define REG_SP 12 +#define REG_LR 8 + +#define FRAME_SIZE_MIN 8 +#define REG_PC 4 +#define REG_SR 0 + +#ifndef __ASSEMBLY__ +struct pt_regs { + /* These are always saved */ + unsigned long sr; + unsigned long pc; + + /* These are sometimes saved */ + unsigned long lr; + unsigned long sp; + unsigned long r12; + unsigned long r11; + unsigned long r10; + unsigned long r9; + unsigned long r8; + unsigned long r7; + unsigned long r6; + unsigned long r5; + unsigned long r4; + unsigned long r3; + unsigned long r2; + unsigned long r1; + unsigned long r0; + + /* Only saved on system call */ + unsigned long r12_orig; +}; + +#ifdef __KERNEL__ +# define user_mode(regs) (((regs)->sr & MODE_MASK) == MODE_USER) +# define instruction_pointer(regs) ((regs)->pc) +extern void show_regs (struct pt_regs *); + +static __inline__ int valid_user_regs(struct pt_regs *regs) +{ + /* + * Some of the Java bits might be acceptable if/when we + * implement some support for that stuff... + */ + if ((regs->sr & 0xffff0000) == 0) + return 1; + + /* + * Force status register flags to be sane and report this + * illegal behaviour... + */ + regs->sr &= 0x0000ffff; + return 0; +} +#endif + +#endif /* ! __ASSEMBLY__ */ + +#endif /* __ASM_AVR32_PTRACE_H */ diff --git a/include/asm-avr32/sdram.h b/include/asm-avr32/sdram.h new file mode 100644 index 00000000000..5057eefa8ad --- /dev/null +++ b/include/asm-avr32/sdram.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_SDRAM_H +#define __ASM_AVR32_SDRAM_H + +struct sdram_info { + unsigned long phys_addr; + unsigned int row_bits, col_bits, bank_bits; + unsigned int cas, twr, trc, trp, trcd, tras, txsr; +}; + +extern unsigned long sdram_init(const struct sdram_info *info); + +#endif /* __ASM_AVR32_SDRAM_H */ diff --git a/include/asm-avr32/sections.h b/include/asm-avr32/sections.h new file mode 100644 index 00000000000..75373abde73 --- /dev/null +++ b/include/asm-avr32/sections.h @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_SECTIONS_H +#define __ASM_AVR32_SECTIONS_H + +/* References to section boundaries */ + +extern char _text[], _etext[]; +extern char __flashprog_start[], __flashprog_end[]; +extern char _data[], __data_lma[], _edata[], __edata_lma[]; +extern char __got_start[], __got_lma[], __got_end[]; +extern char _end[]; + +/* + * Everything in .flashprog will be locked in the icache so it doesn't + * get disturbed when executing flash commands. + */ +#define __flashprog __attribute__((section(".flashprog"), __noinline__)) + +#endif /* __ASM_AVR32_SECTIONS_H */ diff --git a/include/asm-avr32/setup.h b/include/asm-avr32/setup.h new file mode 100644 index 00000000000..e6ef8d6b50c --- /dev/null +++ b/include/asm-avr32/setup.h @@ -0,0 +1,142 @@ +/* + * Copyright (C) 2004-2006 Atmel Corporation + * + * Based on linux/include/asm-arm/setup.h + * Copyright (C) 1997-1999 Russel King + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_SETUP_H__ +#define __ASM_AVR32_SETUP_H__ + +#define COMMAND_LINE_SIZE 256 + +/* Magic number indicating that a tag table is present */ +#define ATAG_MAGIC 0xa2a25441 + +#ifndef __ASSEMBLY__ + +/* + * Generic memory range, used by several tags. + * + * addr is always physical. + * size is measured in bytes. + * next is for use by the OS, e.g. for grouping regions into + * linked lists. + */ +struct tag_mem_range { + u32 addr; + u32 size; + struct tag_mem_range * next; +}; + +/* The list ends with an ATAG_NONE node. */ +#define ATAG_NONE 0x00000000 + +struct tag_header { + u32 size; + u32 tag; +}; + +/* The list must start with an ATAG_CORE node */ +#define ATAG_CORE 0x54410001 + +struct tag_core { + u32 flags; + u32 pagesize; + u32 rootdev; +}; + +/* it is allowed to have multiple ATAG_MEM nodes */ +#define ATAG_MEM 0x54410002 +/* ATAG_MEM uses tag_mem_range */ + +/* command line: \0 terminated string */ +#define ATAG_CMDLINE 0x54410003 + +struct tag_cmdline { + char cmdline[1]; /* this is the minimum size */ +}; + +/* Ramdisk image (may be compressed) */ +#define ATAG_RDIMG 0x54410004 +/* ATAG_RDIMG uses tag_mem_range */ + +/* Information about various clocks present in the system */ +#define ATAG_CLOCK 0x54410005 + +struct tag_clock { + u32 clock_id; /* Which clock are we talking about? */ + u32 clock_flags; /* Special features */ + u64 clock_hz; /* Clock speed in Hz */ +}; + +/* The clock types we know about */ +#define ACLOCK_BOOTCPU 0 /* The CPU we're booting from */ +#define ACLOCK_HSB 1 /* Deprecated */ + +/* Memory reserved for the system (e.g. the bootloader) */ +#define ATAG_RSVD_MEM 0x54410006 +/* ATAG_RSVD_MEM uses tag_mem_range */ + +/* Ethernet information */ + +#define ATAG_ETHERNET 0x54410007 + +struct tag_ethernet { + u8 mac_index; + u8 mii_phy_addr; + u8 hw_address[6]; +}; + +#define AETH_INVALID_PHY 0xff + +struct tag { + struct tag_header hdr; + union { + struct tag_core core; + struct tag_mem_range mem_range; + struct tag_cmdline cmdline; + struct tag_clock clock; + struct tag_ethernet ethernet; + } u; +}; + +struct tagtable { + u32 tag; + int (*parse)(struct tag *); +}; + +#define __tag __attribute_used__ __attribute__((__section__(".taglist"))) +#define __tagtable(tag, fn) \ + static struct tagtable __tagtable_##fn __tag = { tag, fn } + +#define tag_member_present(tag,member) \ + ((unsigned long)(&((struct tag *)0L)->member + 1) \ + <= (tag)->hdr.size * 4) + +#define tag_next(t) ((struct tag *)((u32 *)(t) + (t)->hdr.size)) +#define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type)) >> 2) + +#define for_each_tag(t,base) \ + for (t = base; t->hdr.size; t = tag_next(t)) + +#endif /* !__ASSEMBLY__ */ + +#endif /* __ASM_AVR32_SETUP_H__ */ diff --git a/include/asm-avr32/string.h b/include/asm-avr32/string.h new file mode 100644 index 00000000000..8b05d1a031e --- /dev/null +++ b/include/asm-avr32/string.h @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_STRING_H +#define __ASM_AVR32_STRING_H + +#define __HAVE_ARCH_MEMSET +extern void *memset(void *s, int c, size_t n); + +#endif /* __ASM_AVR32_STRING_H */ diff --git a/include/asm-avr32/sysreg.h b/include/asm-avr32/sysreg.h new file mode 100644 index 00000000000..72ad49e5e2d --- /dev/null +++ b/include/asm-avr32/sysreg.h @@ -0,0 +1,279 @@ +/* + * System registers for AVR32 + */ +#ifndef __ASM_AVR32_SYSREG_H__ +#define __ASM_AVR32_SYSREG_H__ + +/* system register offsets */ +#define SYSREG_SR 0x0000 +#define SYSREG_EVBA 0x0004 +#define SYSREG_ACBA 0x0008 +#define SYSREG_CPUCR 0x000c +#define SYSREG_ECR 0x0010 +#define SYSREG_RSR_SUP 0x0014 +#define SYSREG_RSR_INT0 0x0018 +#define SYSREG_RSR_INT1 0x001c +#define SYSREG_RSR_INT2 0x0020 +#define SYSREG_RSR_INT3 0x0024 +#define SYSREG_RSR_EX 0x0028 +#define SYSREG_RSR_NMI 0x002c +#define SYSREG_RSR_DBG 0x0030 +#define SYSREG_RAR_SUP 0x0034 +#define SYSREG_RAR_INT0 0x0038 +#define SYSREG_RAR_INT1 0x003c +#define SYSREG_RAR_INT2 0x0040 +#define SYSREG_RAR_INT3 0x0044 +#define SYSREG_RAR_EX 0x0048 +#define SYSREG_RAR_NMI 0x004c +#define SYSREG_RAR_DBG 0x0050 +#define SYSREG_JECR 0x0054 +#define SYSREG_JOSP 0x0058 +#define SYSREG_JAVA_LV0 0x005c +#define SYSREG_JAVA_LV1 0x0060 +#define SYSREG_JAVA_LV2 0x0064 +#define SYSREG_JAVA_LV3 0x0068 +#define SYSREG_JAVA_LV4 0x006c +#define SYSREG_JAVA_LV5 0x0070 +#define SYSREG_JAVA_LV6 0x0074 +#define SYSREG_JAVA_LV7 0x0078 +#define SYSREG_JTBA 0x007c +#define SYSREG_JBCR 0x0080 +#define SYSREG_CONFIG0 0x0100 +#define SYSREG_CONFIG1 0x0104 +#define SYSREG_COUNT 0x0108 +#define SYSREG_COMPARE 0x010c +#define SYSREG_TLBEHI 0x0110 +#define SYSREG_TLBELO 0x0114 +#define SYSREG_PTBR 0x0118 +#define SYSREG_TLBEAR 0x011c +#define SYSREG_MMUCR 0x0120 +#define SYSREG_TLBARLO 0x0124 +#define SYSREG_TLBARHI 0x0128 +#define SYSREG_PCCNT 0x012c +#define SYSREG_PCNT0 0x0130 +#define SYSREG_PCNT1 0x0134 +#define SYSREG_PCCR 0x0138 +#define SYSREG_BEAR 0x013c +#define SYSREG_SABAL 0x0300 +#define SYSREG_SABAH 0x0304 +#define SYSREG_SABD 0x0308 + +/* Bitfields in SR */ +#define SYSREG_SR_C_OFFSET 0 +#define SYSREG_SR_C_SIZE 1 +#define SYSREG_Z_OFFSET 1 +#define SYSREG_Z_SIZE 1 +#define SYSREG_SR_N_OFFSET 2 +#define SYSREG_SR_N_SIZE 1 +#define SYSREG_SR_V_OFFSET 3 +#define SYSREG_SR_V_SIZE 1 +#define SYSREG_Q_OFFSET 4 +#define SYSREG_Q_SIZE 1 +#define SYSREG_L_OFFSET 5 +#define SYSREG_L_SIZE 1 +#define SYSREG_T_OFFSET 14 +#define SYSREG_T_SIZE 1 +#define SYSREG_SR_R_OFFSET 15 +#define SYSREG_SR_R_SIZE 1 +#define SYSREG_GM_OFFSET 16 +#define SYSREG_GM_SIZE 1 +#define SYSREG_I0M_OFFSET 17 +#define SYSREG_I0M_SIZE 1 +#define SYSREG_I1M_OFFSET 18 +#define SYSREG_I1M_SIZE 1 +#define SYSREG_I2M_OFFSET 19 +#define SYSREG_I2M_SIZE 1 +#define SYSREG_I3M_OFFSET 20 +#define SYSREG_I3M_SIZE 1 +#define SYSREG_EM_OFFSET 21 +#define SYSREG_EM_SIZE 1 +#define SYSREG_M0_OFFSET 22 +#define SYSREG_M0_SIZE 1 +#define SYSREG_M1_OFFSET 23 +#define SYSREG_M1_SIZE 1 +#define SYSREG_M2_OFFSET 24 +#define SYSREG_M2_SIZE 1 +#define SYSREG_SR_D_OFFSET 26 +#define SYSREG_SR_D_SIZE 1 +#define SYSREG_DM_OFFSET 27 +#define SYSREG_DM_SIZE 1 +#define SYSREG_SR_J_OFFSET 28 +#define SYSREG_SR_J_SIZE 1 +#define SYSREG_H_OFFSET 29 +#define SYSREG_H_SIZE 1 + +/* Bitfields in CPUCR */ +#define SYSREG_BI_OFFSET 0 +#define SYSREG_BI_SIZE 1 +#define SYSREG_BE_OFFSET 1 +#define SYSREG_BE_SIZE 1 +#define SYSREG_FE_OFFSET 2 +#define SYSREG_FE_SIZE 1 +#define SYSREG_RE_OFFSET 3 +#define SYSREG_RE_SIZE 1 +#define SYSREG_IBE_OFFSET 4 +#define SYSREG_IBE_SIZE 1 +#define SYSREG_IEE_OFFSET 5 +#define SYSREG_IEE_SIZE 1 + +/* Bitfields in ECR */ +#define SYSREG_ECR_OFFSET 0 +#define SYSREG_ECR_SIZE 32 + +/* Bitfields in CONFIG0 */ +#define SYSREG_CONFIG0_R_OFFSET 0 +#define SYSREG_CONFIG0_R_SIZE 1 +#define SYSREG_CONFIG0_D_OFFSET 1 +#define SYSREG_CONFIG0_D_SIZE 1 +#define SYSREG_CONFIG0_S_OFFSET 2 +#define SYSREG_CONFIG0_S_SIZE 1 +#define SYSREG_O_OFFSET 3 +#define SYSREG_O_SIZE 1 +#define SYSREG_P_OFFSET 4 +#define SYSREG_P_SIZE 1 +#define SYSREG_CONFIG0_J_OFFSET 5 +#define SYSREG_CONFIG0_J_SIZE 1 +#define SYSREG_F_OFFSET 6 +#define SYSREG_F_SIZE 1 +#define SYSREG_MMUT_OFFSET 7 +#define SYSREG_MMUT_SIZE 3 +#define SYSREG_AR_OFFSET 10 +#define SYSREG_AR_SIZE 3 +#define SYSREG_AT_OFFSET 13 +#define SYSREG_AT_SIZE 3 +#define SYSREG_PROCESSORREVISION_OFFSET 16 +#define SYSREG_PROCESSORREVISION_SIZE 8 +#define SYSREG_PROCESSORID_OFFSET 24 +#define SYSREG_PROCESSORID_SIZE 8 + +/* Bitfields in CONFIG1 */ +#define SYSREG_DASS_OFFSET 0 +#define SYSREG_DASS_SIZE 3 +#define SYSREG_DLSZ_OFFSET 3 +#define SYSREG_DLSZ_SIZE 3 +#define SYSREG_DSET_OFFSET 6 +#define SYSREG_DSET_SIZE 4 +#define SYSREG_IASS_OFFSET 10 +#define SYSREG_IASS_SIZE 3 +#define SYSREG_ILSZ_OFFSET 13 +#define SYSREG_ILSZ_SIZE 3 +#define SYSREG_ISET_OFFSET 16 +#define SYSREG_ISET_SIZE 4 +#define SYSREG_DMMUSZ_OFFSET 20 +#define SYSREG_DMMUSZ_SIZE 6 +#define SYSREG_IMMUSZ_OFFSET 26 +#define SYSREG_IMMUSZ_SIZE 6 + +/* Bitfields in TLBEHI */ +#define SYSREG_ASID_OFFSET 0 +#define SYSREG_ASID_SIZE 8 +#define SYSREG_TLBEHI_I_OFFSET 8 +#define SYSREG_TLBEHI_I_SIZE 1 +#define SYSREG_TLBEHI_V_OFFSET 9 +#define SYSREG_TLBEHI_V_SIZE 1 +#define SYSREG_VPN_OFFSET 10 +#define SYSREG_VPN_SIZE 22 + +/* Bitfields in TLBELO */ +#define SYSREG_W_OFFSET 0 +#define SYSREG_W_SIZE 1 +#define SYSREG_TLBELO_D_OFFSET 1 +#define SYSREG_TLBELO_D_SIZE 1 +#define SYSREG_SZ_OFFSET 2 +#define SYSREG_SZ_SIZE 2 +#define SYSREG_AP_OFFSET 4 +#define SYSREG_AP_SIZE 3 +#define SYSREG_B_OFFSET 7 +#define SYSREG_B_SIZE 1 +#define SYSREG_G_OFFSET 8 +#define SYSREG_G_SIZE 1 +#define SYSREG_TLBELO_C_OFFSET 9 +#define SYSREG_TLBELO_C_SIZE 1 +#define SYSREG_PFN_OFFSET 10 +#define SYSREG_PFN_SIZE 22 + +/* Bitfields in MMUCR */ +#define SYSREG_E_OFFSET 0 +#define SYSREG_E_SIZE 1 +#define SYSREG_M_OFFSET 1 +#define SYSREG_M_SIZE 1 +#define SYSREG_MMUCR_I_OFFSET 2 +#define SYSREG_MMUCR_I_SIZE 1 +#define SYSREG_MMUCR_N_OFFSET 3 +#define SYSREG_MMUCR_N_SIZE 1 +#define SYSREG_MMUCR_S_OFFSET 4 +#define SYSREG_MMUCR_S_SIZE 1 +#define SYSREG_DLA_OFFSET 8 +#define SYSREG_DLA_SIZE 6 +#define SYSREG_DRP_OFFSET 14 +#define SYSREG_DRP_SIZE 6 +#define SYSREG_ILA_OFFSET 20 +#define SYSREG_ILA_SIZE 6 +#define SYSREG_IRP_OFFSET 26 +#define SYSREG_IRP_SIZE 6 + +/* Bitfields in PCCR */ +#define SYSREG_PCCR_R_OFFSET 1 +#define SYSREG_PCCR_R_SIZE 1 +#define SYSREG_PCCR_C_OFFSET 2 +#define SYSREG_PCCR_C_SIZE 1 +#define SYSREG_PCCR_S_OFFSET 3 +#define SYSREG_PCCR_S_SIZE 1 +#define SYSREG_IEC_OFFSET 4 +#define SYSREG_IEC_SIZE 1 +#define SYSREG_IE0_OFFSET 5 +#define SYSREG_IE0_SIZE 1 +#define SYSREG_IE1_OFFSET 6 +#define SYSREG_IE1_SIZE 1 +#define SYSREG_FC_OFFSET 8 +#define SYSREG_FC_SIZE 1 +#define SYSREG_F0_OFFSET 9 +#define SYSREG_F0_SIZE 1 +#define SYSREG_F1_OFFSET 10 +#define SYSREG_F1_SIZE 1 +#define SYSREG_CONF0_OFFSET 12 +#define SYSREG_CONF0_SIZE 6 +#define SYSREG_CONF1_OFFSET 18 +#define SYSREG_CONF1_SIZE 6 + +/* Constants for ECR */ +#define ECR_UNRECOVERABLE 0 +#define ECR_TLB_MULTIPLE 1 +#define ECR_BUS_ERROR_WRITE 2 +#define ECR_BUS_ERROR_READ 3 +#define ECR_NMI 4 +#define ECR_ADDR_ALIGN_X 5 +#define ECR_PROTECTION_X 6 +#define ECR_DEBUG 7 +#define ECR_ILLEGAL_OPCODE 8 +#define ECR_UNIMPL_INSTRUCTION 9 +#define ECR_PRIVILEGE_VIOLATION 10 +#define ECR_FPE 11 +#define ECR_COPROC_ABSENT 12 +#define ECR_ADDR_ALIGN_R 13 +#define ECR_ADDR_ALIGN_W 14 +#define ECR_PROTECTION_R 15 +#define ECR_PROTECTION_W 16 +#define ECR_DTLB_MODIFIED 17 +#define ECR_TLB_MISS_X 20 +#define ECR_TLB_MISS_R 24 +#define ECR_TLB_MISS_W 28 + +/* Bit manipulation macros */ +#define SYSREG_BIT(name) (1 << SYSREG_##name##_OFFSET) +#define SYSREG_BF(name,value) \ + (((value) & ((1 << SYSREG_##name##_SIZE) - 1)) \ + << SYSREG_##name##_OFFSET) +#define SYSREG_BFEXT(name,value) \ + (((value) >> SYSREG_##name##_OFFSET) \ + & ((1 << SYSREG_##name##_SIZE) - 1)) +#define SYSREG_BFINS(name,value,old) \ + (((old) & ~(((1 << SYSREG_##name##_SIZE) - 1) \ + << SYSREG_##name##_OFFSET)) \ + | SYSREG_BF(name,value)) + +/* Register access macros */ +#define sysreg_read(reg) __builtin_mfsr(SYSREG_##reg) +#define sysreg_write(reg, value) __builtin_mtsr(SYSREG_##reg, value) + +#endif /* __ASM_AVR32_SYSREG_H__ */ diff --git a/include/asm-avr32/types.h b/include/asm-avr32/types.h new file mode 100644 index 00000000000..e6c65d9179b --- /dev/null +++ b/include/asm-avr32/types.h @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_TYPES_H +#define __ASM_AVR32_TYPES_H + +#ifndef __ASSEMBLY__ + +typedef unsigned short umode_t; + +/* + * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the + * header files exported to user space + */ +typedef __signed__ char __s8; +typedef unsigned char __u8; + +typedef __signed__ short __s16; +typedef unsigned short __u16; + +typedef __signed__ int __s32; +typedef unsigned int __u32; + +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) +typedef __signed__ long long __s64; +typedef unsigned long long __u64; +#endif + +#endif /* __ASSEMBLY__ */ + +/* + * These aren't exported outside the kernel to avoid name space clashes + */ +#ifdef __KERNEL__ + +#define BITS_PER_LONG 32 + +#ifndef __ASSEMBLY__ + +typedef __signed__ char s8; +typedef unsigned char u8; + +typedef __signed__ short s16; +typedef unsigned short u16; + +typedef __signed__ int s32; +typedef unsigned int u32; + +typedef __signed__ long long s64; +typedef unsigned long long u64; + +/* Dma addresses are 32-bits wide. */ + +typedef u32 dma_addr_t; + +#ifdef CONFIG_LBD +typedef u64 sector_t; +#define HAVE_SECTOR_T +#endif + +#endif /* __ASSEMBLY__ */ + +#endif /* __KERNEL__ */ + + +#endif /* __ASM_AVR32_TYPES_H */ diff --git a/include/asm-avr32/u-boot.h b/include/asm-avr32/u-boot.h new file mode 100644 index 00000000000..71dfcaf2840 --- /dev/null +++ b/include/asm-avr32/u-boot.h @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2004-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_U_BOOT_H__ +#define __ASM_U_BOOT_H__ 1 + +typedef struct bd_info { + unsigned long bi_baudrate; + unsigned long bi_ip_addr; + unsigned char bi_enetaddr[6]; + unsigned char bi_phy_id[4]; + struct environment_s *bi_env; + unsigned long bi_board_number; + void *bi_boot_params; + struct { + unsigned long start; + unsigned long size; + } bi_dram[CONFIG_NR_DRAM_BANKS]; + unsigned long bi_flashstart; + unsigned long bi_flashsize; + unsigned long bi_flashoffset; +} bd_t; + +#define bi_memstart bi_dram[0].start +#define bi_memsize bi_dram[0].size + +/** + * container_of - cast a member of a structure out to the containing structure + * + * @ptr: the pointer to the member. + * @type: the type of the container struct this is embedded in. + * @member: the name of the member within the struct. + */ +#define container_of(ptr, type, member) ({ \ + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ + (type *)( (char *)__mptr - offsetof(type,member) );}) + +#endif /* __ASM_U_BOOT_H__ */ diff --git a/lib_avr32/Makefile b/lib_avr32/Makefile new file mode 100644 index 00000000000..5b6300ba78a --- /dev/null +++ b/lib_avr32/Makefile @@ -0,0 +1,47 @@ +# +# (C) Copyright 2002-2006 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# (C) Copyright 2004-2006 Atmel Corporation +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(ARCH).a + +SOBJS = memset.o + +COBJS = board.o interrupts.o avr32_linux.o div64.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) + +$(LIB): $(obj).depend $(OBJS) + $(AR) crv $@ $(OBJS) + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/lib_avr32/avr32_linux.c b/lib_avr32/avr32_linux.c new file mode 100644 index 00000000000..d128dfb53f0 --- /dev/null +++ b/lib_avr32/avr32_linux.c @@ -0,0 +1,315 @@ +/* + * Copyright (C) 2004-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +extern int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]); + +/* CPU-specific hook to allow flushing of caches, etc. */ +extern void prepare_to_boot(void); + +#ifdef CONFIG_SHOW_BOOT_PROGRESS +# include +# define SHOW_BOOT_PROGRESS(arg) show_boot_progress(arg) +#else +# define SHOW_BOOT_PROGRESS(arg) +#endif + +extern image_header_t header; /* from cmd_bootm.c */ + +static struct tag *setup_start_tag(struct tag *params) +{ + params->hdr.tag = ATAG_CORE; + params->hdr.size = tag_size(tag_core); + + params->u.core.flags = 0; + params->u.core.pagesize = 4096; + params->u.core.rootdev = 0; + + return tag_next(params); +} + +static struct tag *setup_memory_tags(struct tag *params) +{ + bd_t *bd = gd->bd; + int i; + + for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { + params->hdr.tag = ATAG_MEM; + params->hdr.size = tag_size(tag_mem_range); + + params->u.mem_range.addr = bd->bi_dram[i].start; + params->u.mem_range.size = bd->bi_dram[i].size; + + params = tag_next(params); + } + + return params; +} + +static struct tag *setup_commandline_tag(struct tag *params, char *cmdline) +{ + if (!cmdline) + return params; + + /* eat leading white space */ + while (*cmdline == ' ') cmdline++; + + /* + * Don't include tags for empty command lines; let the kernel + * use its default command line. + */ + if (*cmdline == '\0') + return params; + + params->hdr.tag = ATAG_CMDLINE; + params->hdr.size = + (sizeof (struct tag_header) + strlen(cmdline) + 1 + 3) >> 2; + strcpy(params->u.cmdline.cmdline, cmdline); + + return tag_next(params); +} + +static struct tag *setup_ramdisk_tag(struct tag *params, + unsigned long rd_start, + unsigned long rd_end) +{ + if (rd_start == rd_end) + return params; + + params->hdr.tag = ATAG_RDIMG; + params->hdr.size = tag_size(tag_mem_range); + + params->u.mem_range.addr = rd_start; + params->u.mem_range.size = rd_end - rd_start; + + return tag_next(params); +} + +static struct tag *setup_clock_tags(struct tag *params) +{ + params->hdr.tag = ATAG_CLOCK; + params->hdr.size = tag_size(tag_clock); + params->u.clock.clock_id = ACLOCK_BOOTCPU; + params->u.clock.clock_flags = 0; + params->u.clock.clock_hz = gd->cpu_hz; + +#ifdef CONFIG_AT32AP7000 + /* + * New kernels don't need this, but we should be backwards + * compatible for a while... + */ + params = tag_next(params); + + params->hdr.tag = ATAG_CLOCK; + params->hdr.size = tag_size(tag_clock); + params->u.clock.clock_id = ACLOCK_HSB; + params->u.clock.clock_flags = 0; + params->u.clock.clock_hz = pm_get_clock_freq(CLOCK_HSB); +#endif + + return tag_next(params); +} + +static struct tag *setup_ethernet_tag(struct tag *params, + char *addr, int index) +{ + char *s, *e; + int i; + + params->hdr.tag = ATAG_ETHERNET; + params->hdr.size = tag_size(tag_ethernet); + + params->u.ethernet.mac_index = index; + params->u.ethernet.mii_phy_addr = gd->bd->bi_phy_id[index]; + + s = addr; + for (i = 0; i < 6; i++) { + params->u.ethernet.hw_address[i] = simple_strtoul(s, &e, 16); + s = e + 1; + } + + return tag_next(params); +} + +static struct tag *setup_ethernet_tags(struct tag *params) +{ + char name[16] = "ethaddr"; + char *addr; + int i = 0; + + do { + addr = getenv(name); + if (addr) + params = setup_ethernet_tag(params, addr, i); + sprintf(name, "eth%daddr", ++i); + } while (i < 4); + + return params; +} + +static void setup_end_tag(struct tag *params) +{ + params->hdr.tag = ATAG_NONE; + params->hdr.size = 0; +} + +void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], + unsigned long addr, unsigned long *len_ptr, int verify) +{ + unsigned long data, len = 0; + unsigned long initrd_start, initrd_end; + unsigned long image_start, image_end; + unsigned long checksum; + void (*theKernel)(int magic, void *tagtable); + image_header_t *hdr; + struct tag *params, *params_start; + char *commandline = getenv("bootargs"); + + hdr = (image_header_t *)addr; + image_start = addr; + image_end = addr + hdr->ih_size; + + theKernel = (void *)ntohl(hdr->ih_ep); + + /* + * Check if there is an initrd image + */ + if (argc >= 3) { + SHOW_BOOT_PROGRESS(9); + + addr = simple_strtoul(argv[2], NULL, 16); + + printf("## Loading RAMDISK image at %08lx ...\n", addr); + + memcpy(&header, (char *)addr, sizeof(header)); + hdr = &header; + + if (ntohl(hdr->ih_magic) != IH_MAGIC) { + puts("Bad Magic Number\n"); + SHOW_BOOT_PROGRESS(-10); + do_reset(cmdtp, flag, argc, argv); + } + + data = (unsigned long)hdr; + len = sizeof(*hdr); + checksum = ntohl(hdr->ih_hcrc); + hdr->ih_hcrc = 0; + + if (crc32(0, (unsigned char *)data, len) != checksum) { + puts("Bad Header Checksum\n"); + SHOW_BOOT_PROGRESS(-11); + do_reset(cmdtp, flag, argc, argv); + } + + SHOW_BOOT_PROGRESS(10); + + print_image_hdr(hdr); + + data = addr + sizeof(header); + len = ntohl(hdr->ih_size); + + if (verify) { + unsigned long csum = 0; + + puts(" Verifying Checksum ... "); + csum = crc32(0, (unsigned char *)data, len); + if (csum != ntohl(hdr->ih_dcrc)) { + puts("Bad Data CRC\n"); + SHOW_BOOT_PROGRESS(-12); + do_reset(cmdtp, flag, argc, argv); + } + puts("OK\n"); + } + + SHOW_BOOT_PROGRESS(11); + + if ((hdr->ih_os != IH_OS_LINUX) || + (hdr->ih_arch != IH_CPU_AVR32) || + (hdr->ih_type != IH_TYPE_RAMDISK)) { + puts("Not a Linux/AVR32 RAMDISK image\n"); + SHOW_BOOT_PROGRESS(-13); + do_reset(cmdtp, flag, argc, argv); + } + } else if ((hdr->ih_type == IH_TYPE_MULTI) && (len_ptr[1])) { + ulong tail = ntohl (len_ptr[0]) % 4; + int i; + + SHOW_BOOT_PROGRESS (13); + + /* skip kernel length and terminator */ + data = (ulong) (&len_ptr[2]); + /* skip any additional image length fields */ + for (i = 1; len_ptr[i]; ++i) + data += 4; + /* add kernel length, and align */ + data += ntohl (len_ptr[0]); + if (tail) { + data += 4 - tail; + } + + len = ntohl (len_ptr[1]); + } else { + /* no initrd image */ + SHOW_BOOT_PROGRESS(14); + len = data = 0; + } + + if (data) { + initrd_start = data; + initrd_end = initrd_start + len; + } else { + initrd_start = 0; + initrd_end = 0; + } + + SHOW_BOOT_PROGRESS(15); + + params = params_start = (struct tag *)gd->bd->bi_boot_params; + params = setup_start_tag(params); + params = setup_memory_tags(params); + if (initrd_start) { + params = setup_ramdisk_tag(params, + PHYSADDR(initrd_start), + PHYSADDR(initrd_end)); + } + params = setup_commandline_tag(params, commandline); + params = setup_clock_tags(params); + params = setup_ethernet_tags(params); + setup_end_tag(params); + + printf("\nStarting kernel at %p (params at %p)...\n\n", + theKernel, params_start); + + prepare_to_boot(); + + theKernel(ATAG_MAGIC, params_start); +} diff --git a/lib_avr32/board.c b/lib_avr32/board.c new file mode 100644 index 00000000000..02c106b80ed --- /dev/null +++ b/lib_avr32/board.c @@ -0,0 +1,175 @@ +/* + * Copyright (C) 2004-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include +#include +#include +#include +#include +#include + +#include +#include + +#ifndef CONFIG_IDENT_STRING +#define CONFIG_IDENT_STRING "" +#endif + +DECLARE_GLOBAL_DATA_PTR; + +const char version_string[] = + U_BOOT_VERSION " (" __DATE__ " - " __TIME__ ") " CONFIG_IDENT_STRING; + +unsigned long monitor_flash_len; + +/* + * Begin and end of memory area for malloc(), and current "brk" + */ +static unsigned long mem_malloc_start = 0; +static unsigned long mem_malloc_end = 0; +static unsigned long mem_malloc_brk = 0; + +/* The malloc area is wherever the board wants it to be */ +static void mem_malloc_init(void) +{ + mem_malloc_start = CFG_MALLOC_START; + mem_malloc_end = CFG_MALLOC_END; + mem_malloc_brk = mem_malloc_start; + + printf("malloc: Using memory from 0x%08lx to 0x%08lx\n", + mem_malloc_start, mem_malloc_end); + + memset ((void *)mem_malloc_start, 0, + mem_malloc_end - mem_malloc_start); +} + +void *sbrk(ptrdiff_t increment) +{ + unsigned long old = mem_malloc_brk; + unsigned long new = old + increment; + + if ((new < mem_malloc_start) || (new > mem_malloc_end)) + return NULL; + + mem_malloc_brk = new; + return ((void *)old); +} + +static int init_baudrate(void) +{ + char tmp[64]; + int i; + + i = getenv_r("baudrate", tmp, sizeof(tmp)); + if (i > 0) { + gd->baudrate = simple_strtoul(tmp, NULL, 10); + } else { + gd->baudrate = CONFIG_BAUDRATE; + } + return 0; +} + + +static int display_banner (void) +{ + printf ("\n\n%s\n\n", version_string); + printf ("U-Boot code: %p -> %p data: %p -> %p\n", + _text, _etext, _data, _end); + return 0; +} + +void hang(void) +{ + for (;;) ; +} + +static int display_dram_config (void) +{ + int i; + + puts ("DRAM Configuration:\n"); + + for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) { + printf ("Bank #%d: %08lx ", i, gd->bd->bi_dram[i].start); + print_size (gd->bd->bi_dram[i].size, "\n"); + } + + return 0; +} + +static void display_flash_config (void) +{ + puts ("Flash: "); + print_size(gd->bd->bi_flashsize, " "); + printf("at address 0x%08lx\n", gd->bd->bi_flashstart); +} + +void start_u_boot (void) +{ + gd_t gd_data; + + /* Initialize the global data pointer */ + memset(&gd_data, 0, sizeof(gd_data)); + gd = &gd_data; + + monitor_flash_len = _edata - _text; + + /* Perform initialization sequence */ + cpu_init(); + timer_init(); + env_init(); + init_baudrate(); + serial_init(); + console_init_f(); + display_banner(); + + board_init_memories(); + mem_malloc_init(); + + gd->bd = malloc(sizeof(bd_t)); + memset(gd->bd, 0, sizeof(bd_t)); + gd->bd->bi_baudrate = gd->baudrate; + gd->bd->bi_dram[0].start = CFG_SDRAM_BASE; + gd->bd->bi_dram[0].size = gd->sdram_size; + + board_init_info(); + flash_init(); + + if (gd->bd->bi_flashsize) + display_flash_config(); + if (gd->bd->bi_dram[0].size) + display_dram_config(); + + gd->bd->bi_boot_params = malloc(CFG_BOOTPARAMS_LEN); + if (!gd->bd->bi_boot_params) + puts("WARNING: Cannot allocate space for boot parameters\n"); + + /* initialize environment */ + env_relocate(); + + devices_init(); + jumptable_init(); + console_init_r(); + + for (;;) { + main_loop(); + } +} diff --git a/lib_avr32/div64.c b/lib_avr32/div64.c new file mode 100644 index 00000000000..99726e325da --- /dev/null +++ b/lib_avr32/div64.c @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2003 Bernardo Innocenti + * + * Based on former do_div() implementation from asm-parisc/div64.h: + * Copyright (C) 1999 Hewlett-Packard Co + * Copyright (C) 1999 David Mosberger-Tang + * + * + * Generic C version of 64bit/32bit division and modulo, with + * 64bit result and 32bit remainder. + * + * The fast case for (n>>32 == 0) is handled inline by do_div(). + * + * Code generated for this function might be very inefficient + * for some CPUs. __div64_32() can be overridden by linking arch-specific + * assembly versions such as arch/ppc/lib/div64.S and arch/sh/lib/div64.S. + */ + +#include + +#include + +uint32_t __div64_32(uint64_t *n, uint32_t base) +{ + uint64_t rem = *n; + uint64_t b = base; + uint64_t res, d = 1; + uint32_t high = rem >> 32; + + /* Reduce the thing a bit first */ + res = 0; + if (high >= base) { + high /= base; + res = (uint64_t) high << 32; + rem -= (uint64_t) (high*base) << 32; + } + + while ((int64_t)b > 0 && b < rem) { + b = b+b; + d = d+d; + } + + do { + if (rem >= b) { + rem -= b; + res += d; + } + b >>= 1; + d >>= 1; + } while (d); + + *n = res; + return rem; +} diff --git a/lib_avr32/interrupts.c b/lib_avr32/interrupts.c new file mode 100644 index 00000000000..ce538f3d924 --- /dev/null +++ b/lib_avr32/interrupts.c @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include + +#include + +void enable_interrupts(void) +{ + asm volatile("csrf %0" : : "n"(SYSREG_GM_OFFSET)); +} + +int disable_interrupts(void) +{ + unsigned long sr; + + sr = sysreg_read(SR); + asm volatile("ssrf %0" : : "n"(SYSREG_GM_OFFSET)); + + return SYSREG_BFEXT(GM, sr); +} diff --git a/lib_avr32/memset.S b/lib_avr32/memset.S new file mode 100644 index 00000000000..dc3b09b42f9 --- /dev/null +++ b/lib_avr32/memset.S @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2004-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + + /* + * r12: void *b + * r11: int c + * r10: size_t len + * + * Returns b in r12 + */ + .text + + .global memset + .type memset, @function + .align 2 +memset: + mov r9, r12 + mov r8, r12 + or r11, r11, r11 << 8 + andl r9, 3, COH + brne 1f + +2: or r11, r11, r11 << 16 + sub r10, 4 + brlt 5f + + /* Let's do some real work */ +4: st.w r8++, r11 + sub r10, 4 + brge 4b + + /* + * When we get here, we've got less than 4 bytes to set. r10 + * might be negative. + */ +5: sub r10, -4 + reteq r12 + + /* Fastpath ends here, exactly 32 bytes from memset */ + + /* Handle unaligned count or pointer */ + bld r10, 1 + brcc 6f + st.b r8++, r11 + st.b r8++, r11 + bld r10, 0 + retcc r12 +6: st.b r8++, r11 + mov pc, lr + + /* Handle unaligned pointer */ +1: sub r10, 4 + brlt 5b + add r10, r9 + lsl r9, 1 + add pc, r9 + st.b r8++, r11 + st.b r8++, r11 + st.b r8++, r11 + rjmp 2b + + .size memset, . - memset -- cgit v1.3.1 From 72a087e04705c26cad982879ebd06b5281bf825a Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Tue, 24 Oct 2006 14:27:35 +0200 Subject: Add AT32AP CPU and AT32AP7000 SoC support Patch by Haavard Skinnemoen, 06 Sep 2006 This patch adds support for the AT32AP CPU family and the AT32AP7000 chip, which is the first chip implementing the AVR32 architecture. The AT32AP CPU core is a high-performance implementation featuring a 7-stage pipeline, separate instruction- and data caches, and a MMU. For more information, please see the "AVR32 AP Technical Reference": http://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf In addition to this, the AT32AP7000 chip comes with a large set of integrated peripherals, many of which are shared with the AT91 series of ARM-based microcontrollers from Atmel. Full data sheet is available here: http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf Signed-off-by: Haavard Skinnemoen --- Makefile | 3 + README | 4 + cpu/at32ap/Makefile | 50 +++ cpu/at32ap/at32ap7000/Makefile | 43 +++ cpu/at32ap/at32ap7000/devices.c | 448 +++++++++++++++++++++++++ cpu/at32ap/at32ap7000/hebi.c | 38 +++ cpu/at32ap/cache.c | 97 ++++++ cpu/at32ap/config.mk | 22 ++ cpu/at32ap/cpu.c | 83 +++++ cpu/at32ap/device.c | 126 +++++++ cpu/at32ap/entry.S | 65 ++++ cpu/at32ap/exception.c | 119 +++++++ cpu/at32ap/hsdramc.c | 155 +++++++++ cpu/at32ap/hsdramc1.h | 143 ++++++++ cpu/at32ap/hsmc3.h | 126 +++++++ cpu/at32ap/interrupts.c | 154 +++++++++ cpu/at32ap/pio.c | 94 ++++++ cpu/at32ap/pio2.h | 44 +++ cpu/at32ap/pm.c | 163 +++++++++ cpu/at32ap/sm.h | 204 +++++++++++ cpu/at32ap/start.S | 113 +++++++ include/asm-avr32/arch-at32ap7000/hmatrix2.h | 232 +++++++++++++ include/asm-avr32/arch-at32ap7000/memory-map.h | 61 ++++ include/asm-avr32/arch-at32ap7000/platform.h | 146 ++++++++ 24 files changed, 2733 insertions(+) create mode 100644 cpu/at32ap/Makefile create mode 100644 cpu/at32ap/at32ap7000/Makefile create mode 100644 cpu/at32ap/at32ap7000/devices.c create mode 100644 cpu/at32ap/at32ap7000/hebi.c create mode 100644 cpu/at32ap/cache.c create mode 100644 cpu/at32ap/config.mk create mode 100644 cpu/at32ap/cpu.c create mode 100644 cpu/at32ap/device.c create mode 100644 cpu/at32ap/entry.S create mode 100644 cpu/at32ap/exception.c create mode 100644 cpu/at32ap/hsdramc.c create mode 100644 cpu/at32ap/hsdramc1.h create mode 100644 cpu/at32ap/hsmc3.h create mode 100644 cpu/at32ap/interrupts.c create mode 100644 cpu/at32ap/pio.c create mode 100644 cpu/at32ap/pio2.h create mode 100644 cpu/at32ap/pm.c create mode 100644 cpu/at32ap/sm.h create mode 100644 cpu/at32ap/start.S create mode 100644 include/asm-avr32/arch-at32ap7000/hmatrix2.h create mode 100644 include/asm-avr32/arch-at32ap7000/memory-map.h create mode 100644 include/asm-avr32/arch-at32ap7000/platform.h (limited to 'Makefile') diff --git a/Makefile b/Makefile index 5260a612ff3..2f3e886a969 100644 --- a/Makefile +++ b/Makefile @@ -2105,6 +2105,9 @@ pb1000_config : unconfig #======================================================================== # AVR32 #======================================================================== +######################################################################### +## AT32AP7xxx +######################################################################### ######################################################################### ## MIPS64 5Kc diff --git a/README b/README index 8405a9b0cd1..69af79a4576 100644 --- a/README +++ b/README @@ -132,6 +132,7 @@ Directory Hierarchy: - arm925t Files specific to ARM 925 CPUs - arm926ejs Files specific to ARM 926 CPUs - arm1136 Files specific to ARM 1136 CPUs + - at32ap Files specific to Atmel AVR32 AP CPUs - i386 Files specific to i386 CPUs - ixp Files specific to Intel XScale IXP CPUs - mcf52x2 Files specific to Freescale ColdFire MCF52x2 CPUs @@ -257,6 +258,9 @@ The following options need to be configured: ---------------------- CONFIG_NIOS2 + AVR32 based CPUs: + ---------------------- + CONFIG_AT32AP - Board Type: Define exactly one of diff --git a/cpu/at32ap/Makefile b/cpu/at32ap/Makefile new file mode 100644 index 00000000000..8ce79e9ef69 --- /dev/null +++ b/cpu/at32ap/Makefile @@ -0,0 +1,50 @@ +# +# (C) Copyright 2000-2006 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. +# +# Copyright (C) 2005-2006 Atmel Corporation. +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +include $(TOPDIR)/config.mk + +LIB := $(obj)lib$(CPU).a + +START := start.o +SOBJS := entry.o +COBJS := cpu.o hsdramc.o exception.o cache.o +COBJS += interrupts.o device.o pm.o pio.o +SRCS := $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) +START := $(addprefix $(obj),$(START)) + +all: $(obj).depend $(START) $(LIB) + +$(LIB): $(OBJS) + $(AR) crv $@ $^ + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/cpu/at32ap/at32ap7000/Makefile b/cpu/at32ap/at32ap7000/Makefile new file mode 100644 index 00000000000..1cd94448663 --- /dev/null +++ b/cpu/at32ap/at32ap7000/Makefile @@ -0,0 +1,43 @@ +# +# Copyright (C) 2005-2006 Atmel Corporation +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# + +include $(TOPDIR)/config.mk + +LIB := $(obj)lib$(SOC).a + +COBJS := hebi.o devices.o +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) +OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) + +all: $(obj).depend $(LIB) + +$(LIB): $(OBJS) + $(AR) crv $@ $^ + +######################################################################### + +# defines $(obj).depend target +include $(SRCTREE)/rules.mk + +sinclude $(obj).depend + +######################################################################### diff --git a/cpu/at32ap/at32ap7000/devices.c b/cpu/at32ap/at32ap7000/devices.c new file mode 100644 index 00000000000..8b216e906a2 --- /dev/null +++ b/cpu/at32ap/at32ap7000/devices.c @@ -0,0 +1,448 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include + +#include +#include + +#include "../sm.h" + +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) + +const struct clock_domain chip_clock[] = { + [CLOCK_CPU] = { + .reg = SM_PM_CPU_MASK, + .id = CLOCK_CPU, + .bridge = NO_DEVICE, + }, + [CLOCK_HSB] = { + .reg = SM_PM_HSB_MASK, + .id = CLOCK_HSB, + .bridge = NO_DEVICE, + }, + [CLOCK_PBA] = { + .reg = SM_PM_PBA_MASK, + .id = CLOCK_PBA, + .bridge = DEVICE_PBA_BRIDGE, + }, + [CLOCK_PBB] = { + .reg = SM_PM_PBB_MASK, + .id = CLOCK_PBB, + .bridge = DEVICE_PBB_BRIDGE, + }, +}; + +static const struct resource hebi_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_HSB, 0 }, + }, + }, { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBB, 13 }, + }, + }, { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBB, 14 }, + }, + }, { + .type = RESOURCE_GPIO, + .u = { + .gpio = { 27, DEVICE_PIOE, GPIO_FUNC_A, 0 }, + }, + }, +}; +static const struct resource pba_bridge_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_HSB, 1 }, + } + }, { + .type = RESOURCE_CLOCK, + .u = { + /* HSB-HSB Bridge */ + .clock = { CLOCK_HSB, 4 }, + }, + }, +}; +static const struct resource pbb_bridge_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_HSB, 2 }, + }, + }, +}; +static const struct resource hramc_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_HSB, 3 }, + }, + }, +}; +static const struct resource pioa_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBA, 10 }, + }, + }, +}; +static const struct resource piob_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBA, 11 }, + }, + }, +}; +static const struct resource pioc_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBA, 12 }, + }, + }, +}; +static const struct resource piod_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBA, 13 }, + }, + }, +}; +static const struct resource pioe_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBA, 14 }, + }, + }, +}; +static const struct resource sm_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBB, 0 }, + }, + }, +}; +static const struct resource intc_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBB, 1 }, + }, + }, +}; +static const struct resource hmatrix_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBB, 2 }, + }, + }, +}; +#if defined(CFG_HPDC) +static const struct resource hpdc_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBA, 16 }, + }, + }, +}; +#endif +#if defined(CFG_MACB0) +static const struct resource macb0_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_HSB, 8 }, + }, + }, { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBB, 6 }, + }, + }, { + .type = RESOURCE_GPIO, + .u = { + .gpio = { 19, DEVICE_PIOC, GPIO_FUNC_A, 0 }, + }, + }, +}; +#endif +#if defined(CFG_MACB1) +static const struct resource macb1_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_HSB, 9 }, + }, + }, { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBB, 7 }, + }, + }, { + .type = RESOURCE_GPIO, + .u = { + .gpio = { 12, DEVICE_PIOC, GPIO_FUNC_B, 19 }, + }, + }, { + .type = RESOURCE_GPIO, + .u = { + .gpio = { 14, DEVICE_PIOD, GPIO_FUNC_B, 2 }, + }, + }, +}; +#endif +#if defined(CFG_LCDC) +static const struct resource lcdc_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_HSB, 7 }, + }, + }, +}; +#endif +#if defined(CFG_USART0) +static const struct resource usart0_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBA, 3 }, + }, + }, { + .type = RESOURCE_GPIO, + .u = { + .gpio = { 2, DEVICE_PIOA, GPIO_FUNC_B, 8 }, + }, + }, +}; +#endif +#if defined(CFG_USART1) +static const struct resource usart1_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBA, 4 }, + }, + }, { + .type = RESOURCE_GPIO, + .u = { + .gpio = { 2, DEVICE_PIOA, GPIO_FUNC_A, 17 }, + }, + }, +}; +#endif +#if defined(CFG_USART2) +static const struct resource usart2_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBA, 5 }, + }, + }, { + .type = RESOURCE_GPIO, + .u = { + .gpio = { 2, DEVICE_PIOB, GPIO_FUNC_B, 26 }, + }, + }, +}; +#endif +#if defined(CFG_USART3) +static const struct resource usart3_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBA, 6 }, + }, + }, { + .type = RESOURCE_GPIO, + .u = { + .gpio = { 2, DEVICE_PIOB, GPIO_FUNC_B, 17 }, + }, + }, +}; +#endif +#if defined(CFG_MMCI) +static const struct resource mmci_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_PBB, 9 }, + }, + }, { + .type = RESOURCE_GPIO, + .u = { + .gpio = { 6, DEVICE_PIOA, GPIO_FUNC_A, 10 }, + }, + }, +}; +#endif +#if defined(CFG_DMAC) +static const struct resource dmac_resource[] = { + { + .type = RESOURCE_CLOCK, + .u = { + .clock = { CLOCK_HSB, 10 }, + }, + }, +}; +#endif + +const struct device chip_device[] = { + [DEVICE_HEBI] = { + .regs = (void *)HSMC_BASE, + .nr_resources = ARRAY_SIZE(hebi_resource), + .resource = hebi_resource, + }, + [DEVICE_PBA_BRIDGE] = { + .nr_resources = ARRAY_SIZE(pba_bridge_resource), + .resource = pba_bridge_resource, + }, + [DEVICE_PBB_BRIDGE] = { + .nr_resources = ARRAY_SIZE(pbb_bridge_resource), + .resource = pbb_bridge_resource, + }, + [DEVICE_HRAMC] = { + .nr_resources = ARRAY_SIZE(hramc_resource), + .resource = hramc_resource, + }, + [DEVICE_PIOA] = { + .regs = (void *)PIOA_BASE, + .nr_resources = ARRAY_SIZE(pioa_resource), + .resource = pioa_resource, + }, + [DEVICE_PIOB] = { + .regs = (void *)PIOB_BASE, + .nr_resources = ARRAY_SIZE(piob_resource), + .resource = piob_resource, + }, + [DEVICE_PIOC] = { + .regs = (void *)PIOC_BASE, + .nr_resources = ARRAY_SIZE(pioc_resource), + .resource = pioc_resource, + }, + [DEVICE_PIOD] = { + .regs = (void *)PIOD_BASE, + .nr_resources = ARRAY_SIZE(piod_resource), + .resource = piod_resource, + }, + [DEVICE_PIOE] = { + .regs = (void *)PIOE_BASE, + .nr_resources = ARRAY_SIZE(pioe_resource), + .resource = pioe_resource, + }, + [DEVICE_SM] = { + .regs = (void *)SM_BASE, + .nr_resources = ARRAY_SIZE(sm_resource), + .resource = sm_resource, + }, + [DEVICE_INTC] = { + .regs = (void *)INTC_BASE, + .nr_resources = ARRAY_SIZE(intc_resource), + .resource = intc_resource, + }, + [DEVICE_HMATRIX] = { + .regs = (void *)HMATRIX_BASE, + .nr_resources = ARRAY_SIZE(hmatrix_resource), + .resource = hmatrix_resource, + }, +#if defined(CFG_HPDC) + [DEVICE_HPDC] = { + .nr_resources = ARRAY_SIZE(hpdc_resource), + .resource = hpdc_resource, + }, +#endif +#if defined(CFG_MACB0) + [DEVICE_MACB0] = { + .regs = (void *)MACB0_BASE, + .nr_resources = ARRAY_SIZE(macb0_resource), + .resource = macb0_resource, + }, +#endif +#if defined(CFG_MACB1) + [DEVICE_MACB1] = { + .regs = (void *)MACB1_BASE, + .nr_resources = ARRAY_SIZE(macb1_resource), + .resource = macb1_resource, + }, +#endif +#if defined(CFG_LCDC) + [DEVICE_LCDC] = { + .nr_resources = ARRAY_SIZE(lcdc_resource), + .resource = lcdc_resource, + }, +#endif +#if defined(CFG_USART0) + [DEVICE_USART0] = { + .regs = (void *)USART0_BASE, + .nr_resources = ARRAY_SIZE(usart0_resource), + .resource = usart0_resource, + }, +#endif +#if defined(CFG_USART1) + [DEVICE_USART1] = { + .regs = (void *)USART1_BASE, + .nr_resources = ARRAY_SIZE(usart1_resource), + .resource = usart1_resource, + }, +#endif +#if defined(CFG_USART2) + [DEVICE_USART2] = { + .regs = (void *)USART2_BASE, + .nr_resources = ARRAY_SIZE(usart2_resource), + .resource = usart2_resource, + }, +#endif +#if defined(CFG_USART3) + [DEVICE_USART3] = { + .regs = (void *)USART3_BASE, + .nr_resources = ARRAY_SIZE(usart3_resource), + .resource = usart3_resource, + }, +#endif +#if defined(CFG_MMCI) + [DEVICE_MMCI] = { + .regs = (void *)MMCI_BASE, + .nr_resources = ARRAY_SIZE(mmci_resource), + .resource = mmci_resource, + }, +#endif +#if defined(CFG_DMAC) + [DEVICE_DMAC] = { + .regs = (void *)DMAC_BASE, + .nr_resources = ARRAY_SIZE(dmac_resource), + .resource = dmac_resource, + }, +#endif +}; diff --git a/cpu/at32ap/at32ap7000/hebi.c b/cpu/at32ap/at32ap7000/hebi.c new file mode 100644 index 00000000000..3b32adf1ea9 --- /dev/null +++ b/cpu/at32ap/at32ap7000/hebi.c @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include + +#include + +#include +#include +#include + +void cpu_enable_sdram(void) +{ + const struct device *hmatrix; + + hmatrix = get_device(DEVICE_HMATRIX); + + /* Set the SDRAM_ENABLE bit in the HEBI SFR */ + hmatrix2_writel(hmatrix, SFR4, 1 << 1); +} diff --git a/cpu/at32ap/cache.c b/cpu/at32ap/cache.c new file mode 100644 index 00000000000..41fb5aa0473 --- /dev/null +++ b/cpu/at32ap/cache.c @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2004-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#include + +#include + +void dcache_clean_range(volatile void *start, size_t size) +{ + unsigned long v, begin, end, linesz; + + linesz = CFG_DCACHE_LINESZ; + + /* You asked for it, you got it */ + begin = (unsigned long)start & ~(linesz - 1); + end = ((unsigned long)start + size + linesz - 1) & ~(linesz - 1); + + for (v = begin; v < end; v += linesz) + dcache_clean_line((void *)v); + + sync_write_buffer(); +} + +void dcache_invalidate_range(volatile void *start, size_t size) +{ + unsigned long v, begin, end, linesz; + + linesz = CFG_DCACHE_LINESZ; + + /* You asked for it, you got it */ + begin = (unsigned long)start & ~(linesz - 1); + end = ((unsigned long)start + size + linesz - 1) & ~(linesz - 1); + + for (v = begin; v < end; v += linesz) + dcache_invalidate_line((void *)v); +} + +void dcache_flush_range(volatile void *start, size_t size) +{ + unsigned long v, begin, end, linesz; + + linesz = CFG_DCACHE_LINESZ; + + /* You asked for it, you got it */ + begin = (unsigned long)start & ~(linesz - 1); + end = ((unsigned long)start + size + linesz - 1) & ~(linesz - 1); + + for (v = begin; v < end; v += linesz) + dcache_flush_line((void *)v); + + sync_write_buffer(); +} + +void icache_invalidate_range(volatile void *start, size_t size) +{ + unsigned long v, begin, end, linesz; + + linesz = CFG_ICACHE_LINESZ; + + /* You asked for it, you got it */ + begin = (unsigned long)start & ~(linesz - 1); + end = ((unsigned long)start + size + linesz - 1) & ~(linesz - 1); + + for (v = begin; v < end; v += linesz) + icache_invalidate_line((void *)v); +} + +/* + * This is called after loading something into memory. We need to + * make sure that everything that was loaded is actually written to + * RAM, and that the icache will look for it. Cleaning the dcache and + * invalidating the icache will do the trick. + */ +void flush_cache (unsigned long start_addr, unsigned long size) +{ + dcache_clean_range((void *)start_addr, size); + icache_invalidate_range((void *)start_addr, size); +} diff --git a/cpu/at32ap/config.mk b/cpu/at32ap/config.mk new file mode 100644 index 00000000000..1c12169221f --- /dev/null +++ b/cpu/at32ap/config.mk @@ -0,0 +1,22 @@ +# +# Copyright (C) 2005-2006 Atmel Corporation +# +# See file CREDITS for list of people who contributed to this +# project. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +PLATFORM_RELFLAGS += -mcpu=ap7000 diff --git a/cpu/at32ap/cpu.c b/cpu/at32ap/cpu.c new file mode 100644 index 00000000000..37e3ea040be --- /dev/null +++ b/cpu/at32ap/cpu.c @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2005-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include +#include + +#include +#include +#include + +#include +#include + +#include "hsmc3.h" + +DECLARE_GLOBAL_DATA_PTR; + +int cpu_init(void) +{ + const struct device *hebi; + extern void _evba(void); + char *p; + + gd->cpu_hz = CFG_OSC0_HZ; + + /* fff03400: 00010001 04030402 00050005 10011103 */ + hebi = get_device(DEVICE_HEBI); + hsmc3_writel(hebi, MODE0, 0x00031103); + hsmc3_writel(hebi, CYCLE0, 0x000c000d); + hsmc3_writel(hebi, PULSE0, 0x0b0a0906); + hsmc3_writel(hebi, SETUP0, 0x00010002); + + pm_init(); + + sysreg_write(EVBA, (unsigned long)&_evba); + asm volatile("csrf %0" : : "i"(SYSREG_EM_OFFSET)); + gd->console_uart = get_device(CFG_CONSOLE_UART_DEV); + + /* Lock everything that mess with the flash in the icache */ + for (p = __flashprog_start; p <= (__flashprog_end + CFG_ICACHE_LINESZ); + p += CFG_ICACHE_LINESZ) + asm volatile("cache %0, 0x02" : "=m"(*p) :: "memory"); + + return 0; +} + +void prepare_to_boot(void) +{ + /* Flush both caches and the write buffer */ + asm volatile("cache %0[4], 010\n\t" + "cache %0[0], 000\n\t" + "sync 0" : : "r"(0) : "memory"); +} + +int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) +{ + /* This will reset the CPU core, caches, MMU and all internal busses */ + __builtin_mtdr(8, 1 << 13); /* set DC:DBE */ + __builtin_mtdr(8, 1 << 30); /* set DC:RES */ + + /* Flush the pipeline before we declare it a failure */ + asm volatile("sub pc, pc, -4"); + + return -1; +} diff --git a/cpu/at32ap/device.c b/cpu/at32ap/device.c new file mode 100644 index 00000000000..89914b6b56b --- /dev/null +++ b/cpu/at32ap/device.c @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include + +#include + +#include "sm.h" + +struct device_state { + int refcount; +}; + +static struct device_state device_state[NR_DEVICES]; + +static int claim_resource(const struct resource *res) +{ + int ret = 0; + + switch (res->type) { + case RESOURCE_GPIO: + ret = gpio_set_func(res->u.gpio.gpio_dev, + res->u.gpio.start, + res->u.gpio.nr_pins, + res->u.gpio.func); + break; + case RESOURCE_CLOCK: + ret = pm_enable_clock(res->u.clock.id, res->u.clock.index); + break; + } + + return ret; +} + +static void free_resource(const struct resource *res) +{ + switch (res->type) { + case RESOURCE_GPIO: + gpio_free(res->u.gpio.gpio_dev, res->u.gpio.start, + res->u.gpio.nr_pins); + break; + case RESOURCE_CLOCK: + pm_disable_clock(res->u.clock.id, res->u.clock.index); + break; + } +} + +static int init_dev(const struct device *dev) +{ + unsigned int i; + int ret = 0; + + for (i = 0; i < dev->nr_resources; i++) { + ret = claim_resource(&dev->resource[i]); + if (ret) + goto cleanup; + } + + return 0; + +cleanup: + while (i--) + free_resource(&dev->resource[i]); + + return ret; +} + +const struct device *get_device(enum device_id devid) +{ + struct device_state *devstate; + const struct device *dev; + unsigned long flags; + int initialized = 0; + int ret = 0; + + devstate = &device_state[devid]; + dev = &chip_device[devid]; + + flags = disable_interrupts(); + if (devstate->refcount++) + initialized = 1; + if (flags) + enable_interrupts(); + + if (!initialized) + ret = init_dev(dev); + + return ret ? NULL : dev; +} + +void put_device(const struct device *dev) +{ + struct device_state *devstate; + unsigned long devid, flags; + + devid = (unsigned long)(dev - chip_device) / sizeof(struct device); + devstate = &device_state[devid]; + + flags = disable_interrupts(); + devstate--; + if (!devstate) { + unsigned int i; + for (i = 0; i < dev->nr_resources; i++) + free_resource(&dev->resource[i]); + } + if (flags) + enable_interrupts(); +} diff --git a/cpu/at32ap/entry.S b/cpu/at32ap/entry.S new file mode 100644 index 00000000000..b52d798be3d --- /dev/null +++ b/cpu/at32ap/entry.S @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2004-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include +#include + + .section .text.exception,"ax" + .global _evba + .type _evba,@function + .align 10 +_evba: + .irp x,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 + .align 2 + rjmp unknown_exception + .endr + + .global timer_interrupt_handler + .type timer_interrupt_handler,@function + .align 2 +timer_interrupt_handler: + /* + * Increment timer_overflow and re-write COMPARE with 0xffffffff. + * + * We're running at interrupt level 3, so we don't need to save + * r8-r12 or lr to the stack. + */ + mov r8, lo(timer_overflow) + orh r8, hi(timer_overflow) + ld.w r9, r8[0] + mov r10, -1 + mtsr SYSREG_COMPARE, r10 + sub r9, -1 + st.w r8[0], r9 + rete + + .type unknown_exception, @function +unknown_exception: + pushm r0-r12 + sub r8, sp, REG_R12 - REG_R0 - 4 + mov r9, lr + mfsr r10, SYSREG_RAR_EX + mfsr r11, SYSREG_RSR_EX + pushm r8-r11 + mfsr r12, SYSREG_ECR + mov r11, sp + rcall do_unknown_exception +1: rjmp 1b diff --git a/cpu/at32ap/exception.c b/cpu/at32ap/exception.c new file mode 100644 index 00000000000..4123c446167 --- /dev/null +++ b/cpu/at32ap/exception.c @@ -0,0 +1,119 @@ +/* + * Copyright (C) 2005-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include + +#include +#include + +static const char * const cpu_modes[8] = { + "Application", "Supervisor", "Interrupt level 0", "Interrupt level 1", + "Interrupt level 2", "Interrupt level 3", "Exception", "NMI" +}; + +static void dump_mem(const char *str, unsigned long bottom, unsigned long top) +{ + unsigned long p; + int i; + + printf("%s(0x%08lx to 0x%08lx)\n", str, bottom, top); + + for (p = bottom & ~31; p < top; ) { + printf("%04lx: ", p & 0xffff); + + for (i = 0; i < 8; i++, p += 4) { + unsigned int val; + + if (p < bottom || p >= top) + printf(" "); + else { + val = *(unsigned long *)p; + printf("%08x ", val); + } + } + printf("\n"); + } +} + +void do_unknown_exception(unsigned int ecr, struct pt_regs *regs) +{ + unsigned int mode; + + printf("\n *** Unhandled exception %u at PC=0x%08lx\n", ecr, regs->pc); + + switch (ecr) { + case ECR_BUS_ERROR_WRITE: + case ECR_BUS_ERROR_READ: + printf("Bus error at address 0x%08lx\n", + sysreg_read(BEAR)); + break; + case ECR_TLB_MULTIPLE: + case ECR_ADDR_ALIGN_X: + case ECR_PROTECTION_X: + case ECR_ADDR_ALIGN_R: + case ECR_ADDR_ALIGN_W: + case ECR_PROTECTION_R: + case ECR_PROTECTION_W: + case ECR_DTLB_MODIFIED: + case ECR_TLB_MISS_X: + case ECR_TLB_MISS_R: + case ECR_TLB_MISS_W: + printf("MMU exception at address 0x%08lx\n", + sysreg_read(TLBEAR)); + break; + } + + printf(" pc: %08lx lr: %08lx sp: %08lx r12: %08lx\n", + regs->pc, regs->lr, regs->sp, regs->r12); + printf(" r11: %08lx r10: %08lx r9: %08lx r8: %08lx\n", + regs->r11, regs->r10, regs->r9, regs->r8); + printf(" r7: %08lx r6: %08lx r5: %08lx r4: %08lx\n", + regs->r7, regs->r6, regs->r5, regs->r4); + printf(" r3: %08lx r2: %08lx r1: %08lx r0: %08lx\n", + regs->r3, regs->r2, regs->r1, regs->r0); + printf("Flags: %c%c%c%c%c\n", + regs->sr & SR_Q ? 'Q' : 'q', + regs->sr & SR_V ? 'V' : 'v', + regs->sr & SR_N ? 'N' : 'n', + regs->sr & SR_Z ? 'Z' : 'z', + regs->sr & SR_C ? 'C' : 'c'); + printf("Mode bits: %c%c%c%c%c%c%c%c%c\n", + regs->sr & SR_H ? 'H' : 'h', + regs->sr & SR_R ? 'R' : 'r', + regs->sr & SR_J ? 'J' : 'j', + regs->sr & SR_EM ? 'E' : 'e', + regs->sr & SR_I3M ? '3' : '.', + regs->sr & SR_I2M ? '2' : '.', + regs->sr & SR_I1M ? '1' : '.', + regs->sr & SR_I0M ? '0' : '.', + regs->sr & SR_GM ? 'G' : 'g'); + mode = (regs->sr >> SYSREG_M0_OFFSET) & 7; + printf("CPU Mode: %s\n", cpu_modes[mode]); + + /* Avoid exception loops */ + if (regs->sp >= CFG_INIT_SP_ADDR + || regs->sp < (CFG_INIT_SP_ADDR - CONFIG_STACKSIZE)) + printf("\nStack pointer seems bogus, won't do stack dump\n"); + else + dump_mem("\nStack: ", regs->sp, CFG_INIT_SP_ADDR); + + panic("Unhandled exception\n"); +} diff --git a/cpu/at32ap/hsdramc.c b/cpu/at32ap/hsdramc.c new file mode 100644 index 00000000000..f36da354528 --- /dev/null +++ b/cpu/at32ap/hsdramc.c @@ -0,0 +1,155 @@ +/* + * Copyright (C) 2005-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include + +#ifdef CFG_HSDRAMC +#include +#include + +#include + +#include "hsdramc1.h" + +struct hsdramc { + const struct device *hebi; + void *regs; +}; + +static struct hsdramc hsdramc; + +unsigned long sdram_init(const struct sdram_info *info) +{ + unsigned long *sdram = (unsigned long *)uncached(info->phys_addr); + unsigned long sdram_size; + unsigned long tmp; + unsigned long bus_hz; + unsigned int i; + + hsdramc.hebi = get_device(DEVICE_HEBI); + if (!hsdramc.hebi) + return 0; + + /* FIXME: Both of these lines are complete hacks */ + hsdramc.regs = hsdramc.hebi->regs + 0x400; + bus_hz = pm_get_clock_freq(hsdramc.hebi->resource[0].u.clock.id); + + cpu_enable_sdram(); + + tmp = (HSDRAMC1_BF(NC, info->col_bits - 8) + | HSDRAMC1_BF(NR, info->row_bits - 11) + | HSDRAMC1_BF(NB, info->bank_bits - 1) + | HSDRAMC1_BF(CAS, info->cas) + | HSDRAMC1_BF(TWR, info->twr) + | HSDRAMC1_BF(TRC, info->trc) + | HSDRAMC1_BF(TRP, info->trp) + | HSDRAMC1_BF(TRCD, info->trcd) + | HSDRAMC1_BF(TRAS, info->tras) + | HSDRAMC1_BF(TXSR, info->txsr)); + +#ifdef CFG_SDRAM_16BIT + tmp |= HSDRAMC1_BIT(DBW); + sdram_size = 1 << (info->row_bits + info->col_bits + + info->bank_bits + 1); +#else + sdram_size = 1 << (info->row_bits + info->col_bits + + info->bank_bits + 2); +#endif + + hsdramc1_writel(&hsdramc, CR, tmp); + + /* + * Initialization sequence for SDRAM, from the data sheet: + * + * 1. A minimum pause of 200 us is provided to precede any + * signal toggle. + */ + udelay(200); + + /* + * 2. A Precharge All command is issued to the SDRAM + */ + hsdramc1_writel(&hsdramc, MR, HSDRAMC1_MODE_BANKS_PRECHARGE); + hsdramc1_readl(&hsdramc, MR); + writel(0, sdram); + + /* + * 3. Eight auto-refresh (CBR) cycles are provided + */ + hsdramc1_writel(&hsdramc, MR, HSDRAMC1_MODE_AUTO_REFRESH); + hsdramc1_readl(&hsdramc, MR); + for (i = 0; i < 8; i++) + writel(0, sdram); + + /* + * 4. A mode register set (MRS) cycle is issued to program + * SDRAM parameters, in particular CAS latency and burst + * length. + * + * CAS from info struct, burst length 1, serial burst type + */ + hsdramc1_writel(&hsdramc, MR, HSDRAMC1_MODE_LOAD_MODE); + hsdramc1_readl(&hsdramc, MR); + writel(0, sdram + (info->cas << 4)); + + /* + * 5. A Normal Mode command is provided, 3 clocks after tMRD + * is met. + * + * From the timing diagram, it looks like tMRD is 3 + * cycles...try a dummy read from the peripheral bus. + */ + hsdramc1_readl(&hsdramc, MR); + hsdramc1_writel(&hsdramc, MR, HSDRAMC1_MODE_NORMAL); + hsdramc1_readl(&hsdramc, MR); + writel(0, sdram); + + /* + * 6. Write refresh rate into SDRAMC refresh timer count + * register (refresh rate = timing between refresh cycles). + * + * 15.6 us is a typical value for a burst of length one + */ + hsdramc1_writel(&hsdramc, TR, (156 * (bus_hz / 1000)) / 10000); + + printf("SDRAM: %u MB at address 0x%08lx\n", + sdram_size >> 20, info->phys_addr); + + printf("Testing SDRAM..."); + for (i = 0; i < sdram_size / 4; i++) + sdram[i] = i; + + for (i = 0; i < sdram_size / 4; i++) { + tmp = sdram[i]; + if (tmp != i) { + printf("FAILED at address 0x%08lx\n", + info->phys_addr + i * 4); + printf("SDRAM: read 0x%lx, expected 0x%lx\n", tmp, i); + return 0; + } + } + + puts("OK\n"); + + return sdram_size; +} + +#endif /* CFG_HSDRAMC */ diff --git a/cpu/at32ap/hsdramc1.h b/cpu/at32ap/hsdramc1.h new file mode 100644 index 00000000000..ce229bca1fb --- /dev/null +++ b/cpu/at32ap/hsdramc1.h @@ -0,0 +1,143 @@ +/* + * Register definitions for SDRAM Controller + */ +#ifndef __ASM_AVR32_HSDRAMC1_H__ +#define __ASM_AVR32_HSDRAMC1_H__ + +/* HSDRAMC1 register offsets */ +#define HSDRAMC1_MR 0x0000 +#define HSDRAMC1_TR 0x0004 +#define HSDRAMC1_CR 0x0008 +#define HSDRAMC1_HSR 0x000c +#define HSDRAMC1_LPR 0x0010 +#define HSDRAMC1_IER 0x0014 +#define HSDRAMC1_IDR 0x0018 +#define HSDRAMC1_IMR 0x001c +#define HSDRAMC1_ISR 0x0020 +#define HSDRAMC1_MDR 0x0024 +#define HSDRAMC1_VERSION 0x00fc + +/* Bitfields in MR */ +#define HSDRAMC1_MODE_OFFSET 0 +#define HSDRAMC1_MODE_SIZE 3 + +/* Bitfields in TR */ +#define HSDRAMC1_COUNT_OFFSET 0 +#define HSDRAMC1_COUNT_SIZE 12 + +/* Bitfields in CR */ +#define HSDRAMC1_NC_OFFSET 0 +#define HSDRAMC1_NC_SIZE 2 +#define HSDRAMC1_NR_OFFSET 2 +#define HSDRAMC1_NR_SIZE 2 +#define HSDRAMC1_NB_OFFSET 4 +#define HSDRAMC1_NB_SIZE 1 +#define HSDRAMC1_CAS_OFFSET 5 +#define HSDRAMC1_CAS_SIZE 2 +#define HSDRAMC1_DBW_OFFSET 7 +#define HSDRAMC1_DBW_SIZE 1 +#define HSDRAMC1_TWR_OFFSET 8 +#define HSDRAMC1_TWR_SIZE 4 +#define HSDRAMC1_TRC_OFFSET 12 +#define HSDRAMC1_TRC_SIZE 4 +#define HSDRAMC1_TRP_OFFSET 16 +#define HSDRAMC1_TRP_SIZE 4 +#define HSDRAMC1_TRCD_OFFSET 20 +#define HSDRAMC1_TRCD_SIZE 4 +#define HSDRAMC1_TRAS_OFFSET 24 +#define HSDRAMC1_TRAS_SIZE 4 +#define HSDRAMC1_TXSR_OFFSET 28 +#define HSDRAMC1_TXSR_SIZE 4 + +/* Bitfields in HSR */ +#define HSDRAMC1_DA_OFFSET 0 +#define HSDRAMC1_DA_SIZE 1 + +/* Bitfields in LPR */ +#define HSDRAMC1_LPCB_OFFSET 0 +#define HSDRAMC1_LPCB_SIZE 2 +#define HSDRAMC1_PASR_OFFSET 4 +#define HSDRAMC1_PASR_SIZE 3 +#define HSDRAMC1_TCSR_OFFSET 8 +#define HSDRAMC1_TCSR_SIZE 2 +#define HSDRAMC1_DS_OFFSET 10 +#define HSDRAMC1_DS_SIZE 2 +#define HSDRAMC1_TIMEOUT_OFFSET 12 +#define HSDRAMC1_TIMEOUT_SIZE 2 + +/* Bitfields in IDR */ +#define HSDRAMC1_RES_OFFSET 0 +#define HSDRAMC1_RES_SIZE 1 + +/* Bitfields in MDR */ +#define HSDRAMC1_MD_OFFSET 0 +#define HSDRAMC1_MD_SIZE 2 + +/* Bitfields in VERSION */ +#define HSDRAMC1_VERSION_OFFSET 0 +#define HSDRAMC1_VERSION_SIZE 12 +#define HSDRAMC1_MFN_OFFSET 16 +#define HSDRAMC1_MFN_SIZE 3 + +/* Constants for MODE */ +#define HSDRAMC1_MODE_NORMAL 0 +#define HSDRAMC1_MODE_NOP 1 +#define HSDRAMC1_MODE_BANKS_PRECHARGE 2 +#define HSDRAMC1_MODE_LOAD_MODE 3 +#define HSDRAMC1_MODE_AUTO_REFRESH 4 +#define HSDRAMC1_MODE_EXT_LOAD_MODE 5 +#define HSDRAMC1_MODE_POWER_DOWN 6 + +/* Constants for NC */ +#define HSDRAMC1_NC_8_COLUMN_BITS 0 +#define HSDRAMC1_NC_9_COLUMN_BITS 1 +#define HSDRAMC1_NC_10_COLUMN_BITS 2 +#define HSDRAMC1_NC_11_COLUMN_BITS 3 + +/* Constants for NR */ +#define HSDRAMC1_NR_11_ROW_BITS 0 +#define HSDRAMC1_NR_12_ROW_BITS 1 +#define HSDRAMC1_NR_13_ROW_BITS 2 + +/* Constants for NB */ +#define HSDRAMC1_NB_TWO_BANKS 0 +#define HSDRAMC1_NB_FOUR_BANKS 1 + +/* Constants for CAS */ +#define HSDRAMC1_CAS_ONE_CYCLE 1 +#define HSDRAMC1_CAS_TWO_CYCLES 2 + +/* Constants for DBW */ +#define HSDRAMC1_DBW_32_BITS 0 +#define HSDRAMC1_DBW_16_BITS 1 + +/* Constants for TIMEOUT */ +#define HSDRAMC1_TIMEOUT_AFTER_END 0 +#define HSDRAMC1_TIMEOUT_64_CYC_AFTER_END 1 +#define HSDRAMC1_TIMEOUT_128_CYC_AFTER_END 2 + +/* Constants for MD */ +#define HSDRAMC1_MD_SDRAM 0 +#define HSDRAMC1_MD_LOW_POWER_SDRAM 1 + +/* Bit manipulation macros */ +#define HSDRAMC1_BIT(name) \ + (1 << HSDRAMC1_##name##_OFFSET) +#define HSDRAMC1_BF(name,value) \ + (((value) & ((1 << HSDRAMC1_##name##_SIZE) - 1)) \ + << HSDRAMC1_##name##_OFFSET) +#define HSDRAMC1_BFEXT(name,value) \ + (((value) >> HSDRAMC1_##name##_OFFSET) \ + & ((1 << HSDRAMC1_##name##_SIZE) - 1)) +#define HSDRAMC1_BFINS(name,value,old) \ + (((old) & ~(((1 << HSDRAMC1_##name##_SIZE) - 1) \ + << HSDRAMC1_##name##_OFFSET)) \ + | HSDRAMC1_BF(name,value)) + +/* Register access macros */ +#define hsdramc1_readl(port,reg) \ + readl((port)->regs + HSDRAMC1_##reg) +#define hsdramc1_writel(port,reg,value) \ + writel((value), (port)->regs + HSDRAMC1_##reg) + +#endif /* __ASM_AVR32_HSDRAMC1_H__ */ diff --git a/cpu/at32ap/hsmc3.h b/cpu/at32ap/hsmc3.h new file mode 100644 index 00000000000..ec78cee7147 --- /dev/null +++ b/cpu/at32ap/hsmc3.h @@ -0,0 +1,126 @@ +/* + * Register definitions for Static Memory Controller + */ +#ifndef __CPU_AT32AP_HSMC3_H__ +#define __CPU_AT32AP_HSMC3_H__ + +/* HSMC3 register offsets */ +#define HSMC3_SETUP0 0x0000 +#define HSMC3_PULSE0 0x0004 +#define HSMC3_CYCLE0 0x0008 +#define HSMC3_MODE0 0x000c +#define HSMC3_SETUP1 0x0010 +#define HSMC3_PULSE1 0x0014 +#define HSMC3_CYCLE1 0x0018 +#define HSMC3_MODE1 0x001c +#define HSMC3_SETUP2 0x0020 +#define HSMC3_PULSE2 0x0024 +#define HSMC3_CYCLE2 0x0028 +#define HSMC3_MODE2 0x002c +#define HSMC3_SETUP3 0x0030 +#define HSMC3_PULSE3 0x0034 +#define HSMC3_CYCLE3 0x0038 +#define HSMC3_MODE3 0x003c +#define HSMC3_SETUP4 0x0040 +#define HSMC3_PULSE4 0x0044 +#define HSMC3_CYCLE4 0x0048 +#define HSMC3_MODE4 0x004c +#define HSMC3_SETUP5 0x0050 +#define HSMC3_PULSE5 0x0054 +#define HSMC3_CYCLE5 0x0058 +#define HSMC3_MODE5 0x005c + +/* Bitfields in SETUP0 */ +#define HSMC3_NWE_SETUP_OFFSET 0 +#define HSMC3_NWE_SETUP_SIZE 6 +#define HSMC3_NCS_WR_SETUP_OFFSET 8 +#define HSMC3_NCS_WR_SETUP_SIZE 6 +#define HSMC3_NRD_SETUP_OFFSET 16 +#define HSMC3_NRD_SETUP_SIZE 6 +#define HSMC3_NCS_RD_SETUP_OFFSET 24 +#define HSMC3_NCS_RD_SETUP_SIZE 6 + +/* Bitfields in PULSE0 */ +#define HSMC3_NWE_PULSE_OFFSET 0 +#define HSMC3_NWE_PULSE_SIZE 7 +#define HSMC3_NCS_WR_PULSE_OFFSET 8 +#define HSMC3_NCS_WR_PULSE_SIZE 7 +#define HSMC3_NRD_PULSE_OFFSET 16 +#define HSMC3_NRD_PULSE_SIZE 7 +#define HSMC3_NCS_RD_PULSE_OFFSET 24 +#define HSMC3_NCS_RD_PULSE_SIZE 7 + +/* Bitfields in CYCLE0 */ +#define HSMC3_NWE_CYCLE_OFFSET 0 +#define HSMC3_NWE_CYCLE_SIZE 9 +#define HSMC3_NRD_CYCLE_OFFSET 16 +#define HSMC3_NRD_CYCLE_SIZE 9 + +/* Bitfields in MODE0 */ +#define HSMC3_READ_MODE_OFFSET 0 +#define HSMC3_READ_MODE_SIZE 1 +#define HSMC3_WRITE_MODE_OFFSET 1 +#define HSMC3_WRITE_MODE_SIZE 1 +#define HSMC3_EXNW_MODE_OFFSET 4 +#define HSMC3_EXNW_MODE_SIZE 2 +#define HSMC3_BAT_OFFSET 8 +#define HSMC3_BAT_SIZE 1 +#define HSMC3_DBW_OFFSET 12 +#define HSMC3_DBW_SIZE 2 +#define HSMC3_TDF_CYCLES_OFFSET 16 +#define HSMC3_TDF_CYCLES_SIZE 4 +#define HSMC3_TDF_MODE_OFFSET 20 +#define HSMC3_TDF_MODE_SIZE 1 +#define HSMC3_PMEN_OFFSET 24 +#define HSMC3_PMEN_SIZE 1 +#define HSMC3_PS_OFFSET 28 +#define HSMC3_PS_SIZE 2 + +/* Bitfields in MODE1 */ +#define HSMC3_PD_OFFSET 28 +#define HSMC3_PD_SIZE 2 + +/* Constants for READ_MODE */ +#define HSMC3_READ_MODE_NCS_CONTROLLED 0 +#define HSMC3_READ_MODE_NRD_CONTROLLED 1 + +/* Constants for WRITE_MODE */ +#define HSMC3_WRITE_MODE_NCS_CONTROLLED 0 +#define HSMC3_WRITE_MODE_NWE_CONTROLLED 1 + +/* Constants for EXNW_MODE */ +#define HSMC3_EXNW_MODE_DISABLED 0 +#define HSMC3_EXNW_MODE_RESERVED 1 +#define HSMC3_EXNW_MODE_FROZEN 2 +#define HSMC3_EXNW_MODE_READY 3 + +/* Constants for BAT */ +#define HSMC3_BAT_BYTE_SELECT 0 +#define HSMC3_BAT_BYTE_WRITE 1 + +/* Constants for DBW */ +#define HSMC3_DBW_8_BITS 0 +#define HSMC3_DBW_16_BITS 1 +#define HSMC3_DBW_32_BITS 2 + +/* Bit manipulation macros */ +#define HSMC3_BIT(name) \ + (1 << HSMC3_##name##_OFFSET) +#define HSMC3_BF(name,value) \ + (((value) & ((1 << HSMC3_##name##_SIZE) - 1)) \ + << HSMC3_##name##_OFFSET) +#define HSMC3_BFEXT(name,value) \ + (((value) >> HSMC3_##name##_OFFSET) \ + & ((1 << HSMC3_##name##_SIZE) - 1)) +#define HSMC3_BFINS(name,value,old)\ + (((old) & ~(((1 << HSMC3_##name##_SIZE) - 1) \ + << HSMC3_##name##_OFFSET)) \ + | HSMC3_BF(name,value)) + +/* Register access macros */ +#define hsmc3_readl(port,reg) \ + readl((port)->regs + HSMC3_##reg) +#define hsmc3_writel(port,reg,value) \ + writel((value), (port)->regs + HSMC3_##reg) + +#endif /* __CPU_AT32AP_HSMC3_H__ */ diff --git a/cpu/at32ap/interrupts.c b/cpu/at32ap/interrupts.c new file mode 100644 index 00000000000..d720cfa942b --- /dev/null +++ b/cpu/at32ap/interrupts.c @@ -0,0 +1,154 @@ +/* + * Copyright (C) 2004-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include + +#include +#include +#include +#include +#include + +#include + +#define HANDLER_MASK 0x00ffffff +#define INTLEV_SHIFT 30 +#define INTLEV_MASK 0x00000003 + +DECLARE_GLOBAL_DATA_PTR; + +/* Incremented whenever COUNT reaches 0xffffffff by timer_interrupt_handler */ +volatile unsigned long timer_overflow; + +/* + * Instead of dividing by get_tbclk(), multiply by this constant and + * right-shift the result by 32 bits. + */ +static unsigned long tb_factor; + +static const struct device *intc_dev; + +unsigned long get_tbclk(void) +{ + return gd->cpu_hz; +} + +unsigned long long get_ticks(void) +{ + unsigned long lo, hi_now, hi_prev; + + do { + hi_prev = timer_overflow; + lo = sysreg_read(COUNT); + hi_now = timer_overflow; + } while (hi_prev != hi_now); + + return ((unsigned long long)hi_now << 32) | lo; +} + +void reset_timer(void) +{ + sysreg_write(COUNT, 0); + cpu_sync_pipeline(); /* process any pending interrupts */ + timer_overflow = 0; +} + +unsigned long get_timer(unsigned long base) +{ + u64 now = get_ticks(); + + now *= tb_factor; + return (unsigned long)(now >> 32) - base; +} + +void set_timer(unsigned long t) +{ + unsigned long long ticks = t; + unsigned long lo, hi, hi_new; + + ticks = (ticks * get_tbclk()) / CFG_HZ; + hi = ticks >> 32; + lo = ticks & 0xffffffffUL; + + do { + timer_overflow = hi; + sysreg_write(COUNT, lo); + hi_new = timer_overflow; + } while (hi_new != hi); +} + +/* + * For short delays only. It will overflow after a few seconds. + */ +void udelay(unsigned long usec) +{ + unsigned long now, end; + + now = sysreg_read(COUNT); + + end = ((usec * (get_tbclk() / 10000)) + 50) / 100; + end += now; + + while (now > end) + now = sysreg_read(COUNT); + + while (now < end) + now = sysreg_read(COUNT); +} + +static int set_interrupt_handler(unsigned int nr, void (*handler)(void), + unsigned int priority) +{ + unsigned long intpr; + unsigned long handler_addr = (unsigned long)handler; + + if ((handler_addr & HANDLER_MASK) != handler_addr + || (priority & INTLEV_MASK) != priority) + return -EINVAL; + + intpr = (handler_addr & HANDLER_MASK); + intpr |= (priority & INTLEV_MASK) << INTLEV_SHIFT; + writel(intpr, intc_dev->regs + 4 * nr); + + return 0; +} + +void timer_init(void) +{ + extern void timer_interrupt_handler(void); + u64 tmp; + + sysreg_write(COUNT, 0); + + tmp = (u64)CFG_HZ << 32; + tmp += gd->cpu_hz / 2; + do_div(tmp, gd->cpu_hz); + tb_factor = (u32)tmp; + + intc_dev = get_device(DEVICE_INTC); + + if (!intc_dev + || set_interrupt_handler(0, &timer_interrupt_handler, 3)) + return; + + /* For all practical purposes, this gives us an overflow interrupt */ + sysreg_write(COMPARE, 0xffffffff); +} diff --git a/cpu/at32ap/pio.c b/cpu/at32ap/pio.c new file mode 100644 index 00000000000..8b6c3a35df5 --- /dev/null +++ b/cpu/at32ap/pio.c @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include + +#include +#include +#include + +#include "pio2.h" + +struct pio_state { + const struct device *dev; + u32 alloc_mask; +}; + +static struct pio_state pio_state[CFG_NR_PIOS]; + +int gpio_set_func(enum device_id gpio_devid, unsigned int start, + unsigned int nr_pins, enum gpio_func func) +{ + const struct device *gpio; + struct pio_state *state; + u32 mask; + + state = &pio_state[gpio_devid - DEVICE_PIOA]; + + gpio = get_device(gpio_devid); + if (!gpio) + return -EBUSY; + + state->dev = gpio; + mask = ((1 << nr_pins) - 1) << start; + + if (mask & state->alloc_mask) { + put_device(gpio); + return -EBUSY; + } + state->alloc_mask |= mask; + + switch (func) { + case GPIO_FUNC_GPIO: + /* TODO */ + return -EINVAL; + case GPIO_FUNC_A: + pio2_writel(gpio, ASR, mask); + pio2_writel(gpio, PDR, mask); + pio2_writel(gpio, PUDR, mask); + break; + case GPIO_FUNC_B: + pio2_writel(gpio, BSR, mask); + pio2_writel(gpio, PDR, mask); + pio2_writel(gpio, PUDR, mask); + break; + } + + return 0; +} + +void gpio_free(enum device_id gpio_devid, unsigned int start, + unsigned int nr_pins) +{ + const struct device *gpio; + struct pio_state *state; + u32 mask; + + state = &pio_state[gpio_devid - DEVICE_PIOA]; + gpio = state->dev; + mask = ((1 << nr_pins) - 1) << start; + + pio2_writel(gpio, ODR, mask); + pio2_writel(gpio, PER, mask); + + state->alloc_mask &= ~mask; + put_device(gpio); +} diff --git a/cpu/at32ap/pio2.h b/cpu/at32ap/pio2.h new file mode 100644 index 00000000000..6b79de3c72b --- /dev/null +++ b/cpu/at32ap/pio2.h @@ -0,0 +1,44 @@ +/* + * Register definitions for Parallel Input/Output Controller + */ +#ifndef __CPU_AT32AP_PIO2_H__ +#define __CPU_AT32AP_PIO2_H__ + +/* PIO2 register offsets */ +#define PIO2_PER 0x0000 +#define PIO2_PDR 0x0004 +#define PIO2_PSR 0x0008 +#define PIO2_OER 0x0010 +#define PIO2_ODR 0x0014 +#define PIO2_OSR 0x0018 +#define PIO2_IFER 0x0020 +#define PIO2_IFDR 0x0024 +#define PIO2_ISFR 0x0028 +#define PIO2_SODR 0x0030 +#define PIO2_CODR 0x0034 +#define PIO2_ODSR 0x0038 +#define PIO2_PDSR 0x003c +#define PIO2_IER 0x0040 +#define PIO2_IDR 0x0044 +#define PIO2_IMR 0x0048 +#define PIO2_ISR 0x004c +#define PIO2_MDER 0x0050 +#define PIO2_MDDR 0x0054 +#define PIO2_MDSR 0x0058 +#define PIO2_PUDR 0x0060 +#define PIO2_PUER 0x0064 +#define PIO2_PUSR 0x0068 +#define PIO2_ASR 0x0070 +#define PIO2_BSR 0x0074 +#define PIO2_ABSR 0x0078 +#define PIO2_OWER 0x00a0 +#define PIO2_OWDR 0x00a4 +#define PIO2_OWSR 0x00a8 + +/* Register access macros */ +#define pio2_readl(port,reg) \ + readl((port)->regs + PIO2_##reg) +#define pio2_writel(port,reg,value) \ + writel((value), (port)->regs + PIO2_##reg) + +#endif /* __CPU_AT32AP_PIO2_H__ */ diff --git a/cpu/at32ap/pm.c b/cpu/at32ap/pm.c new file mode 100644 index 00000000000..01ac325ee8f --- /dev/null +++ b/cpu/at32ap/pm.c @@ -0,0 +1,163 @@ +/* + * Copyright (C) 2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include + +#ifdef CFG_POWER_MANAGER +#include +#include + +#include +#include + +#include "sm.h" + +/* Sanity checks */ +#if (CFG_CLKDIV_CPU > CFG_CLKDIV_HSB) \ + || (CFG_CLKDIV_HSB > CFG_CLKDIV_PBA) \ + || (CFG_CLKDIV_HSB > CFG_CLKDIV_PBB) +# error Constraint fCPU >= fHSB >= fPB{A,B} violated +#endif +#if defined(CONFIG_PLL) && ((CFG_PLL0_MUL < 1) || (CFG_PLL0_DIV < 1)) +# error Invalid PLL multiplier and/or divider +#endif + +DECLARE_GLOBAL_DATA_PTR; + +struct clock_domain_state { + const struct device *bridge; + unsigned long freq; + u32 mask; +}; +static struct clock_domain_state ckd_state[NR_CLOCK_DOMAINS]; + +int pm_enable_clock(enum clock_domain_id id, unsigned int index) +{ + const struct clock_domain *ckd = &chip_clock[id]; + struct clock_domain_state *state = &ckd_state[id]; + + if (ckd->bridge != NO_DEVICE) { + state->bridge = get_device(ckd->bridge); + if (!state->bridge) + return -EBUSY; + } + + state->mask |= 1 << index; + if (gd->sm) + writel(state->mask, gd->sm->regs + ckd->reg); + + return 0; +} + +void pm_disable_clock(enum clock_domain_id id, unsigned int index) +{ + const struct clock_domain *ckd = &chip_clock[id]; + struct clock_domain_state *state = &ckd_state[id]; + + state->mask &= ~(1 << index); + if (gd->sm) + writel(state->mask, gd->sm->regs + ckd->reg); + + if (ckd->bridge) + put_device(state->bridge); +} + +unsigned long pm_get_clock_freq(enum clock_domain_id domain) +{ + return ckd_state[domain].freq; +} + +void pm_init(void) +{ + uint32_t cksel = 0; + unsigned long main_clock; + + /* Make sure we don't disable any device we're already using */ + get_device(DEVICE_HRAMC); + get_device(DEVICE_HEBI); + + /* Enable the PICO as well */ + ckd_state[CLOCK_CPU].mask |= 1; + + gd->sm = get_device(DEVICE_SM); + if (!gd->sm) + panic("Unable to claim system manager device!\n"); + + /* Disable any devices that haven't been explicitly claimed */ + sm_writel(gd->sm, PM_PBB_MASK, ckd_state[CLOCK_PBB].mask); + sm_writel(gd->sm, PM_PBA_MASK, ckd_state[CLOCK_PBA].mask); + sm_writel(gd->sm, PM_HSB_MASK, ckd_state[CLOCK_HSB].mask); + sm_writel(gd->sm, PM_CPU_MASK, ckd_state[CLOCK_CPU].mask); + +#ifdef CONFIG_PLL + /* Initialize the PLL */ + main_clock = (CFG_OSC0_HZ / CFG_PLL0_DIV) * CFG_PLL0_MUL; + + sm_writel(gd->sm, PM_PLL0, (SM_BF(PLLCOUNT, CFG_PLL0_SUPPRESS_CYCLES) + | SM_BF(PLLMUL, CFG_PLL0_MUL - 1) + | SM_BF(PLLDIV, CFG_PLL0_DIV - 1) + | SM_BF(PLLOPT, CFG_PLL0_OPT) + | SM_BF(PLLOSC, 0) + | SM_BIT(PLLEN))); + + /* Wait for lock */ + while (!(sm_readl(gd->sm, PM_ISR) & SM_BIT(LOCK0))) ; +#else + main_clock = CFG_OSC0_HZ; +#endif + + /* Set up clocks for the CPU and all peripheral buses */ + if (CFG_CLKDIV_CPU) { + cksel |= SM_BIT(CPUDIV) | SM_BF(CPUSEL, CFG_CLKDIV_CPU - 1); + ckd_state[CLOCK_CPU].freq = main_clock / (1 << CFG_CLKDIV_CPU); + } else { + ckd_state[CLOCK_CPU].freq = main_clock; + } + if (CFG_CLKDIV_HSB) { + cksel |= SM_BIT(HSBDIV) | SM_BF(HSBSEL, CFG_CLKDIV_HSB - 1); + ckd_state[CLOCK_HSB].freq = main_clock / (1 << CFG_CLKDIV_HSB); + } else { + ckd_state[CLOCK_HSB].freq = main_clock; + } + if (CFG_CLKDIV_PBA) { + cksel |= SM_BIT(PBADIV) | SM_BF(PBASEL, CFG_CLKDIV_PBA - 1); + ckd_state[CLOCK_PBA].freq = main_clock / (1 << CFG_CLKDIV_PBA); + } else { + ckd_state[CLOCK_PBA].freq = main_clock; + } + if (CFG_CLKDIV_PBB) { + cksel |= SM_BIT(PBBDIV) | SM_BF(PBBSEL, CFG_CLKDIV_PBB - 1); + ckd_state[CLOCK_PBB].freq = main_clock / (1 << CFG_CLKDIV_PBB); + } else { + ckd_state[CLOCK_PBB].freq = main_clock; + } + sm_writel(gd->sm, PM_CKSEL, cksel); + + /* CFG_HZ currently depends on cpu_hz */ + gd->cpu_hz = ckd_state[CLOCK_CPU].freq; + +#ifdef CONFIG_PLL + /* Use PLL0 as main clock */ + sm_writel(gd->sm, PM_MCCTRL, SM_BIT(PLLSEL)); +#endif +} + +#endif /* CFG_POWER_MANAGER */ diff --git a/cpu/at32ap/sm.h b/cpu/at32ap/sm.h new file mode 100644 index 00000000000..ce81ef0a463 --- /dev/null +++ b/cpu/at32ap/sm.h @@ -0,0 +1,204 @@ +/* + * Register definitions for System Manager + */ +#ifndef __CPU_AT32AP_SM_H__ +#define __CPU_AT32AP_SM_H__ + +/* SM register offsets */ +#define SM_PM_MCCTRL 0x0000 +#define SM_PM_CKSEL 0x0004 +#define SM_PM_CPU_MASK 0x0008 +#define SM_PM_HSB_MASK 0x000c +#define SM_PM_PBA_MASK 0x0010 +#define SM_PM_PBB_MASK 0x0014 +#define SM_PM_PLL0 0x0020 +#define SM_PM_PLL1 0x0024 +#define SM_PM_VCTRL 0x0030 +#define SM_PM_VMREF 0x0034 +#define SM_PM_VMV 0x0038 +#define SM_PM_IER 0x0040 +#define SM_PM_IDR 0x0044 +#define SM_PM_IMR 0x0048 +#define SM_PM_ISR 0x004c +#define SM_PM_ICR 0x0050 +#define SM_PM_GCCTRL 0x0060 +#define SM_RTC_CTRL 0x0080 +#define SM_RTC_VAL 0x0084 +#define SM_RTC_TOP 0x0088 +#define SM_RTC_IER 0x0090 +#define SM_RTC_IDR 0x0094 +#define SM_RTC_IMR 0x0098 +#define SM_RTC_ISR 0x009c +#define SM_RTC_ICR 0x00a0 +#define SM_WDT_CTRL 0x00b0 +#define SM_WDT_CLR 0x00b4 +#define SM_WDT_EXT 0x00b8 +#define SM_RC_RCAUSE 0x00c0 +#define SM_EIM_IER 0x0100 +#define SM_EIM_IDR 0x0104 +#define SM_EIM_IMR 0x0108 +#define SM_EIM_ISR 0x010c +#define SM_EIM_ICR 0x0110 +#define SM_EIM_MODE 0x0114 +#define SM_EIM_EDGE 0x0118 +#define SM_EIM_LEVEL 0x011c +#define SM_EIM_TEST 0x0120 +#define SM_EIM_NMIC 0x0124 + +/* Bitfields in PM_CKSEL */ +#define SM_CPUSEL_OFFSET 0 +#define SM_CPUSEL_SIZE 3 +#define SM_CPUDIV_OFFSET 7 +#define SM_CPUDIV_SIZE 1 +#define SM_HSBSEL_OFFSET 8 +#define SM_HSBSEL_SIZE 3 +#define SM_HSBDIV_OFFSET 15 +#define SM_HSBDIV_SIZE 1 +#define SM_PBASEL_OFFSET 16 +#define SM_PBASEL_SIZE 3 +#define SM_PBADIV_OFFSET 23 +#define SM_PBADIV_SIZE 1 +#define SM_PBBSEL_OFFSET 24 +#define SM_PBBSEL_SIZE 3 +#define SM_PBBDIV_OFFSET 31 +#define SM_PBBDIV_SIZE 1 + +/* Bitfields in PM_PLL0 */ +#define SM_PLLEN_OFFSET 0 +#define SM_PLLEN_SIZE 1 +#define SM_PLLOSC_OFFSET 1 +#define SM_PLLOSC_SIZE 1 +#define SM_PLLOPT_OFFSET 2 +#define SM_PLLOPT_SIZE 3 +#define SM_PLLDIV_OFFSET 8 +#define SM_PLLDIV_SIZE 8 +#define SM_PLLMUL_OFFSET 16 +#define SM_PLLMUL_SIZE 8 +#define SM_PLLCOUNT_OFFSET 24 +#define SM_PLLCOUNT_SIZE 6 +#define SM_PLLTEST_OFFSET 31 +#define SM_PLLTEST_SIZE 1 + +/* Bitfields in PM_VCTRL */ +#define SM_VAUTO_OFFSET 0 +#define SM_VAUTO_SIZE 1 +#define SM_PM_VCTRL_VAL_OFFSET 8 +#define SM_PM_VCTRL_VAL_SIZE 7 + +/* Bitfields in PM_VMREF */ +#define SM_REFSEL_OFFSET 0 +#define SM_REFSEL_SIZE 4 + +/* Bitfields in PM_VMV */ +#define SM_PM_VMV_VAL_OFFSET 0 +#define SM_PM_VMV_VAL_SIZE 8 + +/* Bitfields in PM_ICR */ +#define SM_LOCK0_OFFSET 0 +#define SM_LOCK0_SIZE 1 +#define SM_LOCK1_OFFSET 1 +#define SM_LOCK1_SIZE 1 +#define SM_WAKE_OFFSET 2 +#define SM_WAKE_SIZE 1 +#define SM_VOK_OFFSET 3 +#define SM_VOK_SIZE 1 +#define SM_VMRDY_OFFSET 4 +#define SM_VMRDY_SIZE 1 +#define SM_CKRDY_OFFSET 5 +#define SM_CKRDY_SIZE 1 + +/* Bitfields in PM_GCCTRL */ +#define SM_OSCSEL_OFFSET 0 +#define SM_OSCSEL_SIZE 1 +#define SM_PLLSEL_OFFSET 1 +#define SM_PLLSEL_SIZE 1 +#define SM_CEN_OFFSET 2 +#define SM_CEN_SIZE 1 +#define SM_CPC_OFFSET 3 +#define SM_CPC_SIZE 1 +#define SM_DIVEN_OFFSET 4 +#define SM_DIVEN_SIZE 1 +#define SM_DIV_OFFSET 8 +#define SM_DIV_SIZE 8 + +/* Bitfields in RTC_CTRL */ +#define SM_PCLR_OFFSET 1 +#define SM_PCLR_SIZE 1 +#define SM_TOPEN_OFFSET 2 +#define SM_TOPEN_SIZE 1 +#define SM_CLKEN_OFFSET 3 +#define SM_CLKEN_SIZE 1 +#define SM_PSEL_OFFSET 8 +#define SM_PSEL_SIZE 16 + +/* Bitfields in RTC_VAL */ +#define SM_RTC_VAL_VAL_OFFSET 0 +#define SM_RTC_VAL_VAL_SIZE 31 + +/* Bitfields in RTC_TOP */ +#define SM_RTC_TOP_VAL_OFFSET 0 +#define SM_RTC_TOP_VAL_SIZE 32 + +/* Bitfields in RTC_ICR */ +#define SM_TOPI_OFFSET 0 +#define SM_TOPI_SIZE 1 + +/* Bitfields in WDT_CTRL */ +#define SM_KEY_OFFSET 24 +#define SM_KEY_SIZE 8 + +/* Bitfields in RC_RCAUSE */ +#define SM_POR_OFFSET 0 +#define SM_POR_SIZE 1 +#define SM_BOD_OFFSET 1 +#define SM_BOD_SIZE 1 +#define SM_EXT_OFFSET 2 +#define SM_EXT_SIZE 1 +#define SM_WDT_OFFSET 3 +#define SM_WDT_SIZE 1 +#define SM_NTAE_OFFSET 4 +#define SM_NTAE_SIZE 1 +#define SM_SERP_OFFSET 5 +#define SM_SERP_SIZE 1 + +/* Bitfields in EIM_EDGE */ +#define SM_INT0_OFFSET 0 +#define SM_INT0_SIZE 1 +#define SM_INT1_OFFSET 1 +#define SM_INT1_SIZE 1 +#define SM_INT2_OFFSET 2 +#define SM_INT2_SIZE 1 +#define SM_INT3_OFFSET 3 +#define SM_INT3_SIZE 1 + +/* Bitfields in EIM_LEVEL */ + +/* Bitfields in EIM_TEST */ +#define SM_TESTEN_OFFSET 31 +#define SM_TESTEN_SIZE 1 + +/* Bitfields in EIM_NMIC */ +#define SM_EN_OFFSET 0 +#define SM_EN_SIZE 1 + +/* Bit manipulation macros */ +#define SM_BIT(name) \ + (1 << SM_##name##_OFFSET) +#define SM_BF(name,value) \ + (((value) & ((1 << SM_##name##_SIZE) - 1)) \ + << SM_##name##_OFFSET) +#define SM_BFEXT(name,value) \ + (((value) >> SM_##name##_OFFSET) \ + & ((1 << SM_##name##_SIZE) - 1)) +#define SM_BFINS(name,value,old) \ + (((old) & ~(((1 << SM_##name##_SIZE) - 1) \ + << SM_##name##_OFFSET)) \ + | SM_BF(name,value)) + +/* Register access macros */ +#define sm_readl(port,reg) \ + readl((port)->regs + SM_##reg) +#define sm_writel(port,reg,value) \ + writel((value), (port)->regs + SM_##reg) + +#endif /* __CPU_AT32AP_SM_H__ */ diff --git a/cpu/at32ap/start.S b/cpu/at32ap/start.S new file mode 100644 index 00000000000..79ee33b1fac --- /dev/null +++ b/cpu/at32ap/start.S @@ -0,0 +1,113 @@ +/* + * Copyright (C) 2005-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#include +#include + +#ifndef PART_SPECIFIC_BOOTSTRAP +# define PART_SPECIFIC_BOOTSTRAP +#endif + +#define SYSREG_MMUCR_I_OFFSET 2 +#define SYSREG_MMUCR_S_OFFSET 4 + +#define SR_INIT (SYSREG_BIT(GM) | SYSREG_BIT(EM) | SYSREG_BIT(M0)) +#define CPUCR_INIT (SYSREG_BIT(BI) | SYSREG_BIT(BE) \ + | SYSREG_BIT(FE) | SYSREG_BIT(RE) \ + | SYSREG_BIT(IBE) | SYSREG_BIT(IEE)) + + .text + .global _start +_start: + PART_SPECIFIC_BOOTSTRAP + + /* Reset the Status Register */ + mov r0, lo(SR_INIT) + orh r0, hi(SR_INIT) + mtsr SYSREG_SR, r0 + + /* Reset CPUCR and invalidate the BTB */ + mov r2, CPUCR_INIT + mtsr SYSREG_CPUCR, r2 + + /* Flush the caches */ + mov r1, 0 + cache r1[4], 8 + cache r1[0], 0 + sync 0 + + /* Reset the MMU to default settings */ + mov r0, SYSREG_BIT(MMUCR_S) | SYSREG_BIT(MMUCR_I) + mtsr SYSREG_MMUCR, r0 + + /* Internal RAM should not need any initialization. We might + have to initialize external RAM here if the part doesn't + have internal RAM (or we may use the data cache) */ + + /* Jump to cacheable segment */ + lddpc pc, 1f + + .align 2 +1: .long 2f + +2: lddpc sp, sp_init + + /* + * Relocate the data section and initialize .bss. Everything + * is guaranteed to be at least doubleword aligned by the + * linker script. + */ + lddpc r12, .Ldata_vma + lddpc r11, .Ldata_lma + lddpc r10, .Ldata_end + sub r10, r12 +4: ld.d r8, r11++ + sub r10, 8 + st.d r12++, r8 + brne 4b + + mov r8, 0 + mov r9, 0 + lddpc r10, .Lbss_end + sub r10, r12 +4: sub r10, 8 + st.d r12++, r8 + brne 4b + + /* Initialize the GOT pointer */ + lddpc r6, got_init +3: rsub r6, pc + ld.w pc, r6[start_u_boot@got] + + .align 2 + .type sp_init,@object +sp_init: + .long CFG_INIT_SP_ADDR +got_init: + .long 3b - _GLOBAL_OFFSET_TABLE_ +.Ldata_lma: + .long __data_lma +.Ldata_vma: + .long _data +.Ldata_end: + .long _edata +.Lbss_end: + .long _end diff --git a/include/asm-avr32/arch-at32ap7000/hmatrix2.h b/include/asm-avr32/arch-at32ap7000/hmatrix2.h new file mode 100644 index 00000000000..e6df4b7fe33 --- /dev/null +++ b/include/asm-avr32/arch-at32ap7000/hmatrix2.h @@ -0,0 +1,232 @@ +/* + * Register definition for the High-speed Bus Matrix + */ +#ifndef __ASM_AVR32_HMATRIX2_H__ +#define __ASM_AVR32_HMATRIX2_H__ + +/* HMATRIX2 register offsets */ +#define HMATRIX2_MCFG0 0x0000 +#define HMATRIX2_MCFG1 0x0004 +#define HMATRIX2_MCFG2 0x0008 +#define HMATRIX2_MCFG3 0x000c +#define HMATRIX2_MCFG4 0x0010 +#define HMATRIX2_MCFG5 0x0014 +#define HMATRIX2_MCFG6 0x0018 +#define HMATRIX2_MCFG7 0x001c +#define HMATRIX2_MCFG8 0x0020 +#define HMATRIX2_MCFG9 0x0024 +#define HMATRIX2_MCFG10 0x0028 +#define HMATRIX2_MCFG11 0x002c +#define HMATRIX2_MCFG12 0x0030 +#define HMATRIX2_MCFG13 0x0034 +#define HMATRIX2_MCFG14 0x0038 +#define HMATRIX2_MCFG15 0x003c +#define HMATRIX2_SCFG0 0x0040 +#define HMATRIX2_SCFG1 0x0044 +#define HMATRIX2_SCFG2 0x0048 +#define HMATRIX2_SCFG3 0x004c +#define HMATRIX2_SCFG4 0x0050 +#define HMATRIX2_SCFG5 0x0054 +#define HMATRIX2_SCFG6 0x0058 +#define HMATRIX2_SCFG7 0x005c +#define HMATRIX2_SCFG8 0x0060 +#define HMATRIX2_SCFG9 0x0064 +#define HMATRIX2_SCFG10 0x0068 +#define HMATRIX2_SCFG11 0x006c +#define HMATRIX2_SCFG12 0x0070 +#define HMATRIX2_SCFG13 0x0074 +#define HMATRIX2_SCFG14 0x0078 +#define HMATRIX2_SCFG15 0x007c +#define HMATRIX2_PRAS0 0x0080 +#define HMATRIX2_PRBS0 0x0084 +#define HMATRIX2_PRAS1 0x0088 +#define HMATRIX2_PRBS1 0x008c +#define HMATRIX2_PRAS2 0x0090 +#define HMATRIX2_PRBS2 0x0094 +#define HMATRIX2_PRAS3 0x0098 +#define HMATRIX2_PRBS3 0x009c +#define HMATRIX2_PRAS4 0x00a0 +#define HMATRIX2_PRBS4 0x00a4 +#define HMATRIX2_PRAS5 0x00a8 +#define HMATRIX2_PRBS5 0x00ac +#define HMATRIX2_PRAS6 0x00b0 +#define HMATRIX2_PRBS6 0x00b4 +#define HMATRIX2_PRAS7 0x00b8 +#define HMATRIX2_PRBS7 0x00bc +#define HMATRIX2_PRAS8 0x00c0 +#define HMATRIX2_PRBS8 0x00c4 +#define HMATRIX2_PRAS9 0x00c8 +#define HMATRIX2_PRBS9 0x00cc +#define HMATRIX2_PRAS10 0x00d0 +#define HMATRIX2_PRBS10 0x00d4 +#define HMATRIX2_PRAS11 0x00d8 +#define HMATRIX2_PRBS11 0x00dc +#define HMATRIX2_PRAS12 0x00e0 +#define HMATRIX2_PRBS12 0x00e4 +#define HMATRIX2_PRAS13 0x00e8 +#define HMATRIX2_PRBS13 0x00ec +#define HMATRIX2_PRAS14 0x00f0 +#define HMATRIX2_PRBS14 0x00f4 +#define HMATRIX2_PRAS15 0x00f8 +#define HMATRIX2_PRBS15 0x00fc +#define HMATRIX2_MRCR 0x0100 +#define HMATRIX2_SFR0 0x0110 +#define HMATRIX2_SFR1 0x0114 +#define HMATRIX2_SFR2 0x0118 +#define HMATRIX2_SFR3 0x011c +#define HMATRIX2_SFR4 0x0120 +#define HMATRIX2_SFR5 0x0124 +#define HMATRIX2_SFR6 0x0128 +#define HMATRIX2_SFR7 0x012c +#define HMATRIX2_SFR8 0x0130 +#define HMATRIX2_SFR9 0x0134 +#define HMATRIX2_SFR10 0x0138 +#define HMATRIX2_SFR11 0x013c +#define HMATRIX2_SFR12 0x0140 +#define HMATRIX2_SFR13 0x0144 +#define HMATRIX2_SFR14 0x0148 +#define HMATRIX2_SFR15 0x014c +#define HMATRIX2_VERSION 0x01fc + +/* Bitfields in MCFG0 */ +#define HMATRIX2_ULBT_OFFSET 0 +#define HMATRIX2_ULBT_SIZE 3 + +/* Bitfields in SCFG0 */ +#define HMATRIX2_SLOT_CYCLE_OFFSET 0 +#define HMATRIX2_SLOT_CYCLE_SIZE 8 +#define HMATRIX2_DEFMSTR_TYPE_OFFSET 16 +#define HMATRIX2_DEFMSTR_TYPE_SIZE 2 +#define HMATRIX2_FIXED_DEFMSTR_OFFSET 18 +#define HMATRIX2_FIXED_DEFMSTR_SIZE 4 +#define HMATRIX2_ARBT_OFFSET 24 +#define HMATRIX2_ARBT_SIZE 2 + +/* Bitfields in PRAS0 */ +#define HMATRIX2_M0PR_OFFSET 0 +#define HMATRIX2_M0PR_SIZE 4 +#define HMATRIX2_M1PR_OFFSET 4 +#define HMATRIX2_M1PR_SIZE 4 +#define HMATRIX2_M2PR_OFFSET 8 +#define HMATRIX2_M2PR_SIZE 4 +#define HMATRIX2_M3PR_OFFSET 12 +#define HMATRIX2_M3PR_SIZE 4 +#define HMATRIX2_M4PR_OFFSET 16 +#define HMATRIX2_M4PR_SIZE 4 +#define HMATRIX2_M5PR_OFFSET 20 +#define HMATRIX2_M5PR_SIZE 4 +#define HMATRIX2_M6PR_OFFSET 24 +#define HMATRIX2_M6PR_SIZE 4 +#define HMATRIX2_M7PR_OFFSET 28 +#define HMATRIX2_M7PR_SIZE 4 + +/* Bitfields in PRBS0 */ +#define HMATRIX2_M8PR_OFFSET 0 +#define HMATRIX2_M8PR_SIZE 4 +#define HMATRIX2_M9PR_OFFSET 4 +#define HMATRIX2_M9PR_SIZE 4 +#define HMATRIX2_M10PR_OFFSET 8 +#define HMATRIX2_M10PR_SIZE 4 +#define HMATRIX2_M11PR_OFFSET 12 +#define HMATRIX2_M11PR_SIZE 4 +#define HMATRIX2_M12PR_OFFSET 16 +#define HMATRIX2_M12PR_SIZE 4 +#define HMATRIX2_M13PR_OFFSET 20 +#define HMATRIX2_M13PR_SIZE 4 +#define HMATRIX2_M14PR_OFFSET 24 +#define HMATRIX2_M14PR_SIZE 4 +#define HMATRIX2_M15PR_OFFSET 28 +#define HMATRIX2_M15PR_SIZE 4 + +/* Bitfields in MRCR */ +#define HMATRIX2_RBC0_OFFSET 0 +#define HMATRIX2_RBC0_SIZE 1 +#define HMATRIX2_RBC1_OFFSET 1 +#define HMATRIX2_RBC1_SIZE 1 +#define HMATRIX2_RBC2_OFFSET 2 +#define HMATRIX2_RBC2_SIZE 1 +#define HMATRIX2_RBC3_OFFSET 3 +#define HMATRIX2_RBC3_SIZE 1 +#define HMATRIX2_RBC4_OFFSET 4 +#define HMATRIX2_RBC4_SIZE 1 +#define HMATRIX2_RBC5_OFFSET 5 +#define HMATRIX2_RBC5_SIZE 1 +#define HMATRIX2_RBC6_OFFSET 6 +#define HMATRIX2_RBC6_SIZE 1 +#define HMATRIX2_RBC7_OFFSET 7 +#define HMATRIX2_RBC7_SIZE 1 +#define HMATRIX2_RBC8_OFFSET 8 +#define HMATRIX2_RBC8_SIZE 1 +#define HMATRIX2_RBC9_OFFSET 9 +#define HMATRIX2_RBC9_SIZE 1 +#define HMATRIX2_RBC10_OFFSET 10 +#define HMATRIX2_RBC10_SIZE 1 +#define HMATRIX2_RBC11_OFFSET 11 +#define HMATRIX2_RBC11_SIZE 1 +#define HMATRIX2_RBC12_OFFSET 12 +#define HMATRIX2_RBC12_SIZE 1 +#define HMATRIX2_RBC13_OFFSET 13 +#define HMATRIX2_RBC13_SIZE 1 +#define HMATRIX2_RBC14_OFFSET 14 +#define HMATRIX2_RBC14_SIZE 1 +#define HMATRIX2_RBC15_OFFSET 15 +#define HMATRIX2_RBC15_SIZE 1 + +/* Bitfields in SFR0 */ +#define HMATRIX2_SFR_OFFSET 0 +#define HMATRIX2_SFR_SIZE 32 + +/* Bitfields in SFR4 */ +#define HMATRIX2_CS1A_OFFSET 1 +#define HMATRIX2_CS1A_SIZE 1 +#define HMATRIX2_CS3A_OFFSET 3 +#define HMATRIX2_CS3A_SIZE 1 +#define HMATRIX2_CS4A_OFFSET 4 +#define HMATRIX2_CS4A_SIZE 1 +#define HMATRIX2_CS5A_OFFSET 5 +#define HMATRIX2_CS5A_SIZE 1 +#define HMATRIX2_DBPUC_OFFSET 8 +#define HMATRIX2_DBPUC_SIZE 1 + +/* Bitfields in VERSION */ +#define HMATRIX2_VERSION_OFFSET 0 +#define HMATRIX2_VERSION_SIZE 12 +#define HMATRIX2_MFN_OFFSET 16 +#define HMATRIX2_MFN_SIZE 3 + +/* Constants for ULBT */ +#define HMATRIX2_ULBT_INFINITE 0 +#define HMATRIX2_ULBT_SINGLE 1 +#define HMATRIX2_ULBT_FOUR_BEAT 2 +#define HMATRIX2_ULBT_SIXTEEN_BEAT 4 + +/* Constants for DEFMSTR_TYPE */ +#define HMATRIX2_DEFMSTR_TYPE_NO_DEFAULT 0 +#define HMATRIX2_DEFMSTR_TYPE_LAST_DEFAULT 1 +#define HMATRIX2_DEFMSTR_TYPE_FIXED_DEFAULT 2 + +/* Constants for ARBT */ +#define HMATRIX2_ARBT_ROUND_ROBIN 0 +#define HMATRIX2_ARBT_FIXED_PRIORITY 1 + +/* Bit manipulation macros */ +#define HMATRIX2_BIT(name) \ + (1 << HMATRIX2_##name##_OFFSET) +#define HMATRIX2_BF(name,value) \ + (((value) & ((1 << HMATRIX2_##name##_SIZE) - 1)) \ + << HMATRIX2_##name##_OFFSET) +#define HMATRIX2_BFEXT(name,value) \ + (((value) >> HMATRIX2_##name##_OFFSET) \ + & ((1 << HMATRIX2_##name##_SIZE) - 1)) +#define HMATRIX2_BFINS(name,value,old) \ + (((old) & ~(((1 << HMATRIX2_##name##_SIZE) - 1) \ + << HMATRIX2_##name##_OFFSET)) \ + | HMATRIX2_BF(name,value)) + +/* Register access macros */ +#define hmatrix2_readl(port,reg) \ + readl((port)->regs + HMATRIX2_##reg) +#define hmatrix2_writel(port,reg,value) \ + writel((value), (port)->regs + HMATRIX2_##reg) + +#endif /* __ASM_AVR32_HMATRIX2_H__ */ diff --git a/include/asm-avr32/arch-at32ap7000/memory-map.h b/include/asm-avr32/arch-at32ap7000/memory-map.h new file mode 100644 index 00000000000..8ffe851c89e --- /dev/null +++ b/include/asm-avr32/arch-at32ap7000/memory-map.h @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2005-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_AVR32_PART_MEMORY_MAP_H__ +#define __ASM_AVR32_PART_MEMORY_MAP_H__ + +#define AUDIOC_BASE 0xFFF02800 +#define DAC_BASE 0xFFF02000 +#define DMAC_BASE 0xFF200000 +#define ECC_BASE 0xFFF03C00 +#define HISI_BASE 0xFFF02C00 +#define HMATRIX_BASE 0xFFF00800 +#define HSDRAMC_BASE 0xFFF03800 +#define HSMC_BASE 0xFFF03400 +#define LCDC_BASE 0xFF000000 +#define MACB0_BASE 0xFFF01800 +#define MACB1_BASE 0xFFF01C00 +#define MMCI_BASE 0xFFF02400 +#define PIOA_BASE 0xFFE02800 +#define PIOB_BASE 0xFFE02C00 +#define PIOC_BASE 0xFFE03000 +#define PIOD_BASE 0xFFE03400 +#define PIOE_BASE 0xFFE03800 +#define PSIF_BASE 0xFFE03C00 +#define PWM_BASE 0xFFF01400 +#define SM_BASE 0xFFF00000 +#define INTC_BASE 0XFFF00400 +#define SPI0_BASE 0xFFE00000 +#define SPI1_BASE 0xFFE00400 +#define SSC0_BASE 0xFFE01C00 +#define SSC1_BASE 0xFFE02000 +#define SSC2_BASE 0xFFE02400 +#define TIMER0_BASE 0xFFF00C00 +#define TIMER1_BASE 0xFFF01000 +#define TWI_BASE 0xFFE00800 +#define USART0_BASE 0xFFE00C00 +#define USART1_BASE 0xFFE01000 +#define USART2_BASE 0xFFE01400 +#define USART3_BASE 0xFFE01800 +#define USB_FIFO 0xFF300000 +#define USB_BASE 0xFFF03000 + +#endif /* __ASM_AVR32_PART_MEMORY_MAP_H__ */ diff --git a/include/asm-avr32/arch-at32ap7000/platform.h b/include/asm-avr32/arch-at32ap7000/platform.h new file mode 100644 index 00000000000..759050116a9 --- /dev/null +++ b/include/asm-avr32/arch-at32ap7000/platform.h @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2005-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef _ASM_AVR32_ARCH_PM_H +#define _ASM_AVR32_ARCH_PM_H + +#include + +enum clock_domain_id { + CLOCK_CPU, + CLOCK_HSB, + CLOCK_PBA, + CLOCK_PBB, + NR_CLOCK_DOMAINS, +}; + +enum resource_type { + RESOURCE_GPIO, + RESOURCE_CLOCK, +}; + +enum gpio_func { + GPIO_FUNC_GPIO, + GPIO_FUNC_A, + GPIO_FUNC_B, +}; + +enum device_id { + DEVICE_HEBI, + DEVICE_PBA_BRIDGE, + DEVICE_PBB_BRIDGE, + DEVICE_HRAMC, + /* GPIO controllers must be kept together */ + DEVICE_PIOA, + DEVICE_PIOB, + DEVICE_PIOC, + DEVICE_PIOD, + DEVICE_PIOE, + DEVICE_SM, + DEVICE_INTC, + DEVICE_HMATRIX, +#if defined(CFG_HPDC) + DEVICE_HPDC, +#endif +#if defined(CFG_MACB0) + DEVICE_MACB0, +#endif +#if defined(CFG_MACB1) + DEVICE_MACB1, +#endif +#if defined(CFG_LCDC) + DEVICE_LCDC, +#endif +#if defined(CFG_USART0) + DEVICE_USART0, +#endif +#if defined(CFG_USART1) + DEVICE_USART1, +#endif +#if defined(CFG_USART2) + DEVICE_USART2, +#endif +#if defined(CFG_USART3) + DEVICE_USART3, +#endif +#if defined(CFG_MMCI) + DEVICE_MMCI, +#endif +#if defined(CFG_DMAC) + DEVICE_DMAC, +#endif + NR_DEVICES, + NO_DEVICE = -1, +}; + +struct resource { + enum resource_type type; + union { + struct { + unsigned long base; + } iomem; + struct { + unsigned char nr_pins; + enum device_id gpio_dev; + enum gpio_func func; + unsigned short start; + } gpio; + struct { + enum clock_domain_id id; + unsigned char index; + } clock; + } u; +}; + +struct device { + void *regs; + unsigned int nr_resources; + const struct resource *resource; +}; + +struct clock_domain { + unsigned short reg; + enum clock_domain_id id; + enum device_id bridge; +}; + +extern const struct device chip_device[NR_DEVICES]; +extern const struct clock_domain chip_clock[NR_CLOCK_DOMAINS]; + +/** + * Set up PIO, clock management and I/O memory for a device. + */ +const struct device *get_device(enum device_id devid); +void put_device(const struct device *dev); + +int gpio_set_func(enum device_id gpio_devid, unsigned int start, + unsigned int nr_pins, enum gpio_func func); +void gpio_free(enum device_id gpio_devid, unsigned int start, + unsigned int nr_pins); + +void pm_init(void); +int pm_enable_clock(enum clock_domain_id id, unsigned int index); +void pm_disable_clock(enum clock_domain_id id, unsigned int index); +unsigned long pm_get_clock_freq(enum clock_domain_id domain); + +void cpu_enable_sdram(void); + +#endif /* _ASM_AVR32_ARCH_PM_H */ -- cgit v1.3.1 From 7c52c4b943ff52bbe8796a7e2d3e476ceaf3f512 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Tue, 24 Oct 2006 21:35:55 +0200 Subject: Switch to automatically generated CHANGELOG file. (use "make CHANGELOG" to update it from time to time) --- CHANGELOG | 6501 +++++++---------------------------------- CHANGELOG-before-U-Boot-1.1.5 | 5593 +++++++++++++++++++++++++++++++++++ Makefile | 3 + 3 files changed, 6598 insertions(+), 5499 deletions(-) create mode 100644 CHANGELOG-before-U-Boot-1.1.5 (limited to 'Makefile') diff --git a/CHANGELOG b/CHANGELOG index b9dd4469a5c..10e4a9664b5 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5598 +1,1101 @@ -====================================================================== -Changes for U-Boot 1.1.5: -====================================================================== +commit 7ade0c634a979c32fa91a74e8f5775f24651fbe6 +Author: Stefan Roese +Date: Tue Oct 24 18:06:48 2006 +0200 + + Fix bug in PPC440 NAND driver cpu/ppc4xx/ndfc.c + Patch by Stefan Roese, 24 Oct 2006 + +commit 8ae3b713b2286e0c3213b7802062e4c1599010de +Author: Wolfgang Denk +Date: Tue Oct 24 17:24:55 2006 +0200 + + Merge with /home/wd/git/u-boot/master + +commit 47a6989c10685d2ab3efcf95228ce50d2a496d3e +Author: Wolfgang Denk +Date: Tue Oct 24 15:32:57 2006 +0200 + + Code cleanup + +commit 3a78e3e75b633ecb6413114ffd11e2f000c4f11e +Author: Wolfgang Denk +Date: Tue Oct 24 14:51:36 2006 +0200 + + Move atstk1000 files into vendor specific directory. + Patch by Haavard Skinnemoen, 12 Sep 2006 + +commit 6ccec4492e77428fd6eafd3dfe94fbdf08e91d37 +Author: Wolfgang Denk +Date: Tue Oct 24 14:42:37 2006 +0200 + + Add ATSTK1000 and ATSTK1002 board support + Patch by Haavard Skinnemoen, 06 Sep 2006 + + This patch adds support for the ATSTK1000 with the ATSTK1002 CPU + daughterboard. + + ATSTK1000 is a full-featured development board for AT32AP CPUs. It + has two ethernet ports, a high quality QVGA LCD panel, a loudspeaker, + and connectors for USART, PS/2, VGA, USB, MMC/SD cards and + CompactFlash cards. For more information, please see this page: + + http://www.atmel.com/dyn/products/tools.asp?family_id=682 + + The ATSTK1002 is a daughterboard for the ATSTK1000 supporting the + AT32AP7000 chip. + + Signed-off-by: Haavard Skinnemoen + +commit f93ae788c3640fcde5db383471d45548ff4060d0 +Author: Wolfgang Denk +Date: Tue Oct 24 14:31:24 2006 +0200 + + Add common serial driver for Atmel AT32 and AT91 chips + Patch by Haavard Skinnemoen, 06 Sep 2006 + + This is a first attempt at creating a common serial driver for Atmel + chips. For now, it supports the AT32AP7000 AVR32 chip, but it should + be possible to support AT91RM9200 and other ARM-based chips with some + minor modifications. + + There's nothing fundamentally AVR32-specific in this driver, but it + does use some features which are currently only defined for the + AT32AP CPU port: + * pm_get_clock_freq: Obtain the clock frequency of a given domain + * gd->console_uart: A "struct device" containing information about + register mappings, gpio resources and clocks associated with the + UART device. + + For more information about these features, please see the "AT32AP + CPU" patch. + +commit 72a087e04705c26cad982879ebd06b5281bf825a +Author: Wolfgang Denk +Date: Tue Oct 24 14:27:35 2006 +0200 + + Add AT32AP CPU and AT32AP7000 SoC support + Patch by Haavard Skinnemoen, 06 Sep 2006 + + This patch adds support for the AT32AP CPU family and the AT32AP7000 + chip, which is the first chip implementing the AVR32 architecture. + + The AT32AP CPU core is a high-performance implementation featuring a + 7-stage pipeline, separate instruction- and data caches, and a MMU. + For more information, please see the "AVR32 AP Technical Reference": + + http://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf + + In addition to this, the AT32AP7000 chip comes with a large set of + integrated peripherals, many of which are shared with the AT91 series + of ARM-based microcontrollers from Atmel. Full data sheet is + available here: + + http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf + + Signed-off-by: Haavard Skinnemoen + +commit 7b64fef33c66be648826c0ff9758298ef13d0604 +Author: Wolfgang Denk +Date: Tue Oct 24 14:21:16 2006 +0200 + + Add AVR32 architecture support + Patch by Haavard Skinnemoen, 6 Sep 2006 16:23:02 +0200 + + This patch adds common infrastructure code for the Atmel AVR32 + architecture. See doc/README.AVR32 for details. + + Signed-off-by: Haavard Skinnemoen + +commit 2da2d9a4766063b9848f3a35ad6025499cf87265 +Author: Wolfgang Denk +Date: Tue Oct 24 13:57:33 2006 +0200 + + Use -g instead of -gstabs in AFLAGS_DEBUG + Patch by Haavard Skinnemoen, 30 Aug 2006 + + In config.mk, -Wa,-gstabs is unconditionally appended to AFLAGS no + matter what the target's preferred debugging format is. This patch + simply replaces -gstabs with -g, so that the default debugging format + for the architecture is used. + +commit 965829872169c2996023840d98e1d85ad148d629 +Author: Wolfgang Denk +Date: Tue Oct 24 13:55:18 2006 +0200 + + Fix/workaround broken dependency handling with make 3.81 + Based on patch by Haavard Skinnemoen, 29 Aug 2006 11:20:39 +0200 + +commit 8318fbf8cc30418b621ea9f39b84b4c1a08f003a +Author: Marian Balakowicz +Date: Mon Oct 23 22:17:05 2006 +0200 + + Fix sequoia separate object direcory building problems. + +commit 3dfa9cfdcee78b30da3432318b32821ffabe974b +Author: Jon Loeliger +Date: Fri Oct 20 17:16:35 2006 -0500 + + Use generic I2C register block on 85xx and 86xx. + + Replace private IMMAP I2C structures with generic reg block + and allow 86xx to have multiple I2C device busses. + + Signed-off-by: Jon Loeliger + +commit f5012827df11ca0c9be1df5f8b153e188dc2fa7c +Author: Jon Loeliger +Date: Fri Oct 20 15:54:34 2006 -0500 + + Fix compilation warnings on a few 85xx boards. + + Signed-off-by: Jon Loeliger + +commit 2047672684cf85cb6f96a1fbc993180aaaf19a99 +Author: Jon Loeliger +Date: Fri Oct 20 15:50:15 2006 -0500 + + Converted all 85xx boards to use a common FSL I2C driver. + Introduced COFIG_FSL_I2C to select the common FSL I2C driver. + And removed hard i2c path from a few u-boot.lds scipts too. + Minor whitespace cleanups along the way. + + Signed-off-by: Jon Loeliger + +commit 4d45f69e362b05892c9e92a7907e5820995612aa +Author: Jon Loeliger +Date: Thu Oct 19 12:02:24 2006 -0500 + + Rewrite a series of goto statements as a sequences of + conditional expressions instead. + + Use consistent return code 0/-1 for good/bad indicators. + + Include one fewer file if the driver isn't used at all. + + Signed-off-by: Jon Loeliger + +commit 7237c033b02fe295880435f1eb80819a0c987532 +Author: Jon Loeliger +Date: Thu Oct 19 11:02:16 2006 -0500 + + Moved i2c driver out of cpu/mpc86xx/i2c.c into drivers/fsl_i2c.c + + in an effort to begin to unify the umpteen FSL I2C drivers that + are all otherwise very similar. + + Signed-off-by: Jon Loeliger + +commit 13a7fcdf37f6ea9429ae04c9df67f893364cfe4b +Author: Jon Loeliger +Date: Thu Oct 19 11:33:52 2006 -0500 + + * Fix a bunch of compiler warnings for gcc 4.0 + + Signed-off-by: Matthew McClintock + +commit 5f3249a0a168e446a4cc9669b2bce0bc456f0a09 +Author: Jon Loeliger +Date: Fri Oct 13 16:47:53 2006 -0500 + + Fixed leading whitespace issues. + Removed spurious LAWAR thing. + + Signed-off-by: Jon Loeliger + +commit 0ee90cb77e01d6e8ccd37e1bd96678597875c391 +Author: Jon Loeliger +Date: Thu Oct 12 10:42:36 2006 -0500 + + Remove unneeded include files and local variable. + + Signed-off-by: Jon Loeliger + +commit 1eaf3a5ff4960a46f3a9063568ba2af7883f07c5 +Author: Grant Likely +Date: Tue Oct 10 00:23:32 2006 -0600 + + Fix possible uninitialized variable compiler warning. + + When CONFIG_OF_FLAG_TREE is set, the compiler complains that 'len' in + do_bootm_linux() may be uninitialized. There is no possibility in the + current code that len will get used uninitialized, but this fix follows + the existing convention of setting both len and data to zero at the same + time. + + Signed-off-by: Grant Likely + +commit 7376eb87aaa601f728f9b8e5e9cd2711a67f529e +Author: Matthew McClintock +Date: Wed Oct 11 15:13:01 2006 -0500 + + * Fix a bunch of compiler warnings for gcc 4.0 + + Signed-off-by: Matthew McClintock + +commit bf651baa365e5447246aad6a633ccd667cf24a39 +Author: Jon Loeliger +Date: Wed Oct 11 10:10:43 2006 -0500 + + Move "ar" flags to config.mk to allow for silent "make -s" + +commit 1fd5699a4a24f5c1dab1b32f480bace1ebb9fc3e +Author: Jon Loeliger +Date: Tue Oct 10 17:19:03 2006 -0500 + + Coding style changes to remove local varible blocks + and reformat a bit nicer. + +commit 8b283dbb3a08d1b8d406bc15f119e081b3e2606a +Author: Jon Loeliger +Date: Tue Oct 10 17:16:04 2006 -0500 + + Fix whitespace issues. + +commit 7b382b7125f2397cce63253df62f183e3dfa2770 +Author: Jon Loeliger +Date: Tue Oct 10 17:14:45 2006 -0500 + + Fix whitespace issues. + +commit e10390ddd736b0dad1528eec4b0fe35c0827139a +Author: Jon Loeliger +Date: Tue Oct 10 17:06:53 2006 -0500 -* Fix sequoia separate object direcory building problems. + Fix whitespace issues. + +commit 89875e96ba3f023157bf50d5f8e33bf254964a76 +Author: Jon Loeliger +Date: Tue Oct 10 17:03:43 2006 -0500 + + Ran lindent and cleaned up whitespace issues. + Format for 80-columns too. -* Fix bug in PPC440 NAND driver cpu/ppc4xx/ndfc.c - Patch by Stefan Roese, 24 Oct 2006 +commit 333961ae7095fc66d8a041fce1ac9ee873b09d86 +Author: Jon Loeliger +Date: Tue Oct 10 17:02:22 2006 -0500 -* Cleanup compile warnings. Prepare for release 1.1.5 + Fix whitespace and 80-col issues. -* Fix compile problem in include/configs/ep82xxm.h - (must have never been tested before!) +commit f55df18187e7a45cb73fec4370d12135e6691ae1 +Author: John Traill +Date: Fri Sep 29 08:23:12 2006 +0100 -* MCC200: Fix uninitialized variable problem in LCD driver + Fix missing tCycle/modfreq calculation. + + Signed-off-by: John Traill -* Add board/cpu specific NAND chip select function to 440 NDFC - Based on idea and implementation from Jeff Mann - Patch by Stefan Roese, 20 Oct 2006 +commit 8272dc2f58f2473d8995fcc9b916440cfba080f0 +Author: Andy Fleming +Date: Wed Sep 13 10:33:35 2006 -0500 -* Make 4xx bootup message shorter on 440EPx/GRx platforms - Patch by Stefan Roese, 18 Oct 2006 + Updated config headers to add default FDT-based booting -* Add (preliminary) support for V38B board +commit 09f3e09e9ebcfa7919ca8931a4b5504fadd1f1d3 +Author: Andy Fleming +Date: Wed Sep 13 10:34:18 2006 -0500 -* PPC405EP: Add support for board configuration of CPC0_PCI register - This is needed to be able to configure PerWE*/PCI_INT* pin as PerWE* - Patch by Tolunay Orkun, 07 Apr 2006 + Add support for eTSEC 3 & 4 on 8548 CDS + + * Added support for using eTSEC 3 and eTSEC 4 on the 8548 CDS. + This will only work on rev 1.3 boards (but doesn't break older boards) + * Cleaned up some comments to reflect the expanded role of tsec + in other systems -* PPC405EP: Add CFG_GPIO0_OR, CFG_GPIO0_ODR to setup GPIO completely. - - Add configuration of Open Drain GPIO Output selection - - Add configuration of initial value of GPIO output pins - Patch by Tolunay Orkun, 07 Apr 2006 +commit 084d648b109c8984f83674043c1a7fa3885ef801 +Author: Andy Fleming +Date: Wed Sep 13 10:33:56 2006 -0500 -* Fix spelling; minor code cleanup. + Added code to support 2.6.18 PCI changes in u-boot + + * Added code to swizzle the IRQ map for the PCI -* Fix JFFS2 compilation problem - Patch by Stefan Roese, 12 Oct 2006 +commit afbdc649f8751e4f4f1a6f527edfe139773f2c15 +Author: Jon Loeliger +Date: Tue Sep 19 09:34:10 2006 -0500 -* Cleanup of NAND update patch (remove changelog from cmd_nand.c) - Patch by Guido Classen, 10 Oct 2006 + Modified makefile for new build mechanism. + + Signed-off-by: Jon Loeliger -* Several improvements to the new NAND subsystem: - - JFFS2 related commands implemented in mtd-utils style - - Support for bad blocks - - Bad block testing commands - - NAND lock commands - Please take a look at doc/README.nand for more details - Patch by Guido Classen, 10 Oct 2006 +commit d14ba6a798beb753e7a864500414fcc2d198b8bc +Author: Jon Loeliger +Date: Thu Sep 14 08:40:36 2006 -0500 -* Define IH_CPU_AVR32 - Make it possible to generate AVR32 uImage files with mkimage and - make cmd_bootm recognize them. - Patch by Haavard Skinnemoen, 22 Sep 2006 + Handle 86xx SVR values according to the new Reference Manual. + Both 8641 and 8641D have SVR == 0x8090, and are distinguished + by the byte in bits 16-23 instead. + Thanks to Jason Jin for noticing. + + Signed-off-by: Jon Loeliger -* Fix buffer overflow problem in ft_build.c - Patch by Fredrik Roubert, 09 Oct 2006 +commit 88c8f4921fc47fb0eb2384b16586f1bd7f275be7 +Author: Zhang Wei +Date: Mon Aug 28 14:25:31 2006 +0800 -* Make bootp implementation RFC3046 compliant - Patch by Joakim Larsson, 27 Jun 2006 + Fixed an OF-tree off-by-one bug when adding a new property name. + This bug will cause the kernel booting to pause a long time. + + Signed-off-by: Zhang Wei + (cherry picked from 2f15776ccc6dc32377d8ba9652b8f58059c27c6d commit) -* TQM5200: perform POST memory test only on STK52xx carrier board. - (and then only if PSC6_3 is read as "1" when booting). - Patch by Martin Krause, 21 Jun 2006 +commit 9bff7a69a885adebbd2bd45990494ec4cf998a30 +Author: Jon Loeliger +Date: Tue Aug 29 11:05:09 2006 -0500 -* Move "ar" flags to config.mk to allow for silent "make -s" - Based on patch by Mike Frysinger, 20 Jun 2006 + Remove trailing empty lines. -* Coding style cleanup +commit cd6d73d5b895a5935ac4fde0a356288142a584e0 +Author: Jon Loeliger +Date: Tue Aug 29 09:48:49 2006 -0500 -* Add support for EP82xxM boards - Patch by Aaron Sells, 20 Jun 2006 + Remove bogus msync and use volatile asm. -* Fix comments in include/ppc440.h - Patch by Martin Hicks, 16 Jun 2006 +commit 778d45049ce5927b65b3ff1d8e6692b654bdd49e +Author: Jon Loeliger +Date: Tue Aug 29 08:17:14 2006 -0500 -* Update for CAM5200 board: - - Map in a additional chip selects CS4 and CS5. - - Modify the port configration, configure six UARTs and no PCI, - ATA and USB. - - Add custom flash driver to handle specific byte swapping + Add myself as maintainer for MPC8641HPCN. -* Fix TLB setup for Ocotea board - Patch by Stefan Roese, 30 Sep 2006 +commit 2f15776ccc6dc32377d8ba9652b8f58059c27c6d +Author: Zhang Wei +Date: Mon Aug 28 14:25:31 2006 +0800 -* Fix reset problem in sequoia sdram init code - Patch by Stefan Roese, 23 Sep 2006 + Fixed an OF-tree off-by-one bug when adding a new property name. + This bug will cause the kernel booting to pause a long time. + + Signed-off-by: Zhang Wei -* Disable autoboot abort for FO300 when silent mode is enabled - (according to S1 switch setting). +commit 5567806b67d0ae83493aa8823ad3b6c914f581d7 +Author: Haiying Wang +Date: Fri Aug 25 14:38:34 2006 -0400 -* Cleanup examples binaries + Change ramdiskaddr and dtbaddr + Remove PEX fluff commands. + + Signed-off-by: Haiying Wang + Signed-off-by: Jon Loeliger -* Add support for AMCC Rainier PPX440GRx eval board - Patch by Stefan Roese, 13 Sep 2006 +commit b2b78421d9db49c21a821af8a19c21c1f7dfb29e +Author: Matthew McClintock +Date: Wed Aug 23 13:32:45 2006 -0500 -* Add NAND environment support for PPC440EPx Sequoia NAND boot config - Patch by Stefan Roese, 12 Sep 2006 + * Another small fix for booting with disable_of + + Signed-off-by: Matthew McClintock -* Update NAND boot documentation - Patch by Stefan Roese, 12 Sep 2006 +commit 4a7cc0f21918e6ecf07ed57075d67df2c4a1299c +Author: Jon Loeliger +Date: Wed Aug 23 11:04:43 2006 -0500 -* Fix alignment problem in "mtdparts" command + Cleanup and lindent new AHCI driver. -* Add documentation on the latest build environment extensions to - the README file. +commit dabf9ef8c10b4dead5ef2106ef742b1c06b542de +Author: Jin Zhengxiong +Date: Wed Aug 23 19:15:12 2006 +0800 -* Remove dead code (i2o and dma) from cpu/mpc824x/drivers/ directory. + Add AHCI define and sata support for MPC8641HPCN board. + + Signed-off-by:Jason Jin -* Fix LOG_DIR directory creation error. - Add support for automatic creation of BUILD_DIR directory. +commit 4782ac80b02f0d01afd309e2200dd3c7037f2ba4 +Author: Jin Zhengxiong +Date: Wed Aug 23 19:10:44 2006 +0800 -* Fix build problem cpu/ppc4xx/ndfc.c - Patch by Stefan Roese, 07 Sep 2006 + Add AHCI support to u-boot + + Add AHCI support in u-boot, enable the sata disk controllers which + following the AHCI protocol. + + Signed-off-by:Jason Jin -* Fix build problem with CPCI440 - Patch by Stefan Roese, 07 Sep 2006 +commit d8ea2acf5f137cae99417df4f573d036ee384668 +Author: Zhang Wei +Date: Wed Aug 23 17:54:32 2006 +0800 -* Change Yellowstone to use CFI write buffer - Patch by Stefan Roese, 07 Sep 2006 + Add dtb boot-up parameter to default boot commands. + + Signed-off-by: Zhang Wei -* Add support for AMCC Sequoia PPC440EPx eval board - - Add support for PPC440EPx & PPC440GRx - - Add support for PPC440EP(x)/GR(x) NAND controller - in cpu/ppc4xx directory - - Add NAND boot functionality for Sequoia board, - please see doc/README.nand-boot-ppc440 for details - - This Sequoia NAND image doesn't support environment - in NAND for now. This will be added in a short while. - Patch by Stefan Roese, 07 Sep 2006 +commit b93775c2036b99baa390ea425c4771895bbc63c4 +Author: Jon Loeliger +Date: Tue Aug 22 18:26:08 2006 -0500 -* Fix mkimage -l bug with multifile images on 64bit platforms - Patch by David Updegraff, 06 Sep 2006 + Cleanup even more poorly introduced whitespace. -* Fix build problems on sorcery board. +commit ae6241685cbcf0c79a3636530d2ceab1fb291a94 +Author: Jon Loeliger +Date: Tue Aug 22 18:07:00 2006 -0500 -* Fix coldfire build problems. - Patch by Marian Balakowicz, 01 Sep 2006 + Cleanup more poorly introduced whitespace. -* Add support for a saving build objects in a separate directory. - Modifications are based on the Linux kernel approach and support - two use cases: - 1) Add O= to the make command line 'make O=/tmp/build all' - 2) Set environement variable BUILD_DIR to point to the desired location - 'export BUILD_DIR=/tmp/build' - 'make' - The second approach can also be used with a MAKEALL script - 'export BUILD_DIR=/tmp/build' - './MAKEALL' - Command line 'O=' setting overrides the BUILD_DIR environent variable. - When none of the above methods is used the local build is performed - and the object files are placed in the source directory. +commit 2c33e8a1c535b3ae91cf0b284480600bf3f57c57 +Author: Jon Loeliger +Date: Tue Aug 22 17:54:05 2006 -0500 -* Remove the board/netstar/crcit binary from git repository. + Cleanup poorly introduced whitespace. -* Fix tools/updater build error. +commit 80e955c7dd98f4b4fd23c2113caf75ed2b77b5b3 +Author: Jon Loeliger +Date: Tue Aug 22 12:25:27 2006 -0500 -* Fix tools/easylogo build error. + General indent and whitespace cleanups. -* Fixed problems on PRS200 board caused by adding splash screen on MCC200 +commit ffff3ae56f5842ca3679e4ce7922b819a87aad9f +Author: Jon Loeliger +Date: Tue Aug 22 12:06:18 2006 -0500 -* Extended README entry on coding style + General indent and whitespace cleanups. -* Added another example showing simple interrupt interception. +commit 41a0e8b304d3ff55fe27a230507aac79684016ac +Author: Jon Loeliger +Date: Tue Aug 22 10:42:21 2006 -0500 -* Added simple_strtoul(), getenv() and setenv() to the exported functions. - Also bumped up ABI version to reflect this change. + Cleanup compiler warnings. -* Added interrupt handling capabilities for mpc5xxx processors. - Also added Linux like BUG() macros. +commit 5de62c47a8628b3da4d73f7c07027f32a3342d40 +Author: Matthew McClintock +Date: Tue Aug 22 09:31:59 2006 -0500 -* Coding Style cleanup. - Patch by Stefano Babic, 31 Aug 2006 + Fix disable_of booting + + Signed-off-by: Matthew McClintock -* Add splashscreen support for MCC200 board. +commit 87a449c8ac396420cb24260f717ea9e6faa82047 +Author: Matthew McClintock +Date: Tue Aug 22 09:23:55 2006 -0500 -* Make the serial driver framework work with CONFIG_SERIAL_MULTI - enabled + Support for FDT in uImage format, error when using FDT from flash + + Signed-off-by: Matthew McClintock -* PCIe endpoint support for AMCC Yucca 440SPe board - Patch by Tirumala R Marri, 26 Aug 2006 +commit 75c299c38369d01addd5e054b8a16217b70f4a86 +Author: Haiying Wang +Date: Tue Aug 15 15:12:55 2006 -0400 -* Improve DIMM detection for AMCC Yucca 440SPe board - Improved the memory DIMM detection for the Yucca 440SPe board for - the case where a memory DIMM is falsely detected as present. - This issue is seen on some AMCC Yucca 440SPe validation boards if - only one 512MB memory DIMM is installed, i.e. DIMM slot 0 is - populated and DIMM slot 1 is empty. In this case, U-Boot does - not correctly detect that there is only one DIMM memory module - installed and will falsely detect two DIMM memory modules are - present and therefore U-Boot will not calculate the correct amount - of total memory and u-boot will not booting up. - Patch by Adam Graham, 24 Aug 2006 + Unlock cache before kernel starts up for MPC86xx -* Fix typo. +commit 67256678f00c09b0a7f19e862e5c1847553d31bc +Author: Haiying Wang +Date: Tue Aug 15 15:13:15 2006 -0400 -* Code cleanup + Copy Global Data Pointer to r29 for DECLARE_GLOBAL_DATA_PTR -* Update for MCC200 / PRS200 boards: - - auto-adjust console device for Linux. - - fix typos. +commit 1c8f6d8fb028f156094d05f2d14298e6479364ac +Author: Haiying Wang +Date: Tue Aug 15 15:12:55 2006 -0400 -* Add a fix for a buggy USB device on the FO300 board. + Unlock cache before kernel starts up for MPC86xx -* Updates for MCC200 / PRS200 boards: - - support for configurations with SDRAM or DDR memory, - - support for highboot and lowboot - - adjusting environment definitions +commit 0d9ccc55edf9a7f3c5b2b6263580a6ea8d702a04 +Author: Haiying Wang +Date: Tue Aug 15 15:13:15 2006 -0400 -* Add support for WTK FO300 board (TQM5200 based). + Copy Global Data Pointer to r29 for DECLARE_GLOBAL_DATA_PTR -* Fix TQM834x hang. +commit 86c8e17f25e972a7e272950a0735fad84e082b88 +Author: Matthew McClintock +Date: Wed Aug 16 13:59:47 2006 -0500 -* Update for SC520 board. - Patch by David Updegraff, 02 Dec 2005 + * Fix disable_of booting + + Signed-off-by: Matthew McClintock -* Fixed common.h spelling error. - Patch by Cory Tusar, 30 Nov 2005 +commit 25c751e9adc86e22fe3b5b47cf2806379b575db7 +Author: Matthew McClintock +Date: Wed Aug 16 10:54:09 2006 -0500 -* Fix typo. - Patch by Andreas Engel, 28 Nov 2005 + * Support for FDT in uImage format, error when using FDT from flash + + Signed-off-by: Matthew McClintock -* Fix fatload command on FAT32 formatted partitions. - Patch by Joachim Jaeger, 18 Nov 2005 +commit fecf1c7e4de1b2779edc18742b91c22bdc32b68b +Author: Jon Loeliger +Date: Mon Aug 14 15:33:38 2006 -0500 -* Fix drivers/dm9000.c when configured in 32 bit mode. - Patch by Eric Benard, 17 Nov 2005 + Fix BAT0 to actually be cacheable, non-guarded as documented. + + Signed-off-by: Jon Loeliger -* Cleanup debug code for yucca board. +commit 40bc83559db5745681909fd7382ae509567e116d +Author: Jon Loeliger +Date: Wed Aug 9 15:32:16 2006 -0500 -* MCC200: restrict addressable flash space to 32 MB + Removed MPC8641HPCN DTS source file from build. + It is no longer linked into U-Boot; its sources are + now located in the kernel tree. + + Signed-off-by: Jon Loeliger -* Add debug console on COM12 for MCC200 board +commit 34c3c0e01dbf1f8cc2bd08de92f2b89ba84921eb +Author: Matthew McClintock +Date: Wed Jun 28 10:47:03 2006 -0500 -* Fix control-c handing in CONFIG_CMDLINE_EDITING - Properly pass break code back from readline. - Patch by Roger Blofeld, 31 Jul 2006 + * Switched default PCI speed for 8540 ADS back to 33MHz + + * Added comments and a printf to warn that PCI-X won't + work at 33MHz + Patch by Andy Fleming 17-Mar-2006 + + Signed-off-by: Andy Fleming -* Add commandline history support to all AMCC eval boards - Patch by Stefan Roese, 07 Aug 2006 +commit b6c5e1373b6ea0bb37a18e4aeecec00613d1cd39 +Author: Matthew McClintock +Date: Wed Jun 28 10:46:35 2006 -0500 -* Add Macronix MXLV320T flash support for AMCC Bamboo - Patch by Stefan Roese, 07 Aug 2006 + * Fixed a bug where 8555 PCI code used the old variable and function names Patch by Andy Fleming 17-Mar-2006 + + Signed-off-by: Andy Fleming -* Change "mii info" to not print an error upon missing PHY at address - Patch by Stefan Roese, 07 Aug 2006 +commit bf1dfffd8c26f8ecdd630a0ae4c834e751e4e452 +Author: Matthew McClintock +Date: Wed Jun 28 10:46:13 2006 -0500 -* Fix PCI-Express on PPC440SPe rev. A. + * Added VIA configuration table + + * Added support for PCI2 on CDS + Patch by Andy Fleming 17-Mar-2006 + + Signed-off-by: Andy Fleming -* Fix preboot message on TQM85xx after switching to hush parser. +commit c88f9fe66b64247e5b6a38410ba315ca25596d16 +Author: Matthew McClintock +Date: Wed Jun 28 10:45:41 2006 -0500 -* Adapt TQM85xx ramdisk address to Linux kernel memory map + * Fixed PCI memory definitions Patch by Andy Fleming 17-Mar-2006 + + Signed-off-by: Andy Fleming -* Add initial support for PCI-Express on PPC440SPe (Yucca board). +commit 97074ed9655309b64231bc2cee69fe85399f8055 +Author: Matthew McClintock +Date: Wed Jun 28 10:45:17 2006 -0500 -* Fix compiler warning for TRAB board. - Patch by Martin Krause, 07 Aug 2006 + * Added support for initializing second PCI bus on 85xx Patch by Andy Fleming 17-Mar-2006 + + Signed-off-by: Andy Fleming -* Prevent USB commands from working when USB is stopped. +commit f0e6f57f71b3c4fdd13028eb03c3f3e91926dda2 +Author: Matthew McClintock +Date: Wed Jun 28 10:44:49 2006 -0500 -* Add rudimentary handling of alternate settings of USB interfaces. - This is in order to fix issues with some USB sticks timing out - during initialization. Some code readability improvements. + * Added PCI-X #defines for PCI-X initialization Patch by Andy Fleming on 17-Mar-2006 + + Signed-off-by: Andy Fleming -* PPC440 DDR setup: Set SDRAM0_CFG0[PMU]=0 for best performance - AMCC suggested to set the PMU bit to 0 for best performace on - the PPC440 DDR controller. - Please see doc/README.440-DDR-performance for details. - Patch by Stefan Roese, 28 Jul 2006 +commit a4e11558b810ef2cddffdf7b9d86bc1130441960 +Author: Matthew McClintock +Date: Wed Jun 28 10:44:23 2006 -0500 -* AMCC bamboo (440EP) U-Boot image reduced to 384kbyte - Please see doc/README.bamboo for details. - Patch by Stefan Roese, 27 Jul 2006 + * Made sure the code which disables prefetch for PCI devices sets the size of the prefetch region to 0 Patch by Andy Fleming on 17-Mar-2006 + + Signed-off-by: Andy Fleming -* Fix CONFIG_CMDLINE_EDITING implementation - Patch by Stefan Roese, 27 Jul 2006 +commit 0e16387db1d4aacd5bf35cb6d7c1942765c0347b +Author: Matthew McClintock +Date: Wed Jun 28 10:43:36 2006 -0500 + + * Add Flat Dev Tree construction for MPC85xx ADS and CDS boards Patch by Jon Loeliger 17-Jan-2006 + + Signed-off-by: Jon Loeliger + +commit 855e6fb073f9d04fe4a7f06c107ecbac6344ddd4 +Author: Matthew McClintock +Date: Wed Jun 28 10:43:00 2006 -0500 + + * Removed the oftree.dts for stxxtx in light of the changes to the flat device tree handling code Patch by Matthew McClintock 26-June-2006 + +commit 5498d90312aad9f6bdbf047986027c35b03cd163 +Author: Matthew McClintock +Date: Wed Jun 28 10:42:24 2006 -0500 + + * Patch to modify ft_build.c to update flat device trees in place Patch by Matthew McClintock 26-June-2006 + +commit 0267768eddc5ca7bc1865bc40c866829ac5efbfe +Author: Matthew McClintock +Date: Wed Jun 28 10:41:37 2006 -0500 + + * Modify bootm command to support booting with flat device trees Patch by Matthew McClintock 26-June-2006 + +commit 8fc8bd2cc479b6cd188fdede4010e0e052970b8a +Author: John Traill +Date: Wed Aug 9 14:33:50 2006 +0100 + + Add Rapidio support for the MPC8641HPCN + + Signed-off-by: John Traill + +commit 91a414c7d1fb0eac912592cd995b30c9f23045c9 +Author: John Traill +Date: Tue Aug 8 11:32:43 2006 +0100 + + Fix caslat calculation + + Signed-off-by: John Traill + +commit 709d3073e74153278e7904a70819bbef7df50e1a +Author: Jon Loeliger +Date: Thu Aug 3 16:17:56 2006 -0500 + + Convert to mac-address in ethernet nodes. + +commit 71748af833ca1017edf1415be376366ff2937d17 +Author: Haiying Wang +Date: Fri Jul 28 12:41:35 2006 -0400 + + Correct the irq value of DUART2 + +commit 9cb3e8816ae4d854e7dc22128c3eea3d70bb982c +Author: Haiying Wang +Date: Fri Jul 28 12:41:41 2006 -0400 + + Change the space size of PEX IO in README + +commit 239db37c94f7a92941c4465feceb867c609241c5 +Author: Haiying Wang +Date: Fri Jul 28 12:41:18 2006 -0400 + + Move get_board_sys_clk to board directory + +commit 492900b985439fbce1a118afde1e35def870db03 +Author: John Traill +Date: Fri Jul 28 09:03:54 2006 +0100 + + Fix 8641HPCN pollution + +commit 515ab8a62e8574e2babc6e8dcc43544ad221c5b2 +Author: John Traill +Date: Fri Jul 28 08:16:06 2006 +0100 + + Fix 8641HPCN timebase + +commit c86360b830f1eecd7a72208575dde4f57879faea +Author: Zhang Wei +Date: Fri Jul 28 00:01:34 2006 +0800 + + Fixed OF device tree of mpc86xxhpcn board. + + The changes works in with kernel irq mapping rework. + + Signed-off-by: Zhang Wei + +commit bea3f28d285942bf3f7ab339ce85178ded544225 +Author: Haiying Wang +Date: Wed Jul 12 10:48:05 2006 -0400 + + Add support for reading and writing mac addresses to or from ID EEPROM. + + Added code for reading and writing Mac addresses to/from ID EEPROM(0x57). + With attached patch, we can use command "mac/mac read/mac save/" + to read and write EEPROM under u-boot prompt. + + U-boot will calculate the checksum of EEPROM while bootup, + if it is right, then u-boot will check whether the mac address + of eTSEC0/1/2/3 is availalbe (non-zero). + + If there is mac address availabe in EEPROM, u-boot will use it, + otherewise, u-boot will use the mac address defined in + MPC8641HPCN.h. This matches the requirement to set unique mac address + for each TSEC port. + + Signed-off-by: Haiying Wang + Signed-off-by: York Sun + +commit fcb28e763415e0e4e66b0f45842d1557ae198e5e +Author: Jin Zhengxiong +Date: Thu Jul 13 10:35:10 2006 -0500 + + Fixed initrd issue by define big RAM + + Signed-off-by:Jason Jin + +commit e6cd2a1785d74ec3d30a86f1cb360be8de478151 +Author: Jason Jin +Date: Fri Jul 7 10:01:45 2006 -0500 + + We made a u-boot patch to fix the hang up issue + when booting filesystem from ramdisk. + + Signed-off-by:Jason Jin + +commit 38433ccc5850ee70549af0b2bc5b920355ef5388 +Author: Matthew McClintock +Date: Wed Jun 28 10:47:03 2006 -0500 + + * Switched default PCI speed for 8540 ADS back to 33MHz + * Added comments and a printf to warn that PCI-X won't + work at 33MHz + Patch by Andy Fleming 17-Mar-2006 + + Signed-off-by: Andy Fleming + +commit e4c2a0eb0c3e3ffbf824800184ee42bdc99d5b19 +Author: Matthew McClintock +Date: Wed Jun 28 10:46:35 2006 -0500 + + * Fixed a bug where 8555 PCI code used the old variable and + function names + Patch by Andy Fleming 17-Mar-2006 + + Signed-off-by: Andy Fleming + +commit cbfc7ce756b88eb26e5537bc7b625c445c6dcfac +Author: Matthew McClintock +Date: Wed Jun 28 10:46:13 2006 -0500 + + * Added VIA configuration table + * Added support for PCI2 on CDS + Patch by Andy Fleming 17-Mar-2006 + + Signed-off-by: Andy Fleming + +commit 52c7a68b8d587ebcf5a6b051b58b3d3ffa377ddc +Author: Matthew McClintock +Date: Wed Jun 28 10:45:41 2006 -0500 + + * Fixed PCI memory definitions + Patch by Andy Fleming 17-Mar-2006 + + Signed-off-by: Andy Fleming + +commit 087454609e47295443af793a282cddcd91a5f49c +Author: Matthew McClintock +Date: Wed Jun 28 10:45:17 2006 -0500 + + * Added support for initializing second PCI bus on 85xx + Patch by Andy Fleming 17-Mar-2006 + + Signed-off-by: Andy Fleming + +commit b636aaeb6fd516a442fb611bbeeddf3077a687fb +Author: Matthew McClintock +Date: Wed Jun 28 10:44:49 2006 -0500 + + * Added PCI-X #defines for PCI-X initialization + Patch by Andy Fleming on 17-Mar-2006 + + Signed-off-by: Andy Fleming + +commit 20abbc6fffa115690107cc942c7abf84bdc03a1b +Author: Matthew McClintock +Date: Wed Jun 28 10:44:23 2006 -0500 + + * Made sure the code which disables prefetch for PCI devices + sets the size of the prefetch region to 0 + Patch by Andy Fleming on 17-Mar-2006 + + Signed-off-by: Andy Fleming + +commit 40d5fa35d02df22580593bf0039ab173367e8ef0 +Author: Matthew McClintock +Date: Wed Jun 28 10:43:36 2006 -0500 + + * Add Flat Dev Tree construction for MPC85xx ADS and CDS boards + Patch by Jon Loeliger 17-Jan-2006 + + Signed-off-by: Jon Loeliger + +commit be7e8b0cb5a0c49dc180075b96df296a893bf146 +Author: Matthew McClintock +Date: Wed Jun 28 10:43:00 2006 -0500 + + * Removed the oftree.dts for stxxtx in light of the changes + to the flat device tree handling code + Patch by Matthew McClintock 26-June-2006 + +commit 1b380ec225665e73959677f3893dc658c5925e05 +Author: Matthew McClintock +Date: Wed Jun 28 10:42:24 2006 -0500 + + * Patch to modify ft_build.c to update flat device trees in place + Patch by Matthew McClintock 26-June-2006 + +commit 98a9c4d468a942a09ebe8979bec508017f3e4462 +Author: Matthew McClintock +Date: Wed Jun 28 10:41:37 2006 -0500 + + * Modify bootm command to support booting with flat device trees + Patch by Matthew McClintock 26-June-2006 + +commit da012ab661fd4ab169dd7b9b32201a4df62cf34a +Author: Jin Zhengxiong +Date: Wed Jun 28 08:43:56 2006 -0500 + + Change Id to symbolic name for RTL8139 + + Signed-off-by: Jason Jin + +commit bc09cf3c2bfb8d54c659cbb332f79d0950982fd0 +Author: Jin Zhengxiong-R64188 +Date: Tue Jun 27 18:12:10 2006 +0800 + + Fix RTL8139 in big endian + + signed-off-by: Jason Jin + signed-off-by: Wei Zhang + +commit fcfb9a57947fc203b99fe81ab0578f7286261f9f +Author: Jin Zhengxiong-R64188 +Date: Tue Jun 27 18:12:23 2006 +0800 + + Fix Tsec bug when no link + + When tftp a non-exist file from the tftp server, u-boot will check + the link of all eth port. The original file will return wrong link + state on the no link ports. + + signed-off-by: Jason Jin + +commit bd22c2b97514fbfb0e03bd9c72b3445e4dbd57e2 +Author: Jin Zhengxiong-R64188 +Date: Tue Jun 27 18:12:02 2006 +0800 + + Fix bug for io_bar size during pci scan + + During the pci scan process, Some devices return bar_reponse with the + highest bytes 0, such as the pci bridge in uli1575 return bar_response + with 0xffffff, So the bar_size should be manually set under 64K. + + Signed-off-by: Jason Jin + +commit fa7db9c377bc2353a17bf1d381d65a6c418728f0 +Author: Jin Zhengxiong-R64188 +Date: Tue Jun 27 18:11:54 2006 +0800 + + Enable PCIE1 for MPC8641HPCN board + + Signed-off-by: Jason Jin + +commit 684623ce92c5fd32e7db2d6e016945a67c5ffaba +Author: Jon Loeliger +Date: Thu Jun 22 08:51:46 2006 -0500 + + Fix bug in 8641hpcn reset command with no args. + + Signed-off-by: Haiying Wang + Acked-by: Jon Loeliger + +commit 8be429a5ddbf0ebe2d94174ba58fcfc7a24285dc +Author: Zhang Wei +Date: Tue Jun 20 17:47:15 2006 +0800 + + Reworked IRQ mapping in OF-tree. + +commit 0e4c2a17ca34001ed36d259f13cb88ada4611a8c +Author: Jon Loeliger +Date: Thu Jun 15 21:33:37 2006 -0500 + + Do not enable address translation on secondary CPUs. + Do not set up BATs on secondary CPUs. Let Linux do the nasty. + + Signed-off-by: Jon Loeliger + +commit 8ecc971618f56029ad99d3516f8b297a6ed58971 +Author: Jon Loeliger +Date: Wed Jun 7 10:53:55 2006 -0500 + + Fix a get_board_sys_clk() use-before-def warning. + + Signed-off-by: Jon Loeliger + +commit d9bf4858fca5aa4d651b283270f77da72ebadfd5 +Author: Jon Loeliger +Date: Wed Jun 7 10:52:49 2006 -0500 + + Allow DTC path to be passed in. + + Signed-off-by: Jon Loeliger + +commit c83ae9ea6d93abbe751bf8a3396236a084e56f87 +Author: Haiying Wang +Date: Tue Jun 6 16:54:29 2006 -0400 + + Modify the IRQ of DUART2 + +commit c934f655f9aeca70a5c5f88b465d9e9d57a8d22e +Author: Jon Loeliger +Date: Wed May 31 13:55:35 2006 -0500 + + Review cleanups. + + Signed-off-by: Jon Loeliger + +commit cb5965fb95b77a49f4e6af95248e0c849f4af03e +Author: Jon Loeliger +Date: Wed May 31 12:44:44 2006 -0500 + + White space cleanup. + Some 80-column cleanups. + Convert printf() to puts() where possible. + Use #include "spd_sdram.h" as needed. + Enhanced reset command usage message a bit. + + Signed-off-by: Jon Loeliger + +commit 3d5c5be547445dd3bd2eb7368d80df03ea437970 +Author: Jon Loeliger +Date: Wed May 31 11:39:34 2006 -0500 + + Removed unneeded local_bus_init() from 8641HPCN board. + + Signed-off-by: Jon Loeliger + +commit 4d3d729c16c392d2982d3266b659d333c927697d +Author: Jon Loeliger +Date: Wed May 31 11:24:28 2006 -0500 + + Moved mpc8641hpcn_board_reset() out of cpu/ into board/. + + Signed-off-by: Jon Loeliger + +commit b2a941de060350ad15878d8219825f4950e9bb8e +Author: Jon Loeliger +Date: Wed May 31 10:07:28 2006 -0500 + + Remove dead debug code. + + Signed-off-by: Jon Loeliger + +commit 126aa70f10ba3d20e0a6f4d32328250513b77770 +Author: Jon Loeliger +Date: Tue May 30 17:47:00 2006 -0500 + + Move mpc86xx PIXIS code to board directory + + First cut at moving the PIXIS platform code out of + the 86xx cpu directory and into board/mpc8641hpcn + where it belongs. + + Signed-off-by: Jon Loeliger -* Fix preboot message on TQM5200 after switching to hush parser. +commit 38cee12dcfcc257371c901c7e13e58ecab0a35d8 +Author: Haiying Wang +Date: Tue May 30 09:10:32 2006 -0500 -* MCC200: set default configuration to low_boot DDR, - and support for configurable options high_boot and/or SDRAM. + Improve "reset" command's interaction with watchdog. + + "reset altbank" will reset another bank WITHOUT watch dog timer enabled + "reset altbank wd" will reset another bank WITH watch dog enabled + "diswd" will disable watch dog after u-boot boots up successfully + + Signed-off-by: Haiying Wang + +commit 70205e5a6ddc8528b11db9eb4d3fa0209d9fce2a +Author: Haiying Wang +Date: Tue May 30 08:51:19 2006 -0500 + + Fix two SDRAM setup bugs. + + Fix ECC setup bug. + Enable 1T/2T based on number of DIMMs present. + + Signed-off-by: Haiying Wang + +commit d11fec5015334deb2010e36ce00bb118cc5429a5 +Author: Haiying Wang +Date: Fri May 26 10:24:48 2006 -0500 + + Add first draft of the MPC8641HPCN doc/README. + + Signed-off-by: Jon Loeliger + +commit ed45d6c930b5939718a87ee12e25cf9a05978d4a +Author: Haiying Wang +Date: Fri May 26 10:13:04 2006 -0500 + + Added pci@8000 block. + Updated ethernet interrupt mappings (moved up 48). + Cleaned up a few comments. + + Signed-off-by: Jon Loeliger + +commit 3033ebb20fd7c372c7bca3c9955a4692bb2240b7 +Author: Haiying Wang +Date: Fri May 26 10:01:16 2006 -0500 + + Allow args on reset command. + + Signed-off-by: Jon Loeliger + +commit 14e37081ff3cac7ebe6e93836523429853b6b292 +Author: Jon Loeliger +Date: Fri May 19 13:28:39 2006 -0500 + + Change arbitration to round-robin for SMP linux. + +commit 9a655876e5995be80f49054e2509500e871e4d3a +Author: Jon Loeliger +Date: Fri May 19 13:26:34 2006 -0500 + + Enable dual DDR controllers and interleaving. + +commit 586d1d5abd3e525f1e1d9b81e5a61a4da6b2fa3c +Author: Jon Loeliger +Date: Fri May 19 13:22:44 2006 -0500 + + Update 86xx address map and LAWBARs. -* Add support for 256 MB SDRAM on CPU87 - Patch by Josef Wagner, 25 Nov 2005 +commit cccce5d0581bb0ba4602799a4b5112e58d1579cb +Author: Jon Loeliger +Date: Fri May 19 13:14:15 2006 -0500 -* Add configuration for cam5200 board (based on TQM5200S). + Remove L2 Cache invalidate polling. + +commit f35ec68fb066cec0e36294bfe07dec2d4e8ad3a8 +Author: Jon Loeliger +Date: Fri May 19 12:33:09 2006 -0500 + + Enable 2nd CPU and I2C. -* More code cleanup +commit bf690dcb512d34c4fceec0eb1e5c0e88a9db5d54 +Author: Jon Loeliger +Date: Mon May 15 07:26:56 2006 -0500 -* Disabled kvme080 board in MAKEALL because of build problems. + Update interrupt mapping. + +commit 6cfea33477b04b63ed47386ed1629529484c33ba +Author: Haiying Wang +Date: Wed May 10 09:38:06 2006 -0500 + + Remove unneeded INIT_RAM_LOCK cache twiddling. + Correctly tracks r29 as global data pointer now. + + Signed-off-by: Haiying Wang + +commit d4dd317b58c126a2a7e73f4764ecc1a7c97f876c +Author: Jon Loeliger +Date: Wed May 10 09:33:07 2006 -0500 -* Code cleanup + Remove unnecessary flash.c file. -* Update NetStar board - Patch by Ladislav Michl, 03 Nov 2005 +commit 18b6c8cd8af6cc7f35180cedc4adb3236cc1a1b8 +Author: Jon Loeliger +Date: Tue May 9 08:23:49 2006 -0500 -* Make code better readable. - Patch by Ladislav Michl, 14 Sep 2005 + Get MPC8641HPCN flash images working. + + Enable the CFI driver. + Remove bogus LAWBAR7 cruft. + Use correct TEXT_BASE, Fixup load script. + Enable SPD EEPROM during DDR setup. + Use generic RFC 1918 IP addresses by default. -* Enable initrd ATAG for xm250 board. - Patch by Josef Wagner, 05 Sep 2005 +commit 5c9efb36a6b5431423f52888a0e3b4b515fe7eca +Author: Jon Loeliger +Date: Thu Apr 27 10:15:16 2006 -0500 -* Add readline cmdline-editing extension - Patch by JinHua Luo, 01 Sep 2005 + Cleanup whitespaces and style issues. + Removed //-style comments. + Use 80-column lines. + Remove trailing whitespace. + Remove dead code and debug cruft. -* Add support for friendly-arm SBC-2410X board - Patch by JinHua Luo, 01 Sep 2005 +commit a2320a6bf8113a09544c42d160d10ac69d049a03 +Author: Jon Loeliger +Date: Thu Apr 27 08:22:39 2006 -0500 -* Fix multi-part image support on i386 platform. - Patch by David Updegraff, 19 Aug 2005 + Revert bad PCI prefetch limit change. -* Add support for KVME080 board - Patch by Sangmoon Kim, 18 Aug 2005 +commit debb7354d1ea4f694154818df5e5b523f5c1cc1d +Author: Jon Loeliger +Date: Wed Apr 26 17:58:56 2006 -0500 -* Fix MIPS LE build problem - Patch by Matej Kupljen, 10 Aug 2005 - -* Check argument count in "mii" command. - Problem pointed out by Andrew Dyer, 13 Jun 2005 - -* Cleanup TQM5200 board configurations: - - make highboot configurations use environment at high end, too, - to avoid flash fragmentation - - always use redundand environment - - don't enable video code for modules without graphics controller - - provide useful (though different) mtdparts settings - - get rid of CONFIG_CS_AUTOCONF which was always set anyway - -* Extend mkconfig tool to print more useful target name - -* Add support for high-boot on TQM5200 and TQM5200S boards. - Hint: the CPLD on the TQM5200 must be programmed with a software - version supporting the high boot option! The new TQM5200S is - already supporting this option. On the TQM5200 this option will be - supported in configurations with MPC5200 rev B processors. - To actually "high boot", set jumper X30 on the STK52xx. - Patch by Martin Krause, 12 Jul 2006 - -* Add support for new TQM5200 revisions - - Support for TQM5200S (short version without graphic controller) - - Support for modules with 'N' type S29GL128N Spansion flashes - (requires changes to flash layout) - - Support for MPC5200B cpu (mostly support for second SDRAM bank) - Patch by Martin Krause, 07 Jul 2006 - -* Fix support for PS/2 keyboard on TQM85xx boards - The PS/2 keyobard driver for the TQM85xx modules only supports the - internal DUART of the MPC85xx CPU. Since the MPC8560 doesn't - include a DUART, the TQM8560 modules can't be used with the PS/2 - keyboard controller on the STK85xx board. - The PS/2 keyboard driver should work with the modules TQM8540, - TQM8541 and TQM8555, but it only has been tested on a TQM8540, yet. - Make sure the PS/2 controller on the STK85xx is programmed. Jumper - settings: X66 1-2, 9-10; X61 2-3 - Patch by Martin Krause, 21 Jun 2006 - -* Adjust RTC century handling on STK52xx board to match Linux driver. - Patch by Martin Krause, 12 Jun 2006 - -* Adjust filenames for USB update images on TRAB board. - During an automatic update via USB stick, U-Boot searches for - images with the name "firmware.img" and "kernel.img". This names - are now changed to "firmw_01.img" and "kernl_01.img". This is done, - to prevent updates of new boards (with the new macronics "c" step - flashes) with old, incompatible firmware or kernel versions. - Patch by Martin Krause, 21 Jun 2006 - -* Bugfix in VFD routine on TRAB board. - Make sure upper lext pixel can be set to blue, too - (so far only red was possible). - Patch by Martin Krause, 15 Feb 2006 - -* Enable buffered flash writes for TB5200 board. - -* Fix some bugs in TRAB board flash driver. - - increase CFG_FLASH_ERASE_TOUT from 2 to 15 seconds - - use CFG_FLASH_WRITE_TOUT for programming instead of CFG_FLASH_ERASE_TOUT - - remove "Unlock Bypass" mode, because macronix flashes do not support - this mode officially - - fix flash reset command from 0x00FF to 0x00F0. 0x00FF is only specified - for Intel compatible flashes, not for AMD compatible. - Patch by Martin Krause, 15 Feb 2006 - -* Add additional error messages to flash driver on TRAB board - (for erase errors and timeout errors) - Patch by Martin Krause, 14 Feb 2006 - -* Add support for TB5200 board - The TB5200 ("Tinybox") is a small baseboard for the TQM5200 module - integrated in a little aluminium case. - Patch by Martin Krause, 8 Jun 2006 - -* Enable buffered flash writes for TQM5200 board. - -* Fix problems with SanDisk Corporation Cruzer Micro USB memory stick. - -* Add support for TQM885D board. - Patch by Martin Krause, 20 Mar 2006 - -* Fix FEC initialisation: All MII configuration is done via FEC1 - registers, but MII_SPEED was configured according to FEC used. So - if only FEC2 was used, this caused the real MII_SPEED register in - FEC1 to stay uninitalised, leqading to "mii_send STUCK!" messages. - Fix: always configure MII_SPEED on FEC1 only. - Patch by Markus Klotzbuecher, 12 Jul 2006 - -* Add support for SPC1920 board. - Patch by Markus Klotzbuecher, 12 Jul 2006 - -* MCC200 board: support console on any one of the Quad UART ports. - -* Fix error in flash protection calculation on MCC200 board. - -* Major PCMCIA Cleanup to make code better readable and maintainable. - Notes: - - Board-dependend code for RPXLITE and RPXCLASSIC-based boards - placed to the drivers/rpx_pmcia.c file to avoid duplication. - Same for TQM8xx-based boards (drivers/tqm8xx_pmcia.c). - - drivers/i82365.c has been split into two parts located at - board/atc/ti113x.c and board/cpc45/pd67290.c (ATC and CPC45 are - the only boards using CONFIG_82365). - - Changes were tested for clean build and *very* *few* boards. - -* Fix timer problems on AMCC yucca board. - Set Timer Clock Select to use CPU clock as a timer input source. - -* Bring yucca config more in line with other AMCC boards. - -* Add AMCC bamboo board to MAKEALL build script. - -* Fix AMCC bamboo eval board compilation errors. - -* Add system memory to the PCI region list for AMCC PPC44x CPUs. - Enabled it for Yucca board. - -* Cleanup config file and bootup output for Yucca board. - -* Fix CONFIG_440_GX define usage. - -* Remove autogenerated bmp_logo.h file. - -* Add support for AMCC 440SPe CPU based eval board (Yucca). - -* Call serial_initialize() before first debug() is used. - -* Cleanup trab board for GCC-4.x - -* VoiceBlue update: use new MTD flash partitioning methods, use more - reasonable TEXT_BASE, update default environment and enable keyed - autoboot. - Patch by Ladislav Michl, 16. Aug 2005 - -* Add forgotten changes for the PLEB 2 Board. - Patch by David Snowdon, 13. Aug 2005 - -* Add support for wrPPMC7xx/74xx boards - Patch by Richard Danter, 12 Aug 2005 - -* Add support for gth2 board - Patch by Thomas Lange, Aug 11 2005 - -* Add support for CONFIG_SERIAL_MULTI on MPC5xxx - Patch by Martin Krause, 8 Jun 2006 - - This patch supports two serial consoles on boards with - a MPC5xxx CPU. The console can be switched at runtime - by setting stdin, stdout and stderr to the desired serial - interface (serial0 or serial1). The PSCs to be used as - console port are definded by CONFIG_PSC_CONSOLE - and CONFIG_PSC_CONSOLE2. - See README.serial_multi for details. - -* Bugfix in I2C initialisation on S3C2400. - If the bus is blocked because of a previously interrupted - transfer, up to eleven clocks are generated on the I2CSCL - line to complete the transfer and to free the bus. - With this fix pin I2CSCL (PG6) is really configured as GPIO - so the clock pulses are really generated. - Patch by Martin Krause, 04 Apr 2006 - -* Fix DDR6 errata on TQM834x boards - Patch by Thomas Waehner, 07 Mar 2006 - -* Remove obsolete flash driver board/tqm5200/flash.c - Patch by Martin Krause, 11 Jan 2006 - -* Update configuration for CMC-PU2 board - Patch by Martin Krause, 17 Nov 2005 - -* Add support for PS/2 keyboard on TQM85xx board - Patch by Martin Krause, 07 Nov 2005 - - Tested on a STK85XX baseboard. Make sure the PS/2 controller - has been programmed. Jumper Settings: X66 1-2, 9-10; X61 2-3 - -* Fix TRAB channel switching delay for trab_fkt.bin standalone applikation - In tsc2000_read_channel() the delay after setting the multiplexer - to a temperature channel is increased from 1,5 ms to 10 ms. This - is to allow the multiplexer inputs to stabilize after huge steps - of the input signal level. - Patch by Martin Krause, 08 Nov 2005 - -* Adjust TQM5200 make targets - Make the automatic CS configuration the default. - The dedicated configurations CONFIG_TQM5200_AA, CONFIG_TQM5200_AB - and CONFIG_TQM5200_AC are removed. - "TQM5200_config" is now the default for STK52XX.200 base boards. - On a STK52XX.100 base board "TQM5200_STK100_config" must be used. - Patch by Martin Krause, 07 Nov 2005 - -* Fix setting of environment variable "ver" on trab board - The environment variable "ver" is now set before - do_auto_update() is called, so that "ver" can be used - in USB update scripts. - Patch by Martin Krause, 27 Oct 2005 - -* Fix wrong usage of udelay() in led_blink() on trab board - Patch by Martin Krause, 27 Oct 2005 - -* Fix udelay bug in vfd.c for trab board - Patch by Martin Krause, 27 Oct 2005 - -* Disable JFFS2 support for trab board - Patch by Martin Krause, 27 Oct 2005 - -* Change mtdparts definition on trab board to match current flash map - Patch by Martin Krause, 27 Oct 2005 - -* Fix memory init problems on MCC200 board - -* Fix IxEthDB.h to compile again - Patch by Stefan Roese, 14 Jun 2006 - -* Minor cleanup for PCS440EP board - Patch by Stefan Roese, 13 Jun 2006 - -* Add MCF5282 support (without preloader) - relocate ichache_State to ram - u-boot can run from internal flash - Add EB+MCF-EV123 board support. - Add m68k Boards to MAKEALL - Patch from Jens Scharsig, 08 Aug 2005 - -* Nios II - Add Altera EP1C20, EP1S10 and EP1S40 boards - Patch by Scott McNutt, 08 Jun 2006 - -* Nios II - Add EPCS Controller bootrom work-around - -When booting from an epcs controller, the epcs bootrom may leave the - slave select in an asserted state causing soft reset hang. This - patch ensures slave select is negated at reset. - Patch by Scott McNutt, 08 Jun 2006 - -* Update PK1C20 board - -Update base addresses for standard configuration - -Eliminate use of CACHE_BYPASS in board code - Patch by Scott McNutt, 08 Jun 2006 - -* Nios II - Fix I/O Macros and mini-app stubs - -Fix asm/io.h macros - -Eliminate use of CACHE_BYPASS in cpu code - -Eliminate assembler warnings - -Fix mini-app stubs and force no small data - Patch by Scott McNutt, 08 Jun 2006 - -* Fix U-Boot environment sector protection on MCC200 board - -* Minor cleanup for PCS440EP board - -* Update PCS440EP port to fit into one flash device (incl. environment) - Patch by Stefan Roese, 06 Jun 2006 - -* Add support for PCS440EP board - Patch by Stefan Roese, 02 Jun 2006 - -* Fix examples/Makefile; some build targets were lost - -* Fix watchdog handling in CFI flash driver - Just use udelay() when waiting for status changes which will - implicitely trigger the watchdog. - -* Fix PCI to memory window size problems on PM82x boards - We use the "automatic" mode that was used for the MPC8266ADS and - MPC8272 boards. Eventually this should be used on all boards?] - Patch by Wolfgang Grandegger, 17 Jan 2006 - -* Correct GPIO setup (UART1/IRQ's) on yosemite & yellowstone - Patch by Stefan Roese, 29 May 2006 - -* Update Intel IXP4xx support - - Add IXP4xx NPE ethernet MAC support - - Add support for Intel IXDPG425 board - - Add support for Prodrive PDNB3 board - - Add IRQ support - Patch by Stefan Roese, 23 May 2006 - -* Fix problem in PVR detection for 440GR - Patch by Stefan Roese, 18 May 2006 - -* Fix gcc 3.4.x AFLAGS setting for m68k platform. - -* Enable autoboot for M5271EVB board. - -* Changed default ramdisk addr in yosemite/yellowstone ports - Patch by Stefan Roese, 15 May 2006 - -* Fix PCMCIA support on virtlab2 - -* Add support for VirtLab2 board - (needed because of differences in the PCMCIA hardware). - -* Minor cleanup. - -* Update yosemite configuration to enable flash write buffer support - Patch by Stefan Roese, 10 May 2006 - -* Fix compile warnings in common/xyzModem.c - Patch by Stefan Roese, 10 May 2006 - -* Add support for AMCC 440EP Rev C and 440GR Rev B - Patch by John Otken, 08 May 2006 - -* OMAP 5912/OSK: update EMIFS CS1 timings: - Problems have been seen in the linux kernel's smc91x network driver - due to improper bus timings. The latest 2.6 OMAP kernels currently - have a workaround, but this fix belongs in u-boot. - Patch by Kevin Hilman, 13 Oct 2005 - -* Fix REG_MPU_LOAD_TIMER definition in multiple OMAP ports - Patch by Hiroki Kaminaga, 11 Mar 2006 - -* Update omap5912osk board support - - Fix OMAP support that omap5912osk compiles in current source tree - - Update with code from "http://omap.spectrumdigital.com/osk5912" - to fix problems with DDR initialization - - Fix timer setup - - Use CFI flash driver and support complete 32MB of onboard flash - - Add "print_cpuinfo()" and "checkboard()" functions to display - CPU (with frequency) and Board infos - Patch by Stefan Roese, 10 May 2006 - -* Fix watchdog issues for ColdFire boards. - -* Add M5271EVB board support. - -* Make R5200 specific low level initialization board conditional. - -* Update CPU target identification strings for ColdFire family. - -* Update register definitions for MCF5271. - -* Fix serial console support for MCF5271. - -* Fixes for gcc 3.4 based m68k toolchain, - based on patch by Jate Sujjavanich. - -* Fix lowboot support on MCC200 board - -* Merged MPC8349ADS and MPC8349EMDS ports into MPC8349EMDS port: - - Removed MPC8349ADS port - - Added PCI support to MPC8349ADS - - reworked memory map to allow mapping of all regions with BATs - Patch by Kumar Gala, 20 Apr 2006 - -* Coding Style cleanup - -* Write RTC seconds first to maintain settings integrity per - Maxim/Dallas DS1306 data sheet. - Patch by Alan J. Luse, 02 May 2006 - -* Scheduled for removal: strnicmp() which is unused - -* Update for Intel Monahans boards: - - support for magic key detection and handling on delta board - - NAND support for zylonite board + some minor cleanup - -* Declare load_serial_ymodem() when using CFG_CMD_LOADB. - Patch by Jon Loeliger, 01 May 2006 - -* Fixed handling of bad checksums with "mkimage -l" - -* Added support for BC3450 board - Patch by Stefan Strobl, 21 Oct 2005 - -* Update for NC650 board: - - Support rev1 and rev2 hardware - - adapt to new NAND layer - - add CP850 configuration based on NC650 - -* MPC5200: enable snooping of DMA transactions on XLB even if no PCI - is configured; othrwise DMA accesses aren't cache coherent which - causes for example USB to fail. - -* Some code cleanup - -* Fix dbau1x00 boards broken by dbau1550 patch - PLL:s were not set for boards other than 1550. - Flash CFI caused card to hang due to undefined CFG_FLASH_BANKS_LIST. - Default boot is now bootp for cards other than 1550. - Patch by Thomas Lange, 10 Aug 2005 - -* Fixes common/cmd_flash.c: - - fix some compiler/parser error, if using m68k tool chain - - optical fix for protect on/off all messages, if using more - then one bank - Patch by Jens Scharsig, 28 Jul 2005 - -* Fix Quad UART mapping on MCC200 board due to new HW revision - -* Fix JFFS2 support for legacy NAND driver. - -* Remove dependencies between DoC code and old legacy NAND driver. - -* Fix PM828_PCI target, for which PCI was *not* configured in. - -* Fix Lite5200B support: initialize SDelay register - See Freescale's AN3221 "MPC5200B SDRAM Initialization and - Configuration", 3.3.1 SDelay--MBAR + 0x0190 - -* Changes/fixes for drivers/cfi_flash.c: - - - Add Intel legacy lock/unlock support to common CFI driver - - On some Intel flash's (e.g. Intel J3) legacy unlocking is - supported, meaning that unlocking of one sector will unlock - all sectors of this bank. Using this feature, unlocking - of all sectors upon startup (via env var "unlock=yes") will - get much faster. - - - Fixed problem with multiple reads of envronment variable - "unlock" as pointed out by Reinhard Arlt & Anders Larsen. - - - Removed unwanted linefeeds from "protect" command when - CFG_FLASH_PROTECTION is enabled. - - - Changed p3p400 board to use CFG_FLASH_PROTECTION - - Patch by Stefan Roese, 01 Apr 2006 - -* Changes/fixes for drivers/cfi_flash.c: - - Correctly handle the cases where CFG_HZ != 1000 (several - XScale-based boards) - - Fix the timeout calculation of buffered writes (off by a - factor of 1000) - Patch by Anders Larsen, 31 Mar 2006 - -* Updates to common PPC4xx onboard (DDR)SDRAM init code (405 and 440) - - 405 SDRAM: - The SDRAM parameters can now be defined in the board - config file and the 405 SDRAM controller values will - be calculated upon bootup (see PPChameleonEVB). - When those settings are not defined in the board - config file, the register setup will be as it is now, - so this implementation should not break any current - design using this code. - - Thanks to Andrea Marson from DAVE for this patch. - - 440 DDR: - Added function sdram_tr1_set to auto calculate the - TR1 value for the DDR. - - Added ECC support (see p3p440). - - Patch by Stefan Roese, 17 Mar 2006 - -* Fix CONFIG_SKIP_LOWLEVEL_INIT dependency in cpu/arm920t/start.S - Patch by Peter Menzebach, 13 Oct 2005 [DNX#2006040142000473] - -* Add support for ymodem protocol download - Patch by Stefano Babic, 29 Mar 2006 - -* Memory Map Update for Delta board: U-Boot is at 0x80000000-0x84000000 - Merge from Markus Klotzbücher's repo, 01 Apr 2006 - -* GCC-4.x fixes: clean up global data pointer initialization for all - boards - -* Update for Delta board: - - redundant NAND environment - - misc Monahans cleanups (remove dead code etc.) - - DA9030 Initialization; some minimal changes to PXA I2C driver to - make it work with the Monahans. - - Make Monahans clock frequency configurable using - CFG_MONAHANS_RUN_MODE_OSC_RATIO and - CFG_MONAHANS_TURBO_RUN_MODE_RATIO. - Merge from Markus Klotzbücher's repo, 25 Mar 2006 - -* Enable Quad UART om MCC200 board. - -* Cleanup MCC200 board configuration; omit non-existent stuff. - -* Add support for MPC859/866 Rev. A.0 - -* Add command for handling DDR ECC registers on MPC8349EE MDS board. - -* Fix DDR ECC bit definitions for MPC83xx. - -* Add initial support for MPC8349E MDS board. - -* Add support for ECC DDR initialization on MPC83xx. - -* Add DMA support for MPC83xx. - -* Add sync in do_reset() routine for MPC83xx after RPR register - was written to. It is need on some targets when BAT translation - is enabled. - -* Add bit definitions for MPC83xx DDR controller registers. - -* Add Dcbz(), Dcbi() and Dcbf() routines for MPC83xx. - -* Correct shift offsets in icache_status and dcache_status for MPC83xx. - -* Add support for DS1374 RTC chip. - -* Add support for Lite5200B board. - Patch by Patch by Jose Maria (Txema) Lopez, 16 Jan 2006 - -* Apply SoC concept to arm926ejs CPUs, i.e. move the SoC specific - timer and cpu_reset code from cpu/$(CPU) into the new - cpu/$(CPU)/$(SOC) directories - Patch by Andreas Engel, 13 Mar 2006 - -* Change max size of uncompressed uImage's to 8MByte and add - CFG_BOOTM_LEN to adjust this setting. - - As mentioned by Robin Getz on 2005-05-24 the size of uncompressed - uImages was restricted to 4MBytes. This default size is now - increased to 8Mbytes and can be overrided by setting CFG_BOOTM_LEN - in the board config file. - - Patch by Stefan Roese, 13 Mar 2006 - -* Fix problem with updated PCI code in cpu/ppc4xx/405gp_pci.c - Patch by Stefan Roese, 13 Mar 2006 - -* cpu/ppc4xx/start.S : exceptions are enabled after relocation - Patch by Cedric Vincent, 06 Jul 2005 - -* au1x00_eth.c: check malloc return value and abort if it failed - Patch by Andrew Dyer, 26 Jul 2005 - -* Change the sequence of events in soft_i2c.c:send_ack() to keep from - incorrectly generating start/stop conditions on the bus. - Patch by Andrew Dyer, 26 Jul 2005 - -* Fix bug in [id]cache_status commands for MPC85xx processors; - should look at LSB of L1CSRn registers to determine if L1 cache is - enabled, not the MSB. - Patch by Murray Jensen, 19 Jul 2005 - -* Fix array overflow with fw_setenv on uninitialised environment - Patch by Murray Jensen, 15 Jul 2005 - -* Add support for EmbeddedPlanet EP88x boards - Patch by Yuli Barcohen, 13 Jul 2005 - -* Remove board specific configuration includes from the common xilinx - ethernet and iic adapter code. - Patch by Michael Libeskind, 12 Jul 2005 - -* Add Nat Semi DP83865 PHY support to MPC85xx TSEC driver - Patch by Murray Jensen, 08 Jul 2005 - -* Add (some) definitions for the MPC85xx local bus controller - Patch by Murray Jensen, 08 Jul 2005 - -* Add CPM2 I/O pin functions for MPC85xx processors - Patch by Murray Jensen, 08 Jul 2005 - -* Fix compile problem - -* Added PCI support for MPC8349ADS board - Patch by Kumar Gala 11 Jan 2006 - -* Enable address translation on MPC83xx - Patch by Kumar Gala, 10 Feb 2006 - -* Decopuled setting of OR/BR and LBLAWBAR/LBLAWAR on MPC83xx - Patch by Kumar Gala, 25 Jan 2006 - -* Fixed defines for MPC83xx SICRL register to match current specs - Patch by Kumar Gala, 23 Jan 2006 - -* Only disable the MPC83xx watchdog if its enabled out of reset. - If its disabled out of reset SW can later enable it if so desired - Patch by Kumar Gala, 11 Jan 2006 - -* Allow config of GPIO direction & data registers at boot on 83xx - Patch by Kumar Gala, 11 Jan 2006 - -* Enable time handling on 83xx - Patch by Kumar Gala, 11 Jan 2006 - -* Make System IO Config Registers board configurable on MPC83xx - Patch by Kumar Gala, 11 Jan 2006 - -* Fixed PCI indirect config ops to handle multiple PCI controllers - We need to adjust the bus number we are trying to access based - on which PCI controller its on - Patch by Kumar Gala, 12 Jan 2006 - -* Report back PCI bus when doing table based device config - Patch by Kumar Gala, 11 Jan 2006 - -* Added support for PCI prefetchable region and BARs - If a host controller sets up a region as prefetchable and - a device's BAR denotes it as prefetchable, allocate the - BAR into the prefetch region. - - If a BAR is prefetchable and no prefetchable region has - been setup by the controller we fall back to allocating - the BAR into the normally memory region. - Patch by Kumar Gala, 11 Jan 2006 - -* Add helper function for generic flat device tree fixups for mpc83xx - Patch by Kumar Gala, 11 Jan 2006 - -* Add support for passing initrd information via flat device tree - Patch by Kumar Gala, 11 Jan 2006 - -* Added OF_STDOUT_PATH and OF_SOC - - OF_STDOUT_PATH specifies the path to the device the kernel can use - for console output - - OF_SOC specifies the proper name of the SOC node if one exists. - Patch by Kumar Gala, 11 Jan 2006 - -* Allow board code to fixup the flat device tree before booting a kernel - Patch by Kumar Gala, 11 Jan 2006 - -* Added CONFIG_ options for bd_t and env in flat dev tree - - CONFIG_OF_HAS_BD_T will put a copy of the bd_t - into the resulting flat device tree. - - CONFIG_OF_HAS_UBOOT_ENV will copy the environment - variables from u-boot into the flat device tree - - Patch by Kumar Gala, 11 Jan 2006 - -* Add support for the DHCP vendor optional bootfile (#67). - Ignores the vendor TFTP server name option (#66). - Patch by Murray Jensen, 30 Jun 2005 - -* Fix a HW timing issue on 8548 CDS for eTSEC 3 in RGMII mode - Patch by Andy Fleming, 14 Jun 2005 - -* Fix bad register definitions for LTX971 PHY on MPC85xx boards. - Patch by Gerhard Jaeger, 21 Jun 2005 - -* Add netconsole and some more commands to RPXlite_DW board - Patch by Sam Song, 19 Jun 2005 - -* Fix bad declaration on pci_cfgfunc_nothing - Patch by Sam Song, 19 Jun 2005 - -* Adjust "echo" as a default command - Patch by Sam Song, 19 Jun 2005 - -* Fix PCIDF calculation in cpu/mpc8260/speed.c for MPC8280EC - Patch by KokHow Teh, 16 Jun 2005 - -* Add crc of data to jffs2 (in jffs2_1pass_build_lists()). - Patch by Rick Bronson, 15 Jun 2005 - -* Coding Style cleanup - -* Avoid dereferencing NULL in find_cmd() if no valid commands were found - Patch by Andrew Dyer, 13 Jun 2005 - -* Add ADI Blackfin support - - add support for Analog Devices Blackfin BF533 CPU - - add support for the ADI BF533 Stamp uClinux board - - add support for the ADI BF533 EZKit board - Patches by Richard Klingler, 11 Jun 2005 - -* Add loads of ntohl() in image header handling - Patch by Steven Scholz, 10 Jun 2005 - -* Switch MPC86xADS and MPC885ADS boards to use cpuclk environment - variable to set clock - Patch by Yuli Barcohen, 05 Jun 2005 - -* RPXlite configuration fixes - - Use correct flash sector size - - Use correct memory test end address - - Add support for bzip2 compression - - Various small fixes - Patch by Yuli Barcohen, 05 Jun 2005 - -* Memory configuration changes for ZPC.1900 board - - Fix SDRAM timing on both local bus and 60x bus - - Add support for second flash bank (SIMM) - - Change boot flash base - Patch by Yuli Barcohen, 05 Jun 2005 - -* Add support for Adder boards with 16MB SDRAM; - add support for second FEC on Adder87x board. - Patch by Yuli Barcohen, 05 Jun 2005 - -* Fix conditional for including ks8695eth driver - Patch by Greg Ungerer, 04 Jun 2005 - -* Fix Makefile: include config.mk only after CROSS_COMPILE is defined - Patch by Friedrich Lobenstock, 02 Jun 2005 - -* Fix comment in common/soft_i2c.c - Patches by Peter Korsgaard/Tolunay Orkun, 26 May 2005 - -* Cleanup compiler warnings. - Patch by Greg Ungerer, 21 May 2005 - -* Word alignment fixes for word aligned NS16550 UART - Patch by Jean-Paul Saman, 01 Mar 2005 - - Fixes bug with UART that only supports word aligned access: removed - "__attribute__ ((packed));" for "(CFG_NS16550_REG_SIZE == 4)" some - (broken!) versions of GCC generate byte accesses when encountering - the packed attribute regardless if the struct is already correctly - aligned for a platform. Peripherals that can only handle word - aligned access won't work properly when accessed with byte access. - The struct NS16550 is already word aligned for REG_SIZE = 4, so - there is no need to packed the struct in that case. - -* Fix behaviour if gatewayip is not set - Patch by Robin Gilks, 23 Dec 2004 - -* Fix cleanup for netstart board. - Remove build results from repository - -* Some code cleanup for GCC 4.x - -* Fixes to support environment in NAND flash; - enable NAND flash based environment for delta board. - -* Add support for Intel Monahans CPU on Zylonite and Delta boards - (This is Work in Progress!) - -* Add support for TQM8260-AI boards. - -* Minor code cleanup - -* Merge the new NAND code (testing-NAND brach); see doc/README.nand - Rewrite of NAND code based on what is in 2.6.12 Linux kernel - Patch by Ladislav Michl, 29 Jun 2005 - -* Add lowboot target to mcc200 board - Patch by Stefan Roese, 4 Mar 2006 - -* Fix problem with flash_get_size() from CFI driver update - Patch by Stefan Roese, 1 Mar 2006 - -* Make CFG_NO_FLASH work on ARM systems - Patch by Markus Klotzbuecher, 27 Feb 2006 - -* Update mcc200 config: Disable PCI and DoC, use 133 MHz IPB clock, - use hush shell. - -* Convert mcc200 to use common CFI flash driver - Patch by Stefan Roese, 28 Feb 2006 - -* Add env-variable "unlock" to handle initial state of sectors - (locked/unlocked). - - Only the U-Boot image and it's environment is protected, - all other sectors are unprotected (unlocked) if flash - hardware protection is used (CFG_FLASH_PROTECTION) and - the environment variable "unlock" is set to "yes". - - Patch by Stefan Roese, 28 Feb 2006 - -* Update drivers/cfi_flash.c: - - find_sector() called in both versions of flash_write_cfiword() - Patch by Peter Pearse, 27th Feb 2006 - -* CFI support for a x8/x16 AMD/Spansion flash configured in x8 mode - Patch by Jose Maria Lopez, 16 Jan 2006 - -* Add support for AMD/Spansion Flashes in flash_write_cfibuffer - Patch by Alex Bastos and Thomas Schaefer, 2005-08-29 - -* Changes/fixes for drivers/cfi_flash.c: - We *should* check if there are any error bits if the previous call - returned ERR_OK (Otherwise we will have output an error message in - flash_status_check() already.) The original code would only check for - error bits if flash_status_check() returns ERR_TIMEOUT. - Patch by Marcus Hall, 23 Aug 2005 - -* Changes/fixes for drivers/cfi_flash.c: - - Add CFG_FLASH_PROTECT_CLEAR on drivers/cfi_flash.c - - Prohibit buffer write when buffer_size is 1 on drivers/cfi_flash.c - Patch by Sangmoon Kim, 19 Aug 2005 - -* Fixes for drivers/cfi_flash.c: - - Fix wrong timeout value usage in flash_status_check() - - Round write_tout up when converting to msec in flash_get_size() - - Remove clearing flash status at the end of flash_write_cfibuffer() - which sets Intel 28F640J3 flash back to command mode on CSB472 - Patch by Tolunay Orkun, 02 July 2005 - -* Add basic support for the SMMACO4 Board from PanDaCom. - Patch by Heiko Schocher, 20 Feb 2006 - -* Add GIT version information (commid ID) to untagged U-Boot versions - - As done in the linux kernel, the U-Boot version (U_BOOT_VERSION) - of all unreleased (untagged) U-Boot images will be automatically - extended upon compiletime with a part of the GIT commit ID and - possibly with "dirty" if uncommited changes are detected. - - Here an example for the resulting version: - "U-Boot 1.1.4-g3457ac18-dirty" - - The version is now maintained in the toplevel Makefile and the - version headers are autogenerated. - - Patch by Stefan Roese, 9 Feb 2006 - -* Update default environment for INKA4x00 board. - -* Convert CPCI750 to use common CFI flash driver - Patch by Reinhard Arlt, 8 Feb 2006 - -* Various changes to esd HH405 board specific files - Patch by Matthias Fuchs, 07 Feb 2006 - -* Cleanup U-Boot boot messages on ARM. - - To match the U-Boot user interface on ARM platforms to the U-Boot - standard (as on PPC platforms), some messages with debug character - are removed from the default U-Boot build. - Enable DEBUG for lib_arm/board.c to enable debug messages. - New CONFIG_DISPLAY_CPUINFO and CONFIG_DISPLAY_BOARDINFO options. - Patch by Stefan Roese, 24 Jan 2006 - -* Fix various compiler warnings on ppc4xx builds (ELDK 4.0) - Patch by Stefan Roese, 18 Jan 2006 - -* Add VGA support (CT69000) to CPCI750 board. - Insert missing __le32_to_cpu() for filesize in ext2fs_read_file(). - Patch by Reinhard Arlt, 30 Dec 2005 - -* PMC405 and CPCI405: Moved configuration of pci resources - into config file. - PMC405 and CPCI2DP: Added firmware download and booting via pci. - Patch by Matthias Fuchs, 20 Dec 2005 - -* Add ColdFire targets to MAKEALL script - Patch by Zachary Landau, 26 Jan 2006 - -* Add support for r5200 board - Patch by Zachary Landau, 26 Jan 2006 - -* Add support for Freescale M5271 processor - Patch by Zachary Landau, 26 Jan 2006 - -* Fix 28F256J3A support on PM520 board - (without bank-switching only 32 MB can be accessed) - -* Fix mkimage bug with multifile images created on 64 bit systems. - -* Add support for 28F256J3A flash (=> 64 MB) on PM520 board - -* Fix compiler problem with at91rm9200dk board. - Patch by Eugen Bigz, 19 Dec 2005 - -====================================================================== -Changes for U-Boot 1.1.4: -====================================================================== - -* Changes to Yellowstone & Yosemite 440EP/GR eval boards: - - Changed GPIO setup to enable another address line in order to - address 64M of FLASH. - - Added function sdram_tr1_set to auto calculate the tr1 value for - the DDR. - Patch by Steven Blakeslee, 12 Dec 2005 - -* MPC5200: Set PCI retry counter to 0 = infinite retry; - The default of 255 is too short for slow devices. - Patch by Martin Nykodym, 12 Dec 2005 - -* Change port configuration for O2DNT (CODEC1 on PSC1). - -* Fix register for PCI async mode on PPC440EP - Patch by Youngchul Bang, 08 Dec 2005 - -* Fix U-Boot linking problems (add .eh_frame segment to linker script) - This segment may be required by some libgcc.a functions - (like _udivdi3). - -* Fix DPRAM offset/size for MPC8541/8555. - Simplify TQM85xx Makefile handling. - -* Fix data overflow (typo?) in rtc/ds1302.c - -* Fix U-Boot compilation for MIPS boards using ELDK 4.0 - -* Add support for TQM8541/8555 boards, TQM85xx support reworked: - - Support for TQM8541/8555 boards added. - - Complete rework of TQM8540/8560 support. - - Common TQM85xx code now supports all current TQM85xx platforms - (TQM8540/8541/8555/8560). - - DDR SDRAM size detection added. - - CAS latency default values can be overwritten by setting "serial#" - to e.g. "ABC0001 casl=25" -> CAS latency 2.5 will be used. - If problems are detected with this non default CAS latency, - the default values will be used instead. - - Flash size detection added. - - Moved FCC ethernet driver initialization behind TSEC driver init - -> TSEC is first device. - Patch by Stefan Roese, 30 Nov 2005 - -* Add support for AMCC 440SP, add support for AMCC Luan 440SP eval board. - Patch by John Otken, 23 Nov 2005 - -* Changed PPC44x startup message (cpu info, speed...) to common style: - On PPC44x platforms, the startup message generated in "cpu.c" only - comprised the ppc type and revision but not additional information - like speed etc. Those speed infos where printed in the board specific - code. This new implementation now prints all CPU infos in the common - cpu specific code. No board specific code is needed anymore and - therefore removed from all current 44x implementations. - Patch by Stefan Roese, 27 Nov 2005 - -* Adjust TQM834x PHY addresses for latest hardware revision. - -* Increase malloc arena on TQM5200 board to 256 kB. - With 64 kb uniform flash sector size the old value of 128 kB was - too small. - -* Fix miiphy global data initialization (problem on 4xx boards when - no ethaddr is assigned). Initialization moved from - miiphy_register() to eth_initialize(). - - Based on initial patch for 4xx platform by Matthias Fuchs. - -* Remove unnnecessary #include from include/asm-*/u-boot.h - -* Allow use of include/image.h and include/asm-*/u-boot.h in proprietary code. - The COPYING file was extended to make clear that these files can be - used in non-GPL code, too. - Also, a corresponding note was placed in the headers of the affected files. - -* Add support for Prodrive P3P440 board: - - Added onboard PPC440 DDR autodetection in cpu/ppc/sdram.c - - CFG_FLASH_QUIET_TEST added to use the common CFI driver - for bank autodetection - Patch by Stefan Roese, 22 Nov 2005 - -* Change all '$(...)' variable references into '${...}' - which makes the environment compatible with the hush shell. - WARNING: Support for the old '$(...)' syntax will be - discontinued in a later version. - -* Minor changes to init flags in TQM834x PCI. - -* Fix Bamboo DDR SDRAM initialization (problem with onboard SDRAM) - Patch by Stefan Roese, 15 Nov 2005 - -* New PPC 405EP board added: CMS700 - Added CONFIG_NET_MULTI for VOM405 board. - Added reset_phy() for VOM405 board. - Patch by Matthias Fuchs, 09 Nov 2005 - -* Updated PCI mapping for esd CPCI2DP board. - Add support for error LED. - Patch by Matthias Fuchs, 07 Nov 2005 - -* Fix MPC85xx PCI support (pci_register_hose() before pci config access) - Patch by Stefan Roese, 07 Nov 2005 - -* Correct PPC Timebase register definitions (SPRN_TBRL...) - Patch by Stefan Roese, 07 Nov 2005 - -* Adjust bd->bi_flashstart on Yellowstone & Yosemite to correct size - Patch by Stefan Roese, 05 Nov 2005 - -* Additional fix for external IRQ config on Yellowstone & Yosemite - Patch by Stefan Roese, 03 Nov 2005 - -* Add support for Ocotea pass 3 with 440GX Rev. F - Patch by Stefan Roese, 01 Nov 2005 - -* Fix external IRQ configuration on Yellowstone & Yosemite - Patch by Stefan Roese, 28 Oct 2005 - -* Add support for multiple PHYs. - Tested on the following boards: - cmcpu2 (at91rm9200/ether.c) - PPChameleon (ppc4xx/4xx_enet.c) - yukon (mpc8220/fec.c) - uc100 (mpc8xx/fec.c) - tqm834x (mpc834x/tsec.c) with EEPRO100 - lite5200 (mpc5xxx/fec.c) with EEPRO100 card (drivers/eepro100.c) - Main changes include: - common/miiphyutil.c - - miiphy_register routine was added to allow multiple PHYs to be registered - - miiphy_read and miiphy_write are now defined in this file, and - require additional argument (char *devname) - - other miiphy_* routines also require additional device name argument - ../lib_i386/board.c - ../lib_ppc/board.c - Calling reset_phy() was moved to be executed *after* eth_initialize(). - This is necessary as now some of the implementations of reset_phy() - may need to use miiphy_reset() which is not allowed before eth_initialize() - as eth_initialize registers all required miiphy_* routines. - Tested on IP860 and PHY initializes properly after this change. - -* Correct includes for flat tree builder. - -* Fix conflicting types (flash_write()) in trab auto_update.c. - -* Add PCI support for the TQM834x board. - -* Add missing 4xx board to MAKEALL - Patch by Stefan Roese, 20 Oct 2005 - -* Fix conflicting types (flash_write()) in esd auto_update.c - Patch by Stefan Roese, 20 Oct 2005 - -* Fix problem with sleep in NetConsole (use get_timer()) - Patch by Stefan Roese, 20 Oct 2005 - -* Add NetConsole Support for AMCC eval boards - Patch by Stefan Roese, 20 Oct 2005 - -* Fix NetConsole support on 4xx (only print eth link on 1st transfer) - Patch by Stefan Roese, 18 Oct 2005 - -* Add fat & ext2 support to AMCC 440EP boards Yosemite & Bamboo. - Fix identation on ext2ls help entry. - Patch by Stefan Roese, 14 Oct 2005 - -* Add support for TQM834x boards. - Cleanup. - -* Cleanup for GCC-4.x - -* Add documentation for Open Firmware Flat Tree and usage. - Patch by Pantelis Antoniou, 13 Oct 2005 - -* Add missing files for Pantelis Antoniou's patch - Patch by Pantelis Antoniou, 04 Sep 2005 - -* Fix problem in ppc4xx eth-driver without ethaddr (only without - CONFIG_NET_MULTI set) - Patch by Stefan Roese, 10 Oct 2005 - -* Fix gzip bmp support (test if malloc fails, warning when truncated). - Increase CFG_VIDEO_LOGO_MAX_SIZE on HH405 board. - Patch by Stefan Roese, 07 Oct 2005 - -* Add support for OF flat tree for the STXtc board. - Patch by Pantelis Antoniou, 04 Sep 2005 - -* Support passing of OF flat trees to the kernel. - Patch by Pantelis Antoniou, 04 Sep 2005 - -* Cleanup - -* Add support for NetSilicon NS7520 processor. - Patch by Art Shipkowski, 12 May 2005 - -* Add support for AP1000 board. - Patch by James MacAulay, 07 Oct 2005 - -* Eliminate hard-coded address of Ethernet transfer buffer on at91rm9200 - Patch by Anders Larsen, 07 Oct 2005 - - The Atmel errata #11 states that the transfer buffer descriptor - table must be aligned on a 16-word boundary. As it turned out, this - is insufficient - it seems the table must be aligned on a boundary - at least as large as the table itself (in Linux this is not an - issue - the table is aligned on a PAGE_SIZE (4096) boundary). - -* Fixed compilation for ARM when using a (standard) hard-FP toolchain - Patch by Anders Larsen, 07 Oct 2005 - -* Cleanup warnings for cpu/arm720t & cpu/arm1136 files. - sed the linker scripts, rather than pre-process them. - Patch by Peter Pearse, 07 Oct 2005 - -* Update make target for ARM supported boards. - Use lowlevel_init() instead of platformsetup() [rename]. - Patch by Peter Pearse, 06 Oct 2005 - -* Fix booting from serial dataflash on AT91RM9200 - Patch by Peter Menzebach, 29 Aug 2005 - -* Add JFFS2 support for TRAB board - Patch by Martin Krause, 25 Aug 2005 - -* Remove unnecessary dependency of netconsole on CONFIG_NET_MULTI - Patch by Marcus Hall, 24 Aug 2005 - -* Fix the machine-id of the Cogent csb637 board - Patch by Anders Larsen, 05 Oct 2005 - -* Complete support for the KwikByte KB920x boards - Patch by Anders Larsen, 05 Oct 2005 - -* Set the AT91RM9200 clock to asynchronous mode - Patch by Anders Larsen, 03 May 2005 - -* Set the AT91RM9200 clock to synchronous mode - Patch by Anders Larsen, 29 Apr 2005 - -* Add support for Cogent csb637 - Patch by Anders Larsen, 29 Apr 2005 - -* Fix dm9161.c initialization - Patch by Anders Larsen, 29 Apr 2005 - -* Fix problems introduced by Patch by Steven Scholz, 02 Mar 2005 - (8e2be51de8dd03c1ce4d06cbb18ad06133d47cd5) - -* Move dm9161.c and lxt972.c into cpu/arm920t/at91rm9200 - Patch by Anders Larsen, 29 Apr 2005 - -* Fix device partition intialization for SystemACE disks. - Patch by Stephen Williams, 28 Apr 2005 - -* Added support for KwikByte KB920x boards (based on AT91RM9200) - Patch by Matt ?? , 27 Apr 2005 - -* Add support for S29GL064M-R3 flash chip on xsengine board - Patch by Kurt Stremerch, 18 Apr 2005 - -* E500 update: repoint IVPR to RAM when code is relocated - Patch by Kylo Ginsberg, 13 Apr 2005 - -* Fix loop end test in lib_generic/string.c:strswab() - Patch by Andrew Dyer, October 10, 2005 - Signed-off-by: Andrew Dyer - -* Cleanup - -* Update ARM Integrator boards: - Correct addessing errors in platform files. - Split off common core module data from Integrator header files to - include/armcoremodule.h. - Patch by Peter Pearse, 04 Oct 2005 - -* Make sure only supported compiler options are used - Import "cc-option" shell function from kernel and - use it to get the correct ARM GCC options for individual CPUs - Patch by Peter Pearse, 30 Jun 2005 - -* Fix 440GR to print correct cpu revision - Patch by Stefan Roese, 04 Oct 2005 - -* Change board message on AMCC Yosemite & Yellowstone to common style - Patch by Stefan Roese, 03 Oct 2005 - -* Fix compiler warning - -* Fix FEC PHY addresses for TQM85xx boards - -* Fix uninitialized variable problem in hush shell - Patch by Lars Rostock, 26 Sep 2005 - -* Undo change of f6e20fc6ca... to include/configs/trab.h - (Must have been an accident?) - -* Add support for AT91RM9200 OHCI Controller. - Patch by Eric Benard, 07 Apr 2005 - -* Update ARM mach-types.h - Patch by Eric Benard, 07 Apr 2005 - -* Add support for MP2USB board. - Patch by Eric Benard, 07 Apr 2005 - -* Add board support for armadillo HT1070 - Patch by Rowel Atienza, 06 Apr 2005 - -* Second Ethernet address enabled for MPC885ADS and MPC8272ADS. - Patch by Vitaly Bordug, 30 Mar 2005 - -* Add iopset command on mpc8xx - Patch by Daniel Eisenhut, 25 Mar 2005 - -* Add support for MII in eepro100 driver. - Patch by Gleb Natapov, 21 Mar 2005 - -* Fixes to the Lubbock (PXA 25x) support: - - Resolve the FIXME with respect to saving the u-boot environment. - - Make the default load address land in real memory. - - Fix lan91c96 SMC_{in,out}{b,w,l}() macros - Patch by David Brownell, 10 Mar 2005 - -* Add Barco Streaming Video Card (SVC) and Sample Compress Network (SCN) board - Patch by Marc Leeman, 04 Mar 2005 - -* OMAP242x H4 board update - - fix for ES2 differences. - - switch to using the cfi_flash driver. - - fix SRAM build address. - - fix for GP device operation. - - unlock SRAM for GP devices. - - display more device information. - - fix potential deadlock in omap24xx_i2c driver. - - fix DLL load values to match dpllout*1 operation. - - fix 2nd chip select init for combo DDR device. - - add support for CFI Intel 28F256L18 on H4 board. - Patch by Richard Woodruff, 03 Mar 2005 - -* Fix formating in include/asm-arm/arch-at91rm9200/AT91RM9200.h - Patch by Steven Scholz, 02 Mar 2005 - -* Fix typo in eth.c - Patch by Ara Avanesyan, 24 Feb 2005 - -* Remove unneeded #include - Patch by Ladislav Michl, 22 Feb 2005 - -* Add cramfs support for m68k - Patch by Zachary Landau, 21 Feb 2005 - -* Update ep8260: Fix flash timeouts; improve clock resolution for faster UARTs - Patch by Jeff Angielski, 21 Feb 2005 - -* Fix au1x00_serial baud rate calculation: - remove hardcoded cpu clock divisor and use register instead; - round up instead of truncate - Patch by Andrew Dyer, 15 Feb 2005 - -* Add Xilinx Spartan3 family FPGA support - Patch by Kurt Stremerch, 14 Feb 2005 - -* Fix drivers/cfi_flash.c: use info->reset_cmd instead of FLASH_CMD_RESET - Patch by Zachary Landau, 11 Feb 2005 - -* Fix VOH405 Support - Patch by Matthias Fuchs, 25 Sep 2005 - -* Added support for PCI bridge on MPC8272ADS - Patch by Vitaly Bordug, Feb 09 2005 - -* Update multicore CM9XX support for Integrator AP to allow booting from flash - Patch by Jean-Paul Saman, 8 Feb 2005 - -* Fix strswab() to reliably find end of string - Patch by Andrew Dyer, 08 Feb 2005 - -* Fix typos in include/ppc440.h - Patch by Andrew E Mileski, 04 Feb 2005 - -* Add Vibren (was Accelent) PXA255 IDP Support - Patch by Cliff Brake, 04 Feb 2005 - -* Fix tools/bmp_logo.c using incorrect offset to pixel data - Patch by Andrew Dyer, 31 Jan 2005 - -* Add ARM946E cpu and core module targets; remap memory to 0x00000000 - Patch by Peter Pearse, 2 Feb 2005 - -* Fix error handling in tools/env/fw_env.c - Patch by Ara Avanesyan, 01 Feb 2005 - -* Fix MGT5100 PSC baudrate calculation - Patch by Sebastian Schau, 27 Jan 2005 - -* OMAP242x fix for GP device booting - - Add SRAM unlock for GP devices. - - Change DDR DLL unlock value to allow DPLLout*1 operation. - Patches by Richard Woodruff, 21 Jan 2005: - -* Add support for AMD's Pb1x00 eval board; - add MII routines to the au1x00 ethernet driver; - add USB ohci driver (work in progress) - Patch by Thomas Sailer, 20 Jan 2005 - -* Update omap5912osk board - Use drivers/cfi_flash.c instead of private flash driver; - Remove hardcoded personalized settings from omap5912osk.h; - Fix spacing with (RO) marks in 'flinfo' output. - Patch by Michael Bendzick, 14 Jan 2005 - -* Fix warnings for PCI code on ixp - Patch by Joe , 13 Jan 2005 - -* virtex2 fix for bogus download error messages - The virtex2 FPGA download code watches for init going active during - a download of config data as an error condition. init also goes - active after a configuration is finished in concert with the done - signal. So far, the code does not check for done active until all - of the configuration data is sent. If configuration data has a few - extra pad bytes at the end, this would cause an error message even - though the download had suceeded. - NOTE: virtex2 slave serial and spartan2 versions may still have the - same problem. - Patch by Andrew Dyer, 12 Jan 2005 - -* Optimize flash_make_cmd in drivers/cfi_flash.c for little endian - Fix "WARNING: flash_make_cmd: unsuppported LittleEndian mode" - message when probing for nonexistent flash in little endian mode. - As a side effect more efficient and smaller code is generated, - which is always a Good Thing (TM). - Patch by Ladislav Michl, 24 Sep 2005 - -* Update for TFTP using a fixed UDP port - Use the approved environment variable names. Added "tftpdstp" to - allow ports other than 69 per Tolunay Orkun's recommendation. - Patch by Jerry Van Baren, 12 Jan 2005 - -* Allow to force TFTP to use a fixed UDP port - (Add a configuration option CONFIG_TFTP_PORT and optional env - variable tftpport) - Patch by Jerry Van Baren, 10 Jan 2005 - -* Fix ethernet timeouts on dbau1550 and other au1x00 systems - Patch by Leif Lindholm, 29 Dec 2004 - -* Cleanup: fix broken builds - -* Fix PHY address argument passing with mii info command - Patch by Andrew Dyer, 28 Dec 2004 - -* Cleanup (PPC4xx is AMCC now) - -* esd CPCI2DP board added - Patch by Matthias Fuchs, 22 Sep 2005 - -* esd PMC405 board updated - Patch by Matthias Fuchs, 22 Sep 2005 - -* Add SM501 support to HH405 board. - Add support for gzip compressed bmp's (CONFIG_VIDEO_BMP_GZIP). - Add support for eeprom write-enable (CFG_EEPROM_WREN). - Patch by Stefan Roese, 22 Sep 2005 - -* Fix autonegotiation in tsec ethernet driver - Patch by Stefan Roese, 21 Sep 2005 - -* Fix bug in auto_update (trab board) - Patch by Martin Krause, 16 Sep 2005 - -* Fix computation of framebuffer palette for 8bpp LCD bitmaps - Patch by Francesco Mandracci, 16 Sep 2005 - -* Update configuration for INKA4x0 board - -* Update configuration for PM854 board - Based on patch by R. Loeffl, 20 Jul 2005 - -* Add PCI support to TQM8540 and TQM8560 boards - Patch by Stefan Roese, 15 Sep 2005 - -* Update AMCC Yosemite to get a consistent setup for all AMCC eval - boards (baudrate, environment...). Flash driver fixed. - Patch by Stefan Roese, 15 Sep 2005 - -* Fix problem in 440GP ethernet driver (ebony). Add support for 2nd - ethernet port on ebony. - Patch by Stefan Roese, 7 Sep 2005 - -* Added support for mtddevnum and mtddevname variables (mtdparts command) - -* Change default console baud rate for stxxtc board - -* Add I2C support to TQM8540 and TQM8560 boards (EEPROM, RTC, LM75-DTT). - Patch by Stefan Roese, 31 Aug 2005 - -* Fix default command set (don't include CFG_CMD_DISPLAY command) - Patch by Pantelis Antoniou, 02 Sep 2005 - -* Cleanup - -* Enable SM712 driver support for HMI1001 board. - -* Fix problems with ld version 2.16 (dot outside sections problem) - Pointed out by Gerhard Jaeger, 31 Aug 2005; - cf. http://sourceware.org/ml/binutils/2005-08/msg00412.html - -* Prepare U-Boot for gcc-4.x: fix global data pointer initialization - -* Adjust CS3 timings on HMI1001 board for dot matrix display under Linux - -* Add keyboard and dot matrix display support for HMI1001 board. - -* Prepare U-Boot for gcc-4.x - -* Fixed Bamboo port to enable running without DDR-DIMM - (Bamboo has also 64MB onboard DDR) - Patch by Stefan Roese, 24 Aug 2005 - -* Merged 405gp_enet.c and 440gx_enet.c to generic 4xx_enet.c - now handling all 4xx cpu's - Patch by Stefan Roese, 16 Aug 2005 - -* Fix make dependencies for at91rm9200 and ks8695 cpus - Patch by Steven Scholz, 23 Aug 2005 - -* Add JFFS2 support for TQM5200 board - -* Add esd cpci5200 and pf5200 boards - Patch by Reinhard Arlt, 22 Aug 2005 - -* Fix sysclock for TQM8540 and TQM8560 boards - Patch by Martin Krause, 25 Jul 2005 - -* Initialize serial# and ethaddr from manufacturer data in EEPROM on CMC-PU2 - Patch by Martin Krause, 08 Jun 2005 - -* Add new board specific commands for TQM5200/STK52XX - - Sound commands (beep, wav, sound) - - Test commands (led, can, backlight, rs232) - Patch by Martin Krause, 02 May 2005 - -* Change main clock on CMC-PU2 board from 207 MHz to 179 MHz - because of a bug in the AT91RM9200 CPU PLL - Patch by Martin Krause, 22 Apr 2005 - -* Add automatic HW detection for another CMC_PU2 variant - Patch by Martin Krause, 20 Apr 2005 - -* Remove CONFIG_AT91RM9200DK in CMC-PU2 configuration - Patch by Martin Krause, 19 Apr 2005 - -* Fix initialization problem on TQM5200 without SM501 - Patch by Martin Krause, 08 Apr 2005 - -* Add RTC support for STK52XX.200 - Patch by Martin Krause, 07 Apr 2005 - -* Add support for IFM o2dnt board - -* Enable PCI on hmi1001 board - -* Fix return values of the jffs2 commands ls/fsload/fsinfo, - so we can use them to, e.g., check the existence of a file with - "if ls foo; then this; else that; fi" in the hush shell - Patch by Andreas Engel, 16 August 2005 - -* Coding style cleanup - -* Add support for Silicon Turnkey eXpress XTc (mpc87x/88x) board. - Patch by Dan Malek and Pantelis Antoniou, 15 Aug 2005 - -* Check return value of malloc in 440gx_enet.c - Patch by Travis B. Sawyer, 18 Jul 2005 - -* Add Sandburst Metrobox and Sandburst Karef board support packages. - Second serial port on 440GX now defined as a system device. - Add 'Short Etch' code for Cicada PHY within 440gx_enet.c - Patch by Travis B. Sawyer, 12 Jul 2005 - -====================================================================== -Changes for U-Boot 1.1.3: -====================================================================== - -* Minor code cleanup - -* Add forgotten new fils from latest VoiceBlue update - -* Make bootretry feature work with hush shell. - Caveat: this currently *requires* CONFIG_RESET_TO_RETRY to be set, too. - Patch by Andreas Engel, 19 Jul 2005 - -* Update Hymod Board Database PHP code in "tools" directory - Patch by Murray Jensen, 01 Jul 2005 - -* Make "tr" command use POSIX compliant; export HOSTOS make variable - Patch by Murray Jensen, 30 Jun 2005 - -* Fix Murray Jensen's mail address. - Patch by Murray Jensen, 30 Jun 2005 - -* Preserve PHY_BMCR during a soft reset. - Patch by Carl Riechers, 24 Jun 2005 - -* VoiceBlue update: eeprom tool can also store firmware version now. - eeprom.bin is runable by jumping at load address. - Patch by Ladislav Michl, 23 May 2005 - -* Move the AT91RM9200DK to the ARM Systems list. - Patch by Anders Larsen, 26 Apr 2005 - -* Eliminate calls of ARM libgcc.a helper functions _divsi3 and _modsi3 - Patch by Anders Larsen, 26 Apr 2005 - -* measure_gclk() is needed when DEBUG is enabled - Patch by Bryan O'Donoghue, 25 Apr 2005 - -* Add UPD-Checksum code, fix problem in net.c (return instead of break) - Patch by Reinhard Arlt, 12 Aug 2005 - -* esd PCI405 board updated - Patch by Matthias Fuchs, 28 Jul 2005 - -* esd WUH405 and DU405 board updated - Patch by Matthias Fuchs, 27 Jul 2005 - -* Fix problem in cmd_nand.c (only when defined CFG_NAND_SKIP_BAD_DOT_I) - Patch by Matthias Fuchs, 4 May 2005 - -* Update AMCC Yosemite to get a consistent setup for all AMCC eval - boards (baudrate, environment...). Flash driver fixed. - Patch by Stefan Roese, 11 Aug 2005 - -* Changed AMCC Bubinga (405EP) configuration to support 2nd eth port - Patch by Stefan Roese, 11 Aug 2005 - -* Add NAND FLASH support for AMCC Bamboo 440EP eval board - Patch by Stefan Roese, 11 Aug 2005 - -* Add configuration for IFM AEV FIFO board. - Minor coding style cleanup. - -* Add configuration for IFM SPI eval board - -* Fix CompactFlash problem on HMI1001 board - -* Make new "mtdparts" code build with older compilers - Patch by Andrea Scian, 09 Aug 2005 - -* Changed CONFIG_440_GX, CONFIG_440_EP and CONFIG_440_GR options to - CONFIG_44GX, CONFIG_440EP and CONFIG_440GR for a consistent design - with the 405 defines and the linux kernel defines. - Patch by Stefan Roese, 08 Aug 2005 - -* Fix compiler warnings with older GCC versions - -* Add common (with Linux) MTD partition scheme and "mtdparts" command - - Old, obsolete and duplicated code was cleaned up and replace by the - new partitioning method. There are two possible approaches now: - - The first one is to define a single, static partition: - - #undef CONFIG_JFFS2_CMDLINE - #define CONFIG_JFFS2_DEV "nor0" - #define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF /* use whole device */ - #define CONFIG_JFFS2_PART_SIZE 0x00100000 /* use 1MB */ - #define CONFIG_JFFS2_PART_OFFSET 0x00000000 - - The second method uses the mtdparts command line option and dynamic - partitioning: - - /* mtdparts command line support */ - #define CONFIG_JFFS2_CMDLINE - #define MTDIDS_DEFAULT "nor1=zuma-1,nor2=zuma-2" - #define MTDPARTS_DEFAULT "mtdparts=zuma-1:-(jffs2),zuma-2:-(user)" - - Command line of course produces bigger images, and may be inappropriate - for some targets, so by default it's off. - -* Fix build problems for PM856 Board - -* Fix sign extension bug in 'fpga loadb' command; - make 'fpga loadb' always print the file header info - Patch by Andrew Dyer, 11 Jan 2005 - -* Fix errors that occur when accessing SystemACE CF - Patch by Jeff Angielski, 09 Jan 2005 - -* Document switching between U-Boot and PlanetCore on RPXlite - by Sam Song, 24 Dec 2004 - -* Fix PowerQUICC II mask detection. - Patch by Eugene Surovegin, 20 Dec 2004 - -* Add support for Altera NIOS DK1C20 board - Patch by Shlomo Kut, 13 Dec 2004 - -* Add support for ep8248 board - Patch by Yuli Barcohen, 12 Dec 2004 - - Minor code cleanup. - -* Fix baudrate setting for KGDB on MPC8260 - Patch by HoJin, 11 Dec 2004 - -* Fix 'mii help' text formatting - Patch by Cory Tusar, 10 Dec 2004 - -* Fix return code of NFS command - Patch by Hiroshi Ito, 11 Dec 2004 - -* Fix typo - -* Fix compiler warnings in cpu/ppc4xx/usbdev.c - Patch by Steven Blakeslee, 04 Aug 2005 - -* Add support for AMCC Bamboo PPC440EP eval board - Patch by Stefan Roese, 04 Aug 2005 - -* Patch by Jon Loeliger - Fix style issues primarily in 85xx and 83xx boards. - - C++ comments - - Trailing white space - - Indentation not by TAB - - Excessive amount of empty lines - - Trailing empty lines - -* Patch by Ron Alder, 11 Jul 2005 - Add Xianghua Xiao and Lunsheng Wang's support for the - GDA MPC8540 EVAL board. - -* Patch by Eran Liberty - Add support for the Freescale MPC8349ADS board. - -* Patch by Jon Loeliger, 25 Jul 2005 - Move the TSEC driver out of cpu/mpc85xx as it will be shared - by the upcoming mpc83xx family as well. - -* Patch by Jon Loeliger, 05 May 2005 - Implemented support for MPC8548CDS board. - Added DDR II support based on SPD values for MPC85xx boards. - This roll-up patch also includes bugfies for the previously - published patches: - DDRII CPO, pre eTSEC, 8548 LBIU, Andy's TSEC, eTSEC 3&4 I/O - -* Patch by Jon Loeliger, 10 Feb 2005 - Add config option CONFIG_HAS_FEC calling out 8540 FEC features. - -* Patch by Jon Loeliger, Kumar Gala, 08 Feb 2005 - For MPC85xxCDS: - Adds Relaxed Timing TRLX bit to FLASH ORx regs to allow - for faster flash parts. - Add documentation for BR/OR for FLASH. - -* Patch by Jon Loeliger 08 Feb 2005 - Determine L2 Cache size dynamically on 85XX boards. - -* Patch by Jon Loeliger, Kumar Gala 08 Feb 2005 - - Convert the CPM2 based functionality to use new CONFIG_CPM2 - option rather than a myriad of CONFIG_MPC8560-like variants. - Applies to MPC85xx and MPC8260 boards, includes stxgp3 and sbc8560. - Eliminates the CONFIG_MPC8560 option entirely. Distributes the - new CONFIG_CPM2 option to each 8260 board. - -* Add support for MicroSys PM856 board - Patch by Josef Wagner, 03 Aug 2005 - -* Minor fixes to PM854 board - Patch by Josef Wagner, 03 Aug 2005 - -* Adjust configuration of XENIAX board - (chip select and GPIO required for USB operation) - -* Fix typos in cpu/85xx/start.S which caused DataTLB exception to be - routed to the Watchdog handler - Patch by Eugene Surovegin, 18 Jun 2005 - -* (re)enabled scsi commands do_scsi() and do_scsiboot() - Patch by Denis Peter, 06 Dec 2004 - -* Fix endianess problem in TFTP / NFS default filenames - Patch by Hiroshi Ito, 06 Dec 2004 - -* Ignore broadcast status bit in received frames in 8260 FCC ethernet - loopback test code - Patch by Murray Jensen, 18 Jul 2005 - -* Fix typo in mkconfig script (used == instead of =) - Patch by Murray Jensen, 18 Jul 2005 - -* Cleanup build problems on 64 bit build hosts - -* Update MAINTAINERS file - -* Patch by Stefan Roese, 01 Aug 2005: - - Major cleanup for AMCC eval boards Walnut, Bubinga, Ebony, Ocotea - (former IBM eval board). Please see "doc/README.AMCC-eval-boards-cleanup" - for details. - - Sycamore (PPC405GPr) eval board added (Walnut port is extended - to run on both 405GP and 405GPr eval boards). - -* Patch by Steven Blakeslee, 27 Jul 2005: - - Add support for AMCC PPC440EP/GR. - - Add support for AMCC Yosemite PPC440EP eval board. - - Add support for AMCC Yellowstone PPC440GR eval board. - -* Minor fixes for PPChameleon Board: - - fix alignment of NAND size - - make code do what the comment says - -* Implement h/w sector protection status synchronization at boot. - The code is provided for, and was tested on, the Yukon/Alaska - and PM520 boards only. - - A bug in flash_real_protect() for the Yukon board was fixed by - adding a function that tells if two banks are on one flash chip. - -* Fix sysmon POST problem: check I2C error codes - This fixes a problem of displaying bogus voltages when the voltages - are so low that the I2C devices start failing while the rest of the - system keeps running. - -* Patch by Cedric Vincent, 6 Jul 2005: - Fix CFG_CMD_SETGETDCR handling in "common/cmd_dcr.c" - -* Patch by Jon Loeliger, 20 Jul 2005: - Add missing PCI IO port definitions. - -* Add CompactFlash support for HMI1001 board. - -* Adjust printed board ID for LWMON board. - -* Fix low-level OHCI transfers for ARM920t and MPC5xxx - -* Add new argument format for flash commands to allow for usage like - "erase $(addr) +$(filesize)", i. e. a size argument can be used and - U-Boot will automaticially find the end of the corresponding sector. - -* Patch by Stefan Roese, 5 Jul 2005: - Update uc100 board PHY setup - -* Patch by Stefan Roese, 1 Jul 2005: - Fix PHY address for CATcenter board (now correct!) - -* Patch by Stefan Roese, 30 Jun 2005: - Fix PHY addresses for PPChameleon and CATcenter boards - Change MAINTAINER for most esd boards - -* Patch by Detlev Zundel, 30 Jun 2005: - Fix LCD logo for lwmon board which got lost in the merge of 8xx and PXA LCD code - -* Fix baudrate calculation problem on MPC5200 systems - -* Add EEPROM and RTC support for HMI1001 board - -* Patch by Detlev Zundel, 20 Jun 2005: - Fix initialization of low active GPIO pins on inka4x0 board - -* Enable redundant environment, disable HW flash protection of - HMI1001 board - -* Patch by Travis Sawyer, 10 Jun 2005: - Initialize allocated dev and private hw structures - after their respective allocation in 440gx_enet.c - -* Patch by Steven Scholz, 10 Jun 2005: - Fix byteorder problems with second argument of "bootm" with - standalone images; - -* Add support for HMI1001 board - -* Disable "date" and "sntp" commands on TQM866M - -* Fix watchdog reset problems on LWMON board - -* Patch by Juergen Selent, 17 May 2005: - Add support for Funkwerk VoVPN gateway module. - -* Cleanup debug code for MPC8220 FEC driver - -* Extend burst mode RAM test program to take a loop count - (0 = infinite) - -* Use CONFIG_DRIVER_KS8695ETH to enable KS8695 ethernet driver on - those boards that use it. - -* Patches by Greg Ungerer, 19 May 2005: - - add support for the KS8695P (ARM 922 based) CPU - - add support for the OpenGear CM4008, CM4116 and CM4148 boards - -* Patch by Steven Scholz, 19 May 2005: - Add support for CONFIG_SERIAL_TAG on ARM boards - -* Add PCI support for Sorcery board. - Code cleanup (especially Sorcery / Alaska / Yukon serial driver). - -* Fix compile problems caused by new burst mode SDRAM test; - make port pins to trigger logic analyzer configurable - -* Fix timer handling on MPC85xx systems - -* Fix debug code in omap5912osk flash driver - -* Add support for MPC8247 based "IDS8247" board. - -* Add support for 2 x TSEC interfaces on the TQM8540 board. - -* On LWMON we must use the watchdog to reset the board as the CPU - genereated HRESET pulse is too short to reset the external - circuitry. - -* Add test tool to exercise SDRAM accesses in burst mode - (as standalone program, MPC8xx/PowerPC only) - -* Increase CFG_MONITOR_LEN for Rattler board to match actual code - size. - -* Major upate of JFFS2 code; now in sync with snapshot of MTD CVS of - March 13, 2005); new configuration option CONFIG_JFFS2_LZO_LZARI - added to support LZO and LZARI compression modes (undefined by - default). - -* Fix problem with symbolic links in JFFS2 code. - -* Use linker ASSERT statement to prevent undetected overlapping of - sections on PPChameleon board; other boards might use this, too. - -* Patch by Stefan Roese, 03 May 2005: - Update for P3G4 - Fix problems in cmd_universe.c - -* Patch by Matthias Fuchs, 03 May 2005: - Added missing variable declaration in cmd_nand.c - Modified CFG_PCI_PTM1MS in configs/PLU405.h to map 128MB ram - -* Fix INKA4x0: use CS1 as gpio_wkup_6 output - -* Fix bug in the SDRAM initialization code for canmb, IceCube and - PM520 boards. - Fix PHY address for canmb board. - -* Cleanup serial console baudrate calculation on AT91RM9200; - get rid of obsolete CFG_AT91C_BRGR_DIVISOR definition - -* Patch by Matthias Fuchs, 18 Apr 2005: - Make PCI target address spaces on PMC405 and CPCI405 boards - configurable via environment variables - -* Auto-size RAM on canmb board. - -* Add support for canmb board - -* Patch by Stefan Roese, 13 Apr 2005: - Update for esd apc405 - -* Fixes for TQM8560 board: - - fix clock rates - - remove debug messages - - fix flash sector protection - -* Patch by Steven Scholz, 07 Apr 2005: - Add i2c_reg_write() and i2c_reg_write() for at91rm9200 I2C - -* Patches by Steven Scholz, 07 Apr 2005: - Fix compiler warning in altera.c - Fix warning in cpu/arm920t/at91rm9200/i2c.c - -* Patch by Ladislav Michl, 06 Apr 2005: - Fix voiceblue configuration. - -* Patch by Stefan Roese, 06 Apr 2005: - Updates for OCOTEA board: - - Changed U-Boot size from 512kByte to 256kByte - - Fixed flash driver to support boot from soldered user flash - - Added README for switch from PIBS firmware to U-Boot - -* Patch by Travis Sawyer, 05 Apr 2005: - - Change timer frequency for ppc 440 from 10 ms to 1 ms. - Problem found by Andrew Wozniak. - -* Patch by Steven Scholz, 06 Apr 2005: - - creating SoC subdir for Atmel AT91RM9200 cpu/arm920t/at91rm9200 - - moving code out of cpu/at91rm9200 into cpu/arm920t/at91rm9200 - -* Patches by Robert Whaley, 29 Nov 2004: - - update the pxa-regs.h file for PXA27x chips - - add PXA27x based ADSVIX board - - add support for MMC on PXA27x processors - -* Patch by Andrew E. Mileski, 28 Nov 2004: - Fix PPC4xx SPD SDRAM detection bug - -* Patch by Hiroshi Ito, 26 Nov 2004: - Fix logic of "test -z" and "test -n" commands - -* Patch by Ladislav Michl, 05 Apr 2005: - Add support for VoiceBlue board. - -* Patch by Ladislav Michl, 05 Apr 2005: - Fix netboot_common() prototypes. - -* Patch by Steven Scholz, 05 Apr 2005: - Use i.MX watchdog timer for reset_cpu() - -* Patch by Steven Scholz, 05 Apr 2005: - Move reset_cpu() out of cpu/arm920t/start.S into the SoC specific - subdirectories cpu/arm920t/imx/ and cpu/arm920t/s3c24x0/ - (now in interupts.c) - -* Add support for MPC8220 based "sorcery" board. - -* Add support for TQM8560 board. - -* Add FEC support for TQM8540 board. - Interfaces are named as follows: "ENET1" - TSEC2, "ENET2" - FEC - -* Patch by Martin Krause, 04 Apr 2005: - Update default configuration for CMC_PU2 board. - -* Patch by Steven Scholz, 04 Apr 2005: - - remove all references to CONFIG_INIT_CRITICAL for ARM based boards - - introduce two new configuration options instead: - CONFIG_SKIP_LOWLEVEL_INIT and CONFIG_SKIP_RELOCATE_UBOOT - -* Patch by Steven Scholz, 04 Apr 2005: - Make sure that MDIO clock does not exceed 2.5 MHz on AT91 - -* Fix timer code for ARM systems: make sure that udelay() does not - reset timers so it's save to use udelay() in timeout code. - -* Patch by Mathias Küster, 23 Nov 2004: - add udelay support for the mcf5282 cpu - -* Patch by Tolunay Orkun, 16 November 2004: - fix incorrect onboard Xilinx CPLD base address - -* Patch by Jerry Van Baren, 08 Nov 2004: - - Add low-boot option for MPC8260ADS board (if lowboot is selected, - the jumper for the HRCW source should select flash. If lowboot is - not selected, the jumper for the HRCW source should select the - BCSR. - - change default load base address to 0x00400000 - -* Patch by Yuli Barcohen, 08 Nov 2004: - Add support for Analogue & Micro Rattler boards. - Tested on Rattler8248. - -* Patch by Andre Renaud, 08 Nov 2004: - Fix watchdog support in common/lcd.c - -* Patch by Marc Leeman, 05 Nov 2003: - Enable all 4 PCMBRW buffers for the MPC8245 processor since the CPU - bug only affects the XPC8245 processors - -* Patches by Josef Wagner, 29 Oct 2004: - - Add support for MicroSys CPU87 board - - Add support for MicroSys PM854 board - -* Patch by Jian Zhang, 02 Nov 2004: - Add 16-bit NAND support - -* Patch by Scott McNutt, 01 Nov 2004: - Add missing NIOS/NIOS2 support for "iminfo" command - -* Patch by Detlev Zundel, 29 Oct 2004: - Add missing NIOS/NIOS2 support for "mkimage" tool. - -* Patch by David Adair, 27 Oct 2004: - Add missing 440GX SDRAM Controller reset - -* Patch by Steven Scholz, 25 Oct 2004: - Declare reset_cpu() in include/common.h instead locally - -* Patch by Yusdi Santoso, 22 Oct 2004: - - Add support for HIDDEN_DRAGON board - - fix endianess problem in driver/rtl1839.c - -* Patch by Allen Curtis, 21 Oct 2004: - support multiple serial ports - -* Patch by Richard Klingler, 03 Apr 2005: - Add call to eth_halt() in net/net.c when called functions fail - after eth_init() has been called. - -* Patch by Sam Song, 3 April 2005: - - Update README.Netconsole - - Update README - -* Prepare for SoC rework of ARM code: - - rename CONFIG_BOOTBINFUNC into CONFIG_INIT_CRITICAL - - rename memsetup into lowlevel_init (function name and source files) - Patch by Steven Scholz, 03 Apr 2005: - - create SoC specific directories include/asm-arm/arch-imx and - include/asm-arm/arch-s3c24x0 - -* Fix problems with SNTP support; - enable SNTP support in some boards. - -* Patches by Martin Krause, 01 Apr 2005: - - Fix flash erase timeout on CMC_PU2 - - Add automatic HW detection for CMC_PU2 and CMC_BASIC - -* Patch by Steven Scholz, 13 March 2005: - fix cache enabling for AT91RM9200 - -* Patch by Masami Komiya, 30 Mar 2005: - add SNTP support and expand time server and time offset fields of - DHCP support. See doc/README.SNTP - -* Patch by Steven Scholz, 13 Dec 2004: - Fix bug in at91rm920 ethernet driver - -* Patch by Steven Scholz, 13 Dec 2004: - Remove duplicated code by merging memsetup.S files for - at91rm9200 boards into one cpu/at91rm9200/lowlevel.S - -* Patch by Detlev Zundel, 31 Mar 2005: - Cleanup duplicate definition of overwrite_console() - -* Update TQM5200 configuration; - prepare for Rev. 200 starter kit boards - -* Patch by Scott McNutt, 21 Oct 2004: - Add support for Nios-II EPCS Controller core. - -* Patch by Scott McNutt, 20 Oct 2004: - Nios-II cleanups: - - Add sysid command (Nios-II only). - - Locate default exception trampoline at proper offset. - - Implement I/O routines (readb, writeb, etc) - - Implement do_bootm_linux - -* Patches by Martin Krause, 22 Mar 2005: - - use TQM5200_auto as MAKEALL target for TQM5200 systems - - add support for SM501 graphics controller - - add support for graphic console on TQM5200 - - add support for TQM5200 Rev 200 - - cleanup, fix typo in include/configs/TQM5200.h - -* Patch by Manfred Baral, 17 Mar 2005: - Fix typo - -* Fix RTC configuration for PPChameleon board - -* Cleanup, fix typo in include/configs/TQM5200.h - -* Patch by Stefan Roese, 16 Mar 2005: - Update for esd auto_update and hh405 board - -* Adapt for U-Boot image size (new features enabled) on TQM5200 - -* Update code for TQM8540 board (and 85xx in general): - - Change the name of the Ethernet driver: MOTO ENET -> ENET - - Reformat boot messages - - Enable redundant environment - - Replace the -O2 optimization flag with -mno-string - -* Patch by David Brownell, 10 Mar 2005: - Restore copyright statements in OHCI drivers. - -* Add support for TQM8540 board - -* Patch by Detlev Zundel, 14 Mar 2005: - NC650: changed NAND flash addressing to using UPMB - -* Patch by Stefan Roese, 14 Mar 2005: - Update for esd voh405 fpga image - -* INKA4x0: Allow initialization of LCD backlight dimming from - "brightness" environment variable. - -* Add port initialization for digital I/O on INKA4x0 - -* Patch by Stefan Roese, 01 Mar 2005: - Update for esd boards dp405 and hub405 - -* Fix get_partition_info() parameter error in all other calls - (common/cmd_ide.c, common/cmd_reiser.c, common/cmd_scsi.c). - -* Enable USB and IDE support for INKA4x0 board - -* Patch by Andrew Dyer, 28 Feb 2005: - fix ext2load passing an incorrect pointer to get_partition_info() - resulting in load failure for devices other than 0 - -* Add support for SRAM and 2 x Quad UARTs on INKA4x0 board - -* Cleanup USB and partition defines - -* Add support for ext2 filesystems and image timestamps to TQM5200 board - -* Add reset code for Coral-P on INKA4x0 board - -* Patch by Martin Krause, 28 Jun 2004: - Update for TRAB board. - -* Fix some missing "volatile"s in MPC5xxx FEC driver - -* Fix cirrus voltage detection (for CPC45) - -* Fix byteorder problem in usbboot and scsiboot commands. - -* Patch by Cajus Hahn, 04 Feb 2005: - - don't insist on leading '/' for filename in ext2load - - set default partition to useful value (1) in ext2load - -* Patch by Andrew Dyer, 08 Jan 2005: - fix wrong return codes in ext2 code - -* Removed '--no-warn-mismatch' option from Makefile. This option - makes 'ld' to overlook binary objects compatibility. - -* Moved $(PLATFORM_LIBS) from the library group (--start-group ... - --end-group) outside of the group. This will make 'ld' to do - _multiple_ search in the library group when resolving symbol - references and do only a _single_ seach in libgcc.a after the group - search. - -* Fix stability problems on CPC45 board again. - -* Make image detection for diskboot / usbboot / scsiboot more robust - (also check header checksum) - -* Update CPC45 board configuration. - -* Add USB and PCI support for INKA4x0 board - -* Fix IDE stability problems on CPC45 board (needs 2 x EIEIO). - -* Code cleanup - -* Patch by Robin Getz, 13 Oct 2004: - Add standalone application to change SMC91C111 MAC addresses, - see examples/README.smc91111_eeprom - -* Patch by Xiaogeng (Shawn) Jin, 12 Oct 2004: - Fix Flash support for ARM Integrator CP. - -* Patch by Richard Woodruff, 10 Jan 2005: - Update support for OMAP2420 (ARM11) and H4 board: - o clean up and add new types to H4 memory probe code. - o fix to work with internal boot. - o added PRCM config III operation. - o fix marginal flash timings. - o add revison ATAG usage. - o enable voltage scaling at power chip. - o fix compile error for i2c. - -* Fix network problem (error when receiving multiple ARP packets) - -* Patch by Daniel Poirot, 12 Oct 2004: - Add support for Wind River sbc405 board - -* Patch by Rainer Brestan, 12 Oct 2004: - Make examples/Makefile more robust - -* Patch by Sam Song, 11 October 2004: - - Add RESET/PREBOOT/AUTOBOOT support for RPXlite_DW board - - Adjust CPU:BUS frequency ratio 1:1 when core frequency - less than 50MHz - -* Patch by Sam Song, 10 Oct 2004: - Fix a parameter error in run_command() in main.c - -* Patch by Richard Woodruff, 01 Oct 2004: - add support for the TI OMAP2420 processor and its H4 reference - board - -* Patch by Christian Pellegrin, 24 Sep 2004: - Added support for NE2000 compatible (DP8390, DP83902) NICs. - -* Patch by Leif Lindholm, 23 Sep 2004: - add support for the AMD db1550 board - -* Patch by Travis Sawyer, 15 Sep 2004: - Add CONFIG_SERIAL_MULTI support for ppc4xx, - update README.serial_multi - -* Patches by David Snowdon, 07 Sep 2004: - - add u-boot.hex target in the top level Makefile - - add support for the UNSW/NICTA PLEB 2 board (pleb2) - - use -mtune=xscale and -march=armv5 options for PXA - -* Patch by Florian Schlote, 08 Sep 2004: - Add support for SenTec-COBRA5272-board (ColdFire). - -* Patch by Gleb Natapov, 07 Sep 2004: - mpc824x: set PCI latency timer to a sane value - (is 0 after reset). - -* Patch by Kurt Stremerch, 03 Sep 2004: - Add bitstream configuration option for fpga command (Xilinx only). - -* Patch by Kurt Stremerch, 03 Sep 2004: - Add Xilinx Spartan2E family FPGA support - -* Patch by Jeff Angielski, 02 Sep 2004: - Add Added support for H2 revision of the EP8260 board. - Fixed formatting for some of the EP8260 related source files. - -* Patch by Jon Loeliger, 02 Sep 2004: - Reset monitor size back to 256 so environment can be written - to flash on MPC85xx ADS and CDS releases. - -* Patch by Paolo Broggini, 02 Sep 2004: - Make BSS clearing on ARM systems more robust - -* Patch by Yue Hu and Joe, 01 Sep 2004: - - add PCI support for ixp425; - - add EEPRO100 suppor tfor ixdp425 board. - -* Fix problem with protected sector detection in driver/cfi_flash.c - -====================================================================== -Changes for U-Boot 1.1.2: -====================================================================== - -* Code cleanup, mostly for GCC-3.3.x - -* Cleanup confusing use of CONFIG_ETH*ADDR - ust his only to - pre-define a MAC address; use CONFIG_HAS_ETH* to enable support for - additional ethernet addresses. - -* Cleanup drivers/i82365.c - avoid duplication of code - -* Fix bogus "cannot span across banks" flash error message - -* Code cleanup - -* Add support for CompactFlash for the CPC45 Board. - -* Fix problems with CMC_PU2 flash driver. - -* Cleanup: - - avoid trigraph warning in fs/ext2/ext2fs.c - - rename UC100 -> uc100 - -* Add support for UC100 board - -* Patch by Stefan Roese, 16 Dez 2004: - - ext2fs support added - - Tundra universe support added - - ColdFire MCF5249 support added (no preloader needed!) - - MCF5249 board TASREG added - - PPC boards added: APC405, CPCI405DT, CPCI750, G2000, HH405, - VOM405, WUH405 - - some esd boards updated - - memory commands "mdc" and "mwc" added for cyclic read/write - (CONFIG_MX_CYCLIC, see README for further description) - -* Add support for INKA4X0 board - -* Patch by Steven Scholz, 12 Dec 2004: - Fix typo in AT91 memory setup. - -* Patch by Martin Krause, 27 Oct 2004: - - add support for "STK52xx" board (including PS/2 multiplexer) - - add hardware detection for TQM5200 - -* Clean up CMC PU2 flash driver - -* Update MAINTAINERS file - -* Fix bug in MPC823 LCD driver - -* Fix udelay() on AT91RM9200 for delays < 1 ms. - -* Enable long help on CMC PU2 board; - fix reset issue; - increase CPU speed from 179 to 207 MHz. - -* Fix smc91111 ethernet driver for Xaeniax board (need to handle - unaligned tail part specially). - -* Update for AT91RM9200DK and CMC_PU2 boards: - - Enable booting directly from flash - - fix CMC_PU2 flash driver - -* Fix mkimage usage message - -* Map SRAM on NC650 board - -* Work around for Ethernet problems on Xaeniax board - -* Patch by TsiChung Liew, 23 Sep 2004: - - add support for MPC8220 CPU - - Add support for Alaska and Yukon boards - -* Fix configuration for ERIC board (needs more room) - -* Adjust MIPS compiler options at run-time depending on tools version - ("-march=4kc -mtune=4kc -Wa,-mips_allow_branch_to_undefined" for new, - "-mcpu=4kc" for old tools) - -* Add passing of the command line and memory size information to the - kernel on xaeniax board. - -* Enable NAND flash support for NC650 board. - -* Patch by Thomas Lange 07 Oct 2004: - Updated README for DBAu1x00 boards to match current status - -* Patch by Philippe Robin, 28 Sept 2004: - Fix Flash support for Versatile. - -* Patch by Roger Blofeld, 16 Sep 2004: - Fix timeout for DHCP command retry - -* Patch by Pantelis Antoniou, 14 Sep 2004: - Fix early serial hang when CONFIG_SERIAL_MULTI is defined. - -* Patch by Pantelis Antoniou, 14 Sep 2004: - Kick watchdog when bz-decompressing - -* Fix CFG_HZ problems on AT91RM9200 systems - [Remember: CFG_HZ should be 1000 on ALL systems!] - -* Patch by Gridish Shlomi, 30 Aug 2004: - - Add support to revA version of PQ27 and PQ27E. - - Reverted MPC8260ADS baudrate back to original 115200 - -* Patch by Hojin, 17 Sep 2004: - Fix typo in cfi_flash.c - -* Patch by Mark Jonas, 09 September 2004: - mtest's data line test (with CFG_ALT_MEMTEST set) returned a wrong - error message - -* Patch by Mark Jonas, 31 August 2004: - Added option CFG_XLB_PIPELINING to enable XLB pipelining. This - improves FTP performance for MPC5200 systems. Enabled for IceCube - by default. - -* Patch by Michael Bendzick, 30 Aug 2004: - - Improve platform.S code for omap1510inn that detects whether code - is running from SDRAM or not. Patch allows SDRAM to be configured - if code is running out of SRAM at 0x20000000. - -* Patch by Frederick Klatt, 30 Aug 2004: - Add support for the Wind River SBC8540/SBC8560 boards - -* Configure SX1 board to use drivers/cfi_flash.c - -* Patches by Michael Bendzick, 30 Aug 2004: - - Configure omap1510inn board to use drivers/cfi_flash.c - - Make drivers/cfi_flash.c protect environment and redundant - environment. - -* Patch by Steven Scholz, 23 Jun 2004: - - Add script (tools/img2brec.sh) to programm U-Boot into - (Synch)Flash using the Bootstrap Mode of the MC9328MX1/L - -* Patches by Scott McNutt, 24 Aug 2004: - - Add support for Altera Nios-II processors. - - Add support for Psyent PCI-5441 board. - - Add support for Psyent PK1C20 board. - -* Patches by Jon Loeliger, 24 Aug 2004: - - Add support for the MPC8541 and MPC8555 CDS boards - - Cleanup eth?addr handling: make dependent on CONFIG_ETH?ADDR - - Convert MPC85xxADS to use common CFI flash driver - - Fix PCI window on MPC85xx; remove unneeded PCI initialization - from board_early_init_f() - - Provide SW workaround for PCI initialization on 85xx CDS - -* Patches by George G. Davis, 24 Aug 2004: - - Enable ramdisk/initrd tagged param support for omap1610h2_config - - Remove static network setup defaults from mx1ads_config - - update ARM boards to use constants from mach-types.h - -* Patch by Gary Jennejohn, 04 Oct 2004: - - fix I2C on at91rm9200 - - add support for Ricoh RS5C372A RTC - -* Patch by Gary Jennejohn, 01 Oct 2004: - - add support for CMC PU2 board - - add support for I2C on at91rm9200 - -* Patch by Gary Jennejohn, 28 Sep 2004: - fix baudrate handling on at91rm9200 - -* Patch by Yuli Barcohen, 22 Aug 2004: - - remove ZPC.1900 board-specific flash driver; - switch the port to generic CFI driver; - - port clean-up - -* Patch by Hinko Kocevar, 21 Aug 2004: - Add calc_fbsize() function used with VIDEOLFB_TAG on TRAB - -* Clean up tools/bmp_logo.c to not add trailing white space - -* Patch by Hinko Kocevar, 21 Aug 2004: - - Group common framebuffer functions in common/lcd.c - - Group common framebuffer macros and #defines in include/lcd.h - - Provide calc_fbsize() for video ATAG - -* Patch by Sam Song, 21 August 2004: - - Fix a typo in README - - Align "(RO)" output for "flinfo" after "protect on" - - Add RESET support for RPXlite_DW board; adjust CPU:BUS frequency - ratio 1:1 when core frequency less than 50MHz - -* Patches by Hinko Kocevar, 21 Aug 2004: - - fix some "use of label at end of compound statement" warnings - - Define type of LCD panel on lubbock board if CONFIG_LCD is used - -* Patch by Steven Scholz, 16 Aug 2004: - - Introducing the concept of SoCs "./cpu/$(CPU)/$(SOC)" - - creating subdirs for SoCs ./cpu/arm920t/imx and ./cpu/arm920t/s3c24x0 - - moving SoC specific code out of cpu/arm920t/ into cpu/arm920t/$(SOC)/ - - moving drivers/s3c24x0_i2c.c and drivers/serial_imx.c out of drivers/ - into cpu/arm920t/$(SOC)/ - -* Patches by Sean Chang, 09 Aug 2004: - - Added support for both 8 and 16 bit mode access to System ACE CF - through MPU. - - Fixed missing System ACE CF device during get FAT partition info - in fat_register_device function. - - Enabled System ACE CF support on ML300. - -* Patch by Sean Chang, 09 Aug 2004: - Synch defines for saveenv and do_saveenv functions so they get - compiled under the same statement. - -* Patch by Sean Chang, 09 Aug 2004: - - Added I2C support for ML300. - - Added support for ML300 to read out its environment information - stored on the EEPROM. - - Added support to use board specific parameters as part of - U-Boot's environment information. - - Updated MLD files to support configuration for new features - above. - -* Patches by Travis Sawyer, 05 Aug 2004: - - Remove incorrect bridge settings for eth group 6 - - Add call to setup bridge in ppc_440x_eth_initialize - - Fix ppc_440x_eth_init to reset the phy only if its the - first time through, otherwise, just check the phy for the - autonegotiated speed/duplex. This allows the use of netconsole - - only print the speed/duplex the first time the phy is reset. - -* Patch by Shlomo Kut, 29 Mar 2004: - Add support for MKS Instruments "Quantum" board - -* Fix build problem with Cogent boards; - avoid using when using the host compiler - -* Patch by Ganapathi C, 04 Aug 2004: - Fix NFS timeout issue - -* Patch by Yuli Barcohen, 19 Jul 2004: - - Fix host tools building in Cygwin environment - - Fix header files search order for host tools - -* Patch by Tom Armistead, 19 Jul 2004: - Fix kgdb.S support for 74xx_75x cpu - -* Patch by Jon Loeliger, 15 Jul 2004: - Fix MPC85xx I2C driver - -* Fix problems with CDROM drive as slave device on Lite5200 IDE bus. - -* Patch by Stephen Williams, 15 July 2004 - Set the PCI class code for JSE board as part of PCI interface setup - -* Patch by Michael Bendzick, 15 Jul 2004: - Fix problem with writes with odd sizes in drivers/cfi_flash.c when - CFG_FLASH_USE_BUFFER_WRITE is set - -* Patch by Yuli Barcohen, 13 Jul 2004: - Allow clock setting on MPC866/MPC885 series chips according to - environment variable `cpuclk' - -* Patch by Yuli Barcohen, 20 Apr 2004: - Remove unnecessary redefine of CPM_DATAONLY_SIZE for MPC826x - -* Patch by Vincent Dubey, 24 Sep 2004: - Add support for xaeniax board - -* Add comment about non-GPL character of standalone applications to - COPYING file - -* Fix FEC ethernet problem on NSCU board. - -* Patch by Gary Jennejohn, 09 Sep 2004: - allow to use USART1 as console port on at91rm9200dk boards - -* Patch by Stefan Roese, 16 Sep 2004: - Update AR405 board. - -* Fix SysClk handling for PPChameleon and CATcenter boards - -* Patch by Detlev Zundel, 08 Sep 2004: - Update etags build target - -* Improve NetConsole support: add support for broadcast destination - address and buffered input. - -* Cleanup compiler warnings for GCC 3.3.x and later - -* Fix problem in cmd_jffs2.c introduced by CFG_JFFS_SINGLE_PART patch - -* Add support for IDS "NC650" board - -* Add automatic update support for LWMON board - -* Clear Block Lock-Bits when erasing flash on LWMON board. - -* Fix return code of "fatload" command - -* Enable MSDOS/VFAT filesystem support for LWMON board - -* Patch by Martin Krause, 03 Aug 2004: - change timing for SM501 graphics controller on TQM5200 module - -* Patch by Mark Jonas, 13 July 2004: - - Total5200 LCD now run in little endian mode. Endianess conversion - is done in hardware. - - Removed last reference to "console" environment variable. - -* Patches by Lars Munch, 12 Jul 2004: - - move at45.c to board/at91rm9200dk/ since this is at91rm9200dk - board specific - - split out the LXT971A PHY from ns_9750_eth.h - - split the dm9161 phy part out of at91rm9200_ether.c - -* Patch by Andreas Engel, 12 Jul 2004: - Replaced hardcoded PL011 clock frequency with config variable. - Fixed wrong CONFIG_CMD_DFL doc. - -* Patch by Thomas Viehweger, 09 Jun 2004: - make it possible to remove chpart when there is only one partition - -* Add support for console over UDP (compatible to Ingo Molnar's - netconsole patch under Linux) - -* Patch by Jon Loeliger, 16 Jul 2004: - - support larger DDR memories up to 2G on the PC8540/8560ADS and - STXGP3 boards - - Made MPC8540/8560ADS be 33Mhz PCI by default. - - Removed moldy CONFIG_RAM_AS_FLASH, CFG_FLASH_PORT_WIDTH_16 - and CONFIG_L2_INIT_RAM options. - - Refactor Local Bus initialization out of SDRAM setup. - - Re-implement new version of LBC11/DDR11 errata workarounds. - - Moved board specific PCI init parts out of CPU directory. - - Added TLB entry for PCI-1 IO Memory - - Updated README.mpc85xxads - -* Patch by Sascha Hauer, 28 Jun: - - add generic support for Motorola i.MX architecture - - add support for mx1ads, mx1fs2 and scb9328 boards - -* Patches by Marc Leeman, 23 Jul 2004: - - Add define for the PCI/Memory Buffer Configuration Register - - corrected comments in cpu/mpc824x/cpu_init.c - -* Add support for multiple serial interfaces - (for example to allow modem dial-in / dial-out) - -* Patch by Stefan Roese, 15 Jul 2004: - cpu/ppc4xx/sdram.c rewritten now using get_ram_size() - -* Fix NSCU config; add ethernet wakeup code. - -* Add link for preloader for Motorola ColdFire to README.m68k - -* Patch by Michael Bendzick, 12 Jul 2004: - fix output formatting in drivers/cfi_flash.c - -* Patch by Mark Jonas, 02 Jul 2004: - Fix lowboot (again) on MPC5xxx - -* Patch by Curt Brune, 07 Jul 2004: - relocate exception vectors on arm720t if needed - -* Patch by George G. Davis, 06 Jul 2004: - - update mach-types.h to latest arm.linux.org.uk master list - - Set correct OMAP1610 bi_arch_number for build target - -* Patch by Curt Brune, 06 Jul 2004: - evb4510: add support for timer interrupt; cleanup - -* Patch by Dan Poirot, 06 Jul 2004: - Fix sbc8260 environment variables - -* Cleanup redundand "console" environment variable - -* Patch by Mark Jonas, 05 Jul 2004: - add support for the Total5100's and Total5200's LCD screen - -* Patches by Dan Eisenhut, 01 Jul 2004: - - README fixes. - - Move doc2000.h include to prevent compiler warning on some boards - -* Patch by Mark Jonas, 01 Jul 2004: - Added support for Total5100 and Total5200 (Rev.1 and Rev.2) - MGT5100 and MPC5200 based Freescale platforms. - -* Patch by Philippe Robin, 01 Jul 2004: - Add initialization for Integrator and versatile board files. - -* Patch by Hinko Kocevar, 01 Jun 2004: - Fix VFD FB allocation, add LCD FB allocation on ARM - -* Patch by Martin Krause, 30 Jun 2004: - Add support for TQM5200 board - -* Patch by Martin Krause, 29 Jun 2004: - Add loopw command: infinite write loop on address range - -* Patches by Yasushi Shoji, 29 Jun 2004: - - add empty include/asm-microblaze/processor.h - - add to CREDITS and MAINTAINERS - - add gd initialization - - add MicroBlaze and SUZAKU board to MAKEALL script - - add reset support for SUZAKU - - add flush_cache() for MicroBlaze - - add CFG_FLASH_SIZE to include/configs/suzaku.h since we have fixed - size flash memory on SUZAKU - -* Patch by Prakash Kumar, 27 Jun 2004: - Add support for the PXA250 based Intrinsyc Cerf board. - -* Patch by Yasushi Shoji, 27 Jun 2004: - fix comment in include/common.h - -* Rename SBC8560 into sbc8560 for consistency - -* Patch by Daniel Poirot, 24 Jun 2004: - Add support for Wind River's sbc8240 board - -* Patches by Yasushi Shoji, 26 Jun 2004: - - drivers/serial_xuartlite.c: fix "return 0" in void function - - add microblaze support to mkimage tool - -* Patch by Fred Klatt, 25 Jun 2004: - Add support for WindRiver's sbc8560 board - -* Patch by Nicolas Lacressonniere, 24 Jun 2004 - Small Bugs fixes for "at91rm9200dk" board: - - Timing modifications for SPI DataFlash access - - Fix NAND flash detection bug - -* Patch by Nicolas Lacressonniere, 24 Jun 2004: - Add Support for Flash AT49BV6416 for AT91RM9200DK board - -* Patch by Jon Loeliger, 17 June 2004: - Completion of the 8540ADS/8560ADS updates: - Fix some PCI and Rapid I/O memory maps, - Initialize both TSEC 1 and 2, - Initialize SDRAM - Update MAINTAINER for 85xx boards and README.mpc85xxads - -* Patch by Yuli Barcohen, 16 Jun 2004: - Remove obsolete AdderII port which was superseded by unified - AdderII/Adder87x port - -* Patch by Ladislav Michl, 16 Jun 2004: - Fix gcc-3.3.3 warnings for smc91111.c - -* Patch by Stefan Roese, 02 Jul 2004: - - Fix bug in 405 ethernet driver; allocated data not cleared! - - Fix problem in 405 i2c driver; don't try to print without console! - -* Patch by Paul Ruhland, 11 Jun 2004: - Remove debug code from 'board/lpd7a40x/flash.c' - -* Patch by Andrea Marson, 11 Jun 2004: - Update for PPChameleon board: - - support for SysClk @ 25MHz - - support for Silicon Motion SM712 VGA controller - - some clean ups - -* Patches by Richard Woodruff, 10 Jun 2004: - - fix problems with examples/stubs.c for GCC >= 3.4 - - fix problems with gd initialization - -* Patch by Curt Brune, 17 May 2004: - - Add support for Samsung S3C4510B CPU (ARM7tdmi based SoC) - - Add support for ESPD-Inc. EVB4510 Board - -* Patch by Marc Leeman, 11 May 2004: - Fix for MPC8245 - reading PPC Memory from another device with the - PPC as PCI target device corrupts data due to interenal hardware - buffering. - -* Fix "cls" command when used with splash screen - -* Increase NFS download timeout (now 1 min - 10 sec is to short for a - slow download of a big image) - -* Add "cls" function to MPC823 LCD driver so we can reinitialize the - display even after showing a bitmap - -* Patch by Josef Wagner, 04 Jun 2004: - - DDR Ram support for PM520 (MPC5200) - - support for different flash types (PM520) - - USB / IDE / CF-Card / DiskOnChip support for PM520 - - 8 bit boot rom support for PM520/CE520 - - Add auto SDRAM module detection for MicroSys CPC45 board (MPC8245) - - I2C and RTC support for CPC45 - - support of new flash type (28F160C3T) for CPC45 - -* Fix flash parameters passed to Linux for PPChameleon board - -* Remove eth_init() from lib_arm/board.c; it's done in net.net.c. - -* Patch by Paul Ruhland, 10 Jun 2004: - fix support for Logic SDK-LH7A404 board and clean up the - LH7A404 register macros. - -* Patch by Matthew McClintock, 10 Jun 2004: - Modify code to select correct serial clock on Sandpoint8245 - -* Patch by Robert Schwebel, 10 Jun 2004: - Add support for Intel K3 strata flash. - -* Patch by Thomas Brand, 10 Jun 2004: - Fix "loads" command on DK1S10 board - -* Patch by Yuli Barcohen, 09 Jun 2004: - Add support for 8MB flash SIMM and JFFS2 file system on - Motorola FADS board and its derivatives (MPC86xADS, MPC885ADS). - -* Patch by Yuli Barcohen, 09 Jun 2004: - Add support for Analogue&Micro Adder87x and the older AdderII board. - -* Patch by Ming-Len Wu, 09 Jun 2004: - Add suppport for MC9328 (Dargonball) CPU and Motorola MX1ADS board - -* Patch by Sam Song, 09 Jun 2004: - - Add support for RPXlite_DW board - - Update FLASH driver for 4*AM29DL323DB90VI - - Add option configuration of CFG_ENV_IS_IN_NVRAM on RPXlite_DW board - -* Patch by Mark Jonas, 08 June 2004: - - Make MPC5200 boards evaluate the SVR to print processor name and - version in checkcpu() (cpu/mpc5xxx/cpu.c). - -* Patch by Kai-Uwe Bloem, 06 May 2004: - Fix endianess problem in cramfs code - -* Patch by Tom Armistead, 04 Jun 2004: - Add support for MAX6900 RTC - -* Patches by Ladislav Michl, 03 Jun 2004: - - fix cfi_flash.c on LE systems - - let 'make mrproper' delete u-boot.img as well - - turn printf into debug in cfi_flash.c - -* Patch by Kurt Stremerch, 28 May 2004: - Add support for Exys XSEngine board - -* Patch by Martin Krause, 27 May 2004: - Fix a MPC5xxx I2C timing issue in i2c_probe(). - -* Patch by Leif Lindholm, 27 May 2004: - Fix board_init_f() for dbau1x00 board. - -* Patch by Imre Deak, 26 May 2004: - On OMAP1610 platforms check if booting from RAM(CS0) or flash(CS3). - Set flash base accordingly, and decide whether to do or skip board - specific setup steps. - -* Patch by Josef Baumgartner, 26 May 2004: - Add missing define in include/asm-m68k/global_data.h - -* Patch by Josef Baumgartner, 25 May 2004: - Add missing functions get_ticks() and get_tbclk() in lib_m68k/time.c - -* Patch by Paul Ruhland, 24 May 2004: - fix SDRAM initialization for LPD7A400 board. - -* Patch by Jian Zhang, 20 May 2004: - add support for environment in NAND flash - -* Patch by Yuli Barcohen, 20 May 2004: - Add support for Interphase iSPAN boards. - -* Patches by Paul Ruhland, 17 May 2004: - - Add I/O functions to the smc91111 ethernet driver to support the - Logic LPD7A40x boards. - - Add support for the Logic Zoom LH7A40x based SDK board(s), - specifically the LPD7A400. - -* Patches by Robert Schwebel, 15 May 2004: - - call MAC address reading code also for SMSC91C111; - - make SMSC91C111 timeout configurable, remove duplicate code - - fix get_timer() for PXA - - update doc/README.JFFS2 - - use "bootfile" env variable also for jffs2 - -* Patch by Tolunay Orkun, 14 May 2004: - Add support for Cogent CSB472 board (8MB Flash Rev) - -* Patch by Thomas Viehweger, 14 May 2004: - - flash.h: more flash types added - - immap_8260.h: some bits added (useful for RMII) - - cmd_coninfo.c: typo corrected, printf -> puts - - reduced size by replacing spaces with tab - -* Patch by Robert Schwebel, 13 May 2004: - Add 'imgextract' command: extract one part of a multi file image. - -* Patches by Jon Loeliger, 11 May 2004: - Dynamically handle REV1 and REV2 MPC85xx parts. - (Jon Loeliger, 10-May-2004). - New consistent memory map and Local Access Window across MPC85xx line. - New CCSRBAR at 0xE000_0000 now. - Add RAPID I/O memory map. - New memory map in README.MPC85xxads - (Kumar Gala, 10-May-2004) - Better board and CPU identification on MPC85xx boards at boot. - (Jon Loeliger, 10-May-2004) - SDRAM clock control fixes on MPC8540ADS & MPC8560 boards. - Some configuration options for MPC8540ADS & MPC8560ADS cleaned up. - (Jim Robertson, 10-May-2004) - Rewrite of the MPC85xx Three Speed Ethernet Controller (TSEC) driver. - Supports multiple PHYs. - (Andy Fleming, 10-May-2004) - Some README.MPC85xxads updates. - (Kumar Gala, 10-May-2004) - Copyright updates for "Freescale" - (Andy Fleming, 10-May-2004) - -* Patch by Stephen Williams, 11 May 2004: - Add flash support for ST M29W040B - Reduce JSE specific flash.c to remove dead code. - -* Patch by Markus Pietrek, 04 May 2004: - Fix clear_bss code for ARM systems (all except s3c44b0 which - doesn't clear BSS at all?) - -* Fix "ping" problem on INC-IP board. Strange problem: - Sometimes the store word instruction hangs while writing to one of - the Switch registers, but only if the next instruction is 16-byte - aligned. Moving the instruction into a separate function somehow - makes the problem go away. - -* Patch by Rishi Bhattacharya, 08 May 2004: - Add support for TI OMAP5912 OSK Board - -* Patch by Sam Song May, 07 May 2004: - Fix typo of UPM table for rmu board - -* Patch by Pantelis Antoniou, 05 May 2004: - - Intracom board update. - - Add Codec POST. - -* Add support for the second Ethernet interface for the 'PPChameleon' - board. - -* Patch by Dave Peverley, 30 Apr 2004: - Add support for OMAP730 Perseus2 Development board - -* Patch by Alan J. Luse, 29 Apr 2004: - Fix flash chip-select (OR0) option register setting on FADS boards. - -* Patch by Alan J. Luse, 29 Apr 2004: - Report MII network speed and duplex setting properly when - auto-negotiate is not enabled. - -* Patch by Jarrett Redd, 29 Apr 2004: - Fix hang on reset on Ocotea board due to flash in wrong mode. - -* Patch by Dave Peverley, 29 Apr 2004: - add MAC address detection to smc91111 driver - -* Patch by David Müller, 28 Apr 2004: - fix typo in lib_arm/board.c - -* Patch by Tolunay Orkun, 20 Apr 2004: - - README update: add CONFIG_CSB272 and csb272_config - - add descriptions for some MII/PHY options, CONFIG_I2CFAST, and - i2cfast environment variable - -* Patch by Yuli Barcohen, 19 Apr 2004: - - Rename DUET_ADS to MPC885ADS - - Rename CONFIG_DUET to CONFIG_MPC885_FAMILY - - Rename CONFIG_866_et_al to CONFIG_MPC866_FAMILY - - Clean up FADS family port to use the new defines - -* Fix PCI support on CPC45 board - -* Patch by Scott McNutt, 25 Apr 2004: - Add Nios GDB/JTAG Console support: - - Add stubs to support gdb via JTAG. - - Add support for console over JTAG. - - Minor cleanup. - -* Add support for CATcenter board (based on PPChameleon ME module) - -* Patch by Klaus Heydeck, 12 May 2004: - Using external watchdog for KUP4 boards in mpc8xx/cpu.c; - load_sernum_ethaddr() for KUP4 boards in lib_ppc/board.c; - various changes to KUP4 board specific files - -* Fix minor network problem on MPC5200: need some delay between - resetting the PHY and sending the first packet. Implemented in a - "natural" way by invoking the PHY reset and initialization code - only once after power on vs. each time the interface is brought up. - -* Add some limited support for low-speed devices to SL811 USB controller - (at least "usb reset" now passes successfully and "usb info" displays - correct information) - -* Change init sequence for multiple network interfaces: initialize - on-chip interfaces before external cards. - -* Fix memory leak in the NAND-specific JFFS2 code - -* Fix SL811 USB controller when attached to a USB hub - -* Fix config option spelling in PM520 config file - -* Fix PHY discovery problem in cpu/mpc8xx/fec.c (introduced by - patches by Pantelis Antoniou, 30 Mar 2004) - -* Fix minor NAND JFFS2 related issue - -* Fixes for SL811 USB controller: - - implement workaround for broken memory stick - - improve error handling - -* Increase packet send timeout to 1 ms in cpu/mpc8xx/scc.c to better - cope with congested networks. - -====================================================================== -Changes for U-Boot 1.1.1: -====================================================================== - -* Patch by Travis Sawyer, 23 Apr 2004: - Fix VSC/CIS 8201 phy descrambler interoperability timing due to - errata from Vitesse Semiconductor. - -* Patch by Philippe Robin, 22 Apr 2004: - Fix ethernet configuration for "versatile" board - -* Patch by Kshitij Gupta, 21 Apr 2004: - Remove busy loop and use MPU timer fr usleep() on OMAP1510/1610 boards - -* Patch by Steven Scholz, 24 Feb 2004: - Fix a bug in AT91RM9200 ethernet driver: - The MII interface is now initialized before accessing the PHY. - -* Patch by John Kerl, 19 Apr 2004: - Use U-boot's miiphy.h for PHY register names, rather than - introducing a new header file. - -* Update pci_ids.h from linux-2.4.26 - -* Patch by Masami Komiya, 19 Apr 2004: - Fix problem cause by VLAN function on little endian architecture - without VLAN environment - -* Clean up the TQM8xx_YYMHz configurations; allow to use the same - binary image for all clock frequencies. Implement run-time - optimization of flash access timing based on the actual bus - frequency. - -* Modify KUP4X board configuration to use SL811 driver for USB memory - sticks (including FAT / VFAT filesystem support) - -* Add SL811 Host Controller Interface driver for USB - -* Add CFG_I2C_EEPROM_ADDR_OVERFLOW desription to README - -* Patch by Pantelis Antoniou, 19 Apr 2004: - Allow to use shell style syntax (i. e. ${var} ) with standard parser. - Minor patches for Intracom boards. - -* Patch by Christian Pell, 19 Apr 2004: - cleanup support for CF/IDE on PCMCIA for PXA25X - -* Temporarily disabled John Kerl's extended MII command code because - "miivals.h" is missing - -* Patches by Mark Jonas, 13 Apr 2004: - - Remove CS0 chip select timing setting from cpu/mpc5xxx/start.S - - Add sync instructions to IceCube SDRAM init code - - Move SDRAM chip constants into seperate include files - - Unify DDR and SDR initialization code - - Unify all IceCube (Lite5xxx) target names - -* Patch by John Kerl, 16 Apr 2004: - Enable ranges in mii command, e.g. mii read 0-1f 0 or - mii read 4-7 18-1a. Also add mii dump subcommand for - pretty-printing standard regs 0-5. - -* Patch by Stephen Williams, 16 April 2004: - fix typo in JSE.h; update MAINTAINERS - -* Patch by Matthew S. McClintock, 14 Apr 2004: - fix initdram function for utx8245 board - -* Patch by Markus Pietrek, 14 Apr 2004: - use ATAG_INITRD2 instead of deprecated ATAG_INITRD tag - -* Patch by Reinhard Meyer, 18 Apr 2004: - provide the IDE Reset Function for EMK 5200 boards - -* Patch by Masami Komiya, 12 Apr 2004: - fix pci_hose_write_config_{byte,word}_via_dword problems - -* Patch by Sangmoon Kim, 12 Apr 2004: - Update max RAM size for debris board - -* Patch by Travis Sawyer, 08 Apr 2004: - Add TLB entry for second DIMM slot on ocotea - -* Patch by Masami Komiya, 08 Apr 2004: - add RTL8169 network driver - -* Patch by Dan Malek, 07 Apr 2004: - - Add support for RPC/STx GP3, Motorola 8560 board - - Update 85xx TSEC driver so it searches MII for first available PHY - and uses that one. - - Add functions to support console MII commands. - -* Patch by Tolunay Orkun, 07 Apr 2004: - Move initialization of bi_iic_fast[] - from board_init_f() to board_init_r() - -* Patch by Yasushi Shoji, 07 Apr 2004: - Cleanup microblaze port - -* Patch by Sangmoon Kim, 07 Apr 2004: - Add auto SDRAM module detection for Debris board - -* Patch by Rune Torgersen, 06 Apr 2004: - - Fix some PCI problems on the MPC8266ADS board - - Fix the location of some PCI entries in the immap structure - -* Patch by Yasushi Shoji, 07 Apr 2004: - - add support for microblaze processors - - add support for AtmarkTechno "suzaku" board - -* Configure PPChameleon board to use redundand environment in flash - -* Configure PPChameleon board to use JFFS2 NAND support. - -* Added support for JFFS2 filesystem (read-only) on top of NAND flash - -* Patch by Rune Torgersen, 16 Apr 2004: - LBA48 fixes - -* Patches by Pantelis Antoniou, 16 Apr 2004: - - add support for a new version of an Intracom board and fix - various other things on others. - - add verify support to the crc32 command (define - CONFIG_CRC32_VERIFY to enable it) - - fix FEC driver for MPC8xx systems: - 1. fix compilation problems for boards that use dynamic - allocation of DPRAM - 2. shut down FEC after network transfers - - HUSH parser fixes: - 1. A new test command was added. This is a simplified version of - the one in the bourne shell. - 2. A new exit command was added which terminates the current - executing script. - 3. Fixed handing of $? (exit code of last executed command) - - Fix some compile problems; - add "once" functionality for the netretry variable - -* Patch by George G. Davis, 02 Apr 2004: - add support for Intel Assabet board - -* Patch by Stephen Williams, 01 Apr 2004: - Add support for Picture Elements JSE board - -* Patch by Christian Pell, 01 Apr 2004: - Add CompactFlash support for PXA systems. - -* Patches by Pantelis Antoniou, 30 Mar 2004: - - add auto-complete support to the U-Boot CLI - - add support for NETTA and NETPHONE boards; fix NETVIA board - - add support for the Epson 156x series of graphical displays - (These displays are serial and not suitable for using a normal - framebuffer console on them) - - add infrastructure needed in order to POST any DSPs in a board - - improve and fix various things in the MPC8xx FEC driver: - 1. The new 87x and 88x series of processors have two FECs, - and the new driver supports them both. - 2. Another change in the 87x/88x series is support for - the RMII (Reduced MII) interface. However numerous - changes are needed to make it work since the PHYs - are connected to the same lines. That means that - you have to address them correctly over the MII - interface. - 3. We now correctly match the MII/RMII interface - configuration to what the PHY reports. - - Fix problem when readingthe MII status register. Due to the - internal design of many PHYs you have to read the register - twice. The problem is more apparent in 10Mbit mode. - - add new mode ".jffs2s" for reading from a NAND device: it just - skips over bad blocks. - - add networking support for VLANs (802.1q), and CDP (Cisco - Discovery Protocol) - - some minor patches / cleanup - -* Patch by Yuli Barcohen, 28 Mar 2004: - - Add support for MPC8272 family including MPC8247/8248/8271/8272 - - Add support for MPC8272ADS evaluation board (another flavour of MPC8260ADS) - - Change configuration method for MPC8260ADS family - -* add startup code to clear the BSS of standalone applications - -* Fix if / elif handling bug in HUSH shell - -====================================================================== -Changes for U-Boot 1.1.0: -====================================================================== - -* Patch by Mark Jonas: Remove config.tmp files only when - unconfiguring the board - -* Adapt RMU board for bigger flash memory - -* Patch by Klaus Heydeck, 13 Mar 2003: - Add support for KUP4X Board - -* Patch by Pavel Bartusek, 21 Mar 2004 - Add Reiserfs support - -* Patch by Hinko Kocevar, 20 Mar 2004 - - Add auto-release for SMSC LAN91c111 driver - - Add save/restore of PTR and PNR regs as suggested in datasheet - -* Patch by Stephen Williams, 19 March 2004 - Increase speed of sector reads from SystemACE, - shorten poll timeout and remove a useless reset - -* Patch by Tolunay Orkun, 19 Mar 2004: - Make GigE PHY 1000Mbps Speed/Duplex detection conditional - (CONFIG_PHY_GIGE) - -* Patch by Brad Kemp, 18 Mar 2004: - prevent machine checks during a PCI scan - -* Patch by Pierre Aubert, 18 Mar 2004: - Fix string cleaning in IDE identification - -* Patch by Pierre Aubert, 18 Mar 2004: - - Unify video mode handling for Chips & Technologies 69000 Video - chip and Silicon Motion SMI 712/710/810 Video chip - - Add selection of the video output (CRT or LCD) via 'videoout' - environment variable for the Silicon Motion - - README update - -* Patch by Pierre Aubert, 18 Mar 2004: - include/common.h typo fix - -* Patches by Tolunay Orkun, 17 Mar 2004: - - Add support for bd->bi_iic_fast[] initialization via environment - variable "i2cfast" (CONFIG_I2CFAST) - - Add "i2cfast" u-boot environment variable support for csb272 - -* Patch by Carl Riechers, 17 Mar 2004: - Ignore '\0' characters in console input for use with telnet and - telco pads. - -* Patch by Leon Kukovec, 17 Mar 2004: - typo fix for strswab prototype #ifdef - -* Patches by Thomas Viehweger, 16 Mar 2004: - - show PCI clock frequency on MPC8260 systems - - add FCC_PSMR_RMII flag for HiP7 processors - - in do_jffs2_fsload(), take load address from load_addr if not set - explicit, update load_addr otherwise - - replaced printf by putc/puts when no formatting is needed - (smaller code size, faster execution) - -* Patch by Phillippe Robin, 16 Mar 2004: - avoid dereferencing NULL pointer in lib_arm/armlinux.c - -* Patch by Stephen Williams, 15 Mar 2004: - Fix CONFIG_SERIAL_SOFTWARE_FIFO documentation - -* Patch by Tolunay Orkun, 15 Mar 2004: - Initialize bi_opbfreq to real OPB frequency via get_OPB_freq() - -* Patch by Travis Sawyer, 15 Mar 2004: - Update CREDITS & MAINTAINERS files for PPC440GX & Ocotea port - -* Add start-up delay to make sure power has stabilized before - attempting to switch on USB on SX1 board. - -* Patch by Josef Wagner, 18 Mar 2004: - - Add support for MicroSys XM250 board (PXA255) - - Add support for MicroSys PM828 board (MPC8280) - - Add support for 32 MB Flash on PM825/826 - - new SDRAM refresh rate for PM825/PM826 - - added support for MicroSys PM520 (MPC5200) - - replaced Query by Identify command in CPU86/flash.c - to support 28F160F3B - -* Fix wrap around problem with udelay() on ARM920T - -* Add support for Macronix flash on TRAB board - -* Patch by Pierre Aubert, 15 Mar 2004: - Fix buffer overflow in IDE identification - -* Fix power-off of LCD for out-of-band temperatures on LWMON board - -* Remove redundand #define in IceCube.h - -* Patch by Steven Scholz, 27 Feb 2004: - - Adding get_ticks() and get_tbclk() for AT91RM9200 - - Many white space fixes in cpu/at91rm9200/interrupts.c - -* Patches by Steven Scholz, 20 Feb 2004: - some cleanup in AT91RM9200 related code - -* Patches by Travis Sawyer, 12 Mar 2004: - - Fix Gigabit Ethernet support for 440GX - - Add Gigabit Ethernet Support to MII PHY utilities - -* Patch by Brad Kemp, 12 Mar 2004: - Fixes for drivers/cfi_flash.c: - - Better support for x8/x16 implementations - - Added failure for AMD chips attempting to use CFG_FLASH_USE_BUFFER_WRITE - - Added defines for AMD command and address constants - -* Patch by Leon Kukovec, 12 Mar 2004: - Fix get_dentfromdir() to correctly handle deleted dentries - -* Patch by George G. Davis, 11 Mar 2004: - Remove hard coded network settings in TI OMAP1610 H2 - default board config - -* Patch by George G. Davis, 11 Mar 2004: - add support for ADS GraphicsClient+ board. - -* Patch by Pierre Aubert, 11 Mar 2004: - - add bitmap command and splash screen support in cfb console - - add [optional] origin in the bitmap display command - -* Patch by Travis Sawyer, 11 Mar 2004: - Fix ocotea board early init interrupt setup. - -* Patch by Thomas Viehweger, 11 Mar 2004: - Remove redundand code; add PCI-specific bits to include/mpc8260.h - -* Patch by Stephan Linz, 09 Mar 2004 - - Add support for the SSV ADNP/ESC1 (Nios Softcore) - -* Patch by George G. Davis, 9 Mar 2004: - fix recent build failure for SA1100 target - -* Patch by Travis Sawyer, 09 Mar 2004: - Support native interrupt mode for the IBM440GX. - Previously it was running in 440GP compatibility mode. - -* Patch by Philippe Robin, 09 Mar 2004: - Added ARM Integrator AP, CP and Versatile PB926EJ-S Reference - Platform support. - -* Patch by Masami Komiya, 08 Mar 2004: - Don't overwrite server IP address or boot file name - when the boot server does not return values - -* Patch by Tolunay Orkun, 5 Mar 2004: - Removed compile time restriction on CFG_I2C_SPEED for DS1338 RTC - -* Patch by Tolunay Orkun, 5 Mar 2004: - Fix early board initialization for Cogent CSB272 board - -* Patch by Ed Okerson, 3 Mar 2004: - fix CFI flash writes for little endian systems - -* Patch by Reinhard Meyer, 01 Mar 2004: - generalize USB and IDE support for MPC5200 with according - changes to IceCube.h and TOP5200.h - add Am29LV256 256 MBit FLASH support for TOP5200 boards - add info about USB and IDE to README - -* Patch by Yuli Barcohen, 4 Mar 2004: - Fix problems with GCC 3.3.x which changed handling of global - variables explicitly initialized to zero (now in .bss instead of - .data as before). - -* Patch by Leon Kukovec, 02 Mar 2004: - add strswab() to fix IDE LBA capacity, firmware and model numbers - on little endian machines - -* Patch by Masami Komiya, 02 Mar 2004: - - Remove get_ticks() from NFS code - - Add verification of RPC transaction ID - -* Patch by Pierre Aubert, 02 Mar 2004: - cleanup for IDE and USB drivers for MPC5200 - -* Patch by Travis Sawyer, 01 Mar 2004: - Ocotea: - - Add IBM PPC440GX Ref Platform support (Ocotea) - Original code by Paul Reynolds - Adapted to U-Boot and 440GX port - 440gx_enet.c: - - Add gracious handling of all Ethernet Pin Selections for 440GX - - Add RGMII selection for Cicada CIS8201 Gigabit PHY - ppc440.h: - - Add needed bit definitions - - Fix formatting - -* Patch by Carl Riechers, 1 Mar 2004: - Add PPC440GX prbdv0 divider to fix memory clock calculation. - -* Patch by Stephan Linz, 27 Feb 2004 - - avoid problems for targets without NFS download support - -* Patch by Rune Torgersen, 27 Feb 2004: - - Added LBA48 support (CONFIG_LBA48 & CFG_64BIT_LBA) - - Added support for 64bit printing in vsprintf (CFG_64BIT_VSPRINTF) - - Added support for 64bit strtoul (CFG_64BIT_STRTOUL) - -* Patch by Masami Komiya, 27 Feb 2004: - Fix rarpboot: add autoload by NFS - -* Patch by Dan Eisenhut, 26 Feb 2004: - fix flash_write return value in saveenv - -* Patch by Stephan Linz, 11 Dec 2003 - expand config.mk to avoid trigraph warnings on NIOS - -* Rename "BMS2003" board into "HMI10" - -* SX1 patches: use "serial#" for USB serial #; use redundand environment - storage; auto-set console on USB port (using preboot command) - -* Add support for SX1 mobile phone; add support for USB-based console - (enable with "setenv stdout usbtty; setenv stdin usbtty") - -* Fix LOWBOOT configuration for MPC5200 with DDR memory - -* Fix SDRAM timings for LITE5200 / IceCube board - -* Handle Auti-MDIX / connection status for INCA-IP - -* Fix USB problems when attempting to read 0 bytes - -* Patch by Travis Sawyer, 26 Feb 2004: - Fix broken compile for XPEDITE1K target. - -* Patch by Stephan Linz, 26 Feb 2004: - Bug fix for NFS code on NIOS targets - -* Patch by Stephen Williams, 26 Feb 2004: - Break up SystemACE reads of large block counts - -* Patch by Pierre Aubert, 26 Feb 2004 - add IDE support for MPC5200 - -* Patch by Masami Komiya, 26 Feb 2004: - add autoload via NFS - -* Patch by Stephen Williams - Use of CONFIG_SERIAL_SOFTWARE_FIFO in board.c consistent with uses - elsewhere in the source. - -* Patch by Steven Scholz, 25 Feb 2004: - - Timeouts in FPGA code should be based on CFG_HZ - - Minor cleanup in code for Altera FPGA ACEX1K - -* Patch by Steven Scholz, 25 Feb 2004: - Changed "Directory Hierarchy" section in README - -* Patch by Masami Komiya, 25 Feb 2004: - Reduce copy count in nfs_read_reply() of NFS code - -* Patch by Markus Pietrek, 24 Feb 2004: - NS9750 DevBoard added - -* Patch by Pierre Aubert, 24 Feb 2004 - add USB support for MPC5200 - -* Patch by Steven Scholz, 24 Feb 2004: - - fix MII commands to use values from last command - -* Patch by Torsten Demke, 24 Feb 2004: - Add support for the eXalion platform (SPSW-8240, F-30, F-300) - -* Patch by Rahul Shanbhag, 19 Feb 2004: - Fixes for for OMAP1610 board: - - shift some IRQ specific code to platform.S file - - remove duplicatewatchdog reset code from start.S - -* Make Auto-MDIX Support configurable on INCA-IP board - -* Fix license for mkimage tool - -* Patch by Masami Komiya, 24 Feb 2004: - Update NetBootFileXferSize in NFS code - -* Patch by Scott McNutt, 24 Feb 2004: - fix packet length in NFS code - -* Patch by Masami Komiy, 22 Feb 2004: - Add support for NFS for file download - -* Patch by Andrea Scian, 17 Feb 2004: - Add support for S3C44B0 processor and DAVE B2 board - -* Patch by Steven Scholz, 20 Feb 2004: - - Add support for MII commands on AT91RM9200 boards - - some cleanup in AT91RM9200 ethernet code - -* Patch by Peter Ryser, 20 Feb 2004: - Add support for the Xilinx ML300 platform - -* Patch by Stephan Linz, 17 Feb 2004: - Fix watchdog support for NIOS - -* Patch by Josh Fryman, 16 Feb 2004: - Fix byte-swapping for cfi_flash.c for different bus widths - -* Patch by Jon Diekema, 14 Jeb 2004: - Remove duplicate "FPGA Support" notes from the README file - -* Patches by Reinhard Meyer, 14 Feb 2004: - - update board/emk tree; use common flash driver - - Corrected tested bits in machine check exception in cpu/mpc5xxx/traps.c - [adapted for other PPC CPUs -- wd] - - Added support for the M48T08 on the EVAL5200 board in rtc/mk48t59.c - -* Patch by Jon Diekema, 13 Feb 2004: - Call show_boot_progress() whenever POST "FAILED" is printed. - -* Patch by Nishant Kamat, 13 Feb 2004: - Add support for TI OMAP1610 H2 Board - Fixes for cpu/arm926ejs/interrupt.c - (based on Richard Woodruff's patch for arm925, 16 Oct 03) - Fix for a timer bug in OMAP1610 Innovator - Add support for CS0 (ROM)/CS3 (Flash) boot in OMAP1610 Innovator and H2 - -* Patches by Stephan Linz, 12 Feb 2004: - - add support for NIOS timer with variable period preload counter value - - prepare POST framework support for NIOS targets - -* Patch by Denis Peter, 11 Feb 2004: - add POST support for the MIP405 board - -* Patch by Laurent Mohin, 10 Feb 2004: - Fix buffer overflow in common/usb.c - -* Patch by Tolunay Orkun, 10 Feb 2004: - Add support for Cogent CSB272 board - -* Patch by Thomas Elste, 10 Feb 2004: - Add support for NET+50 CPU and ModNET50 board - -* Patch by Sam Song, 10 Feb 2004: - Fix typos in cfi_flash.c - -* Patch by Leon Kukovec, 10 Feb 2004 - Fixed long dir entry slot id calculation in get_vfatname - -* Patch by Robin Gilks, 10 Feb 2004: - add "itest" command (operators: -eq, -ne, -lt, -gt, -le, -ge, ==, - !=, <>, <, >, <=, >=) - -* Fix problem with side effects in macros in include/usb.h - -* Patch by David Benson, 13 Nov 2003: - bug 841358 - fix TFTP download size limit - -* Fixing bug 850768: - improper flush_cache() in load_serial() - -* Fixing bug 834943: - MPC8540 - missing volatile declarations - -* Patch by Stephen Williams, 09 Feb 2004: - Add support for Xilinx SystemACE chip: - - New files common/cmd_ace.c and include/systemace.h - - Hook systemace support into cmd_fat and the partition manager - -* Patch by Travis Sawyer, 09 Feb 2004: - Add bi_opbfreq & bi_iic_fast to 440GX bd_info as needed for Linux - -* Patch by Travis Sawyer, 09 Feb 2004: - o 440GX: - - Fix PCI Indirect access for type 1 config cycles with ppc440. - - Add phymode for 440 enet - - fix pci pre init - o XPedite1K: - - Change board_pre_init to board_early_init_f - - Add user flash to bus controller setup - - Fix pci pre init - - Fix is_pci_host to check GPIO for monarch bit - - Force xpedite1k to pci conventional mode (via #define option) - -* Patch by Brad Kemp, 4 Feb 2004: - - handle the machine check that is generated during the PCI scans - on 82xx processors. - - define the registers used in the IMMR by the PCI subsystem. - -* Patch by Pierre Aubert, 03 Feb 2004: - cpu/mpc5xxx/start.S: copy MBAR into SPR311 - -* Patch by Jeff Angielski, 03 Feb 2004: - Fix copy & paste error in cpu/mpc8260/pci.c - -* Patch by Reinhard Meyer, 24 Jan 2004: - Fix typo in cpu/mpc5xxx/pci_mpc5200.c - -* Add Auto-MDIX support for INCA-IP - -* Some code cleanup - -* Patch by Josef Baumgartner, 10 Feb 2004: - Fixes for ColdFire port - -* Patch by Brad Kemp, 11 Feb 2004: - Fix CFI flash driver problems - -* Make sure to use a bus clock divider of 2 only when running TQM8xxM - modules at CPU clock frequencies above 66 MHz. - -* Optimize flash programming speed for LWMON (by another 100% :-) - -* Patch by Jian Zhang, 3 Feb 2004: - - Changed the incorrect FAT12BUFSIZE - - data_begin in fsdata can be negative. Changed it to be short. - -* Patches by Stephan Linz, 30 Jan 2004: - 1: - board/altera/common/flash.c:flash_erase(): - o allow interrupts befor get_timer() call - o check-up each erased sector and avoid unexpected timeouts - - board/altera/dk1c20/dk1s10.c:board_early_init_f(): - o enclose sevenseg_set() in cpp condition - - remove the ASMI configuration for DK1S10_standard_32 (never present) - - fix some typed in mistakes in the NIOS documentation - 2: - split DK1C20 configuration into several header files: - o two new files for each NIOS CPU description - o U-Boot related part is remaining in DK1C20.h - 3: - split DK1S10 configuration into several header files: - o two new files for each NIOS CPU description - o U-Boot related part is remaining in DK1S10.h - 4: - Add support for the Microtronix Linux Development Kit - NIOS CPU configuration at the Altera Nios Development Kit, - Stratix Edition (DK-1S10) - 5: - Add documentation for the Altera Nios Development Kit, - Stratix Edition (DK-1S10) - 6: - Add support for the Nios Serial Peripharel Interface (SPI) - (master only) - 7: - Add support for the common U-Boot SPI framework at - RTC driver DS1306 - -* Patch by Rahul Shanbhag, 28 Jan 2004: - Fix flash protection/locking handling for OMAP1610 innovator board. - -* Patch by Rolf Peukert, 28 Jan 2004: - fix flash write problems on CSB226 board (write with 32 bit bus width) - -* Patches by Mark Jonas, 16 Jan 2004: - - fix rounding error when calculating baudrates for MPC5200 PSCs - - make sure CFG_RAMBOOT and CFG_LOWBOOT are not enabled at the same - time which is not supported - -* Patch by Yuli Barcohen, 26 Jan 2004: - Allow bzip2 compression for small memory footprint boards - -* Patch by Brad Kemp, 21 Jan 2004: - Add support for CFI flash driver for both the Intel and the AMD - command sets. - -* Patch by Travis Sawyer, 20 Jan 2004: - Fix pci bridge auto enumeration of sibling p2p bridges. - -* Patch by Tolunay Orkun, 12 Jan 2004: - Add some delays as needed for Intel LXT971A PHY support - -* Patches by Stephan Linz, 09 Jan 2004: - - avoid warning: unused variable `piop' in board/altera/common/sevenseg.c - - make DK1C20 board configuration related to ASMI conform to - documentation - -* Patch by Anders Larsen, 09 Jan 2004: - - ARM memory layout fixes: the abort-stack is now set up in the - correct RAM area, and the BSS is zeroed out as it should be. - - Furthermore, the magic variables 'armboot_end' and 'armboot_end_data' - of the linker scripts are replaced by '__bss_start' and '_end', - resp., which is a further step to eliminate unnecessary differences - between the implementation of the CPU architectures. - -* Patch by liang a lei, 9 Jan 2004: - Fix Intel 28F128J3 ID in include/flash.h - -* Patch by Masami Komiya, 09 Jan 2004: - add support for TB0229 board (NEC VR4131 MIPS processor) - -* Patch by Leon Kukovec, 12 Dec 2003: - changed extern __inline__ into static __inline__ in - include/linux/byteorder/swab.h - -* Patch by Travis Sawyer, 30 Dec 2003: - Add support for IBM PPC440GX. Multiple EMAC Ethernet devices, - select MDI port based on enabled EMAC device. - Add support for XES Inc XPedite1000 440GX - base PrPMC board. - -* Patch by Wolter Kamphuis, 15 Dec 2003: - made CONFIG_SILENT_CONSOLE usable on all architectures - -* Disable date command on TQM866M - there is no RTC on MPC866 - -* Fix variable CPU clock for MPC859/866 systems for low CPU clocks - -* Implement adaptive SDRAM timing configuration based on actual CPU - clock frequency for INCA-IP; fix problem with board hanging when - switching from 150MHz to 100MHz - -* Add PCMCIA CS support for BMS2003 board - -* Add variable CPU clock for MPC859/866 systems (so far only TQM866M): - see doc/README.MPC866 for details; - implement workaround for "SIU4" and "SIU9" silicon bugs on MPC866; - calculate CPU clock frequency from PLL register values. - -* Add support for 128 MB RAM on TQM8xxL/M modules - -* Fix PS/2 keyboard problem caused by statically initialized variable - pointing to a location in flash - -* Fix INCA-IP clock calculation: 400/3 = 133.3 MHz, not 130. - -* The PS/2 mux on the BMS2003 board needs 450 ms after power on - before we can access it; add delay in case we are faster (with no - CF card inserted) - -* Cleanup of some init functions - -* Make sure SCC Ethernet is always stopped by the time we boot Linux - to avoid Linux crashes by early packets coming in. - -* Accelerate flash accesses on LWMON board by using buffered writes - -* Fix typo in Makefile; - fix problem with PARTNUM detection - -* Patch by Reinhard Meyer, 09 Jan 2004: - - add RTC support for MPC5200 based boards (requires RTC_XTAL) - -* Add support for IDE LED on BMS2003 board - (exclusive with status LED!) - -* Add support for PS/2 keyboard (used with PS/2 multiplexor on - BMS2003 board) - -* Patches by Reinhard Meyer, 4 Jan 2004 + 7 Jan 2004: - Add common files for "emk" boards - -* Add a common get_ram_size() function and modify the the - board-specific files to invoke that common implementation. - -====================================================================== -Changes for U-Boot 1.0.1: -====================================================================== - -* Set default clock for INCA-IP to 150 MHz - -* Make BMS2003 use a separate config file to avoid #ifdef mess; - add I2C support; add support for DS1337 RTC - -* Add CompactFlash support for BMS2003 board - -* Add support for status LED on BMS2003 board - -* Patch by Scott McNutt, 02 Jan 2004: - Add support for the Nios Active Serial Memory Interface (ASMI) - on Cyclone devices - -* Patch by Andrea Marson, 16 Dec 2003: - Add support for the PPChameleon ME and HI modules - -* Patch by Yuli Barcohen, 22 Dec 2003: - Add support for Motorola DUET ADS board (MPC87x/88x) - -* Patch by Robert Schwebel, 15 Dec 2003: - add support for cramfs (uses JFFS2 command interface) - -* Patches by Stephan Linz, 11 Dec 2003: - - more documentation for NIOS port - - new struct nios_pio_t, struct nios_spi_t - - Reconfiguration for NIOS Development Kit DK1C20: - o move board related code from board/dk1c20 - to board/altera/dk1c20 - o create a new common source path board/altera/common - and move generic flash access stuff into it - o change/expand configuration file DK1C20.h - - Add support for NIOS Development Kit DK1S10 - - Add status LED support for NIOS systems - - Add dual 7-segment LED support for Altera NIOS DevKits - -* Patch by Ronen Shitrit, 10 Dec 2003: - Add support for the Marvell DB64360 / DB64460 development boards - -* Patch by Detlev Zundel, 10 Dec 2003: - fix dependency problem in examples/Makefile - -* Patch by Denis Peter, 8 Dec 2003 - - add support for the PATI board (MPC555) - - add SPI support for the MPC5xx - -* Patch by Anders Larsen, 08 Dec 2003: - add configuration options CONFIG_SERIAL_TAG and CONFIG_REVISION_TAG - to pass ATAG_SERIAL and ATAG_REVISION, resp., to the ARM target; - cleanup some redundand #defines - -* Patch by André Schwarz, 8 Dec 2003: - fixes for Davicom DM9102A Ethernet Chip (#define CONFIG_TULIP_FIX_DAVICOM): - - TX and RX deskriptors must be quad-word aligned - - does not work with only one TX deskriptor - - standard reset method does not work - -* Patch by Masami Komiya, 08 Dec 2003: - add RTL8139 ethernet driver - -* Patches by Ed Okerson, 07 Dec 2003: - - fix ethernet for the AU1x00 processors in little-endian mode. - - extend memsetup.S for the AU1x00 processors in BE and LE modes - -* Minor code cleanup (coding style) - -* Patch by Reinhard Meyer, 30 Dec 2003: - - cpu/mpc5xxx/fec.c: added CONFIG_PHY_ADDR, added CONFIG_PHY_TYPE, - - added CONFIG_PHY_ADDR to include/configs/IceCube.h, - - turned debug print of PHY registers into a function (called in two places) - - added support for EMK MPC5200 based modules - -* Fix MPC8xx PLPRCR_MFD_SHIFT typo - -* Add support for TQM866M modules - -* Fixes for TQM855M with 4 MB flash (Am29DL163 = _no_ mirror bit flash) - -* Fix a few compiler warnings - -* Patch by Reinhard Meyer, 28 Dec 2003: - Add initial support for TOP5200 board - -* Make CPU clock on ICA-IP board controllable by a "cpuclk" - environment variable which can set to "100", "133", or "150". The - CPU clock will be configured accordingly upon next reboot. Other - values are ignored. In case of an invalid or undefined "cpuclk" - value, the compile-time default CPU clock speed will be used. - -* Enable Quad-UART on BMS2003 board (initialize the PCMCIA memory - window that is used to access the UART registers by the Linux driver) - -* Patch by Reinhard Meyer, 20 Dec 2003: - Fix clock calculation for the MPC5200 for higher clock frequencies - (above 2**32 / 10 = 429.5 MHz). - -* Fix CONFIG_PLL_PCI_TO_MEM_MULTIPLIER divider error in SP8240 configuration - -* Fix IceCube CLKIN configuration (it's 33.000000MHz) - -* Add new configuration for IceCube board with DDR memory - -* Update TRAB memory configurations - -* Add JFFS2 support for INCA-IP board - -* Patch by Bill Hargen, 09 Dec 2003: - - BUBINGA405EP: changed flash driver to protect top sector containing - first instruction. - - BUBINGA405EP: configured "eeprom" command to access boot config EEPROM. - - BUBINGA405EP: fixed PLL init (init chip selects before FPGA/NVRAM access). - - 405EP: fixed SPD-based SDRAM init (only use banks 0 and 1). - - 405EP: added/fixed support for "reginfo" command. - - 4xx: removed spurious MII error messages on "mii info" command. - -* Patch by Bernhard Kuhn, 28 Nov 2003: - add support for ColdFire CPU - add support for Motorola M5272C3 and M5282EVB boards - -* Patch by Pierre Aubert, 24 Nov 2003: - - add a return value for the fpga command - - add ide_preinit() function called in ide_init if CONFIG_IDE_PREINIT - is defined. If ide_preinit fails, ide_init is aborted. - - fix an endianess problem in fat.h - -* Patch by Wolter Kamphuis, 05 Dec 2003: - Add support for SNMC's QS850/QS823/QS860T boards - -* Patch by Yuli Barcohen, 3 Dec 2003: - "revive" U-Boot support for old Motorola MPC860ADS board - -* Patch by Cam(ilo?), 03 Dec 2003: - make examples build even with broken Montavista objcopy - -* Patch by Pavel Bartusek, 27 Nov 2003: - fix conversion problem with "bootretry" evironment variable - -* Patch by Andre Schwarz, 24 Nov 2003: - add support for mvblue (mvBlueLYNX and mvBlueBOX) boards - -* Patch by Pavel Bartusek, 21 Nov 2003: - set ZMII bridge speed on 440 - -* Patch by Anders Larsen, 17 Nov 2003: - Fix mismatched #ifdef / #endif in include/asm-arm/arch-pxa/hardware.h - -* Patches by David Müller, 14 Nov 2003: - - board/mpl/common/common_util.c - * implement support for BZIP2 compressed images - * various cleanups (printf -> puts, ...) - - board/mpl/common/flash.c - * report correct errors to upper layers - * check the erase fail and VPP low bits in status reg - - board/mpl/vcma9/cmd_vcma9.c - - board/mpl/vcma9/flash.c - * various cleanups (printf -> puts, ...) - - common/cmd_usb.c - * fix typo in comment - - cpu/arm920t/usb_ohci.c - * support for S3C2410 is missing in #if line - - drivers/cs8900.c - * reinit some registers in case of error (cable missing, ...) - - fs/fat/fat.c - * support for USB/MMC devices is missing in #if line - - include/configs/MIP405.h - - include/configs/PIP405.h - * enable BZIP2 support - * enlarge malloc space to 1MiB because of BZIP2 support - - include/configs/VCMA9.h - * enable BZIP2 support - * enlarge malloc space to 1MiB because of BZIP2 support - * enable USB support - - lib_arm/armlinux.c - * change calling convention of ARM Linux kernel as - described on http://www.arm.linux.org.uk/developer/booting.php - -* Patch by Thomas Lange, 14 Nov 2003: - Split dbau1x00 into dbau1000, dbau1100 and dbau1500 configs to - support all these AMD boards. - -* Patch by Thomas Lange, 14 Nov 2003: - Workaround for mips au1x00 physical memory accesses (the au1x00 - uses a 36 bit bus internally and cannot access physical memory - directly. Use the uncached SDRAM address instead of the physical - one.) - -* Patch by Xue Ligong (Joe), 13 Nov 2003: - add Realtek 8019 ethernet driver - -* Patch by Yuli Barcohen, 13 Nov 2003: - MPC826xADS/PQ2FADS cleanup - -* Patch by Anders Larsen, 12 Nov 2003: - Update README to mark the PORTIO commands non-standard - -* Patch by Nicolas Lacressonnière, 12 Nov 2003: - update for for Atmel AT91RM9200DK development kit: - - support for environment variables in DataFlash - - Atmel DataFlash AT45DB1282 support - -* Patch by Jeff Carr, 11 Nov 2003: - add support for new version of 8270 processors - -* Patches by George G. Davis, 05 Nov 2003: - - only pass the ARM linux initrd tag to the kernel when an initrd - is actually present - - update omap1510inn configuration file - -* Patches by Stephan Linz, 3 Nov 2003: - - more endianess fixes for LAN91C111 driver - - CFG_HZ configuration patch for NIOS Cyclone board - -* Patch by Stephan Linz, 28 Oct 2003: - fix PHY_INT_REG vs. PHY_MASK_REG bug in drivers/smc91111.c - -* Patch by Steven Scholz, 20 Oct 2003: - - make "mii info " show infor for PHY at "addr" only - - Endian fix for miiphy_info() - -* Patch by Gleb Natapov, 19 Sep 2003: - Move most of the timer interrupt related PPC code to ppc_lib/interrupts.c - -* Patch by Anders Larsen, 17 Sep 2003: - Bring ARM memory layout in sync with the documentation: - stack and malloc-heap are now located _below_ the U-Boot code - -* Accelerate booting on TRAB board: read and check autoupdate image - headers first instead of always reading the whole images. - -* Fix type in MPC5XXX code (pointed out by Victor Wren) - -* Enabled password check on RMU board - -* Fix configuration problem with IceCube in LOWBOOT configuration: - envrionment got embedded, corrupting the image layout. - -* Fix NEC display names (it's 6440 [for 640x480], not 6640). - -* Added BMS2003 board - add support for NEC NL6448BC33-54. 10.4", 640x480 TFT display - -* Fix flash driver for TRAB board (must use Unlock Bypass Reset - command to exit Unlock Bypass Mode); adjust timings for flash, SRAM - and CPLD - -* Use "-fPIC" instead of "-mrelocatable" to prevent problems with - recent tools - -* Add checksum verification to 'imls' command - -* Add bd_info fields needed for 4xx Linux I2C driver - -* Patch by Martin Krause, 4 Nov. 2003: - Fix error in cmd_vfd.c (TRAB board: "vfd /1" shows now only one Bitmap) - -* Print used network interface when CONFIG_NET_MULTI is set - -* Patch by Bernhard Kuhn, 28 Oct 2003: - Add low boot support for MPC5200 - -* Fix problem with dual PCMCIA support (NSCU) - -* Fix MPC5200 I2C initialization function - -====================================================================== -Changes for U-Boot 1.0.0: -====================================================================== - -* Fix parameter passing to standalone images with bootm command - -* Patch by Kyle Harris, 30 Oct 2003: - Fix build errors for ixdp425 board - -* Patch by David M. Horn, 29 Oct 2003: - Fixes to build under CYGWIN - -* Get IceCube MGT5100 working (again) - -* Fix problems in memory test on some boards (which was not - non-destructive as intended) - -* Patch by Gary Jennejohn, 28 Oct 2003: - Change fs/fat/fat.c to put I/O buffers in BSS instead on the stack - to prevent stack overflow on ARM systems - -* Patch by Stephan Linz, 28 Oct 2003: - fix init sequence error for NIOS port - -* Allow lowercase spelling for IceCube_5200; support MPC5200LITE name - -* Add CONFIG_VERSION_VARIABLE to TRAB configuration - -* Patch by Xiao Xianghua, 23 Oct 2003: - small patch for mpc85xx - -* Fix small problem in MPC5200 I2C driver - -* Fix FCC3 support on ATC board - -* Correct header printing for multi-image files in do_bootm() - -* Make CONFIG_SILENT_CONSOLE work with CONFIG_AUTOBOOT_KEYED - -* Fix PCI problems on PPChameleon board - -* Patch by Steven Scholz, 18 Oct 2003: - Fix AT91RM9200 ethernet driver - -* Patch by Nye Liu, 17 Oct 2003: - Fix typo in include/mpc8xx.h - -* Patch by Richard Woodruff, 16 Oct 03: - Fixes for cpu/arm925/interrupt.c - - Initialize timestamp & lastdec vars. - - fix timestamp overflows. - - fix lastdec overflow. - - smarter normalization to allow udelay() below 1ms to work. - -* Patch by Scott McNutt, 16 Oct - add networking support for the Altera Nios Development Kit, - Cyclone Edition (DK-1C20) - -* Patch by Jon Diekema, 14 Oct 2003: - add hint about doc/README.silent to README file - -* Add CompactFlash support for NSCU - -* Fix PCI problems on PPChameleonEVB - -* TRAB auto-update: Base decision if we have to strip the image - header on image type as encoded in the header - (include image type patch by Martin Krause, 17 Oct 2003) - -* Patches by Xianghua Xiao, 15 Oct 2003: - - - Added Motorola CPU 8540/8560 support (cpu/85xx) - - Added Motorola MPC8540ADS board support (board/mpc8540ads) - - Added Motorola MPC8560ADS board support (board/mpc8560ads) - -* Fix flash timings on TRAB board - -* Make sure HUSH is initialized for running auto-update scripts - -* Make 5200 reset command _really_ reset the board, without running - any other code after it - -* Fix errors with flash erase when range spans across banks - that are mapped in reverse order - -* Fix flash mapping and display on P3G4 board - -* Patch by Kyle Harris, 15 Jul 2003: - - add support for Intel IXP425 CPU - - add support for IXDP425 eval board - -* Added config option CONFIG_SILENT_CONSOLE. See doc/README.silent - for more information - -* Patch by Steven Scholz, 10 Oct 2003 - - Add support for Altera FPGA ACEX1K - -* Patches by Thomas Lange, 09 Oct 2003: - - fix cmd_ide.c for non ppc boards (read/write functions did not - add ATA base address) - - fix for shannon board - - #ifdef CONFIG_IDE_8xx_DIRECT some otherwise unused code - - Endian swap ATA identity for all big endian CPUs, not just PPC - - MIPS only: New option CONFIG_MEMSIZE_IN_BYTES for passing memsize - args to linux - - add support for dbau1x00 board (MIPS32) - -* Patch by Sangmoon Kim, 07 Oct 2003: - add support for debris board - -* Patch by Martin Krause, 09 Oct 2003: - Fixes for TRAB board - - /board/trab/rs485.c: correct baudrate - - /board/trab/cmd_trab.c: bug fix for problem with timer overflow in - udelay(); fix some timing problems with adc controller - - /board/trab/trab_fkt.c: add new commands: gain, eeprom and power; - modify commands: touch and buzzer - -* Disable CONFIG_SUPPORT_VFAT when used with CONFIG_AUTO_UPDATE - (quick & dirty workaround for rogue pointer problem in get_vfatname()); - Use direct function calls for auto_update instead of hush commands - -* Patch by Scott McNutt, 04 Oct 2003: - - add support for Altera Nios-32 CPU - - add support for Nios Cyclone Development Kit (DK-1C20) - -* Patch by Steven Scholz, 29 Sep 2003: - - A second parameter for bootm overwrites the load address for - "Standalone Application" images. - - bootm sets environment variable "filesize" to the resulting - (uncompressed) data length for "Standalone Application" images - when autostart is set to "no". Now you can do something like - if bootm $fpgadata $some_free_ram ; then - fpga load 0 $some_free_ram $filesize - fi - -* Patch by Denis Peter, 25 Sept 2003: - add support for the MIP405 Rev. C board - -* Patch by Yuli Barcohen, 25 Sep 2003: - add support for Zephyr Engineering ZPC.1900 board - -* Patch by Anders Larsen, 23 Sep 2003: - add CMD_PORTIO to CFG_CMD_NONSTD (commands in question are only - implemented for the x86 architecture) - -* Patch by Sangmoon Kim, 23 Sep 2003: - fix pll_pci_to_mem_multiplier table for MPC8245 - -* Patch by Anders Larsen, 22 Sep 2003: - enable timed autoboot on PXA - -* Patch by David Müller, 22 Sep 2003: - - add $(CFLAGS) to "-print-libgcc-filename" so compiler driver - returns correct libgcc file path - - "latency" reduction of busy-loop waiting to improve "U-Boot" boot - time on s3c24x0 systems - -* Patch by Jon Diekema, 19 Sep 2003: - - Add CFG_FAULT_ECHO_LINK_DOWN option to echo the inverted Ethernet - link state to the fault LED. - - In NetLoop, make the Fault LED reflect the link status. The link - status gets updated on entry, and on timeouts. - -* Patch by Anders Larsen, 18 Sep 2003: - allow mkimage to build and run on Cygwin-hosted systems - -* Patch by Frank Müller, 18 Sep 2003: - use bi_intfreq instead of bi_busfreq to compute fec_mii_speed in - cpu/mpc8xx/fec.c - -* Patch by Pantelis Antoniou, 16 Sep 2003: - add tool to compute fileds in the PLPRCR register for MPC86x - -* Use IH_TYPE_FILESYSTEM for TRAB "disk" images. - -* Fix build problems under FreeBSD - -* Add generic filesystem image type - -* Make fatload set filesize environment variable - -* enable basic / medium / high-end configurations for PPChameleonEVB - board; fix NAND code - -* enable TFTP client code to specify to the server the desired - timeout value (see RFC-2349) - -* Improve SDRAM setup for TRAB board - -* Suppress all output with splashscreen configured only if "splashimage" - is set - -* Fix problems with I2C support for mpc5200 - -* Adapt TRAB configuration and auto_update to new memory layout - -* Add configuration for wtk board - -* Add support for the Sharp LQ065T9DR51U LCD display - -* Patch by Rune Torgersen, 17 Sep 2003: - - Fixes for MPC8266 default config - - Allow eth_loopback_test() on 8260 to use a subset of the FCC's - -* Patches by Jon Diekema, 17 Sep 2003: - - update README (SHOW_BOOT_PROGRESS values for cmd_nand.c and - env_common.c) - - sbc8260 tweaks - - adjust "help" output - -* Patches by Anders Larsen, 17 Sep 2003: - - fix spelling errors - - set GD_FLG_DEVINIT flag only after device function pointers - are valid - - Allow CFG_ALT_MEMTEST on systems where address zero isn't - writeable - - enable 3.rd UART (ST-UART) on PXA(XScale) CPUs - - trigger watchdog while waiting in serial driver - -* Add auto-update code for TRAB board using USB memory sticks, - support new configuration with more memory - -* disable MPC5200 bus pipelining as workaround for bus contention - -* Modify XLB arbiter priorities on MPC5200 so all devices use same - priority; configure critical interrupts to be handled like external - interrupts - -* Make IPB clock on MGT5100/MPC5200 configurable in board config file; - go back to 66 MHz for stability - -* Patches by Jon Diekema, 15 Sep 2003: - - add description for missing CFG_CMD_* entries in the README file - - sacsng tweaks - -* Patch by Gleb Natapov, 14 Sep 2003: - enable watchdog support for all MPC824x boards that have a watchdog - -* On MPC5200, restrict FEC to a maximum of 10 Mbps to work around the - "Non-octet Aligned Frame" errors we see at 100 Mbps - -* Patch by Sharad Gupta, 14 Sep 2003: - fix SPR numbers for upper BAT register ([ID]BAT[4-7][UL]) - -* Patch by llandre, 11 Sep 2003: - update configuration for PPChameleonEVB board - -* Patch by David Müller, 13 Sep 2003: - various changes to VCMA9 board specific files - -* Add I2C support for MGT5100 / MPC5200 - -* Patch by Rune Torgersen, 11 Sep 2003: - Changed default memory option on MPC8266ADS to NOT be Page Based - Interleave, since this doesn't work very well with the standard - 16MB DIMM - -* Patch by George G. Davis, 12 Sep 2003: - fix Makefile settings for sk98 driver - -* Patch by Stefan Roese, 12 Sep 2003: - - new boards added: DP405, HUB405, PLU405, VOH405 - - some esd boards updated - - cpu/ppc4xx/sdram.c: disable memory controller before setting - first values - - cpu/ppc4xx/405_pci.c: set vendor id on PPC405EP systems - -* Patch by Martin Krause, 11 Sep 2003: - add burn-in tests for TRAB board - -* Enable instruction cache on MPC5200 board - -* Patch by Denis Peter, 11 Sep 2003: - - fix USB data pointer assignment for bulk only transfer. - - prevent to display erased directories in FAT filesystem. - -* Change output format for NAND flash - make it look like for other - memory, too - -====================================================================== -Changes for U-Boot 0.4.8: -====================================================================== - -* Add I2C and RTC support for RMU board - -* Patches by Denis Peter, 9 Sep 2003: - add FAT support for IDE, SCSI and USB - -* Patches by Gleb Natapov, 2 Sep 2003: - - cleanup of POST code for unsupported architectures - - MPC824x locks way0 of data cache for use as initial RAM; - this patch unlocks it after relocation to RAM and invalidates - the locked entries. - -* Patch by Gleb Natapov, 30 Aug 2003: - new I2C driver for mpc107 bridge. Now works from flash. - -* Patch by Dave Ellis, 11 Aug 2003: - - JFFS2: fix typo in common/cmd_jffs2.c - - JFFS2: fix CFG_JFFS2_SORT_FRAGMENTS option - - JFFS2: remove node version 0 warning - - JFFS2: accept JFFS2 PADDING nodes - - SXNI855T: add AM29LV800 support - - SXNI855T: move environment from EEPROM to flash - - SXNI855T: boot from JFFS2 in NOR or NAND flash - -* Patch by Bill Hargen, 11 Aug 2003: - fixes for I2C on MPC8240 - - fix i2c_write routine - - fix iprobe command - - eliminates use of global variables, plus dead code, cleanup. - -* Add support for USB Mass Storage Devices (BBB) - (tested with USB memory sticks only) - -* Avoid flicker on TRAB's VFD - -* Add support for SK98xx driver - -* Add PCI support for SL8245 board - -* Support IceCube board configurations with 1 x AMD AM29LV065 (8 MB) - or 1 x AM29LV652 (two LV065 in one chip = 16 MB); - Run IPB at 133 Mhz; adjust the MII clock frequency accordingly - -* Set BRG_CLK on PM825/826 to 64MHz (VCO_OUT / 4, instead of 16 MHz) - to allow for more accurate baudrate settings - (error now 0.7% at 115 kbps, instead of 3.5% before) - -* Patch by Andreas Mohr, 4 Sep 2003: - Fix a lot of spelling errors - -* Add support for PPChameleon Eval Board - -* Add support for P3G4 board - -* Fix problem with MGT5100 FEC driver: add "early" MAC address - initialization - -* Patch by Yuli Barcohen, 7 Aug 2003: - check BCSR to detect if the board is configured in PCI mode - -====================================================================== -Changes for U-Boot 0.4.7: -====================================================================== - -* Patch by Raghu Krishnaprasad, 7 Aug 2003: - add support for Adder II MPC852T module - -* Patch by George G. Davis, 19 Aug 2003: - fix TI Innovator/OMAP1510 pin configs - -* Patches by Kshitij, 18 Aug 2003 - - add support for arm926ejs cpu core - - add support for TI OMAP 1610 Innovator Board - -* Patch by Yuli Barcohen, 14 Aug 2003: - add support for bzip2 uncompression - -* Add GCC library to examples/Makefile so GCC utility functions will - be resolved, too - -* Add I2C and RTC support for RMU board using software I2C driver - (because of better response to iprobe command); fix problem with - "reset" command - -* Patch by Matthias Fuchs, 28 Aug 2003: - Added CONFIG_BOOTP_DNS2 and CONFIG_BOOTP_SEND_HOSTNAME to - CONFIG_BOOTP_MAKS (see README). - -* Fix ICU862 environment problem - -* Fix RAM size detection for RMU board - -* Implement "reset" for MGT5100/MPC5200 systems - -====================================================================== -Changes for U-Boot 0.4.6: -====================================================================== - -* Make Ethernet autonegotiation on INCA-IP work for all clock rates; - allow selection of clock frequency as "make" target - -* Implement memory autosizing code for IceCube boards - -* Configure network port on INCA-IP for autonegotiation - -* Fix overflow problem in network timeout code - -* Patch by Richard Woodruff, 8 Aug 2003: - Allow crc32 to be used at address 0x000 (crc32_no_comp, too). - -====================================================================== -Changes for U-Boot 0.4.5: -====================================================================== - -* Update for TQM board defaults: - disable clocks_in_mhz, enable boot count limit - -* Removed tools/gdb from "make all" target. Added make target "gdbtools" - in toplevel directory instead. Removed astest.c from tools/gdb because - it is no longer relevant. - -* Fix PCI support for MPC5200 / IceCube Board - -* Map ISP1362 USB OTG controller for NSCU board - -* Patch by Brad Parker, 02 Aug 2003: - fix sc520_cdp problems - -* Implement Boot Cycle Detection (Req. 2.3 of OSDL CGL Reqirements) - -* Allow erase command to cross flash bank boundaries - -* Patch by Scott McNutt, 21 Jul 2003: - Add support for LynuxWorks Kernel Downloadable Images (KDIs). - Both LynxOS and BlueCat linux KDIs are supported. - -* Patch by Richard Woodruff, 25 Jul 2003: - use more reliable reset for OMAP/925T - -* Patch by Nye Liu, 25 Jul 2003: - fix typo in mpc8xx.h - -* Patch by Richard Woodruff, 24 Jul 2003: - Fixes for cmd_nand.c: - - Fixed null dereferece which could result in incorrect ECC values. - - Added support for devices with no Ready/Busy signal hooked up. - - Added OMAP1510 read/write protect handling. - - Fixed nand.h's ECCPOS. A conflict existed with POS5 and badblock - for non-JFFS2. - - Switched default ECC to be JFFS2. - -* Allow crc32 to be used at address 0x000 - -* Provide consistent interface to standalone applications to access - the 'global_data' structure - Provide a doc/README.standalone more useful to users/developers. - -* Make IceCube MGT5100 FEC driver work - -* Implement new mechanism to export U-Boot's functions to standalone - applications: instead of using (PPC-specific) system calls we now - use a jump table; please see doc/README.standalone for details - -* Patch by Dave Westwood, 24 Jul 2003: - added support for Unity OS (a proprietary OS) - -* Patch by Detlev Zundel, 23 Jul 2003: - add "imls" command to print flash table of contents - -* Fix cold boot detection for log buffer reset - -* Return error for invalid length specifiers with "cp.X" etc. - -* Fix startup problem on MIPS - -* Allow for CONFIG_SPLASH_SCREEN even when no explicit - bitmap support is configured - -* Patch by Bill Hargen, 18 Jul 2003: - - fix endinaness problem in cpu/mpc824x/drivers/i2c/i2c1.c - -* Patch by Denis Peter, 18 Jul 2003: - - fix memory configuration for MIP405T - - fix printout of baudrate for "loadb " - -* Cleanup of TQM82xx configurations; use "official" board types - to make selection easier. - -* Patch by Martin Krause, 17 Jul 2003: - add delay to get I2C working with "imm" command and s3c24x0_i2c.c - -* Patch by Richard Woodruff, 17 July 03: - - Fixed bug in OMAP1510 baud rate divisor settings. - -* Patch by Nye Liu, 16 July 2003: - MPC860FADS fixes: - - add MPC86xADS support (uses MPC86xADS.h) - - add 866P/T core support (also MPC859T/MPC859DSL/MPC852T) - o PLPRCR changes - o BRG changes (EXTAL/XTAL restricted to 10MHz) - o don't trust gclk() software measurement by default, depend on - CONFIG_8xx_GCLK_FREQ - - add DRAM SIMM not installed detection - - use more "correct" SDRAM initialization sequence - - allow different SDRAM sizes (8xxADS has 8M) - - default DER is 0 - - remove unused MAMR defines from FADS860T.h (all done in fads.c) - - rename MAMR/MBMR defines to be more consistent. Should eventually - be merged into MxMR to better reflect the PowerQUICC datasheet. - -* Patch by Yuli Barcohen, 16 Jul 2003: - support new Motorola PQ2FADS-ZU evaluation board which replaced - MPC8260ADS and MPC8266ADS - -====================================================================== -Changes for U-Boot 0.4.4: -====================================================================== - -* Add support for IceCube board (with MGT5100 and MPC5200 CPUs) - -* Add support for MGT5100 and MPC5200 processors - -* Patch by Lutz Dennig, 15 Jul 2003: - update for R360MPI board - -====================================================================== -Changes for U-Boot 0.4.3: -====================================================================== - -* Patches by Kshitij, 04 Jul 2003 - - added support for arm925t cpu core - - added support for TI OMAP 1510 Innovator Board - -* Patches by Martin Krause, 14 Jul 2003: - - add I2C support for s3c2400 systems (trab board) - - (re-) add "ping" to command table - -* Fix handling of "slow" POST routines - -* Patches by Yuli Barcohen, 13 Jul 2003: - - Correct flash and JFFS2 support for MPC8260ADS - - fix PVR values and clock generation for PowerQUICC II family - (8270/8275/8280) - -* Patch by Bernhard Kuhn, 08 Jul 2003: - - add support for M68K targets - -* Patch by Ken Chou, 3 Jul: - - Fix PCI config table for A3000 - - Fix iobase for natsemi.c - (PCI_BASE_ADDRESS_0 is the IO base register for DP83815) - -* Allow to enable "slow" POST routines by key press on power-on -* Fix temperature dependend switching of LCD backlight on LWMON -* Tweak output format for LWMON - -* Patch by Stefan Roese, 11 Jul 2003: - - Fix bug in CONFIG_VERSION_VARIABLE. - - AR405 config updated. - - OCRTC/ORSG: bsp command added. - - ASH405 bsp update. - -====================================================================== -Changes for U-Boot 0.4.2: -====================================================================== - -* Add support for NSCU board - -* Add support for TQM823M, TQM850M, TQM855M and TQM860M modules - -* Add support for Am29LV160ML, Am29LV320ML, and Am29LV640ML - mirror bit flash on TQM8xxM modules - -* Patch by Kenneth Johansson, 30 Jun 2003: - get rid of MK_CMD_ENTRY macro; update doc/README.command - -* Patch by Seb James, 30 Jun 2003: - Improve documentation of I2C configuration in README - -* Fix problems with previous log buffer "fixes" - -* Fix minor help text issues - -* "log append" did not append a newline - -====================================================================== -Changes for U-Boot 0.4.1: -====================================================================== - -* Fix some missing commands, cleanup header files - (autoscript, bmp, bsp, fat, mmc, nand, portio, ...) - -* Rewrite command lookup and help command (fix problems with bubble - sort when sorting command name list). Minor cleanup here and there. - -* Merge from "stable branch", tag LABEL_2003_06_28_1800-stable: - - Allow to call sysmon function interactively - - PIC on LWMON board needs delay after power-on - - Add missing RSR definitions for MPC8xx - - Improve log buffer handling: guarantee clean reset after power-on - - Add support for EXBITGEN board (aka "genie") - - Add support for SL8245 board - -* Code cleanup: - - remove trailing white space, trailing empty lines, C++ comments, etc. - - split cmd_boot.c (separate cmd_bdinfo.c and cmd_load.c) - -* Patches by Kenneth Johansson, 25 Jun 2003: - - major rework of command structure - (work done mostly by Michal Cendrowski and Joakim Kristiansen) - -====================================================================== -Changes for U-Boot 0.4.0: -====================================================================== - -* Patches by Robert Schwebel, 26 Jun 2003: - - csb226 configuration updated - - credits for logodl port updated - - innokom configuration updated - - logodl tree update, still with coding style inconsistencies - - added OCM for ppc405 warning to README - -* Patch by Pantelis Antoniou, 25 Jun 2003: - update NetVia with V2 board support - -* Header file cleanup for ARM - -* Patch by Murray Jensen, 24 Jun 2003: - - make sure to use only U-boot provided header files - - fix problems with ".rodata.str1.4" section as used by GCC-3.x - -* Patch by Stefan Roese, 24 Jun 2003: - - Update esd ASH405 board files. - - Update esd DASA_SIM config file. - - Add ping command to some esd boards. - -* Patch by Yuli Barcohen, 23 Jun 2003: - Update for MPC8260ADS board - -* Patch by Murray Jensen, 23 Jun 2003: - - cleanup of GCC 3.x compiler warnings - -* Patch by Rune Torgersen, 4 Jun 2003: - add large memory support for MPC8266ADS board - -* Patch by Richard Woodruff, 19 June 03: - - Enabled standard u-boot device abstraction for ARM - - Enabled console device for ARM - - Initilized bi_baudrate for ARM - -* Patch by Bill Hargen, 23 Apr 2003: - fix byte order for 824x I2C addresses (write op) - -* Patch by Murray Jensen, 20 Jun 2003: - - hymod update - - cleanup (especially for gcc-3.x compilers) - -* Patch by Tom Guilliams, 20 Jun 2003: - added CONFIG_750FX support for IBM 750FX processors - -* Patch by Devin Crumb, 02 Apr 2003: - Fix clock divider rounding problem in drivers/serial.c - -* Patch by Richard Woodruff, 19 June 03: - - Fixed smc91c111 driver to sync with the u-boot environment - (driver/smc91c111.c). - - Added eth_init error return check in NetLoop (net/net.c). - -* Patch by Ken Chou, 19 June 2003: - Added support for A3000 SBC board (Artis Microsystems Inc.) - -* Patches by Murray Jensen, 17 Jun 2003: - - Hymod board database mods: add "who" field and new xilinx chip types - - provide new "init_cmd_timeout()" function so code external to - "common/main.c" can use the "reset_cmd_timeout()" function before - entering the main loop - - add DTT support for adm1021 (new file dtt/adm1021.c; config - slightly different. see include/configs/hymod.h for an example - (requires CONFIG_DTT_ADM1021, CONFIG_DTT_SENSORS, and - CFG_DTT_ADM1021 defined) - - add new "eeprom_probe()" function which has similar args and - behaves in a similar way to "eeprom_read()" etc. - - add 8260 FCC ethernet loopback code (new "eth_loopback_test()" - function which is enabled by defining CONFIG_ETHER_LOOPBACK_TEST) - - gdbtools copyright update - - ensure that set_msr() executes the "sync" and "isync" instructions - after the "mtmsr" instruction in cpu/mpc8260/interrupts.c - - 8260 I/O ports fix: Open Drain should be set last when configuring - - add SIU IRQ defines for 8260 - - allow LDSCRIPT override and OBJCFLAGS initialization: change to - config.mk to allow board configurations to override the GNU - linker script, selected via the LDSCRIPT, make variable, and to - give an initial value to the OBJCFLAGS make variable - - 8260 i2c enhancement: - o correctly extends the timeout depending on the size of all - queued messages for both transmit and receive - o will not continue with receive if transmit times out - o ensures that the error callback is done for all queued tx - and rx messages - o correctly detects both tx and rx timeouts, only delivers one to - the callback, and does not overwrite an earlier error - o logic in i2c_probe now correct - - add "vprintf()" function so that "panic()" function can be - technically correct - - many Hymod board changes - -* Patches by Robert Schwebel, 14 Jun 2003: - - add support for Logotronic DL datalogger board - - cleanup serial line after kermit binary download - - add debugX macro (debug level support) - - update mach-types.h to latest arm.linux.org.uk master list. - -* Patches by David Müller, 12 Jun 2003: - - rewrite of the S3C24X0 register definitions stuff - - "driver" for the built-in S3C24X0 RTC - -* Patches by Yuli Barcohen, 12 Jun 2003: - - Add MII support and Ethernet PHY initialization for MPC8260ADS board - - Fix incorrect SIUMCR initialisation caused by wrong Hard Reset - configuration word supplied by FPGA on some MPC8260ADS boards - -* Patch by Pantelis Antoniou, 10 Jun 2003: - Unify status LED interface - -* Add support for DS12887 RTC; add RTC support for ATC board - -* Patch by Nicolas Lacressonniere, 11 Jun 2003: - Modifications for Atmel AT91RM9200DK ARM920T based development kit - - Add Atmel DataFlash support for reading and writing. - - Add possibility to boot a Linux from DataFlash with BOOTM command. - - Add Flash detection on Atmel AT91RM9200DK - (between Atmel AT49BV1614 and AT49BV1614A flashes) - - Replace old Ethernet PHY layer functions - - Change link address - -* Patch by Frank Smith, 9 Jun 2003: - use CRIT_EXCEPTION for machine check on 4xx - -* Patch by Detlev Zundel, 13 Jun 2003: - added implementation of the "carinfo" command in cmd_immap.c - -* Fix CONFIG_NET_MULTI support in include/net.h - -* Patches by Kyle Harris, 13 Mar 2003: - - Add FAT partition support - - Add command support for FAT - - Add command support for MMC - ---- - - Add Intel PXA support for video - - Add Intel PXA support for MMC - ---- - - Enable MMC and FAT for lubbock board - - Other misc changes for lubbock board - -* Patch by Robert Schwebel, April 02, 2003: - fix for SMSC91111 driver - -* Patch by Vladimir Gurevich, 04 Jun 2003: - make ppc405 ethernet driver compatible with CONFIG_NET_MULTI option - -* Patch by Stefan Roese, 05 Jun 2003: - - PPC4xx: Fix bug for initial stack in data cache as pointed out by - Thomas Schaefer (tschaefer@giga-stream.de). Now inital stack in - data cache can be used even if the chip select is in use. - - CFG_RX_ETH_BUFFER added to set the ethernet receive buffer count - (see README for further description). - - Changed config files of CONFIG_EEPRO100 boards to use the - CFG_RX_ETH_BUFFER define. - -* Add support for RMU board - -* Add support for TQM862L at 100/50 MHz - -* Patch by Pantelis Antoniou, 02 Jun 2003: - major reconstruction of networking code; - add "ping" support (outgoing only!) - -* Patch by Denis Peter, 04 June 2003: - add support for the MIP405T board - -* Patches by Udi Finkelstein, 2 June 2003: - - Added support for custom keyboards, initialized by defining a - board-specific drv_keyboard_init as well as defining CONFIG_KEYBOARD . - - Added support for the RBC823 board. - - cpu/mpc8xx/lcd.c now automatically calculates the - Horizontal Pixel Count field. - -* Fix alignment problem in BOOTP (dhcp_leasetime option) - [pointed out by Nicolas Lacressonnière, 2 Jun 2003] - -* Patch by Mark Rakes, 14 May 2003: - add support for Intel e1000 gig cards. - -* Patch by Nye Liu, 3 Jun 2003: - fix critical typo in MAMR definition (include/mpc8xx.h) - -* Fix requirement to align U-Boot image on 16 kB boundaries on PPC. - -* Patch by Klaus Heydeck, 2 Jun 2003 - Minor changes for KUP4K configuration - -* Patch by Marc Singer, 29 May 2003: - Fixed rarp boot method for IA32 and other little-endian CPUs. - -* Patch by Marc Singer, 28 May 2003: - Added port I/O commands. - -* Patch by Matthew McClintock, 28 May 2003 - - cpu/mpc824x/start.S: fix relocation code when booting from RAM - - minor patches for utx8245 - -* Patch by Daniel Engström, 28 May 2003: - x86 update - -* Patch by Dave Ellis, 9 May 2003 + 27 May 2003: - add nand flash support to SXNI855T configuration - fix/extend nand flash support: - - fix 'nand erase' command so does not erase bad blocks - - fix 'nand write' command so does not write to bad blocks - - fix nand_probe() so handles no flash detected properly - - add doc/README.nand - - add .jffs2 and .oob options to nand read/write - - add 'nand bad' command to list bad blocks - - add 'clean' option to 'nand erase' to write JFFS2 clean markers - - make NAND read/write faster - -* Patch by Rune Torgersen, 23 May 2003: - Update for MPC8266ADS board - -* Get (mostly) rid of CFG_MONITOR_LEN definition; compute real length - instead CFG_MONITOR_LEN is now only used to determine _at_compile_ - _time_ (!) if the environment is embedded within the U-Boot image, - or in a separate flash sector. - -* Cleanup CFG_DER #defines in config files (wd maintained only) - -* Fix data abort exception handling for arm920t CPU - -* Fix alignment problems with flash driver for TRAB board - -* Patch by Donald White, 21 May 2003: - fix calculation of base address in pci_hose_config_device() - -* Fix bug in command line parsing: "cmd1;cmd2" is supposed to always - execute "cmd2", even if "cmd1" fails. Note that this is different - to "run var1 var2" where the contents of "var2" will NOT be - executed when a command in "var1" fails. - -* Add zero-copy ramdisk support (requires corresponding kernel support!) - -* Patch by Kyle Harris, 20 May 2003: - In preparation for an ixp port, rename cpu/xscale and arch-xscale - into cpu/pxa and arch-pxa. - -* Patch by Stefan Roese, 23 May 2003: - - IBM PPC405EP port added. - - CONFIG_UART1_CONSOLE added. If defined internal UART1 (and not - UART0) is used as default U-Boot console. PPC4xx only! - - esd ASH405 board added (PPC405EP based). - - BUBINGA405EP board added (PPC405EP based - IBM Eval Board). - - esd CPCI405AB board added. - - esd PMC405 board added. - - Update of some esd boards. - -* Patch by Denis Peter, 19 Mai 2003: - add support for the MIP405-3 board - -* Patch by Dave Ellis, 22 May 2003: - Fix problem with only partially cleared .bss segment - -* Patch by Rune Torgersen, 12 May 2003: - get PCI to work on a MPC8266ADS board; incorporate change to - cpu/mpc8260/pci.c to enable overrides of PCI memory parameters - -* Patch by Nye Liu, 1 May 2003: - minor patches for the FADS8xx - -* Patch by Thomas Schäfer, 28 Apr 2003: - Fix SPD handling for 256 ECC DIMM on Walnut - -* Add support for arbitrary bitmaps for TRAB's VFD command; - allow to pass boot bitmap addresses in environment variables; - allow for zero boot delay - -* Patch by Christian Geißinger, 19 May 2002: - On TRAB: wait until the dummy byte has been completely sent - -* Patch by David Updegraff, 22 Apr 2003: - update for CrayL1 board - -* Patch by Pantelis Antoniou, 21 Apr 2003: - add boot support for ARTOS (a proprietary OS) - -* Patch by Steven Scholz, 11 Apr 2003: - Add support for RTC DS1338 - -* Patch by Rod Boyce, 24 Jan 2003: - Fix counting of extended partitions in diskboot command - -* Patch by Christophe Lindheimer, 20 May 2003: - allow the use of CFG_LOADS when CFG_NO_FLASH is set - -* Fix SDRAM timing on Purple board - -* Add support for CompactFlash on ATC board - (includes support for Intel 82365 and compatible PC Card controllers, - and Yenta-compatible PCI-to-CardBus controllers) - -* Patch by Mathijs Haarman, 08 May 2003: - Add lan91c96 driver (tested on Lubbock and custom PXA250 board only) - -* Fix problem with usage of "true" (undefined in current versions of bfd.h) - -* Add support for Promess ATC board - -* Patch by Keith Outwater, 28 Apr 2003: - - Miscellaneous corrections and additions to GEN860T board specific code. - - Added GEN860_SC variant to GEN860T. - - Miscellaneous corrections to GEN860T documentation. - - Correct duplicate entry in U-Boot CREDITS file. - - Add GEN860T_SC entry in MAINTAINERS file. - - Update CREDITS file with GEN860T_SC info. - -* Update Smiths Aerospace addresses in MAINTAINERS file - -* Fix error handling in hush's version of "run" command - -* LWMON extensions: - - Splashscreen support - - modem support - - sysmon support - - temperature dependend enabling of LCD - -* Allow booting from old "PPCBoot" disk partitions - -* Add support for TQM8255 Board / MPC8255 CPU - -====================================================================== -Changes for U-Boot 0.3.1: -====================================================================== - -* Make sure Block Lock Bits get cleared in R360MPI flash driver - -* MPC823 LCD driver: Fill color map backwards, to allow for steady - display when Linux takes over - -* Patch by Erwin Rol, 27 Feb 2003: - Add support for RTEMS (this time for real). - -* Add support for "bmp info" and "bmp display" commands to load - bitmap images; this can be used (for example in a "preboot" - command) to display a splash screen very quickly after poweron. - -* Add support for 133 MHz clock on INCA-IP board - -* Patch by Lutz Dennig, 10 Apr 2003: - Update for R360MPI board - -* Add new meaning to "autostart" environment variable: - If set to "no", a standalone image passed to the - "bootm" command will be copied to the load address - (and eventually uncompressed), but NOT be started. - This can be used to load and uncompress arbitrary - data. - -* Patch by Stefan Roese, 10 Apr 2003: - Changed DHCP client to use IP address from server option field #54 - from the OFFER packet in the server option field #54 in the REQUEST - packet. This fixes a problem using a Windows 2000 DHCP server, - where the DHCP-server is not the TFTP-server. - -* Set max brightness for MN11236 displays on TRAB board - -* Add support for TQM862L modules - -====================================================================== -Changes for U-Boot 0.3.0: -====================================================================== - -* Patch by Arun Dharankar, 4 Apr 2003: - Add IDMA example code (tested on 8260 only) - -* Add support for Purple Board (MIPS64 5Kc) - -* Add support for MIPS64 5Kc CPUs - -* Fix missing setting of "loadaddr" and "bootfile" on ARM and MIPS - -* Patch by Denis Peter, 04 Apr 2003: - - update MIP405-4 board - -* Patch by Stefan Roese, 4 Apr 2003: - - U-Boot version environment variable "ver" added - (CONFIG_VERSION_VARIABLE). - - Changed PPC405GPr version from A to B. - - Changed CPCI405 to use CTS instead of DSR on PPC405 UART1. - -* Patches by Denis Peter, 03 April 2003: - - fix PCI IRQs on MPL boards - - fix two more un-relocated pointer problems - -* Fix behaviour of "run" command: - - print error message iv variable does not exist - - terminate processing of arguments in case of error - -* Patches by Peter Figuli, 10 Mar 2003 - - Add support for BTUART on PXA platform - - Add support for WEP EP250 (PXA) board - -* Fix flash problems on INCA-IP; add tool to allow bruning images to - flash using a BDI2000 - -* Implement fix for I2C Edge Conditions problem for all boards that - use the bit-banging driver (common/soft_i2c.c) - -* Patch by Martin Winistoerfer, 23 Mar 2003 - - Add port to MPC555/556 microcontrollers - - Add support for cmi customer board with - Intel 28F128J3A, 28F320J3A or 28F640J3A flash. - -* Patch by Rick Bronson, 28 Mar 2003: - - fix common/cmd_nand.c - -* Patch by Arun Dharankar, 24 Mar 2003: - - add threads / scheduler example code - -* Add patches by Robert Schwebel, 31 Mar 2003: - - add ctrl-c support for kermit download - - align bdinfo output on ARM - - csb226 board: bring in sync with innokom/memsetup.S - - csb226 board: fix MDREFR handling - - misc doc fixes / extensions - - innokom board: cleanup, MDREFR fix in memsetup.S, config update - - add BOOT_PROGRESS to armlinux.c - -* Add CPU ID, version, and clock speed for INCA-IP - -* Patches by Dave Ellis, 18 Mar 2003 for SXNI855T board: - - fix SRAM and SDRAM memory sizing - - add status LED support - - add MAC address for second (SCC1) ethernet port - -* Update default environment for TQM8260 board - -* Patch by Rick Bronson, 16 Mar 2003: - - Add NAND flash support for reading, writing, and erasing NAND - flash (certain forms of which are called SmartMedia). - - Add support for Atmel AT91RM9200DK ARM920T based development kit. - -* Patches by Robert Schwebel, 19 Mar 2003: - - use arm-linux-gcc as default compiler for ARM - - fix i2c fixup code - - fix missing baudrate setting - - added $loadaddr / CFG_LOAD_ADDR support to loadb - - moved "ignoring trailing characters" _before_ u-boot wants to - print out diagnostics messages; removes bogus characters at the - end of transmission - -* Patch by John Zhan, 18 Mar 2003: - Add support for SinoVee Microsystems SC8xx boards - -* Patch by Rolf Offermanns, 21 Mar 2003: - ported the dnp1110 related changes from the current armboot cvs to - current u-boot cvs. smc91111 does not work. problem marked in - smc91111.c, grep for "FIXME". - -* Patch by Brian Auld, 25 Mar 2003: - Add support for STM flash chips on ebony board - -* Add PCI support for MPC8250 Boards (PM825 module) - -* Patch by Stefan Roese, 25 Mar 2003: - - PCI405 update. - -* Patch by Stefan Roese, 20 Mar 2003: - - CPCI4052 update (support for revision 3). - - Set edge conditioning circuitry on PPC405GPr for compatibility - to existing PPC405GP designs. - - Clip udiv to 5 bits on PPC405 (serial.c). - -* Extend INCAIP board support: - - add automatic RAM size detection - - add "bdinfo" command - - pass flash address and size to Linux kernel - - switch to 150 MHz clock - -* Avoid flicker on the TRAB's VFD by synchronizing the enable with - the HSYNC/VSYNC. Requires new CPLD code (Version 101 for Rev. 100 - boards, version 153 for Rev. 200 boards). - -* Patch by Vladimir Gurevich, 12 Mar 2003: - Fix relocation problem of statically initialized string pointers - in common/cmd_pci.c - -* Patch by Kai-Uwe Blöm, 12 Mar 2003: - Cleanup & bug fixes for JFFS2 code: - - the memory mangement was broken. It caused havoc on malloc by - writing beyond the block boundaries. - - the length calculation for files was wrong, sometimes resulting - in short file reads. - - data copying now optionally takes fragment version numbers into - account, to avoid copying from older data. - See doc/README.JFFS2 for details. - -* Patch by Josef Wagner, 12 Mar 2003: - - 16/32 MB and 50/80 MHz support with auto-detection for IP860 - - ETH05 and BEDBUG support for CU824 - - added support for MicroSys CPC45 - - new BOOTROM/FLASH0 and DOC base for PM826 - -* Patch by Robert Schwebel, 12 Mar 2003: - Fix the chpart command on innokom board - -* Name cleanup: - mv include/asm-i386/ppcboot-i386.h include/asm-i386/u-boot-i386.h - s/PPCBoot/U-Boot/ in some files - s/pImage/uImage/ in some files - -* Patch by Detlev Zundel, 15 Jan 2003: - Fix '' command line quoting - -* Patch by The LEOX team, 19 Jan 2003: - - add support for the ELPT860 board - - add support for Dallas ds164x RTC - -* Patches by David Müller, 31 Jan 2003: - - minimal setup for CardBus bridges - - add EEPROM read/write support in the CS8900 driver - - add support for the builtin I2C controller in the Samsung s3c24x0 chips - - add support for MPL's VCMA9 (Samsung s3c2410 based) board - -* Patch by Steven Scholz, 04 Feb 2003: - add support for RTC DS1307 - -* Patch by Reinhard Meyer, 5 Feb 2003: - fix PLPRCR/SCCR init sequence on 8xx to allow for - changes of EBDF by software - -* Patch by Vladimir Gurevich, 07 Feb 2003: - "API-compatibility patch" for 4xx I2C driver - -* TRAB fixes / extensions: - - Restore VFD brightness as saved in environment - - add support for Fujitsu flashes - - make sure both buzzers are turned off (drive low level) - -* Patches by Robert Schwebel, 06 Mar 2003: - - fix bug in BOOTP code (must use NetCopyIP) - - update of CSB226 port - - clear BSS segment on XScale - - added support for i2c_init_board() function - - update to the Innokom plattform - -* Extend support for redundand environments for configurations where - environment size < sector size - -* Patch by Rune Torgersen, 13 Feb 2003: - Add support for Motorola MPC8266ADS board - -* Patch by Kyle Harris, 19 Feb 2003: - patches for the Intel lubbock board: - memsetup.S - general cleanup (based on Robert's csb226 code) - flash.c - overhaul, actually works now - lubbock.c - fix init funcs to return proper value - -* Patch by Kenneth Johansson, 26 Feb 2003: - - Fixed off by one in RFTA calculation. - - No need to abort when LDF is lower than we can program it's only - minimum timing so clamp it to what we can do. - - Takes function pointer to function for reading the spd_nvram. Usefull - for faking data or hardcode a module without the nvram. - - fix other user for above change - - fix some comments. - -* Patches by Brian Waite, 26 Feb 2003: - - fix port for evb64260 board - - fix PCI for evb64260 board - - fix PCI scan - -* Patch by Reinhard Meyer, 1 Mar 2003: - Add support for EMK TOP860 Module - -* Patch by Yuli Barcohen, 02 Mar 2003: - Add SPD EEPROM support for MPC8260ADS board - -* Patch by Robert Schwebel, 21 Jan 2003: - - Add support for Innokom board - - Don't complain if "install" fails - - README cleanup (remove duplicated lines) - - Update PXA header files - -* Add documentation for existing POST code (doc/README.POST) - -* Patch by Laudney Ren, 15 Jan 2003: - Fix handling of redundand environment in "tools/envcrc.c" - -* Patch by Detlev Zundel, 28 Feb 2003: - Add bedbug support for 824x systems - -* Add support for 16 MB flash configuration of TRAB board - -* Patch by Erwin Rol, 27 Feb 2003: - Add support for RTEMS - -* Add image information to README - -* Patch by Stefan Roese, 18 Feb 2003: - CPCIISER4 configuration updated. - -* Patch by Stefan Roese, 17 Feb 2003: - Fixed bug in ext. serial clock setup on PPC405 (since PPC440 port). - -* Patch by Stefan Roese, 13 Feb 2003: - Add "pcidelay" environment variable (in ms, enabled via - CONFIG_PCI_BOOTDELAY). - PCI spec 2.2 defines, that a pci target has 2^25 pci clocks after - RST# to respond to configuration cycles (33MHz -> 1s). - -* Fix dual PCMCIA slot support (when running with just one - slot populated) - -* Add VFD type detection to trab board - -* extend drivers/cs8900.c driver to synchronize ethaddr environment - variable with value in the EEPROM - -* Patch by Stefan Roese, 10 Feb 2003: - Add support for 4MB and 128MB onboard SDRAM (cpu/ppc4xx/sdram.c) - -* Add support for MIPS32 4Kc CPUs - -* Add support for INCA-IP Board - -====================================================================== -Changes for U-Boot 0.2.2: -====================================================================== - -* Add dual ethernet support on PM826 - -* Add support for LXT971 PHY on PM826 - -* Patch by Tord Andersson, 16 Jan 2003: - Fix flash sector count for TQM8xxL - -* Fix I2C EEPROM problem on ICU862 board (would only write the first - 16 bytes out of each 32 byte block) - -====================================================================== -Changes for U-Boot 0.2.1: -====================================================================== - -* Add support for V37 board - (patch by Jón Benediktsson, 11 Dec 2002) - -* Update baudrate in bd_info when it gets changed - -* Add watchdog trigger points while waiting for serial port - (so far only 8xx -- needed on LWMON with 100ms watchdog) - -* Improve command line tool to access the U-Boot's environment - (figuration of the utility, using a config file) - -* Add single quote support for (old) command line parser - -* Switch LWMON board default config from FRAM to EEPROM; - in POST, EEPROM shows up on 8 addresses - -====================================================================== -Changes for U-Boot 0.2.0: -====================================================================== - -* Use 1-byte-read instead of -write for iprobe() function - Add i2c commands to PM826 config - -* extend I2C POST code: check for list on known addresses - -* Improve log buffer code; use "loglevel" to decide which messages - to log on the console, too (like in Linux); get rid of "logstart" - -* Add command line tool to access the U-Boot's environment - (board-specific for TRAB now, to be fixed later) - -* Patch by Hans-Joerg Frieden, 06 Dec 2002 - Fix misc problems with AmigaOne support - -* Patch by Chris Hallinan, 3 Dec 2002: - minor cleanup to the MPC8245 EPIC driver - -* Patch by Pierre Aubert , 28 Nov 2002 - Add support for external (SIU) interrupts on MPC8xx - -* Patch by Pierre Aubert , 28 Nov 2002 - Fix nested syscalls bug in standalone applications - -* Patch by David Müller, 27 Nov 2002: - fix output of "pciinfo" command for CardBus bridge devices. - -* Fix bug in TQM8260 board detection - boards got stuck when board ID - was not readable - -* Add LED indication for IDE activity on KUP4K board - -* Fix startup problems with VFD display on TRAB - -* Patch by Pierre Aubert, 20 Nov 2002 - Add driver for Epson SED13806 graphic controller. - Add support for BMP logos in cfb_console driver. - -* Added support for both PCMCIA slots (at the same time!) on MPC8xx - -* Patch by Rod Boyce, 21 Nov 2002: - fix PCMCIA on MBX8xx board - -* Patch by Pierre Aubert , 21 Nov 2002 - Add CFG_CPM_POST_WORD_ADDR to make the offset of the - bootmode word in DPRAM configurable - -* Patch by Daniel Engström, 18 Nov 2002: - Fixes for x86 port (mostly strings issues) - -* Patch by Ken Chou, 18 Nov 2002: - Fix for natsemi NIC cards (DP83815) - -* Patch by Pierre Aubert, 19 Nov 2002: - fix a bug for the MII configuration, and some warnings - -* Patch by Thomas Frieden, 13 Nov 2002: - Add code for AmigaOne board - (preliminary merge to U-Boot, still WIP) - -* Patch by Jon Diekema, 12 Nov 2002: - - Adding URL for IEEE OUI lookup - - Making the autoboot #defines dependent on CONFIG_AUTOBOOT_KEYED - being defined. - - In the CONFIG_EXTRA_ENV_SETTINGS #define, the root-on-initrd and - root-on-nfs macros are designed to switch how the default boot - method gets defined. - -* Patch by Daniel Engström, 13 Nov 2002: - Add support for i386 architecture and AMD SC520 board - -* Patch by Pierre Aubert, 12 Nov 2002: - Add support for DOS filesystem and booting from DOS floppy disk - -* Patch by Jim Sandoz, 07 Nov 2002: - Increase number of network RX buffers (PKTBUFSRX in - "include/net.h") for EEPRO100 based boards (especially SP8240) - which showed "Receiver is not ready" errors when U-Boot was - processing the receive buffers slower than the network controller - was filling them. - -* Patch by Andreas Oberritter, 09 Nov 2002: - Change behaviour of NetLoop(): return -1 for errors, filesize - otherwise; return code 0 is valid an means no file loaded - in this - case the environment still gets updated! - -* Patches by Jon Diekema, 9 Nov 2002: - - improve ADC/DAC clocking on the SACSng board to align - the failing edges of LRCLK and SCLK - - sbc8260 configuration tweaks - - add status LED support for 82xx systems - - wire sspi/sspo commands into command handler; improved error - handlering - - add timestamp support and alternate memory test to the - SACSng configuration - -* Patch by Vince Husovsky, 7 Nov 2002: - Add "-n" to linker options to get rid of "Not enough room for - program headers" problem - -* Patch by David Müller, 05 Nov 2002 - Rename CONFIG_PLL_INPUT_FREQ to CONFIG_SYS_CLK_FREQ - so we can use an already existing name - -* Patch by Pierre Aubert, 05 Nov 2002 - Hardware relatied improvments in FDC boot code - -* Patch by Holger Schurig, 5 Nov 2002: - Make the PXA really change it's frequency - -* Patch by Pierre Aubert, 05 Nov 2002 - Add support for slave serial Spartan 2 FPGAs - -* Fix uninitialized memory (MAC address) in 8xx SCC/FEC ethernet - drivers - -* Add support for log buffer which can be passed to Linux kernel's - syslog mechanism; used especially for POST results. - -* Patch by Klaus Heydeck, 31 Oct 2002: - Add initial support for kup4k board - -* Patch by Robert Schwebel, 04 Nov 2002: - - use watchdog to reset PXA250 systems - - added progress callbacks to (some of the) ARM code - - update for Cogent CSB226 board - -* Add support for FPS860 board - -* Patch by Guillaume Alexandre,, 04 Nov 2002: - Improve PCI access on 32-bits Compact PCI bus - -* Fix mdelay() on TRAB - this was still the debugging version with - seconds instead of ms. - -* Patch by Robert Schwebel, 1 Nov 2002: - XScale related cleanup (affects all ARM boards) - -* Cleanup of names and README. - -====================================================================== -Notes for U-Boot 0.1.0: -====================================================================== - -This is the initial version of "Das U-Boot", the Universal Boot Loader. - -It is based on version 2.0.0 (the "Halloween Release") of PPCBoot. -For information about the history of the project please see the -PPCBoot project page at http://sourceforge.net/projects/ppcboot - -====================================================================== + Initial support for MPC8641 HPCN board. diff --git a/CHANGELOG-before-U-Boot-1.1.5 b/CHANGELOG-before-U-Boot-1.1.5 new file mode 100644 index 00000000000..727a7b691d5 --- /dev/null +++ b/CHANGELOG-before-U-Boot-1.1.5 @@ -0,0 +1,5593 @@ +====================================================================== +Changes for U-Boot 1.1.5: +====================================================================== + +* Cleanup compile warnings. Prepare for release 1.1.5 + +* Fix compile problem in include/configs/ep82xxm.h + (must have never been tested before!) + +* MCC200: Fix uninitialized variable problem in LCD driver + +* Add board/cpu specific NAND chip select function to 440 NDFC + Based on idea and implementation from Jeff Mann + Patch by Stefan Roese, 20 Oct 2006 + +* Make 4xx bootup message shorter on 440EPx/GRx platforms + Patch by Stefan Roese, 18 Oct 2006 + +* Add (preliminary) support for V38B board + +* PPC405EP: Add support for board configuration of CPC0_PCI register + This is needed to be able to configure PerWE*/PCI_INT* pin as PerWE* + Patch by Tolunay Orkun, 07 Apr 2006 + +* PPC405EP: Add CFG_GPIO0_OR, CFG_GPIO0_ODR to setup GPIO completely. + - Add configuration of Open Drain GPIO Output selection + - Add configuration of initial value of GPIO output pins + Patch by Tolunay Orkun, 07 Apr 2006 + +* Fix spelling; minor code cleanup. + +* Fix JFFS2 compilation problem + Patch by Stefan Roese, 12 Oct 2006 + +* Cleanup of NAND update patch (remove changelog from cmd_nand.c) + Patch by Guido Classen, 10 Oct 2006 + +* Several improvements to the new NAND subsystem: + - JFFS2 related commands implemented in mtd-utils style + - Support for bad blocks + - Bad block testing commands + - NAND lock commands + Please take a look at doc/README.nand for more details + Patch by Guido Classen, 10 Oct 2006 + +* Define IH_CPU_AVR32 + Make it possible to generate AVR32 uImage files with mkimage and + make cmd_bootm recognize them. + Patch by Haavard Skinnemoen, 22 Sep 2006 + +* Fix buffer overflow problem in ft_build.c + Patch by Fredrik Roubert, 09 Oct 2006 + +* Make bootp implementation RFC3046 compliant + Patch by Joakim Larsson, 27 Jun 2006 + +* TQM5200: perform POST memory test only on STK52xx carrier board. + (and then only if PSC6_3 is read as "1" when booting). + Patch by Martin Krause, 21 Jun 2006 + +* Move "ar" flags to config.mk to allow for silent "make -s" + Based on patch by Mike Frysinger, 20 Jun 2006 + +* Coding style cleanup + +* Add support for EP82xxM boards + Patch by Aaron Sells, 20 Jun 2006 + +* Fix comments in include/ppc440.h + Patch by Martin Hicks, 16 Jun 2006 + +* Update for CAM5200 board: + - Map in a additional chip selects CS4 and CS5. + - Modify the port configration, configure six UARTs and no PCI, + ATA and USB. + - Add custom flash driver to handle specific byte swapping + +* Fix TLB setup for Ocotea board + Patch by Stefan Roese, 30 Sep 2006 + +* Fix reset problem in sequoia sdram init code + Patch by Stefan Roese, 23 Sep 2006 + +* Disable autoboot abort for FO300 when silent mode is enabled + (according to S1 switch setting). + +* Cleanup examples binaries + +* Add support for AMCC Rainier PPX440GRx eval board + Patch by Stefan Roese, 13 Sep 2006 + +* Add NAND environment support for PPC440EPx Sequoia NAND boot config + Patch by Stefan Roese, 12 Sep 2006 + +* Update NAND boot documentation + Patch by Stefan Roese, 12 Sep 2006 + +* Fix alignment problem in "mtdparts" command + +* Add documentation on the latest build environment extensions to + the README file. + +* Remove dead code (i2o and dma) from cpu/mpc824x/drivers/ directory. + +* Fix LOG_DIR directory creation error. + Add support for automatic creation of BUILD_DIR directory. + +* Fix build problem cpu/ppc4xx/ndfc.c + Patch by Stefan Roese, 07 Sep 2006 + +* Fix build problem with CPCI440 + Patch by Stefan Roese, 07 Sep 2006 + +* Change Yellowstone to use CFI write buffer + Patch by Stefan Roese, 07 Sep 2006 + +* Add support for AMCC Sequoia PPC440EPx eval board + - Add support for PPC440EPx & PPC440GRx + - Add support for PPC440EP(x)/GR(x) NAND controller + in cpu/ppc4xx directory + - Add NAND boot functionality for Sequoia board, + please see doc/README.nand-boot-ppc440 for details + - This Sequoia NAND image doesn't support environment + in NAND for now. This will be added in a short while. + Patch by Stefan Roese, 07 Sep 2006 + +* Fix mkimage -l bug with multifile images on 64bit platforms + Patch by David Updegraff, 06 Sep 2006 + +* Fix build problems on sorcery board. + +* Fix coldfire build problems. + Patch by Marian Balakowicz, 01 Sep 2006 + +* Add support for a saving build objects in a separate directory. + Modifications are based on the Linux kernel approach and support + two use cases: + 1) Add O= to the make command line 'make O=/tmp/build all' + 2) Set environement variable BUILD_DIR to point to the desired location + 'export BUILD_DIR=/tmp/build' + 'make' + The second approach can also be used with a MAKEALL script + 'export BUILD_DIR=/tmp/build' + './MAKEALL' + Command line 'O=' setting overrides the BUILD_DIR environent variable. + When none of the above methods is used the local build is performed + and the object files are placed in the source directory. + +* Remove the board/netstar/crcit binary from git repository. + +* Fix tools/updater build error. + +* Fix tools/easylogo build error. + +* Fixed problems on PRS200 board caused by adding splash screen on MCC200 + +* Extended README entry on coding style + +* Added another example showing simple interrupt interception. + +* Added simple_strtoul(), getenv() and setenv() to the exported functions. + Also bumped up ABI version to reflect this change. + +* Added interrupt handling capabilities for mpc5xxx processors. + Also added Linux like BUG() macros. + +* Coding Style cleanup. + Patch by Stefano Babic, 31 Aug 2006 + +* Add splashscreen support for MCC200 board. + +* Make the serial driver framework work with CONFIG_SERIAL_MULTI + enabled + +* PCIe endpoint support for AMCC Yucca 440SPe board + Patch by Tirumala R Marri, 26 Aug 2006 + +* Improve DIMM detection for AMCC Yucca 440SPe board + Improved the memory DIMM detection for the Yucca 440SPe board for + the case where a memory DIMM is falsely detected as present. + This issue is seen on some AMCC Yucca 440SPe validation boards if + only one 512MB memory DIMM is installed, i.e. DIMM slot 0 is + populated and DIMM slot 1 is empty. In this case, U-Boot does + not correctly detect that there is only one DIMM memory module + installed and will falsely detect two DIMM memory modules are + present and therefore U-Boot will not calculate the correct amount + of total memory and u-boot will not booting up. + Patch by Adam Graham, 24 Aug 2006 + +* Fix typo. + +* Code cleanup + +* Update for MCC200 / PRS200 boards: + - auto-adjust console device for Linux. + - fix typos. + +* Add a fix for a buggy USB device on the FO300 board. + +* Updates for MCC200 / PRS200 boards: + - support for configurations with SDRAM or DDR memory, + - support for highboot and lowboot + - adjusting environment definitions + +* Add support for WTK FO300 board (TQM5200 based). + +* Fix TQM834x hang. + +* Update for SC520 board. + Patch by David Updegraff, 02 Dec 2005 + +* Fixed common.h spelling error. + Patch by Cory Tusar, 30 Nov 2005 + +* Fix typo. + Patch by Andreas Engel, 28 Nov 2005 + +* Fix fatload command on FAT32 formatted partitions. + Patch by Joachim Jaeger, 18 Nov 2005 + +* Fix drivers/dm9000.c when configured in 32 bit mode. + Patch by Eric Benard, 17 Nov 2005 + +* Cleanup debug code for yucca board. + +* MCC200: restrict addressable flash space to 32 MB + +* Add debug console on COM12 for MCC200 board + +* Fix control-c handing in CONFIG_CMDLINE_EDITING + Properly pass break code back from readline. + Patch by Roger Blofeld, 31 Jul 2006 + +* Add commandline history support to all AMCC eval boards + Patch by Stefan Roese, 07 Aug 2006 + +* Add Macronix MXLV320T flash support for AMCC Bamboo + Patch by Stefan Roese, 07 Aug 2006 + +* Change "mii info" to not print an error upon missing PHY at address + Patch by Stefan Roese, 07 Aug 2006 + +* Fix PCI-Express on PPC440SPe rev. A. + +* Fix preboot message on TQM85xx after switching to hush parser. + +* Adapt TQM85xx ramdisk address to Linux kernel memory map + +* Add initial support for PCI-Express on PPC440SPe (Yucca board). + +* Fix compiler warning for TRAB board. + Patch by Martin Krause, 07 Aug 2006 + +* Prevent USB commands from working when USB is stopped. + +* Add rudimentary handling of alternate settings of USB interfaces. + This is in order to fix issues with some USB sticks timing out + during initialization. Some code readability improvements. + +* PPC440 DDR setup: Set SDRAM0_CFG0[PMU]=0 for best performance + AMCC suggested to set the PMU bit to 0 for best performace on + the PPC440 DDR controller. + Please see doc/README.440-DDR-performance for details. + Patch by Stefan Roese, 28 Jul 2006 + +* AMCC bamboo (440EP) U-Boot image reduced to 384kbyte + Please see doc/README.bamboo for details. + Patch by Stefan Roese, 27 Jul 2006 + +* Fix CONFIG_CMDLINE_EDITING implementation + Patch by Stefan Roese, 27 Jul 2006 + +* Fix preboot message on TQM5200 after switching to hush parser. + +* MCC200: set default configuration to low_boot DDR, + and support for configurable options high_boot and/or SDRAM. + +* Add support for 256 MB SDRAM on CPU87 + Patch by Josef Wagner, 25 Nov 2005 + +* Add configuration for cam5200 board (based on TQM5200S). + +* More code cleanup + +* Disabled kvme080 board in MAKEALL because of build problems. + +* Code cleanup + +* Update NetStar board + Patch by Ladislav Michl, 03 Nov 2005 + +* Make code better readable. + Patch by Ladislav Michl, 14 Sep 2005 + +* Enable initrd ATAG for xm250 board. + Patch by Josef Wagner, 05 Sep 2005 + +* Add readline cmdline-editing extension + Patch by JinHua Luo, 01 Sep 2005 + +* Add support for friendly-arm SBC-2410X board + Patch by JinHua Luo, 01 Sep 2005 + +* Fix multi-part image support on i386 platform. + Patch by David Updegraff, 19 Aug 2005 + +* Add support for KVME080 board + Patch by Sangmoon Kim, 18 Aug 2005 + +* Fix MIPS LE build problem + Patch by Matej Kupljen, 10 Aug 2005 + +* Check argument count in "mii" command. + Problem pointed out by Andrew Dyer, 13 Jun 2005 + +* Cleanup TQM5200 board configurations: + - make highboot configurations use environment at high end, too, + to avoid flash fragmentation + - always use redundand environment + - don't enable video code for modules without graphics controller + - provide useful (though different) mtdparts settings + - get rid of CONFIG_CS_AUTOCONF which was always set anyway + +* Extend mkconfig tool to print more useful target name + +* Add support for high-boot on TQM5200 and TQM5200S boards. + Hint: the CPLD on the TQM5200 must be programmed with a software + version supporting the high boot option! The new TQM5200S is + already supporting this option. On the TQM5200 this option will be + supported in configurations with MPC5200 rev B processors. + To actually "high boot", set jumper X30 on the STK52xx. + Patch by Martin Krause, 12 Jul 2006 + +* Add support for new TQM5200 revisions + - Support for TQM5200S (short version without graphic controller) + - Support for modules with 'N' type S29GL128N Spansion flashes + (requires changes to flash layout) + - Support for MPC5200B cpu (mostly support for second SDRAM bank) + Patch by Martin Krause, 07 Jul 2006 + +* Fix support for PS/2 keyboard on TQM85xx boards + The PS/2 keyobard driver for the TQM85xx modules only supports the + internal DUART of the MPC85xx CPU. Since the MPC8560 doesn't + include a DUART, the TQM8560 modules can't be used with the PS/2 + keyboard controller on the STK85xx board. + The PS/2 keyboard driver should work with the modules TQM8540, + TQM8541 and TQM8555, but it only has been tested on a TQM8540, yet. + Make sure the PS/2 controller on the STK85xx is programmed. Jumper + settings: X66 1-2, 9-10; X61 2-3 + Patch by Martin Krause, 21 Jun 2006 + +* Adjust RTC century handling on STK52xx board to match Linux driver. + Patch by Martin Krause, 12 Jun 2006 + +* Adjust filenames for USB update images on TRAB board. + During an automatic update via USB stick, U-Boot searches for + images with the name "firmware.img" and "kernel.img". This names + are now changed to "firmw_01.img" and "kernl_01.img". This is done, + to prevent updates of new boards (with the new macronics "c" step + flashes) with old, incompatible firmware or kernel versions. + Patch by Martin Krause, 21 Jun 2006 + +* Bugfix in VFD routine on TRAB board. + Make sure upper lext pixel can be set to blue, too + (so far only red was possible). + Patch by Martin Krause, 15 Feb 2006 + +* Enable buffered flash writes for TB5200 board. + +* Fix some bugs in TRAB board flash driver. + - increase CFG_FLASH_ERASE_TOUT from 2 to 15 seconds + - use CFG_FLASH_WRITE_TOUT for programming instead of CFG_FLASH_ERASE_TOUT + - remove "Unlock Bypass" mode, because macronix flashes do not support + this mode officially + - fix flash reset command from 0x00FF to 0x00F0. 0x00FF is only specified + for Intel compatible flashes, not for AMD compatible. + Patch by Martin Krause, 15 Feb 2006 + +* Add additional error messages to flash driver on TRAB board + (for erase errors and timeout errors) + Patch by Martin Krause, 14 Feb 2006 + +* Add support for TB5200 board + The TB5200 ("Tinybox") is a small baseboard for the TQM5200 module + integrated in a little aluminium case. + Patch by Martin Krause, 8 Jun 2006 + +* Enable buffered flash writes for TQM5200 board. + +* Fix problems with SanDisk Corporation Cruzer Micro USB memory stick. + +* Add support for TQM885D board. + Patch by Martin Krause, 20 Mar 2006 + +* Fix FEC initialisation: All MII configuration is done via FEC1 + registers, but MII_SPEED was configured according to FEC used. So + if only FEC2 was used, this caused the real MII_SPEED register in + FEC1 to stay uninitalised, leqading to "mii_send STUCK!" messages. + Fix: always configure MII_SPEED on FEC1 only. + Patch by Markus Klotzbuecher, 12 Jul 2006 + +* Add support for SPC1920 board. + Patch by Markus Klotzbuecher, 12 Jul 2006 + +* MCC200 board: support console on any one of the Quad UART ports. + +* Fix error in flash protection calculation on MCC200 board. + +* Major PCMCIA Cleanup to make code better readable and maintainable. + Notes: + - Board-dependend code for RPXLITE and RPXCLASSIC-based boards + placed to the drivers/rpx_pmcia.c file to avoid duplication. + Same for TQM8xx-based boards (drivers/tqm8xx_pmcia.c). + - drivers/i82365.c has been split into two parts located at + board/atc/ti113x.c and board/cpc45/pd67290.c (ATC and CPC45 are + the only boards using CONFIG_82365). + - Changes were tested for clean build and *very* *few* boards. + +* Fix timer problems on AMCC yucca board. + Set Timer Clock Select to use CPU clock as a timer input source. + +* Bring yucca config more in line with other AMCC boards. + +* Add AMCC bamboo board to MAKEALL build script. + +* Fix AMCC bamboo eval board compilation errors. + +* Add system memory to the PCI region list for AMCC PPC44x CPUs. + Enabled it for Yucca board. + +* Cleanup config file and bootup output for Yucca board. + +* Fix CONFIG_440_GX define usage. + +* Remove autogenerated bmp_logo.h file. + +* Add support for AMCC 440SPe CPU based eval board (Yucca). + +* Call serial_initialize() before first debug() is used. + +* Cleanup trab board for GCC-4.x + +* VoiceBlue update: use new MTD flash partitioning methods, use more + reasonable TEXT_BASE, update default environment and enable keyed + autoboot. + Patch by Ladislav Michl, 16. Aug 2005 + +* Add forgotten changes for the PLEB 2 Board. + Patch by David Snowdon, 13. Aug 2005 + +* Add support for wrPPMC7xx/74xx boards + Patch by Richard Danter, 12 Aug 2005 + +* Add support for gth2 board + Patch by Thomas Lange, Aug 11 2005 + +* Add support for CONFIG_SERIAL_MULTI on MPC5xxx + Patch by Martin Krause, 8 Jun 2006 + + This patch supports two serial consoles on boards with + a MPC5xxx CPU. The console can be switched at runtime + by setting stdin, stdout and stderr to the desired serial + interface (serial0 or serial1). The PSCs to be used as + console port are definded by CONFIG_PSC_CONSOLE + and CONFIG_PSC_CONSOLE2. + See README.serial_multi for details. + +* Bugfix in I2C initialisation on S3C2400. + If the bus is blocked because of a previously interrupted + transfer, up to eleven clocks are generated on the I2CSCL + line to complete the transfer and to free the bus. + With this fix pin I2CSCL (PG6) is really configured as GPIO + so the clock pulses are really generated. + Patch by Martin Krause, 04 Apr 2006 + +* Fix DDR6 errata on TQM834x boards + Patch by Thomas Waehner, 07 Mar 2006 + +* Remove obsolete flash driver board/tqm5200/flash.c + Patch by Martin Krause, 11 Jan 2006 + +* Update configuration for CMC-PU2 board + Patch by Martin Krause, 17 Nov 2005 + +* Add support for PS/2 keyboard on TQM85xx board + Patch by Martin Krause, 07 Nov 2005 + + Tested on a STK85XX baseboard. Make sure the PS/2 controller + has been programmed. Jumper Settings: X66 1-2, 9-10; X61 2-3 + +* Fix TRAB channel switching delay for trab_fkt.bin standalone applikation + In tsc2000_read_channel() the delay after setting the multiplexer + to a temperature channel is increased from 1,5 ms to 10 ms. This + is to allow the multiplexer inputs to stabilize after huge steps + of the input signal level. + Patch by Martin Krause, 08 Nov 2005 + +* Adjust TQM5200 make targets + Make the automatic CS configuration the default. + The dedicated configurations CONFIG_TQM5200_AA, CONFIG_TQM5200_AB + and CONFIG_TQM5200_AC are removed. + "TQM5200_config" is now the default for STK52XX.200 base boards. + On a STK52XX.100 base board "TQM5200_STK100_config" must be used. + Patch by Martin Krause, 07 Nov 2005 + +* Fix setting of environment variable "ver" on trab board + The environment variable "ver" is now set before + do_auto_update() is called, so that "ver" can be used + in USB update scripts. + Patch by Martin Krause, 27 Oct 2005 + +* Fix wrong usage of udelay() in led_blink() on trab board + Patch by Martin Krause, 27 Oct 2005 + +* Fix udelay bug in vfd.c for trab board + Patch by Martin Krause, 27 Oct 2005 + +* Disable JFFS2 support for trab board + Patch by Martin Krause, 27 Oct 2005 + +* Change mtdparts definition on trab board to match current flash map + Patch by Martin Krause, 27 Oct 2005 + +* Fix memory init problems on MCC200 board + +* Fix IxEthDB.h to compile again + Patch by Stefan Roese, 14 Jun 2006 + +* Minor cleanup for PCS440EP board + Patch by Stefan Roese, 13 Jun 2006 + +* Add MCF5282 support (without preloader) + relocate ichache_State to ram + u-boot can run from internal flash + Add EB+MCF-EV123 board support. + Add m68k Boards to MAKEALL + Patch from Jens Scharsig, 08 Aug 2005 + +* Nios II - Add Altera EP1C20, EP1S10 and EP1S40 boards + Patch by Scott McNutt, 08 Jun 2006 + +* Nios II - Add EPCS Controller bootrom work-around + -When booting from an epcs controller, the epcs bootrom may leave the + slave select in an asserted state causing soft reset hang. This + patch ensures slave select is negated at reset. + Patch by Scott McNutt, 08 Jun 2006 + +* Update PK1C20 board + -Update base addresses for standard configuration + -Eliminate use of CACHE_BYPASS in board code + Patch by Scott McNutt, 08 Jun 2006 + +* Nios II - Fix I/O Macros and mini-app stubs + -Fix asm/io.h macros + -Eliminate use of CACHE_BYPASS in cpu code + -Eliminate assembler warnings + -Fix mini-app stubs and force no small data + Patch by Scott McNutt, 08 Jun 2006 + +* Fix U-Boot environment sector protection on MCC200 board + +* Minor cleanup for PCS440EP board + +* Update PCS440EP port to fit into one flash device (incl. environment) + Patch by Stefan Roese, 06 Jun 2006 + +* Add support for PCS440EP board + Patch by Stefan Roese, 02 Jun 2006 + +* Fix examples/Makefile; some build targets were lost + +* Fix watchdog handling in CFI flash driver + Just use udelay() when waiting for status changes which will + implicitely trigger the watchdog. + +* Fix PCI to memory window size problems on PM82x boards + We use the "automatic" mode that was used for the MPC8266ADS and + MPC8272 boards. Eventually this should be used on all boards?] + Patch by Wolfgang Grandegger, 17 Jan 2006 + +* Correct GPIO setup (UART1/IRQ's) on yosemite & yellowstone + Patch by Stefan Roese, 29 May 2006 + +* Update Intel IXP4xx support + - Add IXP4xx NPE ethernet MAC support + - Add support for Intel IXDPG425 board + - Add support for Prodrive PDNB3 board + - Add IRQ support + Patch by Stefan Roese, 23 May 2006 + +* Fix problem in PVR detection for 440GR + Patch by Stefan Roese, 18 May 2006 + +* Fix gcc 3.4.x AFLAGS setting for m68k platform. + +* Enable autoboot for M5271EVB board. + +* Changed default ramdisk addr in yosemite/yellowstone ports + Patch by Stefan Roese, 15 May 2006 + +* Fix PCMCIA support on virtlab2 + +* Add support for VirtLab2 board + (needed because of differences in the PCMCIA hardware). + +* Minor cleanup. + +* Update yosemite configuration to enable flash write buffer support + Patch by Stefan Roese, 10 May 2006 + +* Fix compile warnings in common/xyzModem.c + Patch by Stefan Roese, 10 May 2006 + +* Add support for AMCC 440EP Rev C and 440GR Rev B + Patch by John Otken, 08 May 2006 + +* OMAP 5912/OSK: update EMIFS CS1 timings: + Problems have been seen in the linux kernel's smc91x network driver + due to improper bus timings. The latest 2.6 OMAP kernels currently + have a workaround, but this fix belongs in u-boot. + Patch by Kevin Hilman, 13 Oct 2005 + +* Fix REG_MPU_LOAD_TIMER definition in multiple OMAP ports + Patch by Hiroki Kaminaga, 11 Mar 2006 + +* Update omap5912osk board support + - Fix OMAP support that omap5912osk compiles in current source tree + - Update with code from "http://omap.spectrumdigital.com/osk5912" + to fix problems with DDR initialization + - Fix timer setup + - Use CFI flash driver and support complete 32MB of onboard flash + - Add "print_cpuinfo()" and "checkboard()" functions to display + CPU (with frequency) and Board infos + Patch by Stefan Roese, 10 May 2006 + +* Fix watchdog issues for ColdFire boards. + +* Add M5271EVB board support. + +* Make R5200 specific low level initialization board conditional. + +* Update CPU target identification strings for ColdFire family. + +* Update register definitions for MCF5271. + +* Fix serial console support for MCF5271. + +* Fixes for gcc 3.4 based m68k toolchain, + based on patch by Jate Sujjavanich. + +* Fix lowboot support on MCC200 board + +* Merged MPC8349ADS and MPC8349EMDS ports into MPC8349EMDS port: + - Removed MPC8349ADS port + - Added PCI support to MPC8349ADS + - reworked memory map to allow mapping of all regions with BATs + Patch by Kumar Gala, 20 Apr 2006 + +* Coding Style cleanup + +* Write RTC seconds first to maintain settings integrity per + Maxim/Dallas DS1306 data sheet. + Patch by Alan J. Luse, 02 May 2006 + +* Scheduled for removal: strnicmp() which is unused + +* Update for Intel Monahans boards: + - support for magic key detection and handling on delta board + - NAND support for zylonite board + some minor cleanup + +* Declare load_serial_ymodem() when using CFG_CMD_LOADB. + Patch by Jon Loeliger, 01 May 2006 + +* Fixed handling of bad checksums with "mkimage -l" + +* Added support for BC3450 board + Patch by Stefan Strobl, 21 Oct 2005 + +* Update for NC650 board: + - Support rev1 and rev2 hardware + - adapt to new NAND layer + - add CP850 configuration based on NC650 + +* MPC5200: enable snooping of DMA transactions on XLB even if no PCI + is configured; othrwise DMA accesses aren't cache coherent which + causes for example USB to fail. + +* Some code cleanup + +* Fix dbau1x00 boards broken by dbau1550 patch + PLL:s were not set for boards other than 1550. + Flash CFI caused card to hang due to undefined CFG_FLASH_BANKS_LIST. + Default boot is now bootp for cards other than 1550. + Patch by Thomas Lange, 10 Aug 2005 + +* Fixes common/cmd_flash.c: + - fix some compiler/parser error, if using m68k tool chain + - optical fix for protect on/off all messages, if using more + then one bank + Patch by Jens Scharsig, 28 Jul 2005 + +* Fix Quad UART mapping on MCC200 board due to new HW revision + +* Fix JFFS2 support for legacy NAND driver. + +* Remove dependencies between DoC code and old legacy NAND driver. + +* Fix PM828_PCI target, for which PCI was *not* configured in. + +* Fix Lite5200B support: initialize SDelay register + See Freescale's AN3221 "MPC5200B SDRAM Initialization and + Configuration", 3.3.1 SDelay--MBAR + 0x0190 + +* Changes/fixes for drivers/cfi_flash.c: + + - Add Intel legacy lock/unlock support to common CFI driver + + On some Intel flash's (e.g. Intel J3) legacy unlocking is + supported, meaning that unlocking of one sector will unlock + all sectors of this bank. Using this feature, unlocking + of all sectors upon startup (via env var "unlock=yes") will + get much faster. + + - Fixed problem with multiple reads of envronment variable + "unlock" as pointed out by Reinhard Arlt & Anders Larsen. + + - Removed unwanted linefeeds from "protect" command when + CFG_FLASH_PROTECTION is enabled. + + - Changed p3p400 board to use CFG_FLASH_PROTECTION + + Patch by Stefan Roese, 01 Apr 2006 + +* Changes/fixes for drivers/cfi_flash.c: + - Correctly handle the cases where CFG_HZ != 1000 (several + XScale-based boards) + - Fix the timeout calculation of buffered writes (off by a + factor of 1000) + Patch by Anders Larsen, 31 Mar 2006 + +* Updates to common PPC4xx onboard (DDR)SDRAM init code (405 and 440) + + 405 SDRAM: - The SDRAM parameters can now be defined in the board + config file and the 405 SDRAM controller values will + be calculated upon bootup (see PPChameleonEVB). + When those settings are not defined in the board + config file, the register setup will be as it is now, + so this implementation should not break any current + design using this code. + + Thanks to Andrea Marson from DAVE for this patch. + + 440 DDR: - Added function sdram_tr1_set to auto calculate the + TR1 value for the DDR. + - Added ECC support (see p3p440). + + Patch by Stefan Roese, 17 Mar 2006 + +* Fix CONFIG_SKIP_LOWLEVEL_INIT dependency in cpu/arm920t/start.S + Patch by Peter Menzebach, 13 Oct 2005 [DNX#2006040142000473] + +* Add support for ymodem protocol download + Patch by Stefano Babic, 29 Mar 2006 + +* Memory Map Update for Delta board: U-Boot is at 0x80000000-0x84000000 + Merge from Markus Klotzbücher's repo, 01 Apr 2006 + +* GCC-4.x fixes: clean up global data pointer initialization for all + boards + +* Update for Delta board: + - redundant NAND environment + - misc Monahans cleanups (remove dead code etc.) + - DA9030 Initialization; some minimal changes to PXA I2C driver to + make it work with the Monahans. + - Make Monahans clock frequency configurable using + CFG_MONAHANS_RUN_MODE_OSC_RATIO and + CFG_MONAHANS_TURBO_RUN_MODE_RATIO. + Merge from Markus Klotzbücher's repo, 25 Mar 2006 + +* Enable Quad UART om MCC200 board. + +* Cleanup MCC200 board configuration; omit non-existent stuff. + +* Add support for MPC859/866 Rev. A.0 + +* Add command for handling DDR ECC registers on MPC8349EE MDS board. + +* Fix DDR ECC bit definitions for MPC83xx. + +* Add initial support for MPC8349E MDS board. + +* Add support for ECC DDR initialization on MPC83xx. + +* Add DMA support for MPC83xx. + +* Add sync in do_reset() routine for MPC83xx after RPR register + was written to. It is need on some targets when BAT translation + is enabled. + +* Add bit definitions for MPC83xx DDR controller registers. + +* Add Dcbz(), Dcbi() and Dcbf() routines for MPC83xx. + +* Correct shift offsets in icache_status and dcache_status for MPC83xx. + +* Add support for DS1374 RTC chip. + +* Add support for Lite5200B board. + Patch by Patch by Jose Maria (Txema) Lopez, 16 Jan 2006 + +* Apply SoC concept to arm926ejs CPUs, i.e. move the SoC specific + timer and cpu_reset code from cpu/$(CPU) into the new + cpu/$(CPU)/$(SOC) directories + Patch by Andreas Engel, 13 Mar 2006 + +* Change max size of uncompressed uImage's to 8MByte and add + CFG_BOOTM_LEN to adjust this setting. + + As mentioned by Robin Getz on 2005-05-24 the size of uncompressed + uImages was restricted to 4MBytes. This default size is now + increased to 8Mbytes and can be overrided by setting CFG_BOOTM_LEN + in the board config file. + + Patch by Stefan Roese, 13 Mar 2006 + +* Fix problem with updated PCI code in cpu/ppc4xx/405gp_pci.c + Patch by Stefan Roese, 13 Mar 2006 + +* cpu/ppc4xx/start.S : exceptions are enabled after relocation + Patch by Cedric Vincent, 06 Jul 2005 + +* au1x00_eth.c: check malloc return value and abort if it failed + Patch by Andrew Dyer, 26 Jul 2005 + +* Change the sequence of events in soft_i2c.c:send_ack() to keep from + incorrectly generating start/stop conditions on the bus. + Patch by Andrew Dyer, 26 Jul 2005 + +* Fix bug in [id]cache_status commands for MPC85xx processors; + should look at LSB of L1CSRn registers to determine if L1 cache is + enabled, not the MSB. + Patch by Murray Jensen, 19 Jul 2005 + +* Fix array overflow with fw_setenv on uninitialised environment + Patch by Murray Jensen, 15 Jul 2005 + +* Add support for EmbeddedPlanet EP88x boards + Patch by Yuli Barcohen, 13 Jul 2005 + +* Remove board specific configuration includes from the common xilinx + ethernet and iic adapter code. + Patch by Michael Libeskind, 12 Jul 2005 + +* Add Nat Semi DP83865 PHY support to MPC85xx TSEC driver + Patch by Murray Jensen, 08 Jul 2005 + +* Add (some) definitions for the MPC85xx local bus controller + Patch by Murray Jensen, 08 Jul 2005 + +* Add CPM2 I/O pin functions for MPC85xx processors + Patch by Murray Jensen, 08 Jul 2005 + +* Fix compile problem + +* Added PCI support for MPC8349ADS board + Patch by Kumar Gala 11 Jan 2006 + +* Enable address translation on MPC83xx + Patch by Kumar Gala, 10 Feb 2006 + +* Decopuled setting of OR/BR and LBLAWBAR/LBLAWAR on MPC83xx + Patch by Kumar Gala, 25 Jan 2006 + +* Fixed defines for MPC83xx SICRL register to match current specs + Patch by Kumar Gala, 23 Jan 2006 + +* Only disable the MPC83xx watchdog if its enabled out of reset. + If its disabled out of reset SW can later enable it if so desired + Patch by Kumar Gala, 11 Jan 2006 + +* Allow config of GPIO direction & data registers at boot on 83xx + Patch by Kumar Gala, 11 Jan 2006 + +* Enable time handling on 83xx + Patch by Kumar Gala, 11 Jan 2006 + +* Make System IO Config Registers board configurable on MPC83xx + Patch by Kumar Gala, 11 Jan 2006 + +* Fixed PCI indirect config ops to handle multiple PCI controllers + We need to adjust the bus number we are trying to access based + on which PCI controller its on + Patch by Kumar Gala, 12 Jan 2006 + +* Report back PCI bus when doing table based device config + Patch by Kumar Gala, 11 Jan 2006 + +* Added support for PCI prefetchable region and BARs + If a host controller sets up a region as prefetchable and + a device's BAR denotes it as prefetchable, allocate the + BAR into the prefetch region. + + If a BAR is prefetchable and no prefetchable region has + been setup by the controller we fall back to allocating + the BAR into the normally memory region. + Patch by Kumar Gala, 11 Jan 2006 + +* Add helper function for generic flat device tree fixups for mpc83xx + Patch by Kumar Gala, 11 Jan 2006 + +* Add support for passing initrd information via flat device tree + Patch by Kumar Gala, 11 Jan 2006 + +* Added OF_STDOUT_PATH and OF_SOC + + OF_STDOUT_PATH specifies the path to the device the kernel can use + for console output + + OF_SOC specifies the proper name of the SOC node if one exists. + Patch by Kumar Gala, 11 Jan 2006 + +* Allow board code to fixup the flat device tree before booting a kernel + Patch by Kumar Gala, 11 Jan 2006 + +* Added CONFIG_ options for bd_t and env in flat dev tree + + CONFIG_OF_HAS_BD_T will put a copy of the bd_t + into the resulting flat device tree. + + CONFIG_OF_HAS_UBOOT_ENV will copy the environment + variables from u-boot into the flat device tree + + Patch by Kumar Gala, 11 Jan 2006 + +* Add support for the DHCP vendor optional bootfile (#67). + Ignores the vendor TFTP server name option (#66). + Patch by Murray Jensen, 30 Jun 2005 + +* Fix a HW timing issue on 8548 CDS for eTSEC 3 in RGMII mode + Patch by Andy Fleming, 14 Jun 2005 + +* Fix bad register definitions for LTX971 PHY on MPC85xx boards. + Patch by Gerhard Jaeger, 21 Jun 2005 + +* Add netconsole and some more commands to RPXlite_DW board + Patch by Sam Song, 19 Jun 2005 + +* Fix bad declaration on pci_cfgfunc_nothing + Patch by Sam Song, 19 Jun 2005 + +* Adjust "echo" as a default command + Patch by Sam Song, 19 Jun 2005 + +* Fix PCIDF calculation in cpu/mpc8260/speed.c for MPC8280EC + Patch by KokHow Teh, 16 Jun 2005 + +* Add crc of data to jffs2 (in jffs2_1pass_build_lists()). + Patch by Rick Bronson, 15 Jun 2005 + +* Coding Style cleanup + +* Avoid dereferencing NULL in find_cmd() if no valid commands were found + Patch by Andrew Dyer, 13 Jun 2005 + +* Add ADI Blackfin support + - add support for Analog Devices Blackfin BF533 CPU + - add support for the ADI BF533 Stamp uClinux board + - add support for the ADI BF533 EZKit board + Patches by Richard Klingler, 11 Jun 2005 + +* Add loads of ntohl() in image header handling + Patch by Steven Scholz, 10 Jun 2005 + +* Switch MPC86xADS and MPC885ADS boards to use cpuclk environment + variable to set clock + Patch by Yuli Barcohen, 05 Jun 2005 + +* RPXlite configuration fixes + - Use correct flash sector size + - Use correct memory test end address + - Add support for bzip2 compression + - Various small fixes + Patch by Yuli Barcohen, 05 Jun 2005 + +* Memory configuration changes for ZPC.1900 board + - Fix SDRAM timing on both local bus and 60x bus + - Add support for second flash bank (SIMM) + - Change boot flash base + Patch by Yuli Barcohen, 05 Jun 2005 + +* Add support for Adder boards with 16MB SDRAM; + add support for second FEC on Adder87x board. + Patch by Yuli Barcohen, 05 Jun 2005 + +* Fix conditional for including ks8695eth driver + Patch by Greg Ungerer, 04 Jun 2005 + +* Fix Makefile: include config.mk only after CROSS_COMPILE is defined + Patch by Friedrich Lobenstock, 02 Jun 2005 + +* Fix comment in common/soft_i2c.c + Patches by Peter Korsgaard/Tolunay Orkun, 26 May 2005 + +* Cleanup compiler warnings. + Patch by Greg Ungerer, 21 May 2005 + +* Word alignment fixes for word aligned NS16550 UART + Patch by Jean-Paul Saman, 01 Mar 2005 + + Fixes bug with UART that only supports word aligned access: removed + "__attribute__ ((packed));" for "(CFG_NS16550_REG_SIZE == 4)" some + (broken!) versions of GCC generate byte accesses when encountering + the packed attribute regardless if the struct is already correctly + aligned for a platform. Peripherals that can only handle word + aligned access won't work properly when accessed with byte access. + The struct NS16550 is already word aligned for REG_SIZE = 4, so + there is no need to packed the struct in that case. + +* Fix behaviour if gatewayip is not set + Patch by Robin Gilks, 23 Dec 2004 + +* Fix cleanup for netstart board. + Remove build results from repository + +* Some code cleanup for GCC 4.x + +* Fixes to support environment in NAND flash; + enable NAND flash based environment for delta board. + +* Add support for Intel Monahans CPU on Zylonite and Delta boards + (This is Work in Progress!) + +* Add support for TQM8260-AI boards. + +* Minor code cleanup + +* Merge the new NAND code (testing-NAND brach); see doc/README.nand + Rewrite of NAND code based on what is in 2.6.12 Linux kernel + Patch by Ladislav Michl, 29 Jun 2005 + +* Add lowboot target to mcc200 board + Patch by Stefan Roese, 4 Mar 2006 + +* Fix problem with flash_get_size() from CFI driver update + Patch by Stefan Roese, 1 Mar 2006 + +* Make CFG_NO_FLASH work on ARM systems + Patch by Markus Klotzbuecher, 27 Feb 2006 + +* Update mcc200 config: Disable PCI and DoC, use 133 MHz IPB clock, + use hush shell. + +* Convert mcc200 to use common CFI flash driver + Patch by Stefan Roese, 28 Feb 2006 + +* Add env-variable "unlock" to handle initial state of sectors + (locked/unlocked). + + Only the U-Boot image and it's environment is protected, + all other sectors are unprotected (unlocked) if flash + hardware protection is used (CFG_FLASH_PROTECTION) and + the environment variable "unlock" is set to "yes". + + Patch by Stefan Roese, 28 Feb 2006 + +* Update drivers/cfi_flash.c: + - find_sector() called in both versions of flash_write_cfiword() + Patch by Peter Pearse, 27th Feb 2006 + +* CFI support for a x8/x16 AMD/Spansion flash configured in x8 mode + Patch by Jose Maria Lopez, 16 Jan 2006 + +* Add support for AMD/Spansion Flashes in flash_write_cfibuffer + Patch by Alex Bastos and Thomas Schaefer, 2005-08-29 + +* Changes/fixes for drivers/cfi_flash.c: + We *should* check if there are any error bits if the previous call + returned ERR_OK (Otherwise we will have output an error message in + flash_status_check() already.) The original code would only check for + error bits if flash_status_check() returns ERR_TIMEOUT. + Patch by Marcus Hall, 23 Aug 2005 + +* Changes/fixes for drivers/cfi_flash.c: + - Add CFG_FLASH_PROTECT_CLEAR on drivers/cfi_flash.c + - Prohibit buffer write when buffer_size is 1 on drivers/cfi_flash.c + Patch by Sangmoon Kim, 19 Aug 2005 + +* Fixes for drivers/cfi_flash.c: + - Fix wrong timeout value usage in flash_status_check() + - Round write_tout up when converting to msec in flash_get_size() + - Remove clearing flash status at the end of flash_write_cfibuffer() + which sets Intel 28F640J3 flash back to command mode on CSB472 + Patch by Tolunay Orkun, 02 July 2005 + +* Add basic support for the SMMACO4 Board from PanDaCom. + Patch by Heiko Schocher, 20 Feb 2006 + +* Add GIT version information (commid ID) to untagged U-Boot versions + + As done in the linux kernel, the U-Boot version (U_BOOT_VERSION) + of all unreleased (untagged) U-Boot images will be automatically + extended upon compiletime with a part of the GIT commit ID and + possibly with "dirty" if uncommited changes are detected. + + Here an example for the resulting version: + "U-Boot 1.1.4-g3457ac18-dirty" + + The version is now maintained in the toplevel Makefile and the + version headers are autogenerated. + + Patch by Stefan Roese, 9 Feb 2006 + +* Update default environment for INKA4x00 board. + +* Convert CPCI750 to use common CFI flash driver + Patch by Reinhard Arlt, 8 Feb 2006 + +* Various changes to esd HH405 board specific files + Patch by Matthias Fuchs, 07 Feb 2006 + +* Cleanup U-Boot boot messages on ARM. + + To match the U-Boot user interface on ARM platforms to the U-Boot + standard (as on PPC platforms), some messages with debug character + are removed from the default U-Boot build. + Enable DEBUG for lib_arm/board.c to enable debug messages. + New CONFIG_DISPLAY_CPUINFO and CONFIG_DISPLAY_BOARDINFO options. + Patch by Stefan Roese, 24 Jan 2006 + +* Fix various compiler warnings on ppc4xx builds (ELDK 4.0) + Patch by Stefan Roese, 18 Jan 2006 + +* Add VGA support (CT69000) to CPCI750 board. + Insert missing __le32_to_cpu() for filesize in ext2fs_read_file(). + Patch by Reinhard Arlt, 30 Dec 2005 + +* PMC405 and CPCI405: Moved configuration of pci resources + into config file. + PMC405 and CPCI2DP: Added firmware download and booting via pci. + Patch by Matthias Fuchs, 20 Dec 2005 + +* Add ColdFire targets to MAKEALL script + Patch by Zachary Landau, 26 Jan 2006 + +* Add support for r5200 board + Patch by Zachary Landau, 26 Jan 2006 + +* Add support for Freescale M5271 processor + Patch by Zachary Landau, 26 Jan 2006 + +* Fix 28F256J3A support on PM520 board + (without bank-switching only 32 MB can be accessed) + +* Fix mkimage bug with multifile images created on 64 bit systems. + +* Add support for 28F256J3A flash (=> 64 MB) on PM520 board + +* Fix compiler problem with at91rm9200dk board. + Patch by Eugen Bigz, 19 Dec 2005 + +====================================================================== +Changes for U-Boot 1.1.4: +====================================================================== + +* Changes to Yellowstone & Yosemite 440EP/GR eval boards: + - Changed GPIO setup to enable another address line in order to + address 64M of FLASH. + - Added function sdram_tr1_set to auto calculate the tr1 value for + the DDR. + Patch by Steven Blakeslee, 12 Dec 2005 + +* MPC5200: Set PCI retry counter to 0 = infinite retry; + The default of 255 is too short for slow devices. + Patch by Martin Nykodym, 12 Dec 2005 + +* Change port configuration for O2DNT (CODEC1 on PSC1). + +* Fix register for PCI async mode on PPC440EP + Patch by Youngchul Bang, 08 Dec 2005 + +* Fix U-Boot linking problems (add .eh_frame segment to linker script) + This segment may be required by some libgcc.a functions + (like _udivdi3). + +* Fix DPRAM offset/size for MPC8541/8555. + Simplify TQM85xx Makefile handling. + +* Fix data overflow (typo?) in rtc/ds1302.c + +* Fix U-Boot compilation for MIPS boards using ELDK 4.0 + +* Add support for TQM8541/8555 boards, TQM85xx support reworked: + - Support for TQM8541/8555 boards added. + - Complete rework of TQM8540/8560 support. + - Common TQM85xx code now supports all current TQM85xx platforms + (TQM8540/8541/8555/8560). + - DDR SDRAM size detection added. + - CAS latency default values can be overwritten by setting "serial#" + to e.g. "ABC0001 casl=25" -> CAS latency 2.5 will be used. + If problems are detected with this non default CAS latency, + the default values will be used instead. + - Flash size detection added. + - Moved FCC ethernet driver initialization behind TSEC driver init + -> TSEC is first device. + Patch by Stefan Roese, 30 Nov 2005 + +* Add support for AMCC 440SP, add support for AMCC Luan 440SP eval board. + Patch by John Otken, 23 Nov 2005 + +* Changed PPC44x startup message (cpu info, speed...) to common style: + On PPC44x platforms, the startup message generated in "cpu.c" only + comprised the ppc type and revision but not additional information + like speed etc. Those speed infos where printed in the board specific + code. This new implementation now prints all CPU infos in the common + cpu specific code. No board specific code is needed anymore and + therefore removed from all current 44x implementations. + Patch by Stefan Roese, 27 Nov 2005 + +* Adjust TQM834x PHY addresses for latest hardware revision. + +* Increase malloc arena on TQM5200 board to 256 kB. + With 64 kb uniform flash sector size the old value of 128 kB was + too small. + +* Fix miiphy global data initialization (problem on 4xx boards when + no ethaddr is assigned). Initialization moved from + miiphy_register() to eth_initialize(). + + Based on initial patch for 4xx platform by Matthias Fuchs. + +* Remove unnnecessary #include from include/asm-*/u-boot.h + +* Allow use of include/image.h and include/asm-*/u-boot.h in proprietary code. + The COPYING file was extended to make clear that these files can be + used in non-GPL code, too. + Also, a corresponding note was placed in the headers of the affected files. + +* Add support for Prodrive P3P440 board: + - Added onboard PPC440 DDR autodetection in cpu/ppc/sdram.c + - CFG_FLASH_QUIET_TEST added to use the common CFI driver + for bank autodetection + Patch by Stefan Roese, 22 Nov 2005 + +* Change all '$(...)' variable references into '${...}' + which makes the environment compatible with the hush shell. + WARNING: Support for the old '$(...)' syntax will be + discontinued in a later version. + +* Minor changes to init flags in TQM834x PCI. + +* Fix Bamboo DDR SDRAM initialization (problem with onboard SDRAM) + Patch by Stefan Roese, 15 Nov 2005 + +* New PPC 405EP board added: CMS700 + Added CONFIG_NET_MULTI for VOM405 board. + Added reset_phy() for VOM405 board. + Patch by Matthias Fuchs, 09 Nov 2005 + +* Updated PCI mapping for esd CPCI2DP board. + Add support for error LED. + Patch by Matthias Fuchs, 07 Nov 2005 + +* Fix MPC85xx PCI support (pci_register_hose() before pci config access) + Patch by Stefan Roese, 07 Nov 2005 + +* Correct PPC Timebase register definitions (SPRN_TBRL...) + Patch by Stefan Roese, 07 Nov 2005 + +* Adjust bd->bi_flashstart on Yellowstone & Yosemite to correct size + Patch by Stefan Roese, 05 Nov 2005 + +* Additional fix for external IRQ config on Yellowstone & Yosemite + Patch by Stefan Roese, 03 Nov 2005 + +* Add support for Ocotea pass 3 with 440GX Rev. F + Patch by Stefan Roese, 01 Nov 2005 + +* Fix external IRQ configuration on Yellowstone & Yosemite + Patch by Stefan Roese, 28 Oct 2005 + +* Add support for multiple PHYs. + Tested on the following boards: + cmcpu2 (at91rm9200/ether.c) + PPChameleon (ppc4xx/4xx_enet.c) + yukon (mpc8220/fec.c) + uc100 (mpc8xx/fec.c) + tqm834x (mpc834x/tsec.c) with EEPRO100 + lite5200 (mpc5xxx/fec.c) with EEPRO100 card (drivers/eepro100.c) + Main changes include: + common/miiphyutil.c + - miiphy_register routine was added to allow multiple PHYs to be registered + - miiphy_read and miiphy_write are now defined in this file, and + require additional argument (char *devname) + - other miiphy_* routines also require additional device name argument + ../lib_i386/board.c + ../lib_ppc/board.c + Calling reset_phy() was moved to be executed *after* eth_initialize(). + This is necessary as now some of the implementations of reset_phy() + may need to use miiphy_reset() which is not allowed before eth_initialize() + as eth_initialize registers all required miiphy_* routines. + Tested on IP860 and PHY initializes properly after this change. + +* Correct includes for flat tree builder. + +* Fix conflicting types (flash_write()) in trab auto_update.c. + +* Add PCI support for the TQM834x board. + +* Add missing 4xx board to MAKEALL + Patch by Stefan Roese, 20 Oct 2005 + +* Fix conflicting types (flash_write()) in esd auto_update.c + Patch by Stefan Roese, 20 Oct 2005 + +* Fix problem with sleep in NetConsole (use get_timer()) + Patch by Stefan Roese, 20 Oct 2005 + +* Add NetConsole Support for AMCC eval boards + Patch by Stefan Roese, 20 Oct 2005 + +* Fix NetConsole support on 4xx (only print eth link on 1st transfer) + Patch by Stefan Roese, 18 Oct 2005 + +* Add fat & ext2 support to AMCC 440EP boards Yosemite & Bamboo. + Fix identation on ext2ls help entry. + Patch by Stefan Roese, 14 Oct 2005 + +* Add support for TQM834x boards. + Cleanup. + +* Cleanup for GCC-4.x + +* Add documentation for Open Firmware Flat Tree and usage. + Patch by Pantelis Antoniou, 13 Oct 2005 + +* Add missing files for Pantelis Antoniou's patch + Patch by Pantelis Antoniou, 04 Sep 2005 + +* Fix problem in ppc4xx eth-driver without ethaddr (only without + CONFIG_NET_MULTI set) + Patch by Stefan Roese, 10 Oct 2005 + +* Fix gzip bmp support (test if malloc fails, warning when truncated). + Increase CFG_VIDEO_LOGO_MAX_SIZE on HH405 board. + Patch by Stefan Roese, 07 Oct 2005 + +* Add support for OF flat tree for the STXtc board. + Patch by Pantelis Antoniou, 04 Sep 2005 + +* Support passing of OF flat trees to the kernel. + Patch by Pantelis Antoniou, 04 Sep 2005 + +* Cleanup + +* Add support for NetSilicon NS7520 processor. + Patch by Art Shipkowski, 12 May 2005 + +* Add support for AP1000 board. + Patch by James MacAulay, 07 Oct 2005 + +* Eliminate hard-coded address of Ethernet transfer buffer on at91rm9200 + Patch by Anders Larsen, 07 Oct 2005 + + The Atmel errata #11 states that the transfer buffer descriptor + table must be aligned on a 16-word boundary. As it turned out, this + is insufficient - it seems the table must be aligned on a boundary + at least as large as the table itself (in Linux this is not an + issue - the table is aligned on a PAGE_SIZE (4096) boundary). + +* Fixed compilation for ARM when using a (standard) hard-FP toolchain + Patch by Anders Larsen, 07 Oct 2005 + +* Cleanup warnings for cpu/arm720t & cpu/arm1136 files. + sed the linker scripts, rather than pre-process them. + Patch by Peter Pearse, 07 Oct 2005 + +* Update make target for ARM supported boards. + Use lowlevel_init() instead of platformsetup() [rename]. + Patch by Peter Pearse, 06 Oct 2005 + +* Fix booting from serial dataflash on AT91RM9200 + Patch by Peter Menzebach, 29 Aug 2005 + +* Add JFFS2 support for TRAB board + Patch by Martin Krause, 25 Aug 2005 + +* Remove unnecessary dependency of netconsole on CONFIG_NET_MULTI + Patch by Marcus Hall, 24 Aug 2005 + +* Fix the machine-id of the Cogent csb637 board + Patch by Anders Larsen, 05 Oct 2005 + +* Complete support for the KwikByte KB920x boards + Patch by Anders Larsen, 05 Oct 2005 + +* Set the AT91RM9200 clock to asynchronous mode + Patch by Anders Larsen, 03 May 2005 + +* Set the AT91RM9200 clock to synchronous mode + Patch by Anders Larsen, 29 Apr 2005 + +* Add support for Cogent csb637 + Patch by Anders Larsen, 29 Apr 2005 + +* Fix dm9161.c initialization + Patch by Anders Larsen, 29 Apr 2005 + +* Fix problems introduced by Patch by Steven Scholz, 02 Mar 2005 + (8e2be51de8dd03c1ce4d06cbb18ad06133d47cd5) + +* Move dm9161.c and lxt972.c into cpu/arm920t/at91rm9200 + Patch by Anders Larsen, 29 Apr 2005 + +* Fix device partition intialization for SystemACE disks. + Patch by Stephen Williams, 28 Apr 2005 + +* Added support for KwikByte KB920x boards (based on AT91RM9200) + Patch by Matt ?? , 27 Apr 2005 + +* Add support for S29GL064M-R3 flash chip on xsengine board + Patch by Kurt Stremerch, 18 Apr 2005 + +* E500 update: repoint IVPR to RAM when code is relocated + Patch by Kylo Ginsberg, 13 Apr 2005 + +* Fix loop end test in lib_generic/string.c:strswab() + Patch by Andrew Dyer, October 10, 2005 + Signed-off-by: Andrew Dyer + +* Cleanup + +* Update ARM Integrator boards: + Correct addessing errors in platform files. + Split off common core module data from Integrator header files to + include/armcoremodule.h. + Patch by Peter Pearse, 04 Oct 2005 + +* Make sure only supported compiler options are used + Import "cc-option" shell function from kernel and + use it to get the correct ARM GCC options for individual CPUs + Patch by Peter Pearse, 30 Jun 2005 + +* Fix 440GR to print correct cpu revision + Patch by Stefan Roese, 04 Oct 2005 + +* Change board message on AMCC Yosemite & Yellowstone to common style + Patch by Stefan Roese, 03 Oct 2005 + +* Fix compiler warning + +* Fix FEC PHY addresses for TQM85xx boards + +* Fix uninitialized variable problem in hush shell + Patch by Lars Rostock, 26 Sep 2005 + +* Undo change of f6e20fc6ca... to include/configs/trab.h + (Must have been an accident?) + +* Add support for AT91RM9200 OHCI Controller. + Patch by Eric Benard, 07 Apr 2005 + +* Update ARM mach-types.h + Patch by Eric Benard, 07 Apr 2005 + +* Add support for MP2USB board. + Patch by Eric Benard, 07 Apr 2005 + +* Add board support for armadillo HT1070 + Patch by Rowel Atienza, 06 Apr 2005 + +* Second Ethernet address enabled for MPC885ADS and MPC8272ADS. + Patch by Vitaly Bordug, 30 Mar 2005 + +* Add iopset command on mpc8xx + Patch by Daniel Eisenhut, 25 Mar 2005 + +* Add support for MII in eepro100 driver. + Patch by Gleb Natapov, 21 Mar 2005 + +* Fixes to the Lubbock (PXA 25x) support: + - Resolve the FIXME with respect to saving the u-boot environment. + - Make the default load address land in real memory. + - Fix lan91c96 SMC_{in,out}{b,w,l}() macros + Patch by David Brownell, 10 Mar 2005 + +* Add Barco Streaming Video Card (SVC) and Sample Compress Network (SCN) board + Patch by Marc Leeman, 04 Mar 2005 + +* OMAP242x H4 board update + - fix for ES2 differences. + - switch to using the cfi_flash driver. + - fix SRAM build address. + - fix for GP device operation. + - unlock SRAM for GP devices. + - display more device information. + - fix potential deadlock in omap24xx_i2c driver. + - fix DLL load values to match dpllout*1 operation. + - fix 2nd chip select init for combo DDR device. + - add support for CFI Intel 28F256L18 on H4 board. + Patch by Richard Woodruff, 03 Mar 2005 + +* Fix formating in include/asm-arm/arch-at91rm9200/AT91RM9200.h + Patch by Steven Scholz, 02 Mar 2005 + +* Fix typo in eth.c + Patch by Ara Avanesyan, 24 Feb 2005 + +* Remove unneeded #include + Patch by Ladislav Michl, 22 Feb 2005 + +* Add cramfs support for m68k + Patch by Zachary Landau, 21 Feb 2005 + +* Update ep8260: Fix flash timeouts; improve clock resolution for faster UARTs + Patch by Jeff Angielski, 21 Feb 2005 + +* Fix au1x00_serial baud rate calculation: + remove hardcoded cpu clock divisor and use register instead; + round up instead of truncate + Patch by Andrew Dyer, 15 Feb 2005 + +* Add Xilinx Spartan3 family FPGA support + Patch by Kurt Stremerch, 14 Feb 2005 + +* Fix drivers/cfi_flash.c: use info->reset_cmd instead of FLASH_CMD_RESET + Patch by Zachary Landau, 11 Feb 2005 + +* Fix VOH405 Support + Patch by Matthias Fuchs, 25 Sep 2005 + +* Added support for PCI bridge on MPC8272ADS + Patch by Vitaly Bordug, Feb 09 2005 + +* Update multicore CM9XX support for Integrator AP to allow booting from flash + Patch by Jean-Paul Saman, 8 Feb 2005 + +* Fix strswab() to reliably find end of string + Patch by Andrew Dyer, 08 Feb 2005 + +* Fix typos in include/ppc440.h + Patch by Andrew E Mileski, 04 Feb 2005 + +* Add Vibren (was Accelent) PXA255 IDP Support + Patch by Cliff Brake, 04 Feb 2005 + +* Fix tools/bmp_logo.c using incorrect offset to pixel data + Patch by Andrew Dyer, 31 Jan 2005 + +* Add ARM946E cpu and core module targets; remap memory to 0x00000000 + Patch by Peter Pearse, 2 Feb 2005 + +* Fix error handling in tools/env/fw_env.c + Patch by Ara Avanesyan, 01 Feb 2005 + +* Fix MGT5100 PSC baudrate calculation + Patch by Sebastian Schau, 27 Jan 2005 + +* OMAP242x fix for GP device booting + - Add SRAM unlock for GP devices. + - Change DDR DLL unlock value to allow DPLLout*1 operation. + Patches by Richard Woodruff, 21 Jan 2005: + +* Add support for AMD's Pb1x00 eval board; + add MII routines to the au1x00 ethernet driver; + add USB ohci driver (work in progress) + Patch by Thomas Sailer, 20 Jan 2005 + +* Update omap5912osk board + Use drivers/cfi_flash.c instead of private flash driver; + Remove hardcoded personalized settings from omap5912osk.h; + Fix spacing with (RO) marks in 'flinfo' output. + Patch by Michael Bendzick, 14 Jan 2005 + +* Fix warnings for PCI code on ixp + Patch by Joe , 13 Jan 2005 + +* virtex2 fix for bogus download error messages + The virtex2 FPGA download code watches for init going active during + a download of config data as an error condition. init also goes + active after a configuration is finished in concert with the done + signal. So far, the code does not check for done active until all + of the configuration data is sent. If configuration data has a few + extra pad bytes at the end, this would cause an error message even + though the download had suceeded. + NOTE: virtex2 slave serial and spartan2 versions may still have the + same problem. + Patch by Andrew Dyer, 12 Jan 2005 + +* Optimize flash_make_cmd in drivers/cfi_flash.c for little endian + Fix "WARNING: flash_make_cmd: unsuppported LittleEndian mode" + message when probing for nonexistent flash in little endian mode. + As a side effect more efficient and smaller code is generated, + which is always a Good Thing (TM). + Patch by Ladislav Michl, 24 Sep 2005 + +* Update for TFTP using a fixed UDP port + Use the approved environment variable names. Added "tftpdstp" to + allow ports other than 69 per Tolunay Orkun's recommendation. + Patch by Jerry Van Baren, 12 Jan 2005 + +* Allow to force TFTP to use a fixed UDP port + (Add a configuration option CONFIG_TFTP_PORT and optional env + variable tftpport) + Patch by Jerry Van Baren, 10 Jan 2005 + +* Fix ethernet timeouts on dbau1550 and other au1x00 systems + Patch by Leif Lindholm, 29 Dec 2004 + +* Cleanup: fix broken builds + +* Fix PHY address argument passing with mii info command + Patch by Andrew Dyer, 28 Dec 2004 + +* Cleanup (PPC4xx is AMCC now) + +* esd CPCI2DP board added + Patch by Matthias Fuchs, 22 Sep 2005 + +* esd PMC405 board updated + Patch by Matthias Fuchs, 22 Sep 2005 + +* Add SM501 support to HH405 board. + Add support for gzip compressed bmp's (CONFIG_VIDEO_BMP_GZIP). + Add support for eeprom write-enable (CFG_EEPROM_WREN). + Patch by Stefan Roese, 22 Sep 2005 + +* Fix autonegotiation in tsec ethernet driver + Patch by Stefan Roese, 21 Sep 2005 + +* Fix bug in auto_update (trab board) + Patch by Martin Krause, 16 Sep 2005 + +* Fix computation of framebuffer palette for 8bpp LCD bitmaps + Patch by Francesco Mandracci, 16 Sep 2005 + +* Update configuration for INKA4x0 board + +* Update configuration for PM854 board + Based on patch by R. Loeffl, 20 Jul 2005 + +* Add PCI support to TQM8540 and TQM8560 boards + Patch by Stefan Roese, 15 Sep 2005 + +* Update AMCC Yosemite to get a consistent setup for all AMCC eval + boards (baudrate, environment...). Flash driver fixed. + Patch by Stefan Roese, 15 Sep 2005 + +* Fix problem in 440GP ethernet driver (ebony). Add support for 2nd + ethernet port on ebony. + Patch by Stefan Roese, 7 Sep 2005 + +* Added support for mtddevnum and mtddevname variables (mtdparts command) + +* Change default console baud rate for stxxtc board + +* Add I2C support to TQM8540 and TQM8560 boards (EEPROM, RTC, LM75-DTT). + Patch by Stefan Roese, 31 Aug 2005 + +* Fix default command set (don't include CFG_CMD_DISPLAY command) + Patch by Pantelis Antoniou, 02 Sep 2005 + +* Cleanup + +* Enable SM712 driver support for HMI1001 board. + +* Fix problems with ld version 2.16 (dot outside sections problem) + Pointed out by Gerhard Jaeger, 31 Aug 2005; + cf. http://sourceware.org/ml/binutils/2005-08/msg00412.html + +* Prepare U-Boot for gcc-4.x: fix global data pointer initialization + +* Adjust CS3 timings on HMI1001 board for dot matrix display under Linux + +* Add keyboard and dot matrix display support for HMI1001 board. + +* Prepare U-Boot for gcc-4.x + +* Fixed Bamboo port to enable running without DDR-DIMM + (Bamboo has also 64MB onboard DDR) + Patch by Stefan Roese, 24 Aug 2005 + +* Merged 405gp_enet.c and 440gx_enet.c to generic 4xx_enet.c + now handling all 4xx cpu's + Patch by Stefan Roese, 16 Aug 2005 + +* Fix make dependencies for at91rm9200 and ks8695 cpus + Patch by Steven Scholz, 23 Aug 2005 + +* Add JFFS2 support for TQM5200 board + +* Add esd cpci5200 and pf5200 boards + Patch by Reinhard Arlt, 22 Aug 2005 + +* Fix sysclock for TQM8540 and TQM8560 boards + Patch by Martin Krause, 25 Jul 2005 + +* Initialize serial# and ethaddr from manufacturer data in EEPROM on CMC-PU2 + Patch by Martin Krause, 08 Jun 2005 + +* Add new board specific commands for TQM5200/STK52XX + - Sound commands (beep, wav, sound) + - Test commands (led, can, backlight, rs232) + Patch by Martin Krause, 02 May 2005 + +* Change main clock on CMC-PU2 board from 207 MHz to 179 MHz + because of a bug in the AT91RM9200 CPU PLL + Patch by Martin Krause, 22 Apr 2005 + +* Add automatic HW detection for another CMC_PU2 variant + Patch by Martin Krause, 20 Apr 2005 + +* Remove CONFIG_AT91RM9200DK in CMC-PU2 configuration + Patch by Martin Krause, 19 Apr 2005 + +* Fix initialization problem on TQM5200 without SM501 + Patch by Martin Krause, 08 Apr 2005 + +* Add RTC support for STK52XX.200 + Patch by Martin Krause, 07 Apr 2005 + +* Add support for IFM o2dnt board + +* Enable PCI on hmi1001 board + +* Fix return values of the jffs2 commands ls/fsload/fsinfo, + so we can use them to, e.g., check the existence of a file with + "if ls foo; then this; else that; fi" in the hush shell + Patch by Andreas Engel, 16 August 2005 + +* Coding style cleanup + +* Add support for Silicon Turnkey eXpress XTc (mpc87x/88x) board. + Patch by Dan Malek and Pantelis Antoniou, 15 Aug 2005 + +* Check return value of malloc in 440gx_enet.c + Patch by Travis B. Sawyer, 18 Jul 2005 + +* Add Sandburst Metrobox and Sandburst Karef board support packages. + Second serial port on 440GX now defined as a system device. + Add 'Short Etch' code for Cicada PHY within 440gx_enet.c + Patch by Travis B. Sawyer, 12 Jul 2005 + +====================================================================== +Changes for U-Boot 1.1.3: +====================================================================== + +* Minor code cleanup + +* Add forgotten new fils from latest VoiceBlue update + +* Make bootretry feature work with hush shell. + Caveat: this currently *requires* CONFIG_RESET_TO_RETRY to be set, too. + Patch by Andreas Engel, 19 Jul 2005 + +* Update Hymod Board Database PHP code in "tools" directory + Patch by Murray Jensen, 01 Jul 2005 + +* Make "tr" command use POSIX compliant; export HOSTOS make variable + Patch by Murray Jensen, 30 Jun 2005 + +* Fix Murray Jensen's mail address. + Patch by Murray Jensen, 30 Jun 2005 + +* Preserve PHY_BMCR during a soft reset. + Patch by Carl Riechers, 24 Jun 2005 + +* VoiceBlue update: eeprom tool can also store firmware version now. + eeprom.bin is runable by jumping at load address. + Patch by Ladislav Michl, 23 May 2005 + +* Move the AT91RM9200DK to the ARM Systems list. + Patch by Anders Larsen, 26 Apr 2005 + +* Eliminate calls of ARM libgcc.a helper functions _divsi3 and _modsi3 + Patch by Anders Larsen, 26 Apr 2005 + +* measure_gclk() is needed when DEBUG is enabled + Patch by Bryan O'Donoghue, 25 Apr 2005 + +* Add UPD-Checksum code, fix problem in net.c (return instead of break) + Patch by Reinhard Arlt, 12 Aug 2005 + +* esd PCI405 board updated + Patch by Matthias Fuchs, 28 Jul 2005 + +* esd WUH405 and DU405 board updated + Patch by Matthias Fuchs, 27 Jul 2005 + +* Fix problem in cmd_nand.c (only when defined CFG_NAND_SKIP_BAD_DOT_I) + Patch by Matthias Fuchs, 4 May 2005 + +* Update AMCC Yosemite to get a consistent setup for all AMCC eval + boards (baudrate, environment...). Flash driver fixed. + Patch by Stefan Roese, 11 Aug 2005 + +* Changed AMCC Bubinga (405EP) configuration to support 2nd eth port + Patch by Stefan Roese, 11 Aug 2005 + +* Add NAND FLASH support for AMCC Bamboo 440EP eval board + Patch by Stefan Roese, 11 Aug 2005 + +* Add configuration for IFM AEV FIFO board. + Minor coding style cleanup. + +* Add configuration for IFM SPI eval board + +* Fix CompactFlash problem on HMI1001 board + +* Make new "mtdparts" code build with older compilers + Patch by Andrea Scian, 09 Aug 2005 + +* Changed CONFIG_440_GX, CONFIG_440_EP and CONFIG_440_GR options to + CONFIG_44GX, CONFIG_440EP and CONFIG_440GR for a consistent design + with the 405 defines and the linux kernel defines. + Patch by Stefan Roese, 08 Aug 2005 + +* Fix compiler warnings with older GCC versions + +* Add common (with Linux) MTD partition scheme and "mtdparts" command + + Old, obsolete and duplicated code was cleaned up and replace by the + new partitioning method. There are two possible approaches now: + + The first one is to define a single, static partition: + + #undef CONFIG_JFFS2_CMDLINE + #define CONFIG_JFFS2_DEV "nor0" + #define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF /* use whole device */ + #define CONFIG_JFFS2_PART_SIZE 0x00100000 /* use 1MB */ + #define CONFIG_JFFS2_PART_OFFSET 0x00000000 + + The second method uses the mtdparts command line option and dynamic + partitioning: + + /* mtdparts command line support */ + #define CONFIG_JFFS2_CMDLINE + #define MTDIDS_DEFAULT "nor1=zuma-1,nor2=zuma-2" + #define MTDPARTS_DEFAULT "mtdparts=zuma-1:-(jffs2),zuma-2:-(user)" + + Command line of course produces bigger images, and may be inappropriate + for some targets, so by default it's off. + +* Fix build problems for PM856 Board + +* Fix sign extension bug in 'fpga loadb' command; + make 'fpga loadb' always print the file header info + Patch by Andrew Dyer, 11 Jan 2005 + +* Fix errors that occur when accessing SystemACE CF + Patch by Jeff Angielski, 09 Jan 2005 + +* Document switching between U-Boot and PlanetCore on RPXlite + by Sam Song, 24 Dec 2004 + +* Fix PowerQUICC II mask detection. + Patch by Eugene Surovegin, 20 Dec 2004 + +* Add support for Altera NIOS DK1C20 board + Patch by Shlomo Kut, 13 Dec 2004 + +* Add support for ep8248 board + Patch by Yuli Barcohen, 12 Dec 2004 + + Minor code cleanup. + +* Fix baudrate setting for KGDB on MPC8260 + Patch by HoJin, 11 Dec 2004 + +* Fix 'mii help' text formatting + Patch by Cory Tusar, 10 Dec 2004 + +* Fix return code of NFS command + Patch by Hiroshi Ito, 11 Dec 2004 + +* Fix typo + +* Fix compiler warnings in cpu/ppc4xx/usbdev.c + Patch by Steven Blakeslee, 04 Aug 2005 + +* Add support for AMCC Bamboo PPC440EP eval board + Patch by Stefan Roese, 04 Aug 2005 + +* Patch by Jon Loeliger + Fix style issues primarily in 85xx and 83xx boards. + - C++ comments + - Trailing white space + - Indentation not by TAB + - Excessive amount of empty lines + - Trailing empty lines + +* Patch by Ron Alder, 11 Jul 2005 + Add Xianghua Xiao and Lunsheng Wang's support for the + GDA MPC8540 EVAL board. + +* Patch by Eran Liberty + Add support for the Freescale MPC8349ADS board. + +* Patch by Jon Loeliger, 25 Jul 2005 + Move the TSEC driver out of cpu/mpc85xx as it will be shared + by the upcoming mpc83xx family as well. + +* Patch by Jon Loeliger, 05 May 2005 + Implemented support for MPC8548CDS board. + Added DDR II support based on SPD values for MPC85xx boards. + This roll-up patch also includes bugfies for the previously + published patches: + DDRII CPO, pre eTSEC, 8548 LBIU, Andy's TSEC, eTSEC 3&4 I/O + +* Patch by Jon Loeliger, 10 Feb 2005 + Add config option CONFIG_HAS_FEC calling out 8540 FEC features. + +* Patch by Jon Loeliger, Kumar Gala, 08 Feb 2005 + For MPC85xxCDS: + Adds Relaxed Timing TRLX bit to FLASH ORx regs to allow + for faster flash parts. + Add documentation for BR/OR for FLASH. + +* Patch by Jon Loeliger 08 Feb 2005 + Determine L2 Cache size dynamically on 85XX boards. + +* Patch by Jon Loeliger, Kumar Gala 08 Feb 2005 + - Convert the CPM2 based functionality to use new CONFIG_CPM2 + option rather than a myriad of CONFIG_MPC8560-like variants. + Applies to MPC85xx and MPC8260 boards, includes stxgp3 and sbc8560. + Eliminates the CONFIG_MPC8560 option entirely. Distributes the + new CONFIG_CPM2 option to each 8260 board. + +* Add support for MicroSys PM856 board + Patch by Josef Wagner, 03 Aug 2005 + +* Minor fixes to PM854 board + Patch by Josef Wagner, 03 Aug 2005 + +* Adjust configuration of XENIAX board + (chip select and GPIO required for USB operation) + +* Fix typos in cpu/85xx/start.S which caused DataTLB exception to be + routed to the Watchdog handler + Patch by Eugene Surovegin, 18 Jun 2005 + +* (re)enabled scsi commands do_scsi() and do_scsiboot() + Patch by Denis Peter, 06 Dec 2004 + +* Fix endianess problem in TFTP / NFS default filenames + Patch by Hiroshi Ito, 06 Dec 2004 + +* Ignore broadcast status bit in received frames in 8260 FCC ethernet + loopback test code + Patch by Murray Jensen, 18 Jul 2005 + +* Fix typo in mkconfig script (used == instead of =) + Patch by Murray Jensen, 18 Jul 2005 + +* Cleanup build problems on 64 bit build hosts + +* Update MAINTAINERS file + +* Patch by Stefan Roese, 01 Aug 2005: + - Major cleanup for AMCC eval boards Walnut, Bubinga, Ebony, Ocotea + (former IBM eval board). Please see "doc/README.AMCC-eval-boards-cleanup" + for details. + - Sycamore (PPC405GPr) eval board added (Walnut port is extended + to run on both 405GP and 405GPr eval boards). + +* Patch by Steven Blakeslee, 27 Jul 2005: + - Add support for AMCC PPC440EP/GR. + - Add support for AMCC Yosemite PPC440EP eval board. + - Add support for AMCC Yellowstone PPC440GR eval board. + +* Minor fixes for PPChameleon Board: + - fix alignment of NAND size + - make code do what the comment says + +* Implement h/w sector protection status synchronization at boot. + The code is provided for, and was tested on, the Yukon/Alaska + and PM520 boards only. + + A bug in flash_real_protect() for the Yukon board was fixed by + adding a function that tells if two banks are on one flash chip. + +* Fix sysmon POST problem: check I2C error codes + This fixes a problem of displaying bogus voltages when the voltages + are so low that the I2C devices start failing while the rest of the + system keeps running. + +* Patch by Cedric Vincent, 6 Jul 2005: + Fix CFG_CMD_SETGETDCR handling in "common/cmd_dcr.c" + +* Patch by Jon Loeliger, 20 Jul 2005: + Add missing PCI IO port definitions. + +* Add CompactFlash support for HMI1001 board. + +* Adjust printed board ID for LWMON board. + +* Fix low-level OHCI transfers for ARM920t and MPC5xxx + +* Add new argument format for flash commands to allow for usage like + "erase $(addr) +$(filesize)", i. e. a size argument can be used and + U-Boot will automaticially find the end of the corresponding sector. + +* Patch by Stefan Roese, 5 Jul 2005: + Update uc100 board PHY setup + +* Patch by Stefan Roese, 1 Jul 2005: + Fix PHY address for CATcenter board (now correct!) + +* Patch by Stefan Roese, 30 Jun 2005: + Fix PHY addresses for PPChameleon and CATcenter boards + Change MAINTAINER for most esd boards + +* Patch by Detlev Zundel, 30 Jun 2005: + Fix LCD logo for lwmon board which got lost in the merge of 8xx and PXA LCD code + +* Fix baudrate calculation problem on MPC5200 systems + +* Add EEPROM and RTC support for HMI1001 board + +* Patch by Detlev Zundel, 20 Jun 2005: + Fix initialization of low active GPIO pins on inka4x0 board + +* Enable redundant environment, disable HW flash protection of + HMI1001 board + +* Patch by Travis Sawyer, 10 Jun 2005: + Initialize allocated dev and private hw structures + after their respective allocation in 440gx_enet.c + +* Patch by Steven Scholz, 10 Jun 2005: + Fix byteorder problems with second argument of "bootm" with + standalone images; + +* Add support for HMI1001 board + +* Disable "date" and "sntp" commands on TQM866M + +* Fix watchdog reset problems on LWMON board + +* Patch by Juergen Selent, 17 May 2005: + Add support for Funkwerk VoVPN gateway module. + +* Cleanup debug code for MPC8220 FEC driver + +* Extend burst mode RAM test program to take a loop count + (0 = infinite) + +* Use CONFIG_DRIVER_KS8695ETH to enable KS8695 ethernet driver on + those boards that use it. + +* Patches by Greg Ungerer, 19 May 2005: + - add support for the KS8695P (ARM 922 based) CPU + - add support for the OpenGear CM4008, CM4116 and CM4148 boards + +* Patch by Steven Scholz, 19 May 2005: + Add support for CONFIG_SERIAL_TAG on ARM boards + +* Add PCI support for Sorcery board. + Code cleanup (especially Sorcery / Alaska / Yukon serial driver). + +* Fix compile problems caused by new burst mode SDRAM test; + make port pins to trigger logic analyzer configurable + +* Fix timer handling on MPC85xx systems + +* Fix debug code in omap5912osk flash driver + +* Add support for MPC8247 based "IDS8247" board. + +* Add support for 2 x TSEC interfaces on the TQM8540 board. + +* On LWMON we must use the watchdog to reset the board as the CPU + genereated HRESET pulse is too short to reset the external + circuitry. + +* Add test tool to exercise SDRAM accesses in burst mode + (as standalone program, MPC8xx/PowerPC only) + +* Increase CFG_MONITOR_LEN for Rattler board to match actual code + size. + +* Major upate of JFFS2 code; now in sync with snapshot of MTD CVS of + March 13, 2005); new configuration option CONFIG_JFFS2_LZO_LZARI + added to support LZO and LZARI compression modes (undefined by + default). + +* Fix problem with symbolic links in JFFS2 code. + +* Use linker ASSERT statement to prevent undetected overlapping of + sections on PPChameleon board; other boards might use this, too. + +* Patch by Stefan Roese, 03 May 2005: + Update for P3G4 + Fix problems in cmd_universe.c + +* Patch by Matthias Fuchs, 03 May 2005: + Added missing variable declaration in cmd_nand.c + Modified CFG_PCI_PTM1MS in configs/PLU405.h to map 128MB ram + +* Fix INKA4x0: use CS1 as gpio_wkup_6 output + +* Fix bug in the SDRAM initialization code for canmb, IceCube and + PM520 boards. + Fix PHY address for canmb board. + +* Cleanup serial console baudrate calculation on AT91RM9200; + get rid of obsolete CFG_AT91C_BRGR_DIVISOR definition + +* Patch by Matthias Fuchs, 18 Apr 2005: + Make PCI target address spaces on PMC405 and CPCI405 boards + configurable via environment variables + +* Auto-size RAM on canmb board. + +* Add support for canmb board + +* Patch by Stefan Roese, 13 Apr 2005: + Update for esd apc405 + +* Fixes for TQM8560 board: + - fix clock rates + - remove debug messages + - fix flash sector protection + +* Patch by Steven Scholz, 07 Apr 2005: + Add i2c_reg_write() and i2c_reg_write() for at91rm9200 I2C + +* Patches by Steven Scholz, 07 Apr 2005: + Fix compiler warning in altera.c + Fix warning in cpu/arm920t/at91rm9200/i2c.c + +* Patch by Ladislav Michl, 06 Apr 2005: + Fix voiceblue configuration. + +* Patch by Stefan Roese, 06 Apr 2005: + Updates for OCOTEA board: + - Changed U-Boot size from 512kByte to 256kByte + - Fixed flash driver to support boot from soldered user flash + - Added README for switch from PIBS firmware to U-Boot + +* Patch by Travis Sawyer, 05 Apr 2005: + - Change timer frequency for ppc 440 from 10 ms to 1 ms. + Problem found by Andrew Wozniak. + +* Patch by Steven Scholz, 06 Apr 2005: + - creating SoC subdir for Atmel AT91RM9200 cpu/arm920t/at91rm9200 + - moving code out of cpu/at91rm9200 into cpu/arm920t/at91rm9200 + +* Patches by Robert Whaley, 29 Nov 2004: + - update the pxa-regs.h file for PXA27x chips + - add PXA27x based ADSVIX board + - add support for MMC on PXA27x processors + +* Patch by Andrew E. Mileski, 28 Nov 2004: + Fix PPC4xx SPD SDRAM detection bug + +* Patch by Hiroshi Ito, 26 Nov 2004: + Fix logic of "test -z" and "test -n" commands + +* Patch by Ladislav Michl, 05 Apr 2005: + Add support for VoiceBlue board. + +* Patch by Ladislav Michl, 05 Apr 2005: + Fix netboot_common() prototypes. + +* Patch by Steven Scholz, 05 Apr 2005: + Use i.MX watchdog timer for reset_cpu() + +* Patch by Steven Scholz, 05 Apr 2005: + Move reset_cpu() out of cpu/arm920t/start.S into the SoC specific + subdirectories cpu/arm920t/imx/ and cpu/arm920t/s3c24x0/ + (now in interupts.c) + +* Add support for MPC8220 based "sorcery" board. + +* Add support for TQM8560 board. + +* Add FEC support for TQM8540 board. + Interfaces are named as follows: "ENET1" - TSEC2, "ENET2" - FEC + +* Patch by Martin Krause, 04 Apr 2005: + Update default configuration for CMC_PU2 board. + +* Patch by Steven Scholz, 04 Apr 2005: + - remove all references to CONFIG_INIT_CRITICAL for ARM based boards + - introduce two new configuration options instead: + CONFIG_SKIP_LOWLEVEL_INIT and CONFIG_SKIP_RELOCATE_UBOOT + +* Patch by Steven Scholz, 04 Apr 2005: + Make sure that MDIO clock does not exceed 2.5 MHz on AT91 + +* Fix timer code for ARM systems: make sure that udelay() does not + reset timers so it's save to use udelay() in timeout code. + +* Patch by Mathias Küster, 23 Nov 2004: + add udelay support for the mcf5282 cpu + +* Patch by Tolunay Orkun, 16 November 2004: + fix incorrect onboard Xilinx CPLD base address + +* Patch by Jerry Van Baren, 08 Nov 2004: + - Add low-boot option for MPC8260ADS board (if lowboot is selected, + the jumper for the HRCW source should select flash. If lowboot is + not selected, the jumper for the HRCW source should select the + BCSR. + - change default load base address to 0x00400000 + +* Patch by Yuli Barcohen, 08 Nov 2004: + Add support for Analogue & Micro Rattler boards. + Tested on Rattler8248. + +* Patch by Andre Renaud, 08 Nov 2004: + Fix watchdog support in common/lcd.c + +* Patch by Marc Leeman, 05 Nov 2003: + Enable all 4 PCMBRW buffers for the MPC8245 processor since the CPU + bug only affects the XPC8245 processors + +* Patches by Josef Wagner, 29 Oct 2004: + - Add support for MicroSys CPU87 board + - Add support for MicroSys PM854 board + +* Patch by Jian Zhang, 02 Nov 2004: + Add 16-bit NAND support + +* Patch by Scott McNutt, 01 Nov 2004: + Add missing NIOS/NIOS2 support for "iminfo" command + +* Patch by Detlev Zundel, 29 Oct 2004: + Add missing NIOS/NIOS2 support for "mkimage" tool. + +* Patch by David Adair, 27 Oct 2004: + Add missing 440GX SDRAM Controller reset + +* Patch by Steven Scholz, 25 Oct 2004: + Declare reset_cpu() in include/common.h instead locally + +* Patch by Yusdi Santoso, 22 Oct 2004: + - Add support for HIDDEN_DRAGON board + - fix endianess problem in driver/rtl1839.c + +* Patch by Allen Curtis, 21 Oct 2004: + support multiple serial ports + +* Patch by Richard Klingler, 03 Apr 2005: + Add call to eth_halt() in net/net.c when called functions fail + after eth_init() has been called. + +* Patch by Sam Song, 3 April 2005: + - Update README.Netconsole + - Update README + +* Prepare for SoC rework of ARM code: + - rename CONFIG_BOOTBINFUNC into CONFIG_INIT_CRITICAL + - rename memsetup into lowlevel_init (function name and source files) + Patch by Steven Scholz, 03 Apr 2005: + - create SoC specific directories include/asm-arm/arch-imx and + include/asm-arm/arch-s3c24x0 + +* Fix problems with SNTP support; + enable SNTP support in some boards. + +* Patches by Martin Krause, 01 Apr 2005: + - Fix flash erase timeout on CMC_PU2 + - Add automatic HW detection for CMC_PU2 and CMC_BASIC + +* Patch by Steven Scholz, 13 March 2005: + fix cache enabling for AT91RM9200 + +* Patch by Masami Komiya, 30 Mar 2005: + add SNTP support and expand time server and time offset fields of + DHCP support. See doc/README.SNTP + +* Patch by Steven Scholz, 13 Dec 2004: + Fix bug in at91rm920 ethernet driver + +* Patch by Steven Scholz, 13 Dec 2004: + Remove duplicated code by merging memsetup.S files for + at91rm9200 boards into one cpu/at91rm9200/lowlevel.S + +* Patch by Detlev Zundel, 31 Mar 2005: + Cleanup duplicate definition of overwrite_console() + +* Update TQM5200 configuration; + prepare for Rev. 200 starter kit boards + +* Patch by Scott McNutt, 21 Oct 2004: + Add support for Nios-II EPCS Controller core. + +* Patch by Scott McNutt, 20 Oct 2004: + Nios-II cleanups: + - Add sysid command (Nios-II only). + - Locate default exception trampoline at proper offset. + - Implement I/O routines (readb, writeb, etc) + - Implement do_bootm_linux + +* Patches by Martin Krause, 22 Mar 2005: + - use TQM5200_auto as MAKEALL target for TQM5200 systems + - add support for SM501 graphics controller + - add support for graphic console on TQM5200 + - add support for TQM5200 Rev 200 + - cleanup, fix typo in include/configs/TQM5200.h + +* Patch by Manfred Baral, 17 Mar 2005: + Fix typo + +* Fix RTC configuration for PPChameleon board + +* Cleanup, fix typo in include/configs/TQM5200.h + +* Patch by Stefan Roese, 16 Mar 2005: + Update for esd auto_update and hh405 board + +* Adapt for U-Boot image size (new features enabled) on TQM5200 + +* Update code for TQM8540 board (and 85xx in general): + - Change the name of the Ethernet driver: MOTO ENET -> ENET + - Reformat boot messages + - Enable redundant environment + - Replace the -O2 optimization flag with -mno-string + +* Patch by David Brownell, 10 Mar 2005: + Restore copyright statements in OHCI drivers. + +* Add support for TQM8540 board + +* Patch by Detlev Zundel, 14 Mar 2005: + NC650: changed NAND flash addressing to using UPMB + +* Patch by Stefan Roese, 14 Mar 2005: + Update for esd voh405 fpga image + +* INKA4x0: Allow initialization of LCD backlight dimming from + "brightness" environment variable. + +* Add port initialization for digital I/O on INKA4x0 + +* Patch by Stefan Roese, 01 Mar 2005: + Update for esd boards dp405 and hub405 + +* Fix get_partition_info() parameter error in all other calls + (common/cmd_ide.c, common/cmd_reiser.c, common/cmd_scsi.c). + +* Enable USB and IDE support for INKA4x0 board + +* Patch by Andrew Dyer, 28 Feb 2005: + fix ext2load passing an incorrect pointer to get_partition_info() + resulting in load failure for devices other than 0 + +* Add support for SRAM and 2 x Quad UARTs on INKA4x0 board + +* Cleanup USB and partition defines + +* Add support for ext2 filesystems and image timestamps to TQM5200 board + +* Add reset code for Coral-P on INKA4x0 board + +* Patch by Martin Krause, 28 Jun 2004: + Update for TRAB board. + +* Fix some missing "volatile"s in MPC5xxx FEC driver + +* Fix cirrus voltage detection (for CPC45) + +* Fix byteorder problem in usbboot and scsiboot commands. + +* Patch by Cajus Hahn, 04 Feb 2005: + - don't insist on leading '/' for filename in ext2load + - set default partition to useful value (1) in ext2load + +* Patch by Andrew Dyer, 08 Jan 2005: + fix wrong return codes in ext2 code + +* Removed '--no-warn-mismatch' option from Makefile. This option + makes 'ld' to overlook binary objects compatibility. + +* Moved $(PLATFORM_LIBS) from the library group (--start-group ... + --end-group) outside of the group. This will make 'ld' to do + _multiple_ search in the library group when resolving symbol + references and do only a _single_ seach in libgcc.a after the group + search. + +* Fix stability problems on CPC45 board again. + +* Make image detection for diskboot / usbboot / scsiboot more robust + (also check header checksum) + +* Update CPC45 board configuration. + +* Add USB and PCI support for INKA4x0 board + +* Fix IDE stability problems on CPC45 board (needs 2 x EIEIO). + +* Code cleanup + +* Patch by Robin Getz, 13 Oct 2004: + Add standalone application to change SMC91C111 MAC addresses, + see examples/README.smc91111_eeprom + +* Patch by Xiaogeng (Shawn) Jin, 12 Oct 2004: + Fix Flash support for ARM Integrator CP. + +* Patch by Richard Woodruff, 10 Jan 2005: + Update support for OMAP2420 (ARM11) and H4 board: + o clean up and add new types to H4 memory probe code. + o fix to work with internal boot. + o added PRCM config III operation. + o fix marginal flash timings. + o add revison ATAG usage. + o enable voltage scaling at power chip. + o fix compile error for i2c. + +* Fix network problem (error when receiving multiple ARP packets) + +* Patch by Daniel Poirot, 12 Oct 2004: + Add support for Wind River sbc405 board + +* Patch by Rainer Brestan, 12 Oct 2004: + Make examples/Makefile more robust + +* Patch by Sam Song, 11 October 2004: + - Add RESET/PREBOOT/AUTOBOOT support for RPXlite_DW board + - Adjust CPU:BUS frequency ratio 1:1 when core frequency + less than 50MHz + +* Patch by Sam Song, 10 Oct 2004: + Fix a parameter error in run_command() in main.c + +* Patch by Richard Woodruff, 01 Oct 2004: + add support for the TI OMAP2420 processor and its H4 reference + board + +* Patch by Christian Pellegrin, 24 Sep 2004: + Added support for NE2000 compatible (DP8390, DP83902) NICs. + +* Patch by Leif Lindholm, 23 Sep 2004: + add support for the AMD db1550 board + +* Patch by Travis Sawyer, 15 Sep 2004: + Add CONFIG_SERIAL_MULTI support for ppc4xx, + update README.serial_multi + +* Patches by David Snowdon, 07 Sep 2004: + - add u-boot.hex target in the top level Makefile + - add support for the UNSW/NICTA PLEB 2 board (pleb2) + - use -mtune=xscale and -march=armv5 options for PXA + +* Patch by Florian Schlote, 08 Sep 2004: + Add support for SenTec-COBRA5272-board (ColdFire). + +* Patch by Gleb Natapov, 07 Sep 2004: + mpc824x: set PCI latency timer to a sane value + (is 0 after reset). + +* Patch by Kurt Stremerch, 03 Sep 2004: + Add bitstream configuration option for fpga command (Xilinx only). + +* Patch by Kurt Stremerch, 03 Sep 2004: + Add Xilinx Spartan2E family FPGA support + +* Patch by Jeff Angielski, 02 Sep 2004: + Add Added support for H2 revision of the EP8260 board. + Fixed formatting for some of the EP8260 related source files. + +* Patch by Jon Loeliger, 02 Sep 2004: + Reset monitor size back to 256 so environment can be written + to flash on MPC85xx ADS and CDS releases. + +* Patch by Paolo Broggini, 02 Sep 2004: + Make BSS clearing on ARM systems more robust + +* Patch by Yue Hu and Joe, 01 Sep 2004: + - add PCI support for ixp425; + - add EEPRO100 suppor tfor ixdp425 board. + +* Fix problem with protected sector detection in driver/cfi_flash.c + +====================================================================== +Changes for U-Boot 1.1.2: +====================================================================== + +* Code cleanup, mostly for GCC-3.3.x + +* Cleanup confusing use of CONFIG_ETH*ADDR - ust his only to + pre-define a MAC address; use CONFIG_HAS_ETH* to enable support for + additional ethernet addresses. + +* Cleanup drivers/i82365.c - avoid duplication of code + +* Fix bogus "cannot span across banks" flash error message + +* Code cleanup + +* Add support for CompactFlash for the CPC45 Board. + +* Fix problems with CMC_PU2 flash driver. + +* Cleanup: + - avoid trigraph warning in fs/ext2/ext2fs.c + - rename UC100 -> uc100 + +* Add support for UC100 board + +* Patch by Stefan Roese, 16 Dez 2004: + - ext2fs support added + - Tundra universe support added + - ColdFire MCF5249 support added (no preloader needed!) + - MCF5249 board TASREG added + - PPC boards added: APC405, CPCI405DT, CPCI750, G2000, HH405, + VOM405, WUH405 + - some esd boards updated + - memory commands "mdc" and "mwc" added for cyclic read/write + (CONFIG_MX_CYCLIC, see README for further description) + +* Add support for INKA4X0 board + +* Patch by Steven Scholz, 12 Dec 2004: + Fix typo in AT91 memory setup. + +* Patch by Martin Krause, 27 Oct 2004: + - add support for "STK52xx" board (including PS/2 multiplexer) + - add hardware detection for TQM5200 + +* Clean up CMC PU2 flash driver + +* Update MAINTAINERS file + +* Fix bug in MPC823 LCD driver + +* Fix udelay() on AT91RM9200 for delays < 1 ms. + +* Enable long help on CMC PU2 board; + fix reset issue; + increase CPU speed from 179 to 207 MHz. + +* Fix smc91111 ethernet driver for Xaeniax board (need to handle + unaligned tail part specially). + +* Update for AT91RM9200DK and CMC_PU2 boards: + - Enable booting directly from flash + - fix CMC_PU2 flash driver + +* Fix mkimage usage message + +* Map SRAM on NC650 board + +* Work around for Ethernet problems on Xaeniax board + +* Patch by TsiChung Liew, 23 Sep 2004: + - add support for MPC8220 CPU + - Add support for Alaska and Yukon boards + +* Fix configuration for ERIC board (needs more room) + +* Adjust MIPS compiler options at run-time depending on tools version + ("-march=4kc -mtune=4kc -Wa,-mips_allow_branch_to_undefined" for new, + "-mcpu=4kc" for old tools) + +* Add passing of the command line and memory size information to the + kernel on xaeniax board. + +* Enable NAND flash support for NC650 board. + +* Patch by Thomas Lange 07 Oct 2004: + Updated README for DBAu1x00 boards to match current status + +* Patch by Philippe Robin, 28 Sept 2004: + Fix Flash support for Versatile. + +* Patch by Roger Blofeld, 16 Sep 2004: + Fix timeout for DHCP command retry + +* Patch by Pantelis Antoniou, 14 Sep 2004: + Fix early serial hang when CONFIG_SERIAL_MULTI is defined. + +* Patch by Pantelis Antoniou, 14 Sep 2004: + Kick watchdog when bz-decompressing + +* Fix CFG_HZ problems on AT91RM9200 systems + [Remember: CFG_HZ should be 1000 on ALL systems!] + +* Patch by Gridish Shlomi, 30 Aug 2004: + - Add support to revA version of PQ27 and PQ27E. + - Reverted MPC8260ADS baudrate back to original 115200 + +* Patch by Hojin, 17 Sep 2004: + Fix typo in cfi_flash.c + +* Patch by Mark Jonas, 09 September 2004: + mtest's data line test (with CFG_ALT_MEMTEST set) returned a wrong + error message + +* Patch by Mark Jonas, 31 August 2004: + Added option CFG_XLB_PIPELINING to enable XLB pipelining. This + improves FTP performance for MPC5200 systems. Enabled for IceCube + by default. + +* Patch by Michael Bendzick, 30 Aug 2004: + - Improve platform.S code for omap1510inn that detects whether code + is running from SDRAM or not. Patch allows SDRAM to be configured + if code is running out of SRAM at 0x20000000. + +* Patch by Frederick Klatt, 30 Aug 2004: + Add support for the Wind River SBC8540/SBC8560 boards + +* Configure SX1 board to use drivers/cfi_flash.c + +* Patches by Michael Bendzick, 30 Aug 2004: + - Configure omap1510inn board to use drivers/cfi_flash.c + - Make drivers/cfi_flash.c protect environment and redundant + environment. + +* Patch by Steven Scholz, 23 Jun 2004: + - Add script (tools/img2brec.sh) to programm U-Boot into + (Synch)Flash using the Bootstrap Mode of the MC9328MX1/L + +* Patches by Scott McNutt, 24 Aug 2004: + - Add support for Altera Nios-II processors. + - Add support for Psyent PCI-5441 board. + - Add support for Psyent PK1C20 board. + +* Patches by Jon Loeliger, 24 Aug 2004: + - Add support for the MPC8541 and MPC8555 CDS boards + - Cleanup eth?addr handling: make dependent on CONFIG_ETH?ADDR + - Convert MPC85xxADS to use common CFI flash driver + - Fix PCI window on MPC85xx; remove unneeded PCI initialization + from board_early_init_f() + - Provide SW workaround for PCI initialization on 85xx CDS + +* Patches by George G. Davis, 24 Aug 2004: + - Enable ramdisk/initrd tagged param support for omap1610h2_config + - Remove static network setup defaults from mx1ads_config + - update ARM boards to use constants from mach-types.h + +* Patch by Gary Jennejohn, 04 Oct 2004: + - fix I2C on at91rm9200 + - add support for Ricoh RS5C372A RTC + +* Patch by Gary Jennejohn, 01 Oct 2004: + - add support for CMC PU2 board + - add support for I2C on at91rm9200 + +* Patch by Gary Jennejohn, 28 Sep 2004: + fix baudrate handling on at91rm9200 + +* Patch by Yuli Barcohen, 22 Aug 2004: + - remove ZPC.1900 board-specific flash driver; + switch the port to generic CFI driver; + - port clean-up + +* Patch by Hinko Kocevar, 21 Aug 2004: + Add calc_fbsize() function used with VIDEOLFB_TAG on TRAB + +* Clean up tools/bmp_logo.c to not add trailing white space + +* Patch by Hinko Kocevar, 21 Aug 2004: + - Group common framebuffer functions in common/lcd.c + - Group common framebuffer macros and #defines in include/lcd.h + - Provide calc_fbsize() for video ATAG + +* Patch by Sam Song, 21 August 2004: + - Fix a typo in README + - Align "(RO)" output for "flinfo" after "protect on" + - Add RESET support for RPXlite_DW board; adjust CPU:BUS frequency + ratio 1:1 when core frequency less than 50MHz + +* Patches by Hinko Kocevar, 21 Aug 2004: + - fix some "use of label at end of compound statement" warnings + - Define type of LCD panel on lubbock board if CONFIG_LCD is used + +* Patch by Steven Scholz, 16 Aug 2004: + - Introducing the concept of SoCs "./cpu/$(CPU)/$(SOC)" + - creating subdirs for SoCs ./cpu/arm920t/imx and ./cpu/arm920t/s3c24x0 + - moving SoC specific code out of cpu/arm920t/ into cpu/arm920t/$(SOC)/ + - moving drivers/s3c24x0_i2c.c and drivers/serial_imx.c out of drivers/ + into cpu/arm920t/$(SOC)/ + +* Patches by Sean Chang, 09 Aug 2004: + - Added support for both 8 and 16 bit mode access to System ACE CF + through MPU. + - Fixed missing System ACE CF device during get FAT partition info + in fat_register_device function. + - Enabled System ACE CF support on ML300. + +* Patch by Sean Chang, 09 Aug 2004: + Synch defines for saveenv and do_saveenv functions so they get + compiled under the same statement. + +* Patch by Sean Chang, 09 Aug 2004: + - Added I2C support for ML300. + - Added support for ML300 to read out its environment information + stored on the EEPROM. + - Added support to use board specific parameters as part of + U-Boot's environment information. + - Updated MLD files to support configuration for new features + above. + +* Patches by Travis Sawyer, 05 Aug 2004: + - Remove incorrect bridge settings for eth group 6 + - Add call to setup bridge in ppc_440x_eth_initialize + - Fix ppc_440x_eth_init to reset the phy only if its the + first time through, otherwise, just check the phy for the + autonegotiated speed/duplex. This allows the use of netconsole + - only print the speed/duplex the first time the phy is reset. + +* Patch by Shlomo Kut, 29 Mar 2004: + Add support for MKS Instruments "Quantum" board + +* Fix build problem with Cogent boards; + avoid using when using the host compiler + +* Patch by Ganapathi C, 04 Aug 2004: + Fix NFS timeout issue + +* Patch by Yuli Barcohen, 19 Jul 2004: + - Fix host tools building in Cygwin environment + - Fix header files search order for host tools + +* Patch by Tom Armistead, 19 Jul 2004: + Fix kgdb.S support for 74xx_75x cpu + +* Patch by Jon Loeliger, 15 Jul 2004: + Fix MPC85xx I2C driver + +* Fix problems with CDROM drive as slave device on Lite5200 IDE bus. + +* Patch by Stephen Williams, 15 July 2004 + Set the PCI class code for JSE board as part of PCI interface setup + +* Patch by Michael Bendzick, 15 Jul 2004: + Fix problem with writes with odd sizes in drivers/cfi_flash.c when + CFG_FLASH_USE_BUFFER_WRITE is set + +* Patch by Yuli Barcohen, 13 Jul 2004: + Allow clock setting on MPC866/MPC885 series chips according to + environment variable `cpuclk' + +* Patch by Yuli Barcohen, 20 Apr 2004: + Remove unnecessary redefine of CPM_DATAONLY_SIZE for MPC826x + +* Patch by Vincent Dubey, 24 Sep 2004: + Add support for xaeniax board + +* Add comment about non-GPL character of standalone applications to + COPYING file + +* Fix FEC ethernet problem on NSCU board. + +* Patch by Gary Jennejohn, 09 Sep 2004: + allow to use USART1 as console port on at91rm9200dk boards + +* Patch by Stefan Roese, 16 Sep 2004: + Update AR405 board. + +* Fix SysClk handling for PPChameleon and CATcenter boards + +* Patch by Detlev Zundel, 08 Sep 2004: + Update etags build target + +* Improve NetConsole support: add support for broadcast destination + address and buffered input. + +* Cleanup compiler warnings for GCC 3.3.x and later + +* Fix problem in cmd_jffs2.c introduced by CFG_JFFS_SINGLE_PART patch + +* Add support for IDS "NC650" board + +* Add automatic update support for LWMON board + +* Clear Block Lock-Bits when erasing flash on LWMON board. + +* Fix return code of "fatload" command + +* Enable MSDOS/VFAT filesystem support for LWMON board + +* Patch by Martin Krause, 03 Aug 2004: + change timing for SM501 graphics controller on TQM5200 module + +* Patch by Mark Jonas, 13 July 2004: + - Total5200 LCD now run in little endian mode. Endianess conversion + is done in hardware. + - Removed last reference to "console" environment variable. + +* Patches by Lars Munch, 12 Jul 2004: + - move at45.c to board/at91rm9200dk/ since this is at91rm9200dk + board specific + - split out the LXT971A PHY from ns_9750_eth.h + - split the dm9161 phy part out of at91rm9200_ether.c + +* Patch by Andreas Engel, 12 Jul 2004: + Replaced hardcoded PL011 clock frequency with config variable. + Fixed wrong CONFIG_CMD_DFL doc. + +* Patch by Thomas Viehweger, 09 Jun 2004: + make it possible to remove chpart when there is only one partition + +* Add support for console over UDP (compatible to Ingo Molnar's + netconsole patch under Linux) + +* Patch by Jon Loeliger, 16 Jul 2004: + - support larger DDR memories up to 2G on the PC8540/8560ADS and + STXGP3 boards + - Made MPC8540/8560ADS be 33Mhz PCI by default. + - Removed moldy CONFIG_RAM_AS_FLASH, CFG_FLASH_PORT_WIDTH_16 + and CONFIG_L2_INIT_RAM options. + - Refactor Local Bus initialization out of SDRAM setup. + - Re-implement new version of LBC11/DDR11 errata workarounds. + - Moved board specific PCI init parts out of CPU directory. + - Added TLB entry for PCI-1 IO Memory + - Updated README.mpc85xxads + +* Patch by Sascha Hauer, 28 Jun: + - add generic support for Motorola i.MX architecture + - add support for mx1ads, mx1fs2 and scb9328 boards + +* Patches by Marc Leeman, 23 Jul 2004: + - Add define for the PCI/Memory Buffer Configuration Register + - corrected comments in cpu/mpc824x/cpu_init.c + +* Add support for multiple serial interfaces + (for example to allow modem dial-in / dial-out) + +* Patch by Stefan Roese, 15 Jul 2004: + cpu/ppc4xx/sdram.c rewritten now using get_ram_size() + +* Fix NSCU config; add ethernet wakeup code. + +* Add link for preloader for Motorola ColdFire to README.m68k + +* Patch by Michael Bendzick, 12 Jul 2004: + fix output formatting in drivers/cfi_flash.c + +* Patch by Mark Jonas, 02 Jul 2004: + Fix lowboot (again) on MPC5xxx + +* Patch by Curt Brune, 07 Jul 2004: + relocate exception vectors on arm720t if needed + +* Patch by George G. Davis, 06 Jul 2004: + - update mach-types.h to latest arm.linux.org.uk master list + - Set correct OMAP1610 bi_arch_number for build target + +* Patch by Curt Brune, 06 Jul 2004: + evb4510: add support for timer interrupt; cleanup + +* Patch by Dan Poirot, 06 Jul 2004: + Fix sbc8260 environment variables + +* Cleanup redundand "console" environment variable + +* Patch by Mark Jonas, 05 Jul 2004: + add support for the Total5100's and Total5200's LCD screen + +* Patches by Dan Eisenhut, 01 Jul 2004: + - README fixes. + - Move doc2000.h include to prevent compiler warning on some boards + +* Patch by Mark Jonas, 01 Jul 2004: + Added support for Total5100 and Total5200 (Rev.1 and Rev.2) + MGT5100 and MPC5200 based Freescale platforms. + +* Patch by Philippe Robin, 01 Jul 2004: + Add initialization for Integrator and versatile board files. + +* Patch by Hinko Kocevar, 01 Jun 2004: + Fix VFD FB allocation, add LCD FB allocation on ARM + +* Patch by Martin Krause, 30 Jun 2004: + Add support for TQM5200 board + +* Patch by Martin Krause, 29 Jun 2004: + Add loopw command: infinite write loop on address range + +* Patches by Yasushi Shoji, 29 Jun 2004: + - add empty include/asm-microblaze/processor.h + - add to CREDITS and MAINTAINERS + - add gd initialization + - add MicroBlaze and SUZAKU board to MAKEALL script + - add reset support for SUZAKU + - add flush_cache() for MicroBlaze + - add CFG_FLASH_SIZE to include/configs/suzaku.h since we have fixed + size flash memory on SUZAKU + +* Patch by Prakash Kumar, 27 Jun 2004: + Add support for the PXA250 based Intrinsyc Cerf board. + +* Patch by Yasushi Shoji, 27 Jun 2004: + fix comment in include/common.h + +* Rename SBC8560 into sbc8560 for consistency + +* Patch by Daniel Poirot, 24 Jun 2004: + Add support for Wind River's sbc8240 board + +* Patches by Yasushi Shoji, 26 Jun 2004: + - drivers/serial_xuartlite.c: fix "return 0" in void function + - add microblaze support to mkimage tool + +* Patch by Fred Klatt, 25 Jun 2004: + Add support for WindRiver's sbc8560 board + +* Patch by Nicolas Lacressonniere, 24 Jun 2004 + Small Bugs fixes for "at91rm9200dk" board: + - Timing modifications for SPI DataFlash access + - Fix NAND flash detection bug + +* Patch by Nicolas Lacressonniere, 24 Jun 2004: + Add Support for Flash AT49BV6416 for AT91RM9200DK board + +* Patch by Jon Loeliger, 17 June 2004: + Completion of the 8540ADS/8560ADS updates: + Fix some PCI and Rapid I/O memory maps, + Initialize both TSEC 1 and 2, + Initialize SDRAM + Update MAINTAINER for 85xx boards and README.mpc85xxads + +* Patch by Yuli Barcohen, 16 Jun 2004: + Remove obsolete AdderII port which was superseded by unified + AdderII/Adder87x port + +* Patch by Ladislav Michl, 16 Jun 2004: + Fix gcc-3.3.3 warnings for smc91111.c + +* Patch by Stefan Roese, 02 Jul 2004: + - Fix bug in 405 ethernet driver; allocated data not cleared! + - Fix problem in 405 i2c driver; don't try to print without console! + +* Patch by Paul Ruhland, 11 Jun 2004: + Remove debug code from 'board/lpd7a40x/flash.c' + +* Patch by Andrea Marson, 11 Jun 2004: + Update for PPChameleon board: + - support for SysClk @ 25MHz + - support for Silicon Motion SM712 VGA controller + - some clean ups + +* Patches by Richard Woodruff, 10 Jun 2004: + - fix problems with examples/stubs.c for GCC >= 3.4 + - fix problems with gd initialization + +* Patch by Curt Brune, 17 May 2004: + - Add support for Samsung S3C4510B CPU (ARM7tdmi based SoC) + - Add support for ESPD-Inc. EVB4510 Board + +* Patch by Marc Leeman, 11 May 2004: + Fix for MPC8245 - reading PPC Memory from another device with the + PPC as PCI target device corrupts data due to interenal hardware + buffering. + +* Fix "cls" command when used with splash screen + +* Increase NFS download timeout (now 1 min - 10 sec is to short for a + slow download of a big image) + +* Add "cls" function to MPC823 LCD driver so we can reinitialize the + display even after showing a bitmap + +* Patch by Josef Wagner, 04 Jun 2004: + - DDR Ram support for PM520 (MPC5200) + - support for different flash types (PM520) + - USB / IDE / CF-Card / DiskOnChip support for PM520 + - 8 bit boot rom support for PM520/CE520 + - Add auto SDRAM module detection for MicroSys CPC45 board (MPC8245) + - I2C and RTC support for CPC45 + - support of new flash type (28F160C3T) for CPC45 + +* Fix flash parameters passed to Linux for PPChameleon board + +* Remove eth_init() from lib_arm/board.c; it's done in net.net.c. + +* Patch by Paul Ruhland, 10 Jun 2004: + fix support for Logic SDK-LH7A404 board and clean up the + LH7A404 register macros. + +* Patch by Matthew McClintock, 10 Jun 2004: + Modify code to select correct serial clock on Sandpoint8245 + +* Patch by Robert Schwebel, 10 Jun 2004: + Add support for Intel K3 strata flash. + +* Patch by Thomas Brand, 10 Jun 2004: + Fix "loads" command on DK1S10 board + +* Patch by Yuli Barcohen, 09 Jun 2004: + Add support for 8MB flash SIMM and JFFS2 file system on + Motorola FADS board and its derivatives (MPC86xADS, MPC885ADS). + +* Patch by Yuli Barcohen, 09 Jun 2004: + Add support for Analogue&Micro Adder87x and the older AdderII board. + +* Patch by Ming-Len Wu, 09 Jun 2004: + Add suppport for MC9328 (Dargonball) CPU and Motorola MX1ADS board + +* Patch by Sam Song, 09 Jun 2004: + - Add support for RPXlite_DW board + - Update FLASH driver for 4*AM29DL323DB90VI + - Add option configuration of CFG_ENV_IS_IN_NVRAM on RPXlite_DW board + +* Patch by Mark Jonas, 08 June 2004: + - Make MPC5200 boards evaluate the SVR to print processor name and + version in checkcpu() (cpu/mpc5xxx/cpu.c). + +* Patch by Kai-Uwe Bloem, 06 May 2004: + Fix endianess problem in cramfs code + +* Patch by Tom Armistead, 04 Jun 2004: + Add support for MAX6900 RTC + +* Patches by Ladislav Michl, 03 Jun 2004: + - fix cfi_flash.c on LE systems + - let 'make mrproper' delete u-boot.img as well + - turn printf into debug in cfi_flash.c + +* Patch by Kurt Stremerch, 28 May 2004: + Add support for Exys XSEngine board + +* Patch by Martin Krause, 27 May 2004: + Fix a MPC5xxx I2C timing issue in i2c_probe(). + +* Patch by Leif Lindholm, 27 May 2004: + Fix board_init_f() for dbau1x00 board. + +* Patch by Imre Deak, 26 May 2004: + On OMAP1610 platforms check if booting from RAM(CS0) or flash(CS3). + Set flash base accordingly, and decide whether to do or skip board + specific setup steps. + +* Patch by Josef Baumgartner, 26 May 2004: + Add missing define in include/asm-m68k/global_data.h + +* Patch by Josef Baumgartner, 25 May 2004: + Add missing functions get_ticks() and get_tbclk() in lib_m68k/time.c + +* Patch by Paul Ruhland, 24 May 2004: + fix SDRAM initialization for LPD7A400 board. + +* Patch by Jian Zhang, 20 May 2004: + add support for environment in NAND flash + +* Patch by Yuli Barcohen, 20 May 2004: + Add support for Interphase iSPAN boards. + +* Patches by Paul Ruhland, 17 May 2004: + - Add I/O functions to the smc91111 ethernet driver to support the + Logic LPD7A40x boards. + - Add support for the Logic Zoom LH7A40x based SDK board(s), + specifically the LPD7A400. + +* Patches by Robert Schwebel, 15 May 2004: + - call MAC address reading code also for SMSC91C111; + - make SMSC91C111 timeout configurable, remove duplicate code + - fix get_timer() for PXA + - update doc/README.JFFS2 + - use "bootfile" env variable also for jffs2 + +* Patch by Tolunay Orkun, 14 May 2004: + Add support for Cogent CSB472 board (8MB Flash Rev) + +* Patch by Thomas Viehweger, 14 May 2004: + - flash.h: more flash types added + - immap_8260.h: some bits added (useful for RMII) + - cmd_coninfo.c: typo corrected, printf -> puts + - reduced size by replacing spaces with tab + +* Patch by Robert Schwebel, 13 May 2004: + Add 'imgextract' command: extract one part of a multi file image. + +* Patches by Jon Loeliger, 11 May 2004: + Dynamically handle REV1 and REV2 MPC85xx parts. + (Jon Loeliger, 10-May-2004). + New consistent memory map and Local Access Window across MPC85xx line. + New CCSRBAR at 0xE000_0000 now. + Add RAPID I/O memory map. + New memory map in README.MPC85xxads + (Kumar Gala, 10-May-2004) + Better board and CPU identification on MPC85xx boards at boot. + (Jon Loeliger, 10-May-2004) + SDRAM clock control fixes on MPC8540ADS & MPC8560 boards. + Some configuration options for MPC8540ADS & MPC8560ADS cleaned up. + (Jim Robertson, 10-May-2004) + Rewrite of the MPC85xx Three Speed Ethernet Controller (TSEC) driver. + Supports multiple PHYs. + (Andy Fleming, 10-May-2004) + Some README.MPC85xxads updates. + (Kumar Gala, 10-May-2004) + Copyright updates for "Freescale" + (Andy Fleming, 10-May-2004) + +* Patch by Stephen Williams, 11 May 2004: + Add flash support for ST M29W040B + Reduce JSE specific flash.c to remove dead code. + +* Patch by Markus Pietrek, 04 May 2004: + Fix clear_bss code for ARM systems (all except s3c44b0 which + doesn't clear BSS at all?) + +* Fix "ping" problem on INC-IP board. Strange problem: + Sometimes the store word instruction hangs while writing to one of + the Switch registers, but only if the next instruction is 16-byte + aligned. Moving the instruction into a separate function somehow + makes the problem go away. + +* Patch by Rishi Bhattacharya, 08 May 2004: + Add support for TI OMAP5912 OSK Board + +* Patch by Sam Song May, 07 May 2004: + Fix typo of UPM table for rmu board + +* Patch by Pantelis Antoniou, 05 May 2004: + - Intracom board update. + - Add Codec POST. + +* Add support for the second Ethernet interface for the 'PPChameleon' + board. + +* Patch by Dave Peverley, 30 Apr 2004: + Add support for OMAP730 Perseus2 Development board + +* Patch by Alan J. Luse, 29 Apr 2004: + Fix flash chip-select (OR0) option register setting on FADS boards. + +* Patch by Alan J. Luse, 29 Apr 2004: + Report MII network speed and duplex setting properly when + auto-negotiate is not enabled. + +* Patch by Jarrett Redd, 29 Apr 2004: + Fix hang on reset on Ocotea board due to flash in wrong mode. + +* Patch by Dave Peverley, 29 Apr 2004: + add MAC address detection to smc91111 driver + +* Patch by David Müller, 28 Apr 2004: + fix typo in lib_arm/board.c + +* Patch by Tolunay Orkun, 20 Apr 2004: + - README update: add CONFIG_CSB272 and csb272_config + - add descriptions for some MII/PHY options, CONFIG_I2CFAST, and + i2cfast environment variable + +* Patch by Yuli Barcohen, 19 Apr 2004: + - Rename DUET_ADS to MPC885ADS + - Rename CONFIG_DUET to CONFIG_MPC885_FAMILY + - Rename CONFIG_866_et_al to CONFIG_MPC866_FAMILY + - Clean up FADS family port to use the new defines + +* Fix PCI support on CPC45 board + +* Patch by Scott McNutt, 25 Apr 2004: + Add Nios GDB/JTAG Console support: + - Add stubs to support gdb via JTAG. + - Add support for console over JTAG. + - Minor cleanup. + +* Add support for CATcenter board (based on PPChameleon ME module) + +* Patch by Klaus Heydeck, 12 May 2004: + Using external watchdog for KUP4 boards in mpc8xx/cpu.c; + load_sernum_ethaddr() for KUP4 boards in lib_ppc/board.c; + various changes to KUP4 board specific files + +* Fix minor network problem on MPC5200: need some delay between + resetting the PHY and sending the first packet. Implemented in a + "natural" way by invoking the PHY reset and initialization code + only once after power on vs. each time the interface is brought up. + +* Add some limited support for low-speed devices to SL811 USB controller + (at least "usb reset" now passes successfully and "usb info" displays + correct information) + +* Change init sequence for multiple network interfaces: initialize + on-chip interfaces before external cards. + +* Fix memory leak in the NAND-specific JFFS2 code + +* Fix SL811 USB controller when attached to a USB hub + +* Fix config option spelling in PM520 config file + +* Fix PHY discovery problem in cpu/mpc8xx/fec.c (introduced by + patches by Pantelis Antoniou, 30 Mar 2004) + +* Fix minor NAND JFFS2 related issue + +* Fixes for SL811 USB controller: + - implement workaround for broken memory stick + - improve error handling + +* Increase packet send timeout to 1 ms in cpu/mpc8xx/scc.c to better + cope with congested networks. + +====================================================================== +Changes for U-Boot 1.1.1: +====================================================================== + +* Patch by Travis Sawyer, 23 Apr 2004: + Fix VSC/CIS 8201 phy descrambler interoperability timing due to + errata from Vitesse Semiconductor. + +* Patch by Philippe Robin, 22 Apr 2004: + Fix ethernet configuration for "versatile" board + +* Patch by Kshitij Gupta, 21 Apr 2004: + Remove busy loop and use MPU timer fr usleep() on OMAP1510/1610 boards + +* Patch by Steven Scholz, 24 Feb 2004: + Fix a bug in AT91RM9200 ethernet driver: + The MII interface is now initialized before accessing the PHY. + +* Patch by John Kerl, 19 Apr 2004: + Use U-boot's miiphy.h for PHY register names, rather than + introducing a new header file. + +* Update pci_ids.h from linux-2.4.26 + +* Patch by Masami Komiya, 19 Apr 2004: + Fix problem cause by VLAN function on little endian architecture + without VLAN environment + +* Clean up the TQM8xx_YYMHz configurations; allow to use the same + binary image for all clock frequencies. Implement run-time + optimization of flash access timing based on the actual bus + frequency. + +* Modify KUP4X board configuration to use SL811 driver for USB memory + sticks (including FAT / VFAT filesystem support) + +* Add SL811 Host Controller Interface driver for USB + +* Add CFG_I2C_EEPROM_ADDR_OVERFLOW desription to README + +* Patch by Pantelis Antoniou, 19 Apr 2004: + Allow to use shell style syntax (i. e. ${var} ) with standard parser. + Minor patches for Intracom boards. + +* Patch by Christian Pell, 19 Apr 2004: + cleanup support for CF/IDE on PCMCIA for PXA25X + +* Temporarily disabled John Kerl's extended MII command code because + "miivals.h" is missing + +* Patches by Mark Jonas, 13 Apr 2004: + - Remove CS0 chip select timing setting from cpu/mpc5xxx/start.S + - Add sync instructions to IceCube SDRAM init code + - Move SDRAM chip constants into seperate include files + - Unify DDR and SDR initialization code + - Unify all IceCube (Lite5xxx) target names + +* Patch by John Kerl, 16 Apr 2004: + Enable ranges in mii command, e.g. mii read 0-1f 0 or + mii read 4-7 18-1a. Also add mii dump subcommand for + pretty-printing standard regs 0-5. + +* Patch by Stephen Williams, 16 April 2004: + fix typo in JSE.h; update MAINTAINERS + +* Patch by Matthew S. McClintock, 14 Apr 2004: + fix initdram function for utx8245 board + +* Patch by Markus Pietrek, 14 Apr 2004: + use ATAG_INITRD2 instead of deprecated ATAG_INITRD tag + +* Patch by Reinhard Meyer, 18 Apr 2004: + provide the IDE Reset Function for EMK 5200 boards + +* Patch by Masami Komiya, 12 Apr 2004: + fix pci_hose_write_config_{byte,word}_via_dword problems + +* Patch by Sangmoon Kim, 12 Apr 2004: + Update max RAM size for debris board + +* Patch by Travis Sawyer, 08 Apr 2004: + Add TLB entry for second DIMM slot on ocotea + +* Patch by Masami Komiya, 08 Apr 2004: + add RTL8169 network driver + +* Patch by Dan Malek, 07 Apr 2004: + - Add support for RPC/STx GP3, Motorola 8560 board + - Update 85xx TSEC driver so it searches MII for first available PHY + and uses that one. + - Add functions to support console MII commands. + +* Patch by Tolunay Orkun, 07 Apr 2004: + Move initialization of bi_iic_fast[] + from board_init_f() to board_init_r() + +* Patch by Yasushi Shoji, 07 Apr 2004: + Cleanup microblaze port + +* Patch by Sangmoon Kim, 07 Apr 2004: + Add auto SDRAM module detection for Debris board + +* Patch by Rune Torgersen, 06 Apr 2004: + - Fix some PCI problems on the MPC8266ADS board + - Fix the location of some PCI entries in the immap structure + +* Patch by Yasushi Shoji, 07 Apr 2004: + - add support for microblaze processors + - add support for AtmarkTechno "suzaku" board + +* Configure PPChameleon board to use redundand environment in flash + +* Configure PPChameleon board to use JFFS2 NAND support. + +* Added support for JFFS2 filesystem (read-only) on top of NAND flash + +* Patch by Rune Torgersen, 16 Apr 2004: + LBA48 fixes + +* Patches by Pantelis Antoniou, 16 Apr 2004: + - add support for a new version of an Intracom board and fix + various other things on others. + - add verify support to the crc32 command (define + CONFIG_CRC32_VERIFY to enable it) + - fix FEC driver for MPC8xx systems: + 1. fix compilation problems for boards that use dynamic + allocation of DPRAM + 2. shut down FEC after network transfers + - HUSH parser fixes: + 1. A new test command was added. This is a simplified version of + the one in the bourne shell. + 2. A new exit command was added which terminates the current + executing script. + 3. Fixed handing of $? (exit code of last executed command) + - Fix some compile problems; + add "once" functionality for the netretry variable + +* Patch by George G. Davis, 02 Apr 2004: + add support for Intel Assabet board + +* Patch by Stephen Williams, 01 Apr 2004: + Add support for Picture Elements JSE board + +* Patch by Christian Pell, 01 Apr 2004: + Add CompactFlash support for PXA systems. + +* Patches by Pantelis Antoniou, 30 Mar 2004: + - add auto-complete support to the U-Boot CLI + - add support for NETTA and NETPHONE boards; fix NETVIA board + - add support for the Epson 156x series of graphical displays + (These displays are serial and not suitable for using a normal + framebuffer console on them) + - add infrastructure needed in order to POST any DSPs in a board + - improve and fix various things in the MPC8xx FEC driver: + 1. The new 87x and 88x series of processors have two FECs, + and the new driver supports them both. + 2. Another change in the 87x/88x series is support for + the RMII (Reduced MII) interface. However numerous + changes are needed to make it work since the PHYs + are connected to the same lines. That means that + you have to address them correctly over the MII + interface. + 3. We now correctly match the MII/RMII interface + configuration to what the PHY reports. + - Fix problem when readingthe MII status register. Due to the + internal design of many PHYs you have to read the register + twice. The problem is more apparent in 10Mbit mode. + - add new mode ".jffs2s" for reading from a NAND device: it just + skips over bad blocks. + - add networking support for VLANs (802.1q), and CDP (Cisco + Discovery Protocol) + - some minor patches / cleanup + +* Patch by Yuli Barcohen, 28 Mar 2004: + - Add support for MPC8272 family including MPC8247/8248/8271/8272 + - Add support for MPC8272ADS evaluation board (another flavour of MPC8260ADS) + - Change configuration method for MPC8260ADS family + +* add startup code to clear the BSS of standalone applications + +* Fix if / elif handling bug in HUSH shell + +====================================================================== +Changes for U-Boot 1.1.0: +====================================================================== + +* Patch by Mark Jonas: Remove config.tmp files only when + unconfiguring the board + +* Adapt RMU board for bigger flash memory + +* Patch by Klaus Heydeck, 13 Mar 2003: + Add support for KUP4X Board + +* Patch by Pavel Bartusek, 21 Mar 2004 + Add Reiserfs support + +* Patch by Hinko Kocevar, 20 Mar 2004 + - Add auto-release for SMSC LAN91c111 driver + - Add save/restore of PTR and PNR regs as suggested in datasheet + +* Patch by Stephen Williams, 19 March 2004 + Increase speed of sector reads from SystemACE, + shorten poll timeout and remove a useless reset + +* Patch by Tolunay Orkun, 19 Mar 2004: + Make GigE PHY 1000Mbps Speed/Duplex detection conditional + (CONFIG_PHY_GIGE) + +* Patch by Brad Kemp, 18 Mar 2004: + prevent machine checks during a PCI scan + +* Patch by Pierre Aubert, 18 Mar 2004: + Fix string cleaning in IDE identification + +* Patch by Pierre Aubert, 18 Mar 2004: + - Unify video mode handling for Chips & Technologies 69000 Video + chip and Silicon Motion SMI 712/710/810 Video chip + - Add selection of the video output (CRT or LCD) via 'videoout' + environment variable for the Silicon Motion + - README update + +* Patch by Pierre Aubert, 18 Mar 2004: + include/common.h typo fix + +* Patches by Tolunay Orkun, 17 Mar 2004: + - Add support for bd->bi_iic_fast[] initialization via environment + variable "i2cfast" (CONFIG_I2CFAST) + - Add "i2cfast" u-boot environment variable support for csb272 + +* Patch by Carl Riechers, 17 Mar 2004: + Ignore '\0' characters in console input for use with telnet and + telco pads. + +* Patch by Leon Kukovec, 17 Mar 2004: + typo fix for strswab prototype #ifdef + +* Patches by Thomas Viehweger, 16 Mar 2004: + - show PCI clock frequency on MPC8260 systems + - add FCC_PSMR_RMII flag for HiP7 processors + - in do_jffs2_fsload(), take load address from load_addr if not set + explicit, update load_addr otherwise + - replaced printf by putc/puts when no formatting is needed + (smaller code size, faster execution) + +* Patch by Phillippe Robin, 16 Mar 2004: + avoid dereferencing NULL pointer in lib_arm/armlinux.c + +* Patch by Stephen Williams, 15 Mar 2004: + Fix CONFIG_SERIAL_SOFTWARE_FIFO documentation + +* Patch by Tolunay Orkun, 15 Mar 2004: + Initialize bi_opbfreq to real OPB frequency via get_OPB_freq() + +* Patch by Travis Sawyer, 15 Mar 2004: + Update CREDITS & MAINTAINERS files for PPC440GX & Ocotea port + +* Add start-up delay to make sure power has stabilized before + attempting to switch on USB on SX1 board. + +* Patch by Josef Wagner, 18 Mar 2004: + - Add support for MicroSys XM250 board (PXA255) + - Add support for MicroSys PM828 board (MPC8280) + - Add support for 32 MB Flash on PM825/826 + - new SDRAM refresh rate for PM825/PM826 + - added support for MicroSys PM520 (MPC5200) + - replaced Query by Identify command in CPU86/flash.c + to support 28F160F3B + +* Fix wrap around problem with udelay() on ARM920T + +* Add support for Macronix flash on TRAB board + +* Patch by Pierre Aubert, 15 Mar 2004: + Fix buffer overflow in IDE identification + +* Fix power-off of LCD for out-of-band temperatures on LWMON board + +* Remove redundand #define in IceCube.h + +* Patch by Steven Scholz, 27 Feb 2004: + - Adding get_ticks() and get_tbclk() for AT91RM9200 + - Many white space fixes in cpu/at91rm9200/interrupts.c + +* Patches by Steven Scholz, 20 Feb 2004: + some cleanup in AT91RM9200 related code + +* Patches by Travis Sawyer, 12 Mar 2004: + - Fix Gigabit Ethernet support for 440GX + - Add Gigabit Ethernet Support to MII PHY utilities + +* Patch by Brad Kemp, 12 Mar 2004: + Fixes for drivers/cfi_flash.c: + - Better support for x8/x16 implementations + - Added failure for AMD chips attempting to use CFG_FLASH_USE_BUFFER_WRITE + - Added defines for AMD command and address constants + +* Patch by Leon Kukovec, 12 Mar 2004: + Fix get_dentfromdir() to correctly handle deleted dentries + +* Patch by George G. Davis, 11 Mar 2004: + Remove hard coded network settings in TI OMAP1610 H2 + default board config + +* Patch by George G. Davis, 11 Mar 2004: + add support for ADS GraphicsClient+ board. + +* Patch by Pierre Aubert, 11 Mar 2004: + - add bitmap command and splash screen support in cfb console + - add [optional] origin in the bitmap display command + +* Patch by Travis Sawyer, 11 Mar 2004: + Fix ocotea board early init interrupt setup. + +* Patch by Thomas Viehweger, 11 Mar 2004: + Remove redundand code; add PCI-specific bits to include/mpc8260.h + +* Patch by Stephan Linz, 09 Mar 2004 + - Add support for the SSV ADNP/ESC1 (Nios Softcore) + +* Patch by George G. Davis, 9 Mar 2004: + fix recent build failure for SA1100 target + +* Patch by Travis Sawyer, 09 Mar 2004: + Support native interrupt mode for the IBM440GX. + Previously it was running in 440GP compatibility mode. + +* Patch by Philippe Robin, 09 Mar 2004: + Added ARM Integrator AP, CP and Versatile PB926EJ-S Reference + Platform support. + +* Patch by Masami Komiya, 08 Mar 2004: + Don't overwrite server IP address or boot file name + when the boot server does not return values + +* Patch by Tolunay Orkun, 5 Mar 2004: + Removed compile time restriction on CFG_I2C_SPEED for DS1338 RTC + +* Patch by Tolunay Orkun, 5 Mar 2004: + Fix early board initialization for Cogent CSB272 board + +* Patch by Ed Okerson, 3 Mar 2004: + fix CFI flash writes for little endian systems + +* Patch by Reinhard Meyer, 01 Mar 2004: + generalize USB and IDE support for MPC5200 with according + changes to IceCube.h and TOP5200.h + add Am29LV256 256 MBit FLASH support for TOP5200 boards + add info about USB and IDE to README + +* Patch by Yuli Barcohen, 4 Mar 2004: + Fix problems with GCC 3.3.x which changed handling of global + variables explicitly initialized to zero (now in .bss instead of + .data as before). + +* Patch by Leon Kukovec, 02 Mar 2004: + add strswab() to fix IDE LBA capacity, firmware and model numbers + on little endian machines + +* Patch by Masami Komiya, 02 Mar 2004: + - Remove get_ticks() from NFS code + - Add verification of RPC transaction ID + +* Patch by Pierre Aubert, 02 Mar 2004: + cleanup for IDE and USB drivers for MPC5200 + +* Patch by Travis Sawyer, 01 Mar 2004: + Ocotea: + - Add IBM PPC440GX Ref Platform support (Ocotea) + Original code by Paul Reynolds + Adapted to U-Boot and 440GX port + 440gx_enet.c: + - Add gracious handling of all Ethernet Pin Selections for 440GX + - Add RGMII selection for Cicada CIS8201 Gigabit PHY + ppc440.h: + - Add needed bit definitions + - Fix formatting + +* Patch by Carl Riechers, 1 Mar 2004: + Add PPC440GX prbdv0 divider to fix memory clock calculation. + +* Patch by Stephan Linz, 27 Feb 2004 + - avoid problems for targets without NFS download support + +* Patch by Rune Torgersen, 27 Feb 2004: + - Added LBA48 support (CONFIG_LBA48 & CFG_64BIT_LBA) + - Added support for 64bit printing in vsprintf (CFG_64BIT_VSPRINTF) + - Added support for 64bit strtoul (CFG_64BIT_STRTOUL) + +* Patch by Masami Komiya, 27 Feb 2004: + Fix rarpboot: add autoload by NFS + +* Patch by Dan Eisenhut, 26 Feb 2004: + fix flash_write return value in saveenv + +* Patch by Stephan Linz, 11 Dec 2003 + expand config.mk to avoid trigraph warnings on NIOS + +* Rename "BMS2003" board into "HMI10" + +* SX1 patches: use "serial#" for USB serial #; use redundand environment + storage; auto-set console on USB port (using preboot command) + +* Add support for SX1 mobile phone; add support for USB-based console + (enable with "setenv stdout usbtty; setenv stdin usbtty") + +* Fix LOWBOOT configuration for MPC5200 with DDR memory + +* Fix SDRAM timings for LITE5200 / IceCube board + +* Handle Auti-MDIX / connection status for INCA-IP + +* Fix USB problems when attempting to read 0 bytes + +* Patch by Travis Sawyer, 26 Feb 2004: + Fix broken compile for XPEDITE1K target. + +* Patch by Stephan Linz, 26 Feb 2004: + Bug fix for NFS code on NIOS targets + +* Patch by Stephen Williams, 26 Feb 2004: + Break up SystemACE reads of large block counts + +* Patch by Pierre Aubert, 26 Feb 2004 + add IDE support for MPC5200 + +* Patch by Masami Komiya, 26 Feb 2004: + add autoload via NFS + +* Patch by Stephen Williams + Use of CONFIG_SERIAL_SOFTWARE_FIFO in board.c consistent with uses + elsewhere in the source. + +* Patch by Steven Scholz, 25 Feb 2004: + - Timeouts in FPGA code should be based on CFG_HZ + - Minor cleanup in code for Altera FPGA ACEX1K + +* Patch by Steven Scholz, 25 Feb 2004: + Changed "Directory Hierarchy" section in README + +* Patch by Masami Komiya, 25 Feb 2004: + Reduce copy count in nfs_read_reply() of NFS code + +* Patch by Markus Pietrek, 24 Feb 2004: + NS9750 DevBoard added + +* Patch by Pierre Aubert, 24 Feb 2004 + add USB support for MPC5200 + +* Patch by Steven Scholz, 24 Feb 2004: + - fix MII commands to use values from last command + +* Patch by Torsten Demke, 24 Feb 2004: + Add support for the eXalion platform (SPSW-8240, F-30, F-300) + +* Patch by Rahul Shanbhag, 19 Feb 2004: + Fixes for for OMAP1610 board: + - shift some IRQ specific code to platform.S file + - remove duplicatewatchdog reset code from start.S + +* Make Auto-MDIX Support configurable on INCA-IP board + +* Fix license for mkimage tool + +* Patch by Masami Komiya, 24 Feb 2004: + Update NetBootFileXferSize in NFS code + +* Patch by Scott McNutt, 24 Feb 2004: + fix packet length in NFS code + +* Patch by Masami Komiy, 22 Feb 2004: + Add support for NFS for file download + +* Patch by Andrea Scian, 17 Feb 2004: + Add support for S3C44B0 processor and DAVE B2 board + +* Patch by Steven Scholz, 20 Feb 2004: + - Add support for MII commands on AT91RM9200 boards + - some cleanup in AT91RM9200 ethernet code + +* Patch by Peter Ryser, 20 Feb 2004: + Add support for the Xilinx ML300 platform + +* Patch by Stephan Linz, 17 Feb 2004: + Fix watchdog support for NIOS + +* Patch by Josh Fryman, 16 Feb 2004: + Fix byte-swapping for cfi_flash.c for different bus widths + +* Patch by Jon Diekema, 14 Jeb 2004: + Remove duplicate "FPGA Support" notes from the README file + +* Patches by Reinhard Meyer, 14 Feb 2004: + - update board/emk tree; use common flash driver + - Corrected tested bits in machine check exception in cpu/mpc5xxx/traps.c + [adapted for other PPC CPUs -- wd] + - Added support for the M48T08 on the EVAL5200 board in rtc/mk48t59.c + +* Patch by Jon Diekema, 13 Feb 2004: + Call show_boot_progress() whenever POST "FAILED" is printed. + +* Patch by Nishant Kamat, 13 Feb 2004: + Add support for TI OMAP1610 H2 Board + Fixes for cpu/arm926ejs/interrupt.c + (based on Richard Woodruff's patch for arm925, 16 Oct 03) + Fix for a timer bug in OMAP1610 Innovator + Add support for CS0 (ROM)/CS3 (Flash) boot in OMAP1610 Innovator and H2 + +* Patches by Stephan Linz, 12 Feb 2004: + - add support for NIOS timer with variable period preload counter value + - prepare POST framework support for NIOS targets + +* Patch by Denis Peter, 11 Feb 2004: + add POST support for the MIP405 board + +* Patch by Laurent Mohin, 10 Feb 2004: + Fix buffer overflow in common/usb.c + +* Patch by Tolunay Orkun, 10 Feb 2004: + Add support for Cogent CSB272 board + +* Patch by Thomas Elste, 10 Feb 2004: + Add support for NET+50 CPU and ModNET50 board + +* Patch by Sam Song, 10 Feb 2004: + Fix typos in cfi_flash.c + +* Patch by Leon Kukovec, 10 Feb 2004 + Fixed long dir entry slot id calculation in get_vfatname + +* Patch by Robin Gilks, 10 Feb 2004: + add "itest" command (operators: -eq, -ne, -lt, -gt, -le, -ge, ==, + !=, <>, <, >, <=, >=) + +* Fix problem with side effects in macros in include/usb.h + +* Patch by David Benson, 13 Nov 2003: + bug 841358 - fix TFTP download size limit + +* Fixing bug 850768: + improper flush_cache() in load_serial() + +* Fixing bug 834943: + MPC8540 - missing volatile declarations + +* Patch by Stephen Williams, 09 Feb 2004: + Add support for Xilinx SystemACE chip: + - New files common/cmd_ace.c and include/systemace.h + - Hook systemace support into cmd_fat and the partition manager + +* Patch by Travis Sawyer, 09 Feb 2004: + Add bi_opbfreq & bi_iic_fast to 440GX bd_info as needed for Linux + +* Patch by Travis Sawyer, 09 Feb 2004: + o 440GX: + - Fix PCI Indirect access for type 1 config cycles with ppc440. + - Add phymode for 440 enet + - fix pci pre init + o XPedite1K: + - Change board_pre_init to board_early_init_f + - Add user flash to bus controller setup + - Fix pci pre init + - Fix is_pci_host to check GPIO for monarch bit + - Force xpedite1k to pci conventional mode (via #define option) + +* Patch by Brad Kemp, 4 Feb 2004: + - handle the machine check that is generated during the PCI scans + on 82xx processors. + - define the registers used in the IMMR by the PCI subsystem. + +* Patch by Pierre Aubert, 03 Feb 2004: + cpu/mpc5xxx/start.S: copy MBAR into SPR311 + +* Patch by Jeff Angielski, 03 Feb 2004: + Fix copy & paste error in cpu/mpc8260/pci.c + +* Patch by Reinhard Meyer, 24 Jan 2004: + Fix typo in cpu/mpc5xxx/pci_mpc5200.c + +* Add Auto-MDIX support for INCA-IP + +* Some code cleanup + +* Patch by Josef Baumgartner, 10 Feb 2004: + Fixes for ColdFire port + +* Patch by Brad Kemp, 11 Feb 2004: + Fix CFI flash driver problems + +* Make sure to use a bus clock divider of 2 only when running TQM8xxM + modules at CPU clock frequencies above 66 MHz. + +* Optimize flash programming speed for LWMON (by another 100% :-) + +* Patch by Jian Zhang, 3 Feb 2004: + - Changed the incorrect FAT12BUFSIZE + - data_begin in fsdata can be negative. Changed it to be short. + +* Patches by Stephan Linz, 30 Jan 2004: + 1: - board/altera/common/flash.c:flash_erase(): + o allow interrupts befor get_timer() call + o check-up each erased sector and avoid unexpected timeouts + - board/altera/dk1c20/dk1s10.c:board_early_init_f(): + o enclose sevenseg_set() in cpp condition + - remove the ASMI configuration for DK1S10_standard_32 (never present) + - fix some typed in mistakes in the NIOS documentation + 2: - split DK1C20 configuration into several header files: + o two new files for each NIOS CPU description + o U-Boot related part is remaining in DK1C20.h + 3: - split DK1S10 configuration into several header files: + o two new files for each NIOS CPU description + o U-Boot related part is remaining in DK1S10.h + 4: - Add support for the Microtronix Linux Development Kit + NIOS CPU configuration at the Altera Nios Development Kit, + Stratix Edition (DK-1S10) + 5: - Add documentation for the Altera Nios Development Kit, + Stratix Edition (DK-1S10) + 6: - Add support for the Nios Serial Peripharel Interface (SPI) + (master only) + 7: - Add support for the common U-Boot SPI framework at + RTC driver DS1306 + +* Patch by Rahul Shanbhag, 28 Jan 2004: + Fix flash protection/locking handling for OMAP1610 innovator board. + +* Patch by Rolf Peukert, 28 Jan 2004: + fix flash write problems on CSB226 board (write with 32 bit bus width) + +* Patches by Mark Jonas, 16 Jan 2004: + - fix rounding error when calculating baudrates for MPC5200 PSCs + - make sure CFG_RAMBOOT and CFG_LOWBOOT are not enabled at the same + time which is not supported + +* Patch by Yuli Barcohen, 26 Jan 2004: + Allow bzip2 compression for small memory footprint boards + +* Patch by Brad Kemp, 21 Jan 2004: + Add support for CFI flash driver for both the Intel and the AMD + command sets. + +* Patch by Travis Sawyer, 20 Jan 2004: + Fix pci bridge auto enumeration of sibling p2p bridges. + +* Patch by Tolunay Orkun, 12 Jan 2004: + Add some delays as needed for Intel LXT971A PHY support + +* Patches by Stephan Linz, 09 Jan 2004: + - avoid warning: unused variable `piop' in board/altera/common/sevenseg.c + - make DK1C20 board configuration related to ASMI conform to + documentation + +* Patch by Anders Larsen, 09 Jan 2004: + + ARM memory layout fixes: the abort-stack is now set up in the + correct RAM area, and the BSS is zeroed out as it should be. + + Furthermore, the magic variables 'armboot_end' and 'armboot_end_data' + of the linker scripts are replaced by '__bss_start' and '_end', + resp., which is a further step to eliminate unnecessary differences + between the implementation of the CPU architectures. + +* Patch by liang a lei, 9 Jan 2004: + Fix Intel 28F128J3 ID in include/flash.h + +* Patch by Masami Komiya, 09 Jan 2004: + add support for TB0229 board (NEC VR4131 MIPS processor) + +* Patch by Leon Kukovec, 12 Dec 2003: + changed extern __inline__ into static __inline__ in + include/linux/byteorder/swab.h + +* Patch by Travis Sawyer, 30 Dec 2003: + Add support for IBM PPC440GX. Multiple EMAC Ethernet devices, + select MDI port based on enabled EMAC device. + Add support for XES Inc XPedite1000 440GX + base PrPMC board. + +* Patch by Wolter Kamphuis, 15 Dec 2003: + made CONFIG_SILENT_CONSOLE usable on all architectures + +* Disable date command on TQM866M - there is no RTC on MPC866 + +* Fix variable CPU clock for MPC859/866 systems for low CPU clocks + +* Implement adaptive SDRAM timing configuration based on actual CPU + clock frequency for INCA-IP; fix problem with board hanging when + switching from 150MHz to 100MHz + +* Add PCMCIA CS support for BMS2003 board + +* Add variable CPU clock for MPC859/866 systems (so far only TQM866M): + see doc/README.MPC866 for details; + implement workaround for "SIU4" and "SIU9" silicon bugs on MPC866; + calculate CPU clock frequency from PLL register values. + +* Add support for 128 MB RAM on TQM8xxL/M modules + +* Fix PS/2 keyboard problem caused by statically initialized variable + pointing to a location in flash + +* Fix INCA-IP clock calculation: 400/3 = 133.3 MHz, not 130. + +* The PS/2 mux on the BMS2003 board needs 450 ms after power on + before we can access it; add delay in case we are faster (with no + CF card inserted) + +* Cleanup of some init functions + +* Make sure SCC Ethernet is always stopped by the time we boot Linux + to avoid Linux crashes by early packets coming in. + +* Accelerate flash accesses on LWMON board by using buffered writes + +* Fix typo in Makefile; + fix problem with PARTNUM detection + +* Patch by Reinhard Meyer, 09 Jan 2004: + - add RTC support for MPC5200 based boards (requires RTC_XTAL) + +* Add support for IDE LED on BMS2003 board + (exclusive with status LED!) + +* Add support for PS/2 keyboard (used with PS/2 multiplexor on + BMS2003 board) + +* Patches by Reinhard Meyer, 4 Jan 2004 + 7 Jan 2004: + Add common files for "emk" boards + +* Add a common get_ram_size() function and modify the the + board-specific files to invoke that common implementation. + +====================================================================== +Changes for U-Boot 1.0.1: +====================================================================== + +* Set default clock for INCA-IP to 150 MHz + +* Make BMS2003 use a separate config file to avoid #ifdef mess; + add I2C support; add support for DS1337 RTC + +* Add CompactFlash support for BMS2003 board + +* Add support for status LED on BMS2003 board + +* Patch by Scott McNutt, 02 Jan 2004: + Add support for the Nios Active Serial Memory Interface (ASMI) + on Cyclone devices + +* Patch by Andrea Marson, 16 Dec 2003: + Add support for the PPChameleon ME and HI modules + +* Patch by Yuli Barcohen, 22 Dec 2003: + Add support for Motorola DUET ADS board (MPC87x/88x) + +* Patch by Robert Schwebel, 15 Dec 2003: + add support for cramfs (uses JFFS2 command interface) + +* Patches by Stephan Linz, 11 Dec 2003: + - more documentation for NIOS port + - new struct nios_pio_t, struct nios_spi_t + - Reconfiguration for NIOS Development Kit DK1C20: + o move board related code from board/dk1c20 + to board/altera/dk1c20 + o create a new common source path board/altera/common + and move generic flash access stuff into it + o change/expand configuration file DK1C20.h + - Add support for NIOS Development Kit DK1S10 + - Add status LED support for NIOS systems + - Add dual 7-segment LED support for Altera NIOS DevKits + +* Patch by Ronen Shitrit, 10 Dec 2003: + Add support for the Marvell DB64360 / DB64460 development boards + +* Patch by Detlev Zundel, 10 Dec 2003: + fix dependency problem in examples/Makefile + +* Patch by Denis Peter, 8 Dec 2003 + - add support for the PATI board (MPC555) + - add SPI support for the MPC5xx + +* Patch by Anders Larsen, 08 Dec 2003: + add configuration options CONFIG_SERIAL_TAG and CONFIG_REVISION_TAG + to pass ATAG_SERIAL and ATAG_REVISION, resp., to the ARM target; + cleanup some redundand #defines + +* Patch by André Schwarz, 8 Dec 2003: + fixes for Davicom DM9102A Ethernet Chip (#define CONFIG_TULIP_FIX_DAVICOM): + - TX and RX deskriptors must be quad-word aligned + - does not work with only one TX deskriptor + - standard reset method does not work + +* Patch by Masami Komiya, 08 Dec 2003: + add RTL8139 ethernet driver + +* Patches by Ed Okerson, 07 Dec 2003: + - fix ethernet for the AU1x00 processors in little-endian mode. + - extend memsetup.S for the AU1x00 processors in BE and LE modes + +* Minor code cleanup (coding style) + +* Patch by Reinhard Meyer, 30 Dec 2003: + - cpu/mpc5xxx/fec.c: added CONFIG_PHY_ADDR, added CONFIG_PHY_TYPE, + - added CONFIG_PHY_ADDR to include/configs/IceCube.h, + - turned debug print of PHY registers into a function (called in two places) + - added support for EMK MPC5200 based modules + +* Fix MPC8xx PLPRCR_MFD_SHIFT typo + +* Add support for TQM866M modules + +* Fixes for TQM855M with 4 MB flash (Am29DL163 = _no_ mirror bit flash) + +* Fix a few compiler warnings + +* Patch by Reinhard Meyer, 28 Dec 2003: + Add initial support for TOP5200 board + +* Make CPU clock on ICA-IP board controllable by a "cpuclk" + environment variable which can set to "100", "133", or "150". The + CPU clock will be configured accordingly upon next reboot. Other + values are ignored. In case of an invalid or undefined "cpuclk" + value, the compile-time default CPU clock speed will be used. + +* Enable Quad-UART on BMS2003 board (initialize the PCMCIA memory + window that is used to access the UART registers by the Linux driver) + +* Patch by Reinhard Meyer, 20 Dec 2003: + Fix clock calculation for the MPC5200 for higher clock frequencies + (above 2**32 / 10 = 429.5 MHz). + +* Fix CONFIG_PLL_PCI_TO_MEM_MULTIPLIER divider error in SP8240 configuration + +* Fix IceCube CLKIN configuration (it's 33.000000MHz) + +* Add new configuration for IceCube board with DDR memory + +* Update TRAB memory configurations + +* Add JFFS2 support for INCA-IP board + +* Patch by Bill Hargen, 09 Dec 2003: + - BUBINGA405EP: changed flash driver to protect top sector containing + first instruction. + - BUBINGA405EP: configured "eeprom" command to access boot config EEPROM. + - BUBINGA405EP: fixed PLL init (init chip selects before FPGA/NVRAM access). + - 405EP: fixed SPD-based SDRAM init (only use banks 0 and 1). + - 405EP: added/fixed support for "reginfo" command. + - 4xx: removed spurious MII error messages on "mii info" command. + +* Patch by Bernhard Kuhn, 28 Nov 2003: + add support for ColdFire CPU + add support for Motorola M5272C3 and M5282EVB boards + +* Patch by Pierre Aubert, 24 Nov 2003: + - add a return value for the fpga command + - add ide_preinit() function called in ide_init if CONFIG_IDE_PREINIT + is defined. If ide_preinit fails, ide_init is aborted. + - fix an endianess problem in fat.h + +* Patch by Wolter Kamphuis, 05 Dec 2003: + Add support for SNMC's QS850/QS823/QS860T boards + +* Patch by Yuli Barcohen, 3 Dec 2003: + "revive" U-Boot support for old Motorola MPC860ADS board + +* Patch by Cam(ilo?), 03 Dec 2003: + make examples build even with broken Montavista objcopy + +* Patch by Pavel Bartusek, 27 Nov 2003: + fix conversion problem with "bootretry" evironment variable + +* Patch by Andre Schwarz, 24 Nov 2003: + add support for mvblue (mvBlueLYNX and mvBlueBOX) boards + +* Patch by Pavel Bartusek, 21 Nov 2003: + set ZMII bridge speed on 440 + +* Patch by Anders Larsen, 17 Nov 2003: + Fix mismatched #ifdef / #endif in include/asm-arm/arch-pxa/hardware.h + +* Patches by David Müller, 14 Nov 2003: + - board/mpl/common/common_util.c + * implement support for BZIP2 compressed images + * various cleanups (printf -> puts, ...) + - board/mpl/common/flash.c + * report correct errors to upper layers + * check the erase fail and VPP low bits in status reg + - board/mpl/vcma9/cmd_vcma9.c + - board/mpl/vcma9/flash.c + * various cleanups (printf -> puts, ...) + - common/cmd_usb.c + * fix typo in comment + - cpu/arm920t/usb_ohci.c + * support for S3C2410 is missing in #if line + - drivers/cs8900.c + * reinit some registers in case of error (cable missing, ...) + - fs/fat/fat.c + * support for USB/MMC devices is missing in #if line + - include/configs/MIP405.h + - include/configs/PIP405.h + * enable BZIP2 support + * enlarge malloc space to 1MiB because of BZIP2 support + - include/configs/VCMA9.h + * enable BZIP2 support + * enlarge malloc space to 1MiB because of BZIP2 support + * enable USB support + - lib_arm/armlinux.c + * change calling convention of ARM Linux kernel as + described on http://www.arm.linux.org.uk/developer/booting.php + +* Patch by Thomas Lange, 14 Nov 2003: + Split dbau1x00 into dbau1000, dbau1100 and dbau1500 configs to + support all these AMD boards. + +* Patch by Thomas Lange, 14 Nov 2003: + Workaround for mips au1x00 physical memory accesses (the au1x00 + uses a 36 bit bus internally and cannot access physical memory + directly. Use the uncached SDRAM address instead of the physical + one.) + +* Patch by Xue Ligong (Joe), 13 Nov 2003: + add Realtek 8019 ethernet driver + +* Patch by Yuli Barcohen, 13 Nov 2003: + MPC826xADS/PQ2FADS cleanup + +* Patch by Anders Larsen, 12 Nov 2003: + Update README to mark the PORTIO commands non-standard + +* Patch by Nicolas Lacressonnière, 12 Nov 2003: + update for for Atmel AT91RM9200DK development kit: + - support for environment variables in DataFlash + - Atmel DataFlash AT45DB1282 support + +* Patch by Jeff Carr, 11 Nov 2003: + add support for new version of 8270 processors + +* Patches by George G. Davis, 05 Nov 2003: + - only pass the ARM linux initrd tag to the kernel when an initrd + is actually present + - update omap1510inn configuration file + +* Patches by Stephan Linz, 3 Nov 2003: + - more endianess fixes for LAN91C111 driver + - CFG_HZ configuration patch for NIOS Cyclone board + +* Patch by Stephan Linz, 28 Oct 2003: + fix PHY_INT_REG vs. PHY_MASK_REG bug in drivers/smc91111.c + +* Patch by Steven Scholz, 20 Oct 2003: + - make "mii info " show infor for PHY at "addr" only + - Endian fix for miiphy_info() + +* Patch by Gleb Natapov, 19 Sep 2003: + Move most of the timer interrupt related PPC code to ppc_lib/interrupts.c + +* Patch by Anders Larsen, 17 Sep 2003: + Bring ARM memory layout in sync with the documentation: + stack and malloc-heap are now located _below_ the U-Boot code + +* Accelerate booting on TRAB board: read and check autoupdate image + headers first instead of always reading the whole images. + +* Fix type in MPC5XXX code (pointed out by Victor Wren) + +* Enabled password check on RMU board + +* Fix configuration problem with IceCube in LOWBOOT configuration: + envrionment got embedded, corrupting the image layout. + +* Fix NEC display names (it's 6440 [for 640x480], not 6640). + +* Added BMS2003 board + add support for NEC NL6448BC33-54. 10.4", 640x480 TFT display + +* Fix flash driver for TRAB board (must use Unlock Bypass Reset + command to exit Unlock Bypass Mode); adjust timings for flash, SRAM + and CPLD + +* Use "-fPIC" instead of "-mrelocatable" to prevent problems with + recent tools + +* Add checksum verification to 'imls' command + +* Add bd_info fields needed for 4xx Linux I2C driver + +* Patch by Martin Krause, 4 Nov. 2003: + Fix error in cmd_vfd.c (TRAB board: "vfd /1" shows now only one Bitmap) + +* Print used network interface when CONFIG_NET_MULTI is set + +* Patch by Bernhard Kuhn, 28 Oct 2003: + Add low boot support for MPC5200 + +* Fix problem with dual PCMCIA support (NSCU) + +* Fix MPC5200 I2C initialization function + +====================================================================== +Changes for U-Boot 1.0.0: +====================================================================== + +* Fix parameter passing to standalone images with bootm command + +* Patch by Kyle Harris, 30 Oct 2003: + Fix build errors for ixdp425 board + +* Patch by David M. Horn, 29 Oct 2003: + Fixes to build under CYGWIN + +* Get IceCube MGT5100 working (again) + +* Fix problems in memory test on some boards (which was not + non-destructive as intended) + +* Patch by Gary Jennejohn, 28 Oct 2003: + Change fs/fat/fat.c to put I/O buffers in BSS instead on the stack + to prevent stack overflow on ARM systems + +* Patch by Stephan Linz, 28 Oct 2003: + fix init sequence error for NIOS port + +* Allow lowercase spelling for IceCube_5200; support MPC5200LITE name + +* Add CONFIG_VERSION_VARIABLE to TRAB configuration + +* Patch by Xiao Xianghua, 23 Oct 2003: + small patch for mpc85xx + +* Fix small problem in MPC5200 I2C driver + +* Fix FCC3 support on ATC board + +* Correct header printing for multi-image files in do_bootm() + +* Make CONFIG_SILENT_CONSOLE work with CONFIG_AUTOBOOT_KEYED + +* Fix PCI problems on PPChameleon board + +* Patch by Steven Scholz, 18 Oct 2003: + Fix AT91RM9200 ethernet driver + +* Patch by Nye Liu, 17 Oct 2003: + Fix typo in include/mpc8xx.h + +* Patch by Richard Woodruff, 16 Oct 03: + Fixes for cpu/arm925/interrupt.c + - Initialize timestamp & lastdec vars. + - fix timestamp overflows. + - fix lastdec overflow. + - smarter normalization to allow udelay() below 1ms to work. + +* Patch by Scott McNutt, 16 Oct + add networking support for the Altera Nios Development Kit, + Cyclone Edition (DK-1C20) + +* Patch by Jon Diekema, 14 Oct 2003: + add hint about doc/README.silent to README file + +* Add CompactFlash support for NSCU + +* Fix PCI problems on PPChameleonEVB + +* TRAB auto-update: Base decision if we have to strip the image + header on image type as encoded in the header + (include image type patch by Martin Krause, 17 Oct 2003) + +* Patches by Xianghua Xiao, 15 Oct 2003: + + - Added Motorola CPU 8540/8560 support (cpu/85xx) + - Added Motorola MPC8540ADS board support (board/mpc8540ads) + - Added Motorola MPC8560ADS board support (board/mpc8560ads) + +* Fix flash timings on TRAB board + +* Make sure HUSH is initialized for running auto-update scripts + +* Make 5200 reset command _really_ reset the board, without running + any other code after it + +* Fix errors with flash erase when range spans across banks + that are mapped in reverse order + +* Fix flash mapping and display on P3G4 board + +* Patch by Kyle Harris, 15 Jul 2003: + - add support for Intel IXP425 CPU + - add support for IXDP425 eval board + +* Added config option CONFIG_SILENT_CONSOLE. See doc/README.silent + for more information + +* Patch by Steven Scholz, 10 Oct 2003 + - Add support for Altera FPGA ACEX1K + +* Patches by Thomas Lange, 09 Oct 2003: + - fix cmd_ide.c for non ppc boards (read/write functions did not + add ATA base address) + - fix for shannon board + - #ifdef CONFIG_IDE_8xx_DIRECT some otherwise unused code + - Endian swap ATA identity for all big endian CPUs, not just PPC + - MIPS only: New option CONFIG_MEMSIZE_IN_BYTES for passing memsize + args to linux + - add support for dbau1x00 board (MIPS32) + +* Patch by Sangmoon Kim, 07 Oct 2003: + add support for debris board + +* Patch by Martin Krause, 09 Oct 2003: + Fixes for TRAB board + - /board/trab/rs485.c: correct baudrate + - /board/trab/cmd_trab.c: bug fix for problem with timer overflow in + udelay(); fix some timing problems with adc controller + - /board/trab/trab_fkt.c: add new commands: gain, eeprom and power; + modify commands: touch and buzzer + +* Disable CONFIG_SUPPORT_VFAT when used with CONFIG_AUTO_UPDATE + (quick & dirty workaround for rogue pointer problem in get_vfatname()); + Use direct function calls for auto_update instead of hush commands + +* Patch by Scott McNutt, 04 Oct 2003: + - add support for Altera Nios-32 CPU + - add support for Nios Cyclone Development Kit (DK-1C20) + +* Patch by Steven Scholz, 29 Sep 2003: + - A second parameter for bootm overwrites the load address for + "Standalone Application" images. + - bootm sets environment variable "filesize" to the resulting + (uncompressed) data length for "Standalone Application" images + when autostart is set to "no". Now you can do something like + if bootm $fpgadata $some_free_ram ; then + fpga load 0 $some_free_ram $filesize + fi + +* Patch by Denis Peter, 25 Sept 2003: + add support for the MIP405 Rev. C board + +* Patch by Yuli Barcohen, 25 Sep 2003: + add support for Zephyr Engineering ZPC.1900 board + +* Patch by Anders Larsen, 23 Sep 2003: + add CMD_PORTIO to CFG_CMD_NONSTD (commands in question are only + implemented for the x86 architecture) + +* Patch by Sangmoon Kim, 23 Sep 2003: + fix pll_pci_to_mem_multiplier table for MPC8245 + +* Patch by Anders Larsen, 22 Sep 2003: + enable timed autoboot on PXA + +* Patch by David Müller, 22 Sep 2003: + - add $(CFLAGS) to "-print-libgcc-filename" so compiler driver + returns correct libgcc file path + - "latency" reduction of busy-loop waiting to improve "U-Boot" boot + time on s3c24x0 systems + +* Patch by Jon Diekema, 19 Sep 2003: + - Add CFG_FAULT_ECHO_LINK_DOWN option to echo the inverted Ethernet + link state to the fault LED. + - In NetLoop, make the Fault LED reflect the link status. The link + status gets updated on entry, and on timeouts. + +* Patch by Anders Larsen, 18 Sep 2003: + allow mkimage to build and run on Cygwin-hosted systems + +* Patch by Frank Müller, 18 Sep 2003: + use bi_intfreq instead of bi_busfreq to compute fec_mii_speed in + cpu/mpc8xx/fec.c + +* Patch by Pantelis Antoniou, 16 Sep 2003: + add tool to compute fileds in the PLPRCR register for MPC86x + +* Use IH_TYPE_FILESYSTEM for TRAB "disk" images. + +* Fix build problems under FreeBSD + +* Add generic filesystem image type + +* Make fatload set filesize environment variable + +* enable basic / medium / high-end configurations for PPChameleonEVB + board; fix NAND code + +* enable TFTP client code to specify to the server the desired + timeout value (see RFC-2349) + +* Improve SDRAM setup for TRAB board + +* Suppress all output with splashscreen configured only if "splashimage" + is set + +* Fix problems with I2C support for mpc5200 + +* Adapt TRAB configuration and auto_update to new memory layout + +* Add configuration for wtk board + +* Add support for the Sharp LQ065T9DR51U LCD display + +* Patch by Rune Torgersen, 17 Sep 2003: + - Fixes for MPC8266 default config + - Allow eth_loopback_test() on 8260 to use a subset of the FCC's + +* Patches by Jon Diekema, 17 Sep 2003: + - update README (SHOW_BOOT_PROGRESS values for cmd_nand.c and + env_common.c) + - sbc8260 tweaks + - adjust "help" output + +* Patches by Anders Larsen, 17 Sep 2003: + - fix spelling errors + - set GD_FLG_DEVINIT flag only after device function pointers + are valid + - Allow CFG_ALT_MEMTEST on systems where address zero isn't + writeable + - enable 3.rd UART (ST-UART) on PXA(XScale) CPUs + - trigger watchdog while waiting in serial driver + +* Add auto-update code for TRAB board using USB memory sticks, + support new configuration with more memory + +* disable MPC5200 bus pipelining as workaround for bus contention + +* Modify XLB arbiter priorities on MPC5200 so all devices use same + priority; configure critical interrupts to be handled like external + interrupts + +* Make IPB clock on MGT5100/MPC5200 configurable in board config file; + go back to 66 MHz for stability + +* Patches by Jon Diekema, 15 Sep 2003: + - add description for missing CFG_CMD_* entries in the README file + - sacsng tweaks + +* Patch by Gleb Natapov, 14 Sep 2003: + enable watchdog support for all MPC824x boards that have a watchdog + +* On MPC5200, restrict FEC to a maximum of 10 Mbps to work around the + "Non-octet Aligned Frame" errors we see at 100 Mbps + +* Patch by Sharad Gupta, 14 Sep 2003: + fix SPR numbers for upper BAT register ([ID]BAT[4-7][UL]) + +* Patch by llandre, 11 Sep 2003: + update configuration for PPChameleonEVB board + +* Patch by David Müller, 13 Sep 2003: + various changes to VCMA9 board specific files + +* Add I2C support for MGT5100 / MPC5200 + +* Patch by Rune Torgersen, 11 Sep 2003: + Changed default memory option on MPC8266ADS to NOT be Page Based + Interleave, since this doesn't work very well with the standard + 16MB DIMM + +* Patch by George G. Davis, 12 Sep 2003: + fix Makefile settings for sk98 driver + +* Patch by Stefan Roese, 12 Sep 2003: + - new boards added: DP405, HUB405, PLU405, VOH405 + - some esd boards updated + - cpu/ppc4xx/sdram.c: disable memory controller before setting + first values + - cpu/ppc4xx/405_pci.c: set vendor id on PPC405EP systems + +* Patch by Martin Krause, 11 Sep 2003: + add burn-in tests for TRAB board + +* Enable instruction cache on MPC5200 board + +* Patch by Denis Peter, 11 Sep 2003: + - fix USB data pointer assignment for bulk only transfer. + - prevent to display erased directories in FAT filesystem. + +* Change output format for NAND flash - make it look like for other + memory, too + +====================================================================== +Changes for U-Boot 0.4.8: +====================================================================== + +* Add I2C and RTC support for RMU board + +* Patches by Denis Peter, 9 Sep 2003: + add FAT support for IDE, SCSI and USB + +* Patches by Gleb Natapov, 2 Sep 2003: + - cleanup of POST code for unsupported architectures + - MPC824x locks way0 of data cache for use as initial RAM; + this patch unlocks it after relocation to RAM and invalidates + the locked entries. + +* Patch by Gleb Natapov, 30 Aug 2003: + new I2C driver for mpc107 bridge. Now works from flash. + +* Patch by Dave Ellis, 11 Aug 2003: + - JFFS2: fix typo in common/cmd_jffs2.c + - JFFS2: fix CFG_JFFS2_SORT_FRAGMENTS option + - JFFS2: remove node version 0 warning + - JFFS2: accept JFFS2 PADDING nodes + - SXNI855T: add AM29LV800 support + - SXNI855T: move environment from EEPROM to flash + - SXNI855T: boot from JFFS2 in NOR or NAND flash + +* Patch by Bill Hargen, 11 Aug 2003: + fixes for I2C on MPC8240 + - fix i2c_write routine + - fix iprobe command + - eliminates use of global variables, plus dead code, cleanup. + +* Add support for USB Mass Storage Devices (BBB) + (tested with USB memory sticks only) + +* Avoid flicker on TRAB's VFD + +* Add support for SK98xx driver + +* Add PCI support for SL8245 board + +* Support IceCube board configurations with 1 x AMD AM29LV065 (8 MB) + or 1 x AM29LV652 (two LV065 in one chip = 16 MB); + Run IPB at 133 Mhz; adjust the MII clock frequency accordingly + +* Set BRG_CLK on PM825/826 to 64MHz (VCO_OUT / 4, instead of 16 MHz) + to allow for more accurate baudrate settings + (error now 0.7% at 115 kbps, instead of 3.5% before) + +* Patch by Andreas Mohr, 4 Sep 2003: + Fix a lot of spelling errors + +* Add support for PPChameleon Eval Board + +* Add support for P3G4 board + +* Fix problem with MGT5100 FEC driver: add "early" MAC address + initialization + +* Patch by Yuli Barcohen, 7 Aug 2003: + check BCSR to detect if the board is configured in PCI mode + +====================================================================== +Changes for U-Boot 0.4.7: +====================================================================== + +* Patch by Raghu Krishnaprasad, 7 Aug 2003: + add support for Adder II MPC852T module + +* Patch by George G. Davis, 19 Aug 2003: + fix TI Innovator/OMAP1510 pin configs + +* Patches by Kshitij, 18 Aug 2003 + - add support for arm926ejs cpu core + - add support for TI OMAP 1610 Innovator Board + +* Patch by Yuli Barcohen, 14 Aug 2003: + add support for bzip2 uncompression + +* Add GCC library to examples/Makefile so GCC utility functions will + be resolved, too + +* Add I2C and RTC support for RMU board using software I2C driver + (because of better response to iprobe command); fix problem with + "reset" command + +* Patch by Matthias Fuchs, 28 Aug 2003: + Added CONFIG_BOOTP_DNS2 and CONFIG_BOOTP_SEND_HOSTNAME to + CONFIG_BOOTP_MAKS (see README). + +* Fix ICU862 environment problem + +* Fix RAM size detection for RMU board + +* Implement "reset" for MGT5100/MPC5200 systems + +====================================================================== +Changes for U-Boot 0.4.6: +====================================================================== + +* Make Ethernet autonegotiation on INCA-IP work for all clock rates; + allow selection of clock frequency as "make" target + +* Implement memory autosizing code for IceCube boards + +* Configure network port on INCA-IP for autonegotiation + +* Fix overflow problem in network timeout code + +* Patch by Richard Woodruff, 8 Aug 2003: + Allow crc32 to be used at address 0x000 (crc32_no_comp, too). + +====================================================================== +Changes for U-Boot 0.4.5: +====================================================================== + +* Update for TQM board defaults: + disable clocks_in_mhz, enable boot count limit + +* Removed tools/gdb from "make all" target. Added make target "gdbtools" + in toplevel directory instead. Removed astest.c from tools/gdb because + it is no longer relevant. + +* Fix PCI support for MPC5200 / IceCube Board + +* Map ISP1362 USB OTG controller for NSCU board + +* Patch by Brad Parker, 02 Aug 2003: + fix sc520_cdp problems + +* Implement Boot Cycle Detection (Req. 2.3 of OSDL CGL Reqirements) + +* Allow erase command to cross flash bank boundaries + +* Patch by Scott McNutt, 21 Jul 2003: + Add support for LynuxWorks Kernel Downloadable Images (KDIs). + Both LynxOS and BlueCat linux KDIs are supported. + +* Patch by Richard Woodruff, 25 Jul 2003: + use more reliable reset for OMAP/925T + +* Patch by Nye Liu, 25 Jul 2003: + fix typo in mpc8xx.h + +* Patch by Richard Woodruff, 24 Jul 2003: + Fixes for cmd_nand.c: + - Fixed null dereferece which could result in incorrect ECC values. + - Added support for devices with no Ready/Busy signal hooked up. + - Added OMAP1510 read/write protect handling. + - Fixed nand.h's ECCPOS. A conflict existed with POS5 and badblock + for non-JFFS2. + - Switched default ECC to be JFFS2. + +* Allow crc32 to be used at address 0x000 + +* Provide consistent interface to standalone applications to access + the 'global_data' structure + Provide a doc/README.standalone more useful to users/developers. + +* Make IceCube MGT5100 FEC driver work + +* Implement new mechanism to export U-Boot's functions to standalone + applications: instead of using (PPC-specific) system calls we now + use a jump table; please see doc/README.standalone for details + +* Patch by Dave Westwood, 24 Jul 2003: + added support for Unity OS (a proprietary OS) + +* Patch by Detlev Zundel, 23 Jul 2003: + add "imls" command to print flash table of contents + +* Fix cold boot detection for log buffer reset + +* Return error for invalid length specifiers with "cp.X" etc. + +* Fix startup problem on MIPS + +* Allow for CONFIG_SPLASH_SCREEN even when no explicit + bitmap support is configured + +* Patch by Bill Hargen, 18 Jul 2003: + - fix endinaness problem in cpu/mpc824x/drivers/i2c/i2c1.c + +* Patch by Denis Peter, 18 Jul 2003: + - fix memory configuration for MIP405T + - fix printout of baudrate for "loadb " + +* Cleanup of TQM82xx configurations; use "official" board types + to make selection easier. + +* Patch by Martin Krause, 17 Jul 2003: + add delay to get I2C working with "imm" command and s3c24x0_i2c.c + +* Patch by Richard Woodruff, 17 July 03: + - Fixed bug in OMAP1510 baud rate divisor settings. + +* Patch by Nye Liu, 16 July 2003: + MPC860FADS fixes: + - add MPC86xADS support (uses MPC86xADS.h) + - add 866P/T core support (also MPC859T/MPC859DSL/MPC852T) + o PLPRCR changes + o BRG changes (EXTAL/XTAL restricted to 10MHz) + o don't trust gclk() software measurement by default, depend on + CONFIG_8xx_GCLK_FREQ + - add DRAM SIMM not installed detection + - use more "correct" SDRAM initialization sequence + - allow different SDRAM sizes (8xxADS has 8M) + - default DER is 0 + - remove unused MAMR defines from FADS860T.h (all done in fads.c) + - rename MAMR/MBMR defines to be more consistent. Should eventually + be merged into MxMR to better reflect the PowerQUICC datasheet. + +* Patch by Yuli Barcohen, 16 Jul 2003: + support new Motorola PQ2FADS-ZU evaluation board which replaced + MPC8260ADS and MPC8266ADS + +====================================================================== +Changes for U-Boot 0.4.4: +====================================================================== + +* Add support for IceCube board (with MGT5100 and MPC5200 CPUs) + +* Add support for MGT5100 and MPC5200 processors + +* Patch by Lutz Dennig, 15 Jul 2003: + update for R360MPI board + +====================================================================== +Changes for U-Boot 0.4.3: +====================================================================== + +* Patches by Kshitij, 04 Jul 2003 + - added support for arm925t cpu core + - added support for TI OMAP 1510 Innovator Board + +* Patches by Martin Krause, 14 Jul 2003: + - add I2C support for s3c2400 systems (trab board) + - (re-) add "ping" to command table + +* Fix handling of "slow" POST routines + +* Patches by Yuli Barcohen, 13 Jul 2003: + - Correct flash and JFFS2 support for MPC8260ADS + - fix PVR values and clock generation for PowerQUICC II family + (8270/8275/8280) + +* Patch by Bernhard Kuhn, 08 Jul 2003: + - add support for M68K targets + +* Patch by Ken Chou, 3 Jul: + - Fix PCI config table for A3000 + - Fix iobase for natsemi.c + (PCI_BASE_ADDRESS_0 is the IO base register for DP83815) + +* Allow to enable "slow" POST routines by key press on power-on +* Fix temperature dependend switching of LCD backlight on LWMON +* Tweak output format for LWMON + +* Patch by Stefan Roese, 11 Jul 2003: + - Fix bug in CONFIG_VERSION_VARIABLE. + - AR405 config updated. + - OCRTC/ORSG: bsp command added. + - ASH405 bsp update. + +====================================================================== +Changes for U-Boot 0.4.2: +====================================================================== + +* Add support for NSCU board + +* Add support for TQM823M, TQM850M, TQM855M and TQM860M modules + +* Add support for Am29LV160ML, Am29LV320ML, and Am29LV640ML + mirror bit flash on TQM8xxM modules + +* Patch by Kenneth Johansson, 30 Jun 2003: + get rid of MK_CMD_ENTRY macro; update doc/README.command + +* Patch by Seb James, 30 Jun 2003: + Improve documentation of I2C configuration in README + +* Fix problems with previous log buffer "fixes" + +* Fix minor help text issues + +* "log append" did not append a newline + +====================================================================== +Changes for U-Boot 0.4.1: +====================================================================== + +* Fix some missing commands, cleanup header files + (autoscript, bmp, bsp, fat, mmc, nand, portio, ...) + +* Rewrite command lookup and help command (fix problems with bubble + sort when sorting command name list). Minor cleanup here and there. + +* Merge from "stable branch", tag LABEL_2003_06_28_1800-stable: + - Allow to call sysmon function interactively + - PIC on LWMON board needs delay after power-on + - Add missing RSR definitions for MPC8xx + - Improve log buffer handling: guarantee clean reset after power-on + - Add support for EXBITGEN board (aka "genie") + - Add support for SL8245 board + +* Code cleanup: + - remove trailing white space, trailing empty lines, C++ comments, etc. + - split cmd_boot.c (separate cmd_bdinfo.c and cmd_load.c) + +* Patches by Kenneth Johansson, 25 Jun 2003: + - major rework of command structure + (work done mostly by Michal Cendrowski and Joakim Kristiansen) + +====================================================================== +Changes for U-Boot 0.4.0: +====================================================================== + +* Patches by Robert Schwebel, 26 Jun 2003: + - csb226 configuration updated + - credits for logodl port updated + - innokom configuration updated + - logodl tree update, still with coding style inconsistencies + - added OCM for ppc405 warning to README + +* Patch by Pantelis Antoniou, 25 Jun 2003: + update NetVia with V2 board support + +* Header file cleanup for ARM + +* Patch by Murray Jensen, 24 Jun 2003: + - make sure to use only U-boot provided header files + - fix problems with ".rodata.str1.4" section as used by GCC-3.x + +* Patch by Stefan Roese, 24 Jun 2003: + - Update esd ASH405 board files. + - Update esd DASA_SIM config file. + - Add ping command to some esd boards. + +* Patch by Yuli Barcohen, 23 Jun 2003: + Update for MPC8260ADS board + +* Patch by Murray Jensen, 23 Jun 2003: + - cleanup of GCC 3.x compiler warnings + +* Patch by Rune Torgersen, 4 Jun 2003: + add large memory support for MPC8266ADS board + +* Patch by Richard Woodruff, 19 June 03: + - Enabled standard u-boot device abstraction for ARM + - Enabled console device for ARM + - Initilized bi_baudrate for ARM + +* Patch by Bill Hargen, 23 Apr 2003: + fix byte order for 824x I2C addresses (write op) + +* Patch by Murray Jensen, 20 Jun 2003: + - hymod update + - cleanup (especially for gcc-3.x compilers) + +* Patch by Tom Guilliams, 20 Jun 2003: + added CONFIG_750FX support for IBM 750FX processors + +* Patch by Devin Crumb, 02 Apr 2003: + Fix clock divider rounding problem in drivers/serial.c + +* Patch by Richard Woodruff, 19 June 03: + - Fixed smc91c111 driver to sync with the u-boot environment + (driver/smc91c111.c). + - Added eth_init error return check in NetLoop (net/net.c). + +* Patch by Ken Chou, 19 June 2003: + Added support for A3000 SBC board (Artis Microsystems Inc.) + +* Patches by Murray Jensen, 17 Jun 2003: + - Hymod board database mods: add "who" field and new xilinx chip types + - provide new "init_cmd_timeout()" function so code external to + "common/main.c" can use the "reset_cmd_timeout()" function before + entering the main loop + - add DTT support for adm1021 (new file dtt/adm1021.c; config + slightly different. see include/configs/hymod.h for an example + (requires CONFIG_DTT_ADM1021, CONFIG_DTT_SENSORS, and + CFG_DTT_ADM1021 defined) + - add new "eeprom_probe()" function which has similar args and + behaves in a similar way to "eeprom_read()" etc. + - add 8260 FCC ethernet loopback code (new "eth_loopback_test()" + function which is enabled by defining CONFIG_ETHER_LOOPBACK_TEST) + - gdbtools copyright update + - ensure that set_msr() executes the "sync" and "isync" instructions + after the "mtmsr" instruction in cpu/mpc8260/interrupts.c + - 8260 I/O ports fix: Open Drain should be set last when configuring + - add SIU IRQ defines for 8260 + - allow LDSCRIPT override and OBJCFLAGS initialization: change to + config.mk to allow board configurations to override the GNU + linker script, selected via the LDSCRIPT, make variable, and to + give an initial value to the OBJCFLAGS make variable + - 8260 i2c enhancement: + o correctly extends the timeout depending on the size of all + queued messages for both transmit and receive + o will not continue with receive if transmit times out + o ensures that the error callback is done for all queued tx + and rx messages + o correctly detects both tx and rx timeouts, only delivers one to + the callback, and does not overwrite an earlier error + o logic in i2c_probe now correct + - add "vprintf()" function so that "panic()" function can be + technically correct + - many Hymod board changes + +* Patches by Robert Schwebel, 14 Jun 2003: + - add support for Logotronic DL datalogger board + - cleanup serial line after kermit binary download + - add debugX macro (debug level support) + - update mach-types.h to latest arm.linux.org.uk master list. + +* Patches by David Müller, 12 Jun 2003: + - rewrite of the S3C24X0 register definitions stuff + - "driver" for the built-in S3C24X0 RTC + +* Patches by Yuli Barcohen, 12 Jun 2003: + - Add MII support and Ethernet PHY initialization for MPC8260ADS board + - Fix incorrect SIUMCR initialisation caused by wrong Hard Reset + configuration word supplied by FPGA on some MPC8260ADS boards + +* Patch by Pantelis Antoniou, 10 Jun 2003: + Unify status LED interface + +* Add support for DS12887 RTC; add RTC support for ATC board + +* Patch by Nicolas Lacressonniere, 11 Jun 2003: + Modifications for Atmel AT91RM9200DK ARM920T based development kit + - Add Atmel DataFlash support for reading and writing. + - Add possibility to boot a Linux from DataFlash with BOOTM command. + - Add Flash detection on Atmel AT91RM9200DK + (between Atmel AT49BV1614 and AT49BV1614A flashes) + - Replace old Ethernet PHY layer functions + - Change link address + +* Patch by Frank Smith, 9 Jun 2003: + use CRIT_EXCEPTION for machine check on 4xx + +* Patch by Detlev Zundel, 13 Jun 2003: + added implementation of the "carinfo" command in cmd_immap.c + +* Fix CONFIG_NET_MULTI support in include/net.h + +* Patches by Kyle Harris, 13 Mar 2003: + - Add FAT partition support + - Add command support for FAT + - Add command support for MMC + ---- + - Add Intel PXA support for video + - Add Intel PXA support for MMC + ---- + - Enable MMC and FAT for lubbock board + - Other misc changes for lubbock board + +* Patch by Robert Schwebel, April 02, 2003: + fix for SMSC91111 driver + +* Patch by Vladimir Gurevich, 04 Jun 2003: + make ppc405 ethernet driver compatible with CONFIG_NET_MULTI option + +* Patch by Stefan Roese, 05 Jun 2003: + - PPC4xx: Fix bug for initial stack in data cache as pointed out by + Thomas Schaefer (tschaefer@giga-stream.de). Now inital stack in + data cache can be used even if the chip select is in use. + - CFG_RX_ETH_BUFFER added to set the ethernet receive buffer count + (see README for further description). + - Changed config files of CONFIG_EEPRO100 boards to use the + CFG_RX_ETH_BUFFER define. + +* Add support for RMU board + +* Add support for TQM862L at 100/50 MHz + +* Patch by Pantelis Antoniou, 02 Jun 2003: + major reconstruction of networking code; + add "ping" support (outgoing only!) + +* Patch by Denis Peter, 04 June 2003: + add support for the MIP405T board + +* Patches by Udi Finkelstein, 2 June 2003: + - Added support for custom keyboards, initialized by defining a + board-specific drv_keyboard_init as well as defining CONFIG_KEYBOARD . + - Added support for the RBC823 board. + - cpu/mpc8xx/lcd.c now automatically calculates the + Horizontal Pixel Count field. + +* Fix alignment problem in BOOTP (dhcp_leasetime option) + [pointed out by Nicolas Lacressonnière, 2 Jun 2003] + +* Patch by Mark Rakes, 14 May 2003: + add support for Intel e1000 gig cards. + +* Patch by Nye Liu, 3 Jun 2003: + fix critical typo in MAMR definition (include/mpc8xx.h) + +* Fix requirement to align U-Boot image on 16 kB boundaries on PPC. + +* Patch by Klaus Heydeck, 2 Jun 2003 + Minor changes for KUP4K configuration + +* Patch by Marc Singer, 29 May 2003: + Fixed rarp boot method for IA32 and other little-endian CPUs. + +* Patch by Marc Singer, 28 May 2003: + Added port I/O commands. + +* Patch by Matthew McClintock, 28 May 2003 + - cpu/mpc824x/start.S: fix relocation code when booting from RAM + - minor patches for utx8245 + +* Patch by Daniel Engström, 28 May 2003: + x86 update + +* Patch by Dave Ellis, 9 May 2003 + 27 May 2003: + add nand flash support to SXNI855T configuration + fix/extend nand flash support: + - fix 'nand erase' command so does not erase bad blocks + - fix 'nand write' command so does not write to bad blocks + - fix nand_probe() so handles no flash detected properly + - add doc/README.nand + - add .jffs2 and .oob options to nand read/write + - add 'nand bad' command to list bad blocks + - add 'clean' option to 'nand erase' to write JFFS2 clean markers + - make NAND read/write faster + +* Patch by Rune Torgersen, 23 May 2003: + Update for MPC8266ADS board + +* Get (mostly) rid of CFG_MONITOR_LEN definition; compute real length + instead CFG_MONITOR_LEN is now only used to determine _at_compile_ + _time_ (!) if the environment is embedded within the U-Boot image, + or in a separate flash sector. + +* Cleanup CFG_DER #defines in config files (wd maintained only) + +* Fix data abort exception handling for arm920t CPU + +* Fix alignment problems with flash driver for TRAB board + +* Patch by Donald White, 21 May 2003: + fix calculation of base address in pci_hose_config_device() + +* Fix bug in command line parsing: "cmd1;cmd2" is supposed to always + execute "cmd2", even if "cmd1" fails. Note that this is different + to "run var1 var2" where the contents of "var2" will NOT be + executed when a command in "var1" fails. + +* Add zero-copy ramdisk support (requires corresponding kernel support!) + +* Patch by Kyle Harris, 20 May 2003: + In preparation for an ixp port, rename cpu/xscale and arch-xscale + into cpu/pxa and arch-pxa. + +* Patch by Stefan Roese, 23 May 2003: + - IBM PPC405EP port added. + - CONFIG_UART1_CONSOLE added. If defined internal UART1 (and not + UART0) is used as default U-Boot console. PPC4xx only! + - esd ASH405 board added (PPC405EP based). + - BUBINGA405EP board added (PPC405EP based - IBM Eval Board). + - esd CPCI405AB board added. + - esd PMC405 board added. + - Update of some esd boards. + +* Patch by Denis Peter, 19 Mai 2003: + add support for the MIP405-3 board + +* Patch by Dave Ellis, 22 May 2003: + Fix problem with only partially cleared .bss segment + +* Patch by Rune Torgersen, 12 May 2003: + get PCI to work on a MPC8266ADS board; incorporate change to + cpu/mpc8260/pci.c to enable overrides of PCI memory parameters + +* Patch by Nye Liu, 1 May 2003: + minor patches for the FADS8xx + +* Patch by Thomas Schäfer, 28 Apr 2003: + Fix SPD handling for 256 ECC DIMM on Walnut + +* Add support for arbitrary bitmaps for TRAB's VFD command; + allow to pass boot bitmap addresses in environment variables; + allow for zero boot delay + +* Patch by Christian Geißinger, 19 May 2002: + On TRAB: wait until the dummy byte has been completely sent + +* Patch by David Updegraff, 22 Apr 2003: + update for CrayL1 board + +* Patch by Pantelis Antoniou, 21 Apr 2003: + add boot support for ARTOS (a proprietary OS) + +* Patch by Steven Scholz, 11 Apr 2003: + Add support for RTC DS1338 + +* Patch by Rod Boyce, 24 Jan 2003: + Fix counting of extended partitions in diskboot command + +* Patch by Christophe Lindheimer, 20 May 2003: + allow the use of CFG_LOADS when CFG_NO_FLASH is set + +* Fix SDRAM timing on Purple board + +* Add support for CompactFlash on ATC board + (includes support for Intel 82365 and compatible PC Card controllers, + and Yenta-compatible PCI-to-CardBus controllers) + +* Patch by Mathijs Haarman, 08 May 2003: + Add lan91c96 driver (tested on Lubbock and custom PXA250 board only) + +* Fix problem with usage of "true" (undefined in current versions of bfd.h) + +* Add support for Promess ATC board + +* Patch by Keith Outwater, 28 Apr 2003: + - Miscellaneous corrections and additions to GEN860T board specific code. + - Added GEN860_SC variant to GEN860T. + - Miscellaneous corrections to GEN860T documentation. + - Correct duplicate entry in U-Boot CREDITS file. + - Add GEN860T_SC entry in MAINTAINERS file. + - Update CREDITS file with GEN860T_SC info. + +* Update Smiths Aerospace addresses in MAINTAINERS file + +* Fix error handling in hush's version of "run" command + +* LWMON extensions: + - Splashscreen support + - modem support + - sysmon support + - temperature dependend enabling of LCD + +* Allow booting from old "PPCBoot" disk partitions + +* Add support for TQM8255 Board / MPC8255 CPU + +====================================================================== +Changes for U-Boot 0.3.1: +====================================================================== + +* Make sure Block Lock Bits get cleared in R360MPI flash driver + +* MPC823 LCD driver: Fill color map backwards, to allow for steady + display when Linux takes over + +* Patch by Erwin Rol, 27 Feb 2003: + Add support for RTEMS (this time for real). + +* Add support for "bmp info" and "bmp display" commands to load + bitmap images; this can be used (for example in a "preboot" + command) to display a splash screen very quickly after poweron. + +* Add support for 133 MHz clock on INCA-IP board + +* Patch by Lutz Dennig, 10 Apr 2003: + Update for R360MPI board + +* Add new meaning to "autostart" environment variable: + If set to "no", a standalone image passed to the + "bootm" command will be copied to the load address + (and eventually uncompressed), but NOT be started. + This can be used to load and uncompress arbitrary + data. + +* Patch by Stefan Roese, 10 Apr 2003: + Changed DHCP client to use IP address from server option field #54 + from the OFFER packet in the server option field #54 in the REQUEST + packet. This fixes a problem using a Windows 2000 DHCP server, + where the DHCP-server is not the TFTP-server. + +* Set max brightness for MN11236 displays on TRAB board + +* Add support for TQM862L modules + +====================================================================== +Changes for U-Boot 0.3.0: +====================================================================== + +* Patch by Arun Dharankar, 4 Apr 2003: + Add IDMA example code (tested on 8260 only) + +* Add support for Purple Board (MIPS64 5Kc) + +* Add support for MIPS64 5Kc CPUs + +* Fix missing setting of "loadaddr" and "bootfile" on ARM and MIPS + +* Patch by Denis Peter, 04 Apr 2003: + - update MIP405-4 board + +* Patch by Stefan Roese, 4 Apr 2003: + - U-Boot version environment variable "ver" added + (CONFIG_VERSION_VARIABLE). + - Changed PPC405GPr version from A to B. + - Changed CPCI405 to use CTS instead of DSR on PPC405 UART1. + +* Patches by Denis Peter, 03 April 2003: + - fix PCI IRQs on MPL boards + - fix two more un-relocated pointer problems + +* Fix behaviour of "run" command: + - print error message iv variable does not exist + - terminate processing of arguments in case of error + +* Patches by Peter Figuli, 10 Mar 2003 + - Add support for BTUART on PXA platform + - Add support for WEP EP250 (PXA) board + +* Fix flash problems on INCA-IP; add tool to allow bruning images to + flash using a BDI2000 + +* Implement fix for I2C Edge Conditions problem for all boards that + use the bit-banging driver (common/soft_i2c.c) + +* Patch by Martin Winistoerfer, 23 Mar 2003 + - Add port to MPC555/556 microcontrollers + - Add support for cmi customer board with + Intel 28F128J3A, 28F320J3A or 28F640J3A flash. + +* Patch by Rick Bronson, 28 Mar 2003: + - fix common/cmd_nand.c + +* Patch by Arun Dharankar, 24 Mar 2003: + - add threads / scheduler example code + +* Add patches by Robert Schwebel, 31 Mar 2003: + - add ctrl-c support for kermit download + - align bdinfo output on ARM + - csb226 board: bring in sync with innokom/memsetup.S + - csb226 board: fix MDREFR handling + - misc doc fixes / extensions + - innokom board: cleanup, MDREFR fix in memsetup.S, config update + - add BOOT_PROGRESS to armlinux.c + +* Add CPU ID, version, and clock speed for INCA-IP + +* Patches by Dave Ellis, 18 Mar 2003 for SXNI855T board: + - fix SRAM and SDRAM memory sizing + - add status LED support + - add MAC address for second (SCC1) ethernet port + +* Update default environment for TQM8260 board + +* Patch by Rick Bronson, 16 Mar 2003: + - Add NAND flash support for reading, writing, and erasing NAND + flash (certain forms of which are called SmartMedia). + - Add support for Atmel AT91RM9200DK ARM920T based development kit. + +* Patches by Robert Schwebel, 19 Mar 2003: + - use arm-linux-gcc as default compiler for ARM + - fix i2c fixup code + - fix missing baudrate setting + - added $loadaddr / CFG_LOAD_ADDR support to loadb + - moved "ignoring trailing characters" _before_ u-boot wants to + print out diagnostics messages; removes bogus characters at the + end of transmission + +* Patch by John Zhan, 18 Mar 2003: + Add support for SinoVee Microsystems SC8xx boards + +* Patch by Rolf Offermanns, 21 Mar 2003: + ported the dnp1110 related changes from the current armboot cvs to + current u-boot cvs. smc91111 does not work. problem marked in + smc91111.c, grep for "FIXME". + +* Patch by Brian Auld, 25 Mar 2003: + Add support for STM flash chips on ebony board + +* Add PCI support for MPC8250 Boards (PM825 module) + +* Patch by Stefan Roese, 25 Mar 2003: + - PCI405 update. + +* Patch by Stefan Roese, 20 Mar 2003: + - CPCI4052 update (support for revision 3). + - Set edge conditioning circuitry on PPC405GPr for compatibility + to existing PPC405GP designs. + - Clip udiv to 5 bits on PPC405 (serial.c). + +* Extend INCAIP board support: + - add automatic RAM size detection + - add "bdinfo" command + - pass flash address and size to Linux kernel + - switch to 150 MHz clock + +* Avoid flicker on the TRAB's VFD by synchronizing the enable with + the HSYNC/VSYNC. Requires new CPLD code (Version 101 for Rev. 100 + boards, version 153 for Rev. 200 boards). + +* Patch by Vladimir Gurevich, 12 Mar 2003: + Fix relocation problem of statically initialized string pointers + in common/cmd_pci.c + +* Patch by Kai-Uwe Blöm, 12 Mar 2003: + Cleanup & bug fixes for JFFS2 code: + - the memory mangement was broken. It caused havoc on malloc by + writing beyond the block boundaries. + - the length calculation for files was wrong, sometimes resulting + in short file reads. + - data copying now optionally takes fragment version numbers into + account, to avoid copying from older data. + See doc/README.JFFS2 for details. + +* Patch by Josef Wagner, 12 Mar 2003: + - 16/32 MB and 50/80 MHz support with auto-detection for IP860 + - ETH05 and BEDBUG support for CU824 + - added support for MicroSys CPC45 + - new BOOTROM/FLASH0 and DOC base for PM826 + +* Patch by Robert Schwebel, 12 Mar 2003: + Fix the chpart command on innokom board + +* Name cleanup: + mv include/asm-i386/ppcboot-i386.h include/asm-i386/u-boot-i386.h + s/PPCBoot/U-Boot/ in some files + s/pImage/uImage/ in some files + +* Patch by Detlev Zundel, 15 Jan 2003: + Fix '' command line quoting + +* Patch by The LEOX team, 19 Jan 2003: + - add support for the ELPT860 board + - add support for Dallas ds164x RTC + +* Patches by David Müller, 31 Jan 2003: + - minimal setup for CardBus bridges + - add EEPROM read/write support in the CS8900 driver + - add support for the builtin I2C controller in the Samsung s3c24x0 chips + - add support for MPL's VCMA9 (Samsung s3c2410 based) board + +* Patch by Steven Scholz, 04 Feb 2003: + add support for RTC DS1307 + +* Patch by Reinhard Meyer, 5 Feb 2003: + fix PLPRCR/SCCR init sequence on 8xx to allow for + changes of EBDF by software + +* Patch by Vladimir Gurevich, 07 Feb 2003: + "API-compatibility patch" for 4xx I2C driver + +* TRAB fixes / extensions: + - Restore VFD brightness as saved in environment + - add support for Fujitsu flashes + - make sure both buzzers are turned off (drive low level) + +* Patches by Robert Schwebel, 06 Mar 2003: + - fix bug in BOOTP code (must use NetCopyIP) + - update of CSB226 port + - clear BSS segment on XScale + - added support for i2c_init_board() function + - update to the Innokom plattform + +* Extend support for redundand environments for configurations where + environment size < sector size + +* Patch by Rune Torgersen, 13 Feb 2003: + Add support for Motorola MPC8266ADS board + +* Patch by Kyle Harris, 19 Feb 2003: + patches for the Intel lubbock board: + memsetup.S - general cleanup (based on Robert's csb226 code) + flash.c - overhaul, actually works now + lubbock.c - fix init funcs to return proper value + +* Patch by Kenneth Johansson, 26 Feb 2003: + - Fixed off by one in RFTA calculation. + - No need to abort when LDF is lower than we can program it's only + minimum timing so clamp it to what we can do. + - Takes function pointer to function for reading the spd_nvram. Usefull + for faking data or hardcode a module without the nvram. + - fix other user for above change + - fix some comments. + +* Patches by Brian Waite, 26 Feb 2003: + - fix port for evb64260 board + - fix PCI for evb64260 board + - fix PCI scan + +* Patch by Reinhard Meyer, 1 Mar 2003: + Add support for EMK TOP860 Module + +* Patch by Yuli Barcohen, 02 Mar 2003: + Add SPD EEPROM support for MPC8260ADS board + +* Patch by Robert Schwebel, 21 Jan 2003: + - Add support for Innokom board + - Don't complain if "install" fails + - README cleanup (remove duplicated lines) + - Update PXA header files + +* Add documentation for existing POST code (doc/README.POST) + +* Patch by Laudney Ren, 15 Jan 2003: + Fix handling of redundand environment in "tools/envcrc.c" + +* Patch by Detlev Zundel, 28 Feb 2003: + Add bedbug support for 824x systems + +* Add support for 16 MB flash configuration of TRAB board + +* Patch by Erwin Rol, 27 Feb 2003: + Add support for RTEMS + +* Add image information to README + +* Patch by Stefan Roese, 18 Feb 2003: + CPCIISER4 configuration updated. + +* Patch by Stefan Roese, 17 Feb 2003: + Fixed bug in ext. serial clock setup on PPC405 (since PPC440 port). + +* Patch by Stefan Roese, 13 Feb 2003: + Add "pcidelay" environment variable (in ms, enabled via + CONFIG_PCI_BOOTDELAY). + PCI spec 2.2 defines, that a pci target has 2^25 pci clocks after + RST# to respond to configuration cycles (33MHz -> 1s). + +* Fix dual PCMCIA slot support (when running with just one + slot populated) + +* Add VFD type detection to trab board + +* extend drivers/cs8900.c driver to synchronize ethaddr environment + variable with value in the EEPROM + +* Patch by Stefan Roese, 10 Feb 2003: + Add support for 4MB and 128MB onboard SDRAM (cpu/ppc4xx/sdram.c) + +* Add support for MIPS32 4Kc CPUs + +* Add support for INCA-IP Board + +====================================================================== +Changes for U-Boot 0.2.2: +====================================================================== + +* Add dual ethernet support on PM826 + +* Add support for LXT971 PHY on PM826 + +* Patch by Tord Andersson, 16 Jan 2003: + Fix flash sector count for TQM8xxL + +* Fix I2C EEPROM problem on ICU862 board (would only write the first + 16 bytes out of each 32 byte block) + +====================================================================== +Changes for U-Boot 0.2.1: +====================================================================== + +* Add support for V37 board + (patch by Jón Benediktsson, 11 Dec 2002) + +* Update baudrate in bd_info when it gets changed + +* Add watchdog trigger points while waiting for serial port + (so far only 8xx -- needed on LWMON with 100ms watchdog) + +* Improve command line tool to access the U-Boot's environment + (figuration of the utility, using a config file) + +* Add single quote support for (old) command line parser + +* Switch LWMON board default config from FRAM to EEPROM; + in POST, EEPROM shows up on 8 addresses + +====================================================================== +Changes for U-Boot 0.2.0: +====================================================================== + +* Use 1-byte-read instead of -write for iprobe() function + Add i2c commands to PM826 config + +* extend I2C POST code: check for list on known addresses + +* Improve log buffer code; use "loglevel" to decide which messages + to log on the console, too (like in Linux); get rid of "logstart" + +* Add command line tool to access the U-Boot's environment + (board-specific for TRAB now, to be fixed later) + +* Patch by Hans-Joerg Frieden, 06 Dec 2002 + Fix misc problems with AmigaOne support + +* Patch by Chris Hallinan, 3 Dec 2002: + minor cleanup to the MPC8245 EPIC driver + +* Patch by Pierre Aubert , 28 Nov 2002 + Add support for external (SIU) interrupts on MPC8xx + +* Patch by Pierre Aubert , 28 Nov 2002 + Fix nested syscalls bug in standalone applications + +* Patch by David Müller, 27 Nov 2002: + fix output of "pciinfo" command for CardBus bridge devices. + +* Fix bug in TQM8260 board detection - boards got stuck when board ID + was not readable + +* Add LED indication for IDE activity on KUP4K board + +* Fix startup problems with VFD display on TRAB + +* Patch by Pierre Aubert, 20 Nov 2002 + Add driver for Epson SED13806 graphic controller. + Add support for BMP logos in cfb_console driver. + +* Added support for both PCMCIA slots (at the same time!) on MPC8xx + +* Patch by Rod Boyce, 21 Nov 2002: + fix PCMCIA on MBX8xx board + +* Patch by Pierre Aubert , 21 Nov 2002 + Add CFG_CPM_POST_WORD_ADDR to make the offset of the + bootmode word in DPRAM configurable + +* Patch by Daniel Engström, 18 Nov 2002: + Fixes for x86 port (mostly strings issues) + +* Patch by Ken Chou, 18 Nov 2002: + Fix for natsemi NIC cards (DP83815) + +* Patch by Pierre Aubert, 19 Nov 2002: + fix a bug for the MII configuration, and some warnings + +* Patch by Thomas Frieden, 13 Nov 2002: + Add code for AmigaOne board + (preliminary merge to U-Boot, still WIP) + +* Patch by Jon Diekema, 12 Nov 2002: + - Adding URL for IEEE OUI lookup + - Making the autoboot #defines dependent on CONFIG_AUTOBOOT_KEYED + being defined. + - In the CONFIG_EXTRA_ENV_SETTINGS #define, the root-on-initrd and + root-on-nfs macros are designed to switch how the default boot + method gets defined. + +* Patch by Daniel Engström, 13 Nov 2002: + Add support for i386 architecture and AMD SC520 board + +* Patch by Pierre Aubert, 12 Nov 2002: + Add support for DOS filesystem and booting from DOS floppy disk + +* Patch by Jim Sandoz, 07 Nov 2002: + Increase number of network RX buffers (PKTBUFSRX in + "include/net.h") for EEPRO100 based boards (especially SP8240) + which showed "Receiver is not ready" errors when U-Boot was + processing the receive buffers slower than the network controller + was filling them. + +* Patch by Andreas Oberritter, 09 Nov 2002: + Change behaviour of NetLoop(): return -1 for errors, filesize + otherwise; return code 0 is valid an means no file loaded - in this + case the environment still gets updated! + +* Patches by Jon Diekema, 9 Nov 2002: + - improve ADC/DAC clocking on the SACSng board to align + the failing edges of LRCLK and SCLK + - sbc8260 configuration tweaks + - add status LED support for 82xx systems + - wire sspi/sspo commands into command handler; improved error + handlering + - add timestamp support and alternate memory test to the + SACSng configuration + +* Patch by Vince Husovsky, 7 Nov 2002: + Add "-n" to linker options to get rid of "Not enough room for + program headers" problem + +* Patch by David Müller, 05 Nov 2002 + Rename CONFIG_PLL_INPUT_FREQ to CONFIG_SYS_CLK_FREQ + so we can use an already existing name + +* Patch by Pierre Aubert, 05 Nov 2002 + Hardware relatied improvments in FDC boot code + +* Patch by Holger Schurig, 5 Nov 2002: + Make the PXA really change it's frequency + +* Patch by Pierre Aubert, 05 Nov 2002 + Add support for slave serial Spartan 2 FPGAs + +* Fix uninitialized memory (MAC address) in 8xx SCC/FEC ethernet + drivers + +* Add support for log buffer which can be passed to Linux kernel's + syslog mechanism; used especially for POST results. + +* Patch by Klaus Heydeck, 31 Oct 2002: + Add initial support for kup4k board + +* Patch by Robert Schwebel, 04 Nov 2002: + - use watchdog to reset PXA250 systems + - added progress callbacks to (some of the) ARM code + - update for Cogent CSB226 board + +* Add support for FPS860 board + +* Patch by Guillaume Alexandre,, 04 Nov 2002: + Improve PCI access on 32-bits Compact PCI bus + +* Fix mdelay() on TRAB - this was still the debugging version with + seconds instead of ms. + +* Patch by Robert Schwebel, 1 Nov 2002: + XScale related cleanup (affects all ARM boards) + +* Cleanup of names and README. + +====================================================================== +Notes for U-Boot 0.1.0: +====================================================================== + +This is the initial version of "Das U-Boot", the Universal Boot Loader. + +It is based on version 2.0.0 (the "Halloween Release") of PPCBoot. +For information about the history of the project please see the +PPCBoot project page at http://sourceforge.net/projects/ppcboot + +====================================================================== diff --git a/Makefile b/Makefile index 24a5a3a6c32..0af26bf73f1 100644 --- a/Makefile +++ b/Makefile @@ -318,6 +318,9 @@ $(obj)System.map: $(obj)u-boot grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(obj)System.map +CHANGELOG: + git log --no-merges U-Boot-1_1_5.. > $@ + ######################################################################### else all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \ -- cgit v1.3.1 From 5e3b0bc19f07ed277d85324ad0427642c8981baf Mon Sep 17 00:00:00 2001 From: Haavard Skinnemoen Date: Wed, 25 Oct 2006 15:48:59 +0200 Subject: Finish up support for the ATSTK1000/ATSTK1002 boards Add atstk1002_config target to Makefile and move the AVR32 section down below Blackfin so that it doesn't end up in the middle of MIPS. Drop the autogenerated linker script thing for now. Will have to revisit how to handle chips with different flash and RAM layout later. Signed-off-by: Haavard Skinnemoen --- Makefile | 17 ++++---- board/atmel/atstk1000/u-boot.lds | 77 +++++++++++++++++++++++++++++++++++++ board/atmel/atstk1000/u-boot.lds.S | 79 -------------------------------------- 3 files changed, 87 insertions(+), 86 deletions(-) create mode 100644 board/atmel/atstk1000/u-boot.lds delete mode 100644 board/atmel/atstk1000/u-boot.lds.S (limited to 'Makefile') diff --git a/Makefile b/Makefile index dec63552172..c2e47d4034a 100644 --- a/Makefile +++ b/Makefile @@ -2122,13 +2122,6 @@ pb1000_config : unconfig @echo "#define CONFIG_PB1000 1" >>$(obj)include/config.h @$(MKCONFIG) -a pb1x00 mips mips pb1x00 -#======================================================================== -# AVR32 -#======================================================================== -######################################################################### -## AT32AP7xxx -######################################################################### - ######################################################################### ## MIPS64 5Kc ######################################################################### @@ -2248,6 +2241,16 @@ stamp_config : unconfig dspstamp_config : unconfig @$(MKCONFIG) $(@:_config=) blackfin bf533 dsp_stamp +#======================================================================== +# AVR32 +#======================================================================== +######################################################################### +## AT32AP7xxx +######################################################################### + +atstk1002_config : unconfig + @./mkconfig $(@:_config=) avr32 at32ap atstk1000 atmel at32ap7000 + ######################################################################### ######################################################################### ######################################################################### diff --git a/board/atmel/atstk1000/u-boot.lds b/board/atmel/atstk1000/u-boot.lds new file mode 100644 index 00000000000..ef89ea4dfa5 --- /dev/null +++ b/board/atmel/atstk1000/u-boot.lds @@ -0,0 +1,77 @@ +/* -*- Fundamental -*- + * + * Copyright (C) 2005-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32") +OUTPUT_ARCH(avr32) +ENTRY(_start) + +SECTIONS +{ + . = 0; + _text = .; + .text : { + *(.text) + *(.text.*) + } + + . = ALIGN(32); + __flashprog_start = .; + .flashprog : { + *(.flashprog) + } + . = ALIGN(32); + __flashprog_end = .; + + . = ALIGN(8); + .rodata : { + *(.rodata) + *(.rodata.*) + } + _etext = .; + + __data_lma = ALIGN(8); + . = 0x24000000; + _data = .; + .data : AT(__data_lma) { + *(.data) + *(.data.*) + } + + . = ALIGN(4); + __u_boot_cmd_start = .; + __u_boot_cmd_lma = __data_lma + (__u_boot_cmd_start - _data); + .u_boot_cmd : AT(__u_boot_cmd_lma) { + KEEP(*(.u_boot_cmd)) + } + __u_boot_cmd_end = .; + + . = ALIGN(8); + _edata = .; + __edata_lma = __u_boot_cmd_lma + (_edata - __u_boot_cmd_start); + + .bss : AT(__edata_lma) { + *(.bss) + *(.bss.*) + } + . = ALIGN(8); + _end = .; +} diff --git a/board/atmel/atstk1000/u-boot.lds.S b/board/atmel/atstk1000/u-boot.lds.S deleted file mode 100644 index d46b82ceb23..00000000000 --- a/board/atmel/atstk1000/u-boot.lds.S +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Fundamental -*- - * - * Copyright (C) 2005-2006 Atmel Corporation - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ -#include - -OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32") -OUTPUT_ARCH(avr32) -ENTRY(_start) - -SECTIONS -{ - . = CFG_FLASH_BASE; - _text = .; - .text : { - *(.text) - *(.text.*) - } - - . = ALIGN(CFG_ICACHE_LINESZ); - __flashprog_start = .; - .flashprog : { - *(.flashprog) - } - . = ALIGN(CFG_ICACHE_LINESZ); - __flashprog_end = .; - - . = ALIGN(8); - .rodata : { - *(.rodata) - *(.rodata.*) - } - _etext = .; - - __data_lma = ALIGN(8); - . = CFG_INTRAM_BASE; - _data = .; - .data : AT(__data_lma) { - *(.data) - *(.data.*) - } - - . = ALIGN(4); - __u_boot_cmd_start = .; - __u_boot_cmd_lma = __data_lma + (__u_boot_cmd_start - _data); - .u_boot_cmd : AT(__u_boot_cmd_lma) { - KEEP(*(.u_boot_cmd)) - } - __u_boot_cmd_end = .; - - . = ALIGN(8); - _edata = .; - __edata_lma = __u_boot_cmd_lma + (_edata - __u_boot_cmd_start); - - .bss : AT(__edata_lma) { - *(.bss) - *(.bss.*) - } - . = ALIGN(8); - _end = .; -} -- cgit v1.3.1 From 2b2a40bebbf1822506e80e631d7253e60f0e0fe6 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Thu, 26 Oct 2006 16:24:31 +0200 Subject: Code cleanup. --- CHANGELOG | 324 ++++++++++++++++++++++++++++++----------------------- Makefile | 2 +- common/cmd_bootm.c | 5 +- common/cmd_dcr.c | 8 +- 4 files changed, 189 insertions(+), 150 deletions(-) (limited to 'Makefile') diff --git a/CHANGELOG b/CHANGELOG index 1b8ca0439e0..8f68b8e9136 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,39 +1,72 @@ +commit 5e3b0bc19f07ed277d85324ad0427642c8981baf +Author: Haavard Skinnemoen +Date: Wed Oct 25 15:48:59 2006 +0200 + + Finish up support for the ATSTK1000/ATSTK1002 boards + + Add atstk1002_config target to Makefile and move the AVR32 section + down below Blackfin so that it doesn't end up in the middle of + MIPS. + + Drop the autogenerated linker script thing for now. Will have to + revisit how to handle chips with different flash and RAM layout + later. + + Signed-off-by: Haavard Skinnemoen + +commit c76f951a747cfb87ba826ef45b5aea82d5b5dbb4 +Author: Kumar Gala +Date: Tue Oct 24 23:47:37 2006 -0500 + + Added support for Multi-Image files that contain a device tree + + If a Multi-Image file contains a third image we try to use it as a + device tree. The device tree image is assumed to be uncompressed in the + image file. We automatically allocate space for the device tree in memory + and provide an 8k pad to allow more than a reasonable amount of growth. + + Additionally, a device tree that was contained in flash will now automatically + get copied to system memory as part of boot. Previously an error was + reported if one tried to boot a device tree that was in flash. + + Signed-off-by: Kumar Gala + commit 7c52c4b943ff52bbe8796a7e2d3e476ceaf3f512 Author: Wolfgang Denk -Date: Tue Oct 24 21:35:55 2006 +0200 +Date: Tue Oct 24 21:35:55 2006 +0200 Switch to automatically generated CHANGELOG file. (use "make CHANGELOG" to update it from time to time) commit 7ade0c634a979c32fa91a74e8f5775f24651fbe6 Author: Stefan Roese -Date: Tue Oct 24 18:06:48 2006 +0200 +Date: Tue Oct 24 18:06:48 2006 +0200 Fix bug in PPC440 NAND driver cpu/ppc4xx/ndfc.c Patch by Stefan Roese, 24 Oct 2006 commit 8ae3b713b2286e0c3213b7802062e4c1599010de Author: Wolfgang Denk -Date: Tue Oct 24 17:24:55 2006 +0200 +Date: Tue Oct 24 17:24:55 2006 +0200 Merge with /home/wd/git/u-boot/master commit 47a6989c10685d2ab3efcf95228ce50d2a496d3e Author: Wolfgang Denk -Date: Tue Oct 24 15:32:57 2006 +0200 +Date: Tue Oct 24 15:32:57 2006 +0200 Code cleanup commit 3a78e3e75b633ecb6413114ffd11e2f000c4f11e Author: Wolfgang Denk -Date: Tue Oct 24 14:51:36 2006 +0200 +Date: Tue Oct 24 14:51:36 2006 +0200 Move atstk1000 files into vendor specific directory. Patch by Haavard Skinnemoen, 12 Sep 2006 commit 6ccec4492e77428fd6eafd3dfe94fbdf08e91d37 Author: Wolfgang Denk -Date: Tue Oct 24 14:42:37 2006 +0200 +Date: Tue Oct 24 14:42:37 2006 +0200 Add ATSTK1000 and ATSTK1002 board support Patch by Haavard Skinnemoen, 06 Sep 2006 @@ -55,7 +88,7 @@ Date: Tue Oct 24 14:42:37 2006 +0200 commit f93ae788c3640fcde5db383471d45548ff4060d0 Author: Wolfgang Denk -Date: Tue Oct 24 14:31:24 2006 +0200 +Date: Tue Oct 24 14:31:24 2006 +0200 Add common serial driver for Atmel AT32 and AT91 chips Patch by Haavard Skinnemoen, 06 Sep 2006 @@ -70,15 +103,15 @@ Date: Tue Oct 24 14:31:24 2006 +0200 AT32AP CPU port: * pm_get_clock_freq: Obtain the clock frequency of a given domain * gd->console_uart: A "struct device" containing information about - register mappings, gpio resources and clocks associated with the - UART device. + register mappings, gpio resources and clocks associated with the + UART device. For more information about these features, please see the "AT32AP CPU" patch. commit 72a087e04705c26cad982879ebd06b5281bf825a Author: Wolfgang Denk -Date: Tue Oct 24 14:27:35 2006 +0200 +Date: Tue Oct 24 14:27:35 2006 +0200 Add AT32AP CPU and AT32AP7000 SoC support Patch by Haavard Skinnemoen, 06 Sep 2006 @@ -103,7 +136,7 @@ Date: Tue Oct 24 14:27:35 2006 +0200 commit 7b64fef33c66be648826c0ff9758298ef13d0604 Author: Wolfgang Denk -Date: Tue Oct 24 14:21:16 2006 +0200 +Date: Tue Oct 24 14:21:16 2006 +0200 Add AVR32 architecture support Patch by Haavard Skinnemoen, 6 Sep 2006 16:23:02 +0200 @@ -115,7 +148,7 @@ Date: Tue Oct 24 14:21:16 2006 +0200 commit 2da2d9a4766063b9848f3a35ad6025499cf87265 Author: Wolfgang Denk -Date: Tue Oct 24 13:57:33 2006 +0200 +Date: Tue Oct 24 13:57:33 2006 +0200 Use -g instead of -gstabs in AFLAGS_DEBUG Patch by Haavard Skinnemoen, 30 Aug 2006 @@ -127,20 +160,20 @@ Date: Tue Oct 24 13:57:33 2006 +0200 commit 965829872169c2996023840d98e1d85ad148d629 Author: Wolfgang Denk -Date: Tue Oct 24 13:55:18 2006 +0200 +Date: Tue Oct 24 13:55:18 2006 +0200 Fix/workaround broken dependency handling with make 3.81 Based on patch by Haavard Skinnemoen, 29 Aug 2006 11:20:39 +0200 commit 8318fbf8cc30418b621ea9f39b84b4c1a08f003a Author: Marian Balakowicz -Date: Mon Oct 23 22:17:05 2006 +0200 +Date: Mon Oct 23 22:17:05 2006 +0200 Fix sequoia separate object direcory building problems. commit 3dfa9cfdcee78b30da3432318b32821ffabe974b Author: Jon Loeliger -Date: Fri Oct 20 17:16:35 2006 -0500 +Date: Fri Oct 20 17:16:35 2006 -0500 Use generic I2C register block on 85xx and 86xx. @@ -151,7 +184,7 @@ Date: Fri Oct 20 17:16:35 2006 -0500 commit f5012827df11ca0c9be1df5f8b153e188dc2fa7c Author: Jon Loeliger -Date: Fri Oct 20 15:54:34 2006 -0500 +Date: Fri Oct 20 15:54:34 2006 -0500 Fix compilation warnings on a few 85xx boards. @@ -159,7 +192,7 @@ Date: Fri Oct 20 15:54:34 2006 -0500 commit 2047672684cf85cb6f96a1fbc993180aaaf19a99 Author: Jon Loeliger -Date: Fri Oct 20 15:50:15 2006 -0500 +Date: Fri Oct 20 15:50:15 2006 -0500 Converted all 85xx boards to use a common FSL I2C driver. Introduced COFIG_FSL_I2C to select the common FSL I2C driver. @@ -170,7 +203,7 @@ Date: Fri Oct 20 15:50:15 2006 -0500 commit 4d45f69e362b05892c9e92a7907e5820995612aa Author: Jon Loeliger -Date: Thu Oct 19 12:02:24 2006 -0500 +Date: Thu Oct 19 12:02:24 2006 -0500 Rewrite a series of goto statements as a sequences of conditional expressions instead. @@ -183,7 +216,7 @@ Date: Thu Oct 19 12:02:24 2006 -0500 commit 7237c033b02fe295880435f1eb80819a0c987532 Author: Jon Loeliger -Date: Thu Oct 19 11:02:16 2006 -0500 +Date: Thu Oct 19 11:02:16 2006 -0500 Moved i2c driver out of cpu/mpc86xx/i2c.c into drivers/fsl_i2c.c @@ -194,15 +227,22 @@ Date: Thu Oct 19 11:02:16 2006 -0500 commit 13a7fcdf37f6ea9429ae04c9df67f893364cfe4b Author: Jon Loeliger -Date: Thu Oct 19 11:33:52 2006 -0500 +Date: Thu Oct 19 11:33:52 2006 -0500 * Fix a bunch of compiler warnings for gcc 4.0 Signed-off-by: Matthew McClintock +commit af9e1f5b9e6f9ce810f5e8bf2961c9542a5865c2 +Author: Stefan Roese +Date: Tue Oct 17 06:14:31 2006 +0200 + + Add monitor functions for indirect access to PPC440 DCR's + Patch by Leonid Baryudin, 12 Oct 2006 + commit 5f3249a0a168e446a4cc9669b2bce0bc456f0a09 Author: Jon Loeliger -Date: Fri Oct 13 16:47:53 2006 -0500 +Date: Fri Oct 13 16:47:53 2006 -0500 Fixed leading whitespace issues. Removed spurious LAWAR thing. @@ -211,7 +251,7 @@ Date: Fri Oct 13 16:47:53 2006 -0500 commit 0ee90cb77e01d6e8ccd37e1bd96678597875c391 Author: Jon Loeliger -Date: Thu Oct 12 10:42:36 2006 -0500 +Date: Thu Oct 12 10:42:36 2006 -0500 Remove unneeded include files and local variable. @@ -219,7 +259,7 @@ Date: Thu Oct 12 10:42:36 2006 -0500 commit 1eaf3a5ff4960a46f3a9063568ba2af7883f07c5 Author: Grant Likely -Date: Tue Oct 10 00:23:32 2006 -0600 +Date: Tue Oct 10 00:23:32 2006 -0600 Fix possible uninitialized variable compiler warning. @@ -233,7 +273,7 @@ Date: Tue Oct 10 00:23:32 2006 -0600 commit 7376eb87aaa601f728f9b8e5e9cd2711a67f529e Author: Matthew McClintock -Date: Wed Oct 11 15:13:01 2006 -0500 +Date: Wed Oct 11 15:13:01 2006 -0500 * Fix a bunch of compiler warnings for gcc 4.0 @@ -241,51 +281,51 @@ Date: Wed Oct 11 15:13:01 2006 -0500 commit bf651baa365e5447246aad6a633ccd667cf24a39 Author: Jon Loeliger -Date: Wed Oct 11 10:10:43 2006 -0500 +Date: Wed Oct 11 10:10:43 2006 -0500 Move "ar" flags to config.mk to allow for silent "make -s" commit 1fd5699a4a24f5c1dab1b32f480bace1ebb9fc3e Author: Jon Loeliger -Date: Tue Oct 10 17:19:03 2006 -0500 +Date: Tue Oct 10 17:19:03 2006 -0500 Coding style changes to remove local varible blocks and reformat a bit nicer. commit 8b283dbb3a08d1b8d406bc15f119e081b3e2606a Author: Jon Loeliger -Date: Tue Oct 10 17:16:04 2006 -0500 +Date: Tue Oct 10 17:16:04 2006 -0500 Fix whitespace issues. commit 7b382b7125f2397cce63253df62f183e3dfa2770 Author: Jon Loeliger -Date: Tue Oct 10 17:14:45 2006 -0500 +Date: Tue Oct 10 17:14:45 2006 -0500 Fix whitespace issues. commit e10390ddd736b0dad1528eec4b0fe35c0827139a Author: Jon Loeliger -Date: Tue Oct 10 17:06:53 2006 -0500 +Date: Tue Oct 10 17:06:53 2006 -0500 Fix whitespace issues. commit 89875e96ba3f023157bf50d5f8e33bf254964a76 Author: Jon Loeliger -Date: Tue Oct 10 17:03:43 2006 -0500 +Date: Tue Oct 10 17:03:43 2006 -0500 Ran lindent and cleaned up whitespace issues. Format for 80-columns too. commit 333961ae7095fc66d8a041fce1ac9ee873b09d86 Author: Jon Loeliger -Date: Tue Oct 10 17:02:22 2006 -0500 +Date: Tue Oct 10 17:02:22 2006 -0500 Fix whitespace and 80-col issues. commit f55df18187e7a45cb73fec4370d12135e6691ae1 Author: John Traill -Date: Fri Sep 29 08:23:12 2006 +0100 +Date: Fri Sep 29 08:23:12 2006 +0100 Fix missing tCycle/modfreq calculation. @@ -293,13 +333,13 @@ Date: Fri Sep 29 08:23:12 2006 +0100 commit 8272dc2f58f2473d8995fcc9b916440cfba080f0 Author: Andy Fleming -Date: Wed Sep 13 10:33:35 2006 -0500 +Date: Wed Sep 13 10:33:35 2006 -0500 Updated config headers to add default FDT-based booting commit 09f3e09e9ebcfa7919ca8931a4b5504fadd1f1d3 Author: Andy Fleming -Date: Wed Sep 13 10:34:18 2006 -0500 +Date: Wed Sep 13 10:34:18 2006 -0500 Add support for eTSEC 3 & 4 on 8548 CDS @@ -310,7 +350,7 @@ Date: Wed Sep 13 10:34:18 2006 -0500 commit 084d648b109c8984f83674043c1a7fa3885ef801 Author: Andy Fleming -Date: Wed Sep 13 10:33:56 2006 -0500 +Date: Wed Sep 13 10:33:56 2006 -0500 Added code to support 2.6.18 PCI changes in u-boot @@ -318,7 +358,7 @@ Date: Wed Sep 13 10:33:56 2006 -0500 commit afbdc649f8751e4f4f1a6f527edfe139773f2c15 Author: Jon Loeliger -Date: Tue Sep 19 09:34:10 2006 -0500 +Date: Tue Sep 19 09:34:10 2006 -0500 Modified makefile for new build mechanism. @@ -326,7 +366,7 @@ Date: Tue Sep 19 09:34:10 2006 -0500 commit d14ba6a798beb753e7a864500414fcc2d198b8bc Author: Jon Loeliger -Date: Thu Sep 14 08:40:36 2006 -0500 +Date: Thu Sep 14 08:40:36 2006 -0500 Handle 86xx SVR values according to the new Reference Manual. Both 8641 and 8641D have SVR == 0x8090, and are distinguished @@ -337,7 +377,7 @@ Date: Thu Sep 14 08:40:36 2006 -0500 commit 88c8f4921fc47fb0eb2384b16586f1bd7f275be7 Author: Zhang Wei -Date: Mon Aug 28 14:25:31 2006 +0800 +Date: Mon Aug 28 14:25:31 2006 +0800 Fixed an OF-tree off-by-one bug when adding a new property name. This bug will cause the kernel booting to pause a long time. @@ -347,25 +387,25 @@ Date: Mon Aug 28 14:25:31 2006 +0800 commit 9bff7a69a885adebbd2bd45990494ec4cf998a30 Author: Jon Loeliger -Date: Tue Aug 29 11:05:09 2006 -0500 +Date: Tue Aug 29 11:05:09 2006 -0500 Remove trailing empty lines. commit cd6d73d5b895a5935ac4fde0a356288142a584e0 Author: Jon Loeliger -Date: Tue Aug 29 09:48:49 2006 -0500 +Date: Tue Aug 29 09:48:49 2006 -0500 Remove bogus msync and use volatile asm. commit 778d45049ce5927b65b3ff1d8e6692b654bdd49e Author: Jon Loeliger -Date: Tue Aug 29 08:17:14 2006 -0500 +Date: Tue Aug 29 08:17:14 2006 -0500 Add myself as maintainer for MPC8641HPCN. commit 2f15776ccc6dc32377d8ba9652b8f58059c27c6d Author: Zhang Wei -Date: Mon Aug 28 14:25:31 2006 +0800 +Date: Mon Aug 28 14:25:31 2006 +0800 Fixed an OF-tree off-by-one bug when adding a new property name. This bug will cause the kernel booting to pause a long time. @@ -374,7 +414,7 @@ Date: Mon Aug 28 14:25:31 2006 +0800 commit 5567806b67d0ae83493aa8823ad3b6c914f581d7 Author: Haiying Wang -Date: Fri Aug 25 14:38:34 2006 -0400 +Date: Fri Aug 25 14:38:34 2006 -0400 Change ramdiskaddr and dtbaddr Remove PEX fluff commands. @@ -384,7 +424,7 @@ Date: Fri Aug 25 14:38:34 2006 -0400 commit b2b78421d9db49c21a821af8a19c21c1f7dfb29e Author: Matthew McClintock -Date: Wed Aug 23 13:32:45 2006 -0500 +Date: Wed Aug 23 13:32:45 2006 -0500 * Another small fix for booting with disable_of @@ -392,13 +432,13 @@ Date: Wed Aug 23 13:32:45 2006 -0500 commit 4a7cc0f21918e6ecf07ed57075d67df2c4a1299c Author: Jon Loeliger -Date: Wed Aug 23 11:04:43 2006 -0500 +Date: Wed Aug 23 11:04:43 2006 -0500 Cleanup and lindent new AHCI driver. commit dabf9ef8c10b4dead5ef2106ef742b1c06b542de Author: Jin Zhengxiong -Date: Wed Aug 23 19:15:12 2006 +0800 +Date: Wed Aug 23 19:15:12 2006 +0800 Add AHCI define and sata support for MPC8641HPCN board. @@ -406,7 +446,7 @@ Date: Wed Aug 23 19:15:12 2006 +0800 commit 4782ac80b02f0d01afd309e2200dd3c7037f2ba4 Author: Jin Zhengxiong -Date: Wed Aug 23 19:10:44 2006 +0800 +Date: Wed Aug 23 19:10:44 2006 +0800 Add AHCI support to u-boot @@ -417,7 +457,7 @@ Date: Wed Aug 23 19:10:44 2006 +0800 commit d8ea2acf5f137cae99417df4f573d036ee384668 Author: Zhang Wei -Date: Wed Aug 23 17:54:32 2006 +0800 +Date: Wed Aug 23 17:54:32 2006 +0800 Add dtb boot-up parameter to default boot commands. @@ -425,43 +465,43 @@ Date: Wed Aug 23 17:54:32 2006 +0800 commit b93775c2036b99baa390ea425c4771895bbc63c4 Author: Jon Loeliger -Date: Tue Aug 22 18:26:08 2006 -0500 +Date: Tue Aug 22 18:26:08 2006 -0500 Cleanup even more poorly introduced whitespace. commit ae6241685cbcf0c79a3636530d2ceab1fb291a94 Author: Jon Loeliger -Date: Tue Aug 22 18:07:00 2006 -0500 +Date: Tue Aug 22 18:07:00 2006 -0500 Cleanup more poorly introduced whitespace. commit 2c33e8a1c535b3ae91cf0b284480600bf3f57c57 Author: Jon Loeliger -Date: Tue Aug 22 17:54:05 2006 -0500 +Date: Tue Aug 22 17:54:05 2006 -0500 Cleanup poorly introduced whitespace. commit 80e955c7dd98f4b4fd23c2113caf75ed2b77b5b3 Author: Jon Loeliger -Date: Tue Aug 22 12:25:27 2006 -0500 +Date: Tue Aug 22 12:25:27 2006 -0500 General indent and whitespace cleanups. commit ffff3ae56f5842ca3679e4ce7922b819a87aad9f Author: Jon Loeliger -Date: Tue Aug 22 12:06:18 2006 -0500 +Date: Tue Aug 22 12:06:18 2006 -0500 General indent and whitespace cleanups. commit 41a0e8b304d3ff55fe27a230507aac79684016ac Author: Jon Loeliger -Date: Tue Aug 22 10:42:21 2006 -0500 +Date: Tue Aug 22 10:42:21 2006 -0500 Cleanup compiler warnings. commit 5de62c47a8628b3da4d73f7c07027f32a3342d40 Author: Matthew McClintock -Date: Tue Aug 22 09:31:59 2006 -0500 +Date: Tue Aug 22 09:31:59 2006 -0500 Fix disable_of booting @@ -469,7 +509,7 @@ Date: Tue Aug 22 09:31:59 2006 -0500 commit 87a449c8ac396420cb24260f717ea9e6faa82047 Author: Matthew McClintock -Date: Tue Aug 22 09:23:55 2006 -0500 +Date: Tue Aug 22 09:23:55 2006 -0500 Support for FDT in uImage format, error when using FDT from flash @@ -477,31 +517,31 @@ Date: Tue Aug 22 09:23:55 2006 -0500 commit 75c299c38369d01addd5e054b8a16217b70f4a86 Author: Haiying Wang -Date: Tue Aug 15 15:12:55 2006 -0400 +Date: Tue Aug 15 15:12:55 2006 -0400 Unlock cache before kernel starts up for MPC86xx commit 67256678f00c09b0a7f19e862e5c1847553d31bc Author: Haiying Wang -Date: Tue Aug 15 15:13:15 2006 -0400 +Date: Tue Aug 15 15:13:15 2006 -0400 Copy Global Data Pointer to r29 for DECLARE_GLOBAL_DATA_PTR commit 1c8f6d8fb028f156094d05f2d14298e6479364ac Author: Haiying Wang -Date: Tue Aug 15 15:12:55 2006 -0400 +Date: Tue Aug 15 15:12:55 2006 -0400 Unlock cache before kernel starts up for MPC86xx commit 0d9ccc55edf9a7f3c5b2b6263580a6ea8d702a04 Author: Haiying Wang -Date: Tue Aug 15 15:13:15 2006 -0400 +Date: Tue Aug 15 15:13:15 2006 -0400 Copy Global Data Pointer to r29 for DECLARE_GLOBAL_DATA_PTR commit 86c8e17f25e972a7e272950a0735fad84e082b88 Author: Matthew McClintock -Date: Wed Aug 16 13:59:47 2006 -0500 +Date: Wed Aug 16 13:59:47 2006 -0500 * Fix disable_of booting @@ -509,7 +549,7 @@ Date: Wed Aug 16 13:59:47 2006 -0500 commit 25c751e9adc86e22fe3b5b47cf2806379b575db7 Author: Matthew McClintock -Date: Wed Aug 16 10:54:09 2006 -0500 +Date: Wed Aug 16 10:54:09 2006 -0500 * Support for FDT in uImage format, error when using FDT from flash @@ -517,7 +557,7 @@ Date: Wed Aug 16 10:54:09 2006 -0500 commit fecf1c7e4de1b2779edc18742b91c22bdc32b68b Author: Jon Loeliger -Date: Mon Aug 14 15:33:38 2006 -0500 +Date: Mon Aug 14 15:33:38 2006 -0500 Fix BAT0 to actually be cacheable, non-guarded as documented. @@ -525,7 +565,7 @@ Date: Mon Aug 14 15:33:38 2006 -0500 commit 40bc83559db5745681909fd7382ae509567e116d Author: Jon Loeliger -Date: Wed Aug 9 15:32:16 2006 -0500 +Date: Wed Aug 9 15:32:16 2006 -0500 Removed MPC8641HPCN DTS source file from build. It is no longer linked into U-Boot; its sources are @@ -535,7 +575,7 @@ Date: Wed Aug 9 15:32:16 2006 -0500 commit 34c3c0e01dbf1f8cc2bd08de92f2b89ba84921eb Author: Matthew McClintock -Date: Wed Jun 28 10:47:03 2006 -0500 +Date: Wed Jun 28 10:47:03 2006 -0500 * Switched default PCI speed for 8540 ADS back to 33MHz @@ -547,7 +587,7 @@ Date: Wed Jun 28 10:47:03 2006 -0500 commit b6c5e1373b6ea0bb37a18e4aeecec00613d1cd39 Author: Matthew McClintock -Date: Wed Jun 28 10:46:35 2006 -0500 +Date: Wed Jun 28 10:46:35 2006 -0500 * Fixed a bug where 8555 PCI code used the old variable and function names Patch by Andy Fleming 17-Mar-2006 @@ -555,7 +595,7 @@ Date: Wed Jun 28 10:46:35 2006 -0500 commit bf1dfffd8c26f8ecdd630a0ae4c834e751e4e452 Author: Matthew McClintock -Date: Wed Jun 28 10:46:13 2006 -0500 +Date: Wed Jun 28 10:46:13 2006 -0500 * Added VIA configuration table @@ -566,7 +606,7 @@ Date: Wed Jun 28 10:46:13 2006 -0500 commit c88f9fe66b64247e5b6a38410ba315ca25596d16 Author: Matthew McClintock -Date: Wed Jun 28 10:45:41 2006 -0500 +Date: Wed Jun 28 10:45:41 2006 -0500 * Fixed PCI memory definitions Patch by Andy Fleming 17-Mar-2006 @@ -574,7 +614,7 @@ Date: Wed Jun 28 10:45:41 2006 -0500 commit 97074ed9655309b64231bc2cee69fe85399f8055 Author: Matthew McClintock -Date: Wed Jun 28 10:45:17 2006 -0500 +Date: Wed Jun 28 10:45:17 2006 -0500 * Added support for initializing second PCI bus on 85xx Patch by Andy Fleming 17-Mar-2006 @@ -582,7 +622,7 @@ Date: Wed Jun 28 10:45:17 2006 -0500 commit f0e6f57f71b3c4fdd13028eb03c3f3e91926dda2 Author: Matthew McClintock -Date: Wed Jun 28 10:44:49 2006 -0500 +Date: Wed Jun 28 10:44:49 2006 -0500 * Added PCI-X #defines for PCI-X initialization Patch by Andy Fleming on 17-Mar-2006 @@ -590,7 +630,7 @@ Date: Wed Jun 28 10:44:49 2006 -0500 commit a4e11558b810ef2cddffdf7b9d86bc1130441960 Author: Matthew McClintock -Date: Wed Jun 28 10:44:23 2006 -0500 +Date: Wed Jun 28 10:44:23 2006 -0500 * Made sure the code which disables prefetch for PCI devices sets the size of the prefetch region to 0 Patch by Andy Fleming on 17-Mar-2006 @@ -598,7 +638,7 @@ Date: Wed Jun 28 10:44:23 2006 -0500 commit 0e16387db1d4aacd5bf35cb6d7c1942765c0347b Author: Matthew McClintock -Date: Wed Jun 28 10:43:36 2006 -0500 +Date: Wed Jun 28 10:43:36 2006 -0500 * Add Flat Dev Tree construction for MPC85xx ADS and CDS boards Patch by Jon Loeliger 17-Jan-2006 @@ -606,25 +646,25 @@ Date: Wed Jun 28 10:43:36 2006 -0500 commit 855e6fb073f9d04fe4a7f06c107ecbac6344ddd4 Author: Matthew McClintock -Date: Wed Jun 28 10:43:00 2006 -0500 +Date: Wed Jun 28 10:43:00 2006 -0500 * Removed the oftree.dts for stxxtx in light of the changes to the flat device tree handling code Patch by Matthew McClintock 26-June-2006 commit 5498d90312aad9f6bdbf047986027c35b03cd163 Author: Matthew McClintock -Date: Wed Jun 28 10:42:24 2006 -0500 +Date: Wed Jun 28 10:42:24 2006 -0500 * Patch to modify ft_build.c to update flat device trees in place Patch by Matthew McClintock 26-June-2006 commit 0267768eddc5ca7bc1865bc40c866829ac5efbfe Author: Matthew McClintock -Date: Wed Jun 28 10:41:37 2006 -0500 +Date: Wed Jun 28 10:41:37 2006 -0500 * Modify bootm command to support booting with flat device trees Patch by Matthew McClintock 26-June-2006 commit 8fc8bd2cc479b6cd188fdede4010e0e052970b8a Author: John Traill -Date: Wed Aug 9 14:33:50 2006 +0100 +Date: Wed Aug 9 14:33:50 2006 +0100 Add Rapidio support for the MPC8641HPCN @@ -632,7 +672,7 @@ Date: Wed Aug 9 14:33:50 2006 +0100 commit 91a414c7d1fb0eac912592cd995b30c9f23045c9 Author: John Traill -Date: Tue Aug 8 11:32:43 2006 +0100 +Date: Tue Aug 8 11:32:43 2006 +0100 Fix caslat calculation @@ -640,43 +680,43 @@ Date: Tue Aug 8 11:32:43 2006 +0100 commit 709d3073e74153278e7904a70819bbef7df50e1a Author: Jon Loeliger -Date: Thu Aug 3 16:17:56 2006 -0500 +Date: Thu Aug 3 16:17:56 2006 -0500 Convert to mac-address in ethernet nodes. commit 71748af833ca1017edf1415be376366ff2937d17 Author: Haiying Wang -Date: Fri Jul 28 12:41:35 2006 -0400 +Date: Fri Jul 28 12:41:35 2006 -0400 Correct the irq value of DUART2 commit 9cb3e8816ae4d854e7dc22128c3eea3d70bb982c Author: Haiying Wang -Date: Fri Jul 28 12:41:41 2006 -0400 +Date: Fri Jul 28 12:41:41 2006 -0400 Change the space size of PEX IO in README commit 239db37c94f7a92941c4465feceb867c609241c5 Author: Haiying Wang -Date: Fri Jul 28 12:41:18 2006 -0400 +Date: Fri Jul 28 12:41:18 2006 -0400 Move get_board_sys_clk to board directory commit 492900b985439fbce1a118afde1e35def870db03 Author: John Traill -Date: Fri Jul 28 09:03:54 2006 +0100 +Date: Fri Jul 28 09:03:54 2006 +0100 Fix 8641HPCN pollution commit 515ab8a62e8574e2babc6e8dcc43544ad221c5b2 Author: John Traill -Date: Fri Jul 28 08:16:06 2006 +0100 +Date: Fri Jul 28 08:16:06 2006 +0100 Fix 8641HPCN timebase commit c86360b830f1eecd7a72208575dde4f57879faea Author: Zhang Wei -Date: Fri Jul 28 00:01:34 2006 +0800 +Date: Fri Jul 28 00:01:34 2006 +0800 Fixed OF device tree of mpc86xxhpcn board. @@ -686,7 +726,7 @@ Date: Fri Jul 28 00:01:34 2006 +0800 commit bea3f28d285942bf3f7ab339ce85178ded544225 Author: Haiying Wang -Date: Wed Jul 12 10:48:05 2006 -0400 +Date: Wed Jul 12 10:48:05 2006 -0400 Add support for reading and writing mac addresses to or from ID EEPROM. @@ -708,7 +748,7 @@ Date: Wed Jul 12 10:48:05 2006 -0400 commit fcb28e763415e0e4e66b0f45842d1557ae198e5e Author: Jin Zhengxiong -Date: Thu Jul 13 10:35:10 2006 -0500 +Date: Thu Jul 13 10:35:10 2006 -0500 Fixed initrd issue by define big RAM @@ -716,7 +756,7 @@ Date: Thu Jul 13 10:35:10 2006 -0500 commit e6cd2a1785d74ec3d30a86f1cb360be8de478151 Author: Jason Jin -Date: Fri Jul 7 10:01:45 2006 -0500 +Date: Fri Jul 7 10:01:45 2006 -0500 We made a u-boot patch to fix the hang up issue when booting filesystem from ramdisk. @@ -725,7 +765,7 @@ Date: Fri Jul 7 10:01:45 2006 -0500 commit 38433ccc5850ee70549af0b2bc5b920355ef5388 Author: Matthew McClintock -Date: Wed Jun 28 10:47:03 2006 -0500 +Date: Wed Jun 28 10:47:03 2006 -0500 * Switched default PCI speed for 8540 ADS back to 33MHz * Added comments and a printf to warn that PCI-X won't @@ -736,7 +776,7 @@ Date: Wed Jun 28 10:47:03 2006 -0500 commit e4c2a0eb0c3e3ffbf824800184ee42bdc99d5b19 Author: Matthew McClintock -Date: Wed Jun 28 10:46:35 2006 -0500 +Date: Wed Jun 28 10:46:35 2006 -0500 * Fixed a bug where 8555 PCI code used the old variable and function names @@ -746,7 +786,7 @@ Date: Wed Jun 28 10:46:35 2006 -0500 commit cbfc7ce756b88eb26e5537bc7b625c445c6dcfac Author: Matthew McClintock -Date: Wed Jun 28 10:46:13 2006 -0500 +Date: Wed Jun 28 10:46:13 2006 -0500 * Added VIA configuration table * Added support for PCI2 on CDS @@ -756,7 +796,7 @@ Date: Wed Jun 28 10:46:13 2006 -0500 commit 52c7a68b8d587ebcf5a6b051b58b3d3ffa377ddc Author: Matthew McClintock -Date: Wed Jun 28 10:45:41 2006 -0500 +Date: Wed Jun 28 10:45:41 2006 -0500 * Fixed PCI memory definitions Patch by Andy Fleming 17-Mar-2006 @@ -765,7 +805,7 @@ Date: Wed Jun 28 10:45:41 2006 -0500 commit 087454609e47295443af793a282cddcd91a5f49c Author: Matthew McClintock -Date: Wed Jun 28 10:45:17 2006 -0500 +Date: Wed Jun 28 10:45:17 2006 -0500 * Added support for initializing second PCI bus on 85xx Patch by Andy Fleming 17-Mar-2006 @@ -774,7 +814,7 @@ Date: Wed Jun 28 10:45:17 2006 -0500 commit b636aaeb6fd516a442fb611bbeeddf3077a687fb Author: Matthew McClintock -Date: Wed Jun 28 10:44:49 2006 -0500 +Date: Wed Jun 28 10:44:49 2006 -0500 * Added PCI-X #defines for PCI-X initialization Patch by Andy Fleming on 17-Mar-2006 @@ -783,7 +823,7 @@ Date: Wed Jun 28 10:44:49 2006 -0500 commit 20abbc6fffa115690107cc942c7abf84bdc03a1b Author: Matthew McClintock -Date: Wed Jun 28 10:44:23 2006 -0500 +Date: Wed Jun 28 10:44:23 2006 -0500 * Made sure the code which disables prefetch for PCI devices sets the size of the prefetch region to 0 @@ -793,7 +833,7 @@ Date: Wed Jun 28 10:44:23 2006 -0500 commit 40d5fa35d02df22580593bf0039ab173367e8ef0 Author: Matthew McClintock -Date: Wed Jun 28 10:43:36 2006 -0500 +Date: Wed Jun 28 10:43:36 2006 -0500 * Add Flat Dev Tree construction for MPC85xx ADS and CDS boards Patch by Jon Loeliger 17-Jan-2006 @@ -802,7 +842,7 @@ Date: Wed Jun 28 10:43:36 2006 -0500 commit be7e8b0cb5a0c49dc180075b96df296a893bf146 Author: Matthew McClintock -Date: Wed Jun 28 10:43:00 2006 -0500 +Date: Wed Jun 28 10:43:00 2006 -0500 * Removed the oftree.dts for stxxtx in light of the changes to the flat device tree handling code @@ -810,21 +850,21 @@ Date: Wed Jun 28 10:43:00 2006 -0500 commit 1b380ec225665e73959677f3893dc658c5925e05 Author: Matthew McClintock -Date: Wed Jun 28 10:42:24 2006 -0500 +Date: Wed Jun 28 10:42:24 2006 -0500 * Patch to modify ft_build.c to update flat device trees in place Patch by Matthew McClintock 26-June-2006 commit 98a9c4d468a942a09ebe8979bec508017f3e4462 Author: Matthew McClintock -Date: Wed Jun 28 10:41:37 2006 -0500 +Date: Wed Jun 28 10:41:37 2006 -0500 * Modify bootm command to support booting with flat device trees Patch by Matthew McClintock 26-June-2006 commit da012ab661fd4ab169dd7b9b32201a4df62cf34a Author: Jin Zhengxiong -Date: Wed Jun 28 08:43:56 2006 -0500 +Date: Wed Jun 28 08:43:56 2006 -0500 Change Id to symbolic name for RTL8139 @@ -832,7 +872,7 @@ Date: Wed Jun 28 08:43:56 2006 -0500 commit bc09cf3c2bfb8d54c659cbb332f79d0950982fd0 Author: Jin Zhengxiong-R64188 -Date: Tue Jun 27 18:12:10 2006 +0800 +Date: Tue Jun 27 18:12:10 2006 +0800 Fix RTL8139 in big endian @@ -841,7 +881,7 @@ Date: Tue Jun 27 18:12:10 2006 +0800 commit fcfb9a57947fc203b99fe81ab0578f7286261f9f Author: Jin Zhengxiong-R64188 -Date: Tue Jun 27 18:12:23 2006 +0800 +Date: Tue Jun 27 18:12:23 2006 +0800 Fix Tsec bug when no link @@ -853,7 +893,7 @@ Date: Tue Jun 27 18:12:23 2006 +0800 commit bd22c2b97514fbfb0e03bd9c72b3445e4dbd57e2 Author: Jin Zhengxiong-R64188 -Date: Tue Jun 27 18:12:02 2006 +0800 +Date: Tue Jun 27 18:12:02 2006 +0800 Fix bug for io_bar size during pci scan @@ -865,7 +905,7 @@ Date: Tue Jun 27 18:12:02 2006 +0800 commit fa7db9c377bc2353a17bf1d381d65a6c418728f0 Author: Jin Zhengxiong-R64188 -Date: Tue Jun 27 18:11:54 2006 +0800 +Date: Tue Jun 27 18:11:54 2006 +0800 Enable PCIE1 for MPC8641HPCN board @@ -873,7 +913,7 @@ Date: Tue Jun 27 18:11:54 2006 +0800 commit 684623ce92c5fd32e7db2d6e016945a67c5ffaba Author: Jon Loeliger -Date: Thu Jun 22 08:51:46 2006 -0500 +Date: Thu Jun 22 08:51:46 2006 -0500 Fix bug in 8641hpcn reset command with no args. @@ -882,13 +922,13 @@ Date: Thu Jun 22 08:51:46 2006 -0500 commit 8be429a5ddbf0ebe2d94174ba58fcfc7a24285dc Author: Zhang Wei -Date: Tue Jun 20 17:47:15 2006 +0800 +Date: Tue Jun 20 17:47:15 2006 +0800 Reworked IRQ mapping in OF-tree. commit 0e4c2a17ca34001ed36d259f13cb88ada4611a8c Author: Jon Loeliger -Date: Thu Jun 15 21:33:37 2006 -0500 +Date: Thu Jun 15 21:33:37 2006 -0500 Do not enable address translation on secondary CPUs. Do not set up BATs on secondary CPUs. Let Linux do the nasty. @@ -897,7 +937,7 @@ Date: Thu Jun 15 21:33:37 2006 -0500 commit 8ecc971618f56029ad99d3516f8b297a6ed58971 Author: Jon Loeliger -Date: Wed Jun 7 10:53:55 2006 -0500 +Date: Wed Jun 7 10:53:55 2006 -0500 Fix a get_board_sys_clk() use-before-def warning. @@ -905,7 +945,7 @@ Date: Wed Jun 7 10:53:55 2006 -0500 commit d9bf4858fca5aa4d651b283270f77da72ebadfd5 Author: Jon Loeliger -Date: Wed Jun 7 10:52:49 2006 -0500 +Date: Wed Jun 7 10:52:49 2006 -0500 Allow DTC path to be passed in. @@ -913,13 +953,13 @@ Date: Wed Jun 7 10:52:49 2006 -0500 commit c83ae9ea6d93abbe751bf8a3396236a084e56f87 Author: Haiying Wang -Date: Tue Jun 6 16:54:29 2006 -0400 +Date: Tue Jun 6 16:54:29 2006 -0400 Modify the IRQ of DUART2 commit c934f655f9aeca70a5c5f88b465d9e9d57a8d22e Author: Jon Loeliger -Date: Wed May 31 13:55:35 2006 -0500 +Date: Wed May 31 13:55:35 2006 -0500 Review cleanups. @@ -927,7 +967,7 @@ Date: Wed May 31 13:55:35 2006 -0500 commit cb5965fb95b77a49f4e6af95248e0c849f4af03e Author: Jon Loeliger -Date: Wed May 31 12:44:44 2006 -0500 +Date: Wed May 31 12:44:44 2006 -0500 White space cleanup. Some 80-column cleanups. @@ -939,7 +979,7 @@ Date: Wed May 31 12:44:44 2006 -0500 commit 3d5c5be547445dd3bd2eb7368d80df03ea437970 Author: Jon Loeliger -Date: Wed May 31 11:39:34 2006 -0500 +Date: Wed May 31 11:39:34 2006 -0500 Removed unneeded local_bus_init() from 8641HPCN board. @@ -947,7 +987,7 @@ Date: Wed May 31 11:39:34 2006 -0500 commit 4d3d729c16c392d2982d3266b659d333c927697d Author: Jon Loeliger -Date: Wed May 31 11:24:28 2006 -0500 +Date: Wed May 31 11:24:28 2006 -0500 Moved mpc8641hpcn_board_reset() out of cpu/ into board/. @@ -955,7 +995,7 @@ Date: Wed May 31 11:24:28 2006 -0500 commit b2a941de060350ad15878d8219825f4950e9bb8e Author: Jon Loeliger -Date: Wed May 31 10:07:28 2006 -0500 +Date: Wed May 31 10:07:28 2006 -0500 Remove dead debug code. @@ -963,7 +1003,7 @@ Date: Wed May 31 10:07:28 2006 -0500 commit 126aa70f10ba3d20e0a6f4d32328250513b77770 Author: Jon Loeliger -Date: Tue May 30 17:47:00 2006 -0500 +Date: Tue May 30 17:47:00 2006 -0500 Move mpc86xx PIXIS code to board directory @@ -975,30 +1015,30 @@ Date: Tue May 30 17:47:00 2006 -0500 commit 38cee12dcfcc257371c901c7e13e58ecab0a35d8 Author: Haiying Wang -Date: Tue May 30 09:10:32 2006 -0500 +Date: Tue May 30 09:10:32 2006 -0500 Improve "reset" command's interaction with watchdog. - "reset altbank" will reset another bank WITHOUT watch dog timer enabled - "reset altbank wd" will reset another bank WITH watch dog enabled - "diswd" will disable watch dog after u-boot boots up successfully + "reset altbank" will reset another bank WITHOUT watch dog timer enabled + "reset altbank wd" will reset another bank WITH watch dog enabled + "diswd" will disable watch dog after u-boot boots up successfully Signed-off-by: Haiying Wang commit 70205e5a6ddc8528b11db9eb4d3fa0209d9fce2a Author: Haiying Wang -Date: Tue May 30 08:51:19 2006 -0500 +Date: Tue May 30 08:51:19 2006 -0500 Fix two SDRAM setup bugs. - Fix ECC setup bug. - Enable 1T/2T based on number of DIMMs present. + Fix ECC setup bug. + Enable 1T/2T based on number of DIMMs present. Signed-off-by: Haiying Wang commit d11fec5015334deb2010e36ce00bb118cc5429a5 Author: Haiying Wang -Date: Fri May 26 10:24:48 2006 -0500 +Date: Fri May 26 10:24:48 2006 -0500 Add first draft of the MPC8641HPCN doc/README. @@ -1006,7 +1046,7 @@ Date: Fri May 26 10:24:48 2006 -0500 commit ed45d6c930b5939718a87ee12e25cf9a05978d4a Author: Haiying Wang -Date: Fri May 26 10:13:04 2006 -0500 +Date: Fri May 26 10:13:04 2006 -0500 Added pci@8000 block. Updated ethernet interrupt mappings (moved up 48). @@ -1016,7 +1056,7 @@ Date: Fri May 26 10:13:04 2006 -0500 commit 3033ebb20fd7c372c7bca3c9955a4692bb2240b7 Author: Haiying Wang -Date: Fri May 26 10:01:16 2006 -0500 +Date: Fri May 26 10:01:16 2006 -0500 Allow args on reset command. @@ -1024,43 +1064,43 @@ Date: Fri May 26 10:01:16 2006 -0500 commit 14e37081ff3cac7ebe6e93836523429853b6b292 Author: Jon Loeliger -Date: Fri May 19 13:28:39 2006 -0500 +Date: Fri May 19 13:28:39 2006 -0500 Change arbitration to round-robin for SMP linux. commit 9a655876e5995be80f49054e2509500e871e4d3a Author: Jon Loeliger -Date: Fri May 19 13:26:34 2006 -0500 +Date: Fri May 19 13:26:34 2006 -0500 Enable dual DDR controllers and interleaving. commit 586d1d5abd3e525f1e1d9b81e5a61a4da6b2fa3c Author: Jon Loeliger -Date: Fri May 19 13:22:44 2006 -0500 +Date: Fri May 19 13:22:44 2006 -0500 Update 86xx address map and LAWBARs. commit cccce5d0581bb0ba4602799a4b5112e58d1579cb Author: Jon Loeliger -Date: Fri May 19 13:14:15 2006 -0500 +Date: Fri May 19 13:14:15 2006 -0500 Remove L2 Cache invalidate polling. commit f35ec68fb066cec0e36294bfe07dec2d4e8ad3a8 Author: Jon Loeliger -Date: Fri May 19 12:33:09 2006 -0500 +Date: Fri May 19 12:33:09 2006 -0500 Enable 2nd CPU and I2C. commit bf690dcb512d34c4fceec0eb1e5c0e88a9db5d54 Author: Jon Loeliger -Date: Mon May 15 07:26:56 2006 -0500 +Date: Mon May 15 07:26:56 2006 -0500 Update interrupt mapping. commit 6cfea33477b04b63ed47386ed1629529484c33ba Author: Haiying Wang -Date: Wed May 10 09:38:06 2006 -0500 +Date: Wed May 10 09:38:06 2006 -0500 Remove unneeded INIT_RAM_LOCK cache twiddling. Correctly tracks r29 as global data pointer now. @@ -1069,25 +1109,25 @@ Date: Wed May 10 09:38:06 2006 -0500 commit d4dd317b58c126a2a7e73f4764ecc1a7c97f876c Author: Jon Loeliger -Date: Wed May 10 09:33:07 2006 -0500 +Date: Wed May 10 09:33:07 2006 -0500 Remove unnecessary flash.c file. commit 18b6c8cd8af6cc7f35180cedc4adb3236cc1a1b8 Author: Jon Loeliger -Date: Tue May 9 08:23:49 2006 -0500 +Date: Tue May 9 08:23:49 2006 -0500 Get MPC8641HPCN flash images working. - Enable the CFI driver. - Remove bogus LAWBAR7 cruft. - Use correct TEXT_BASE, Fixup load script. - Enable SPD EEPROM during DDR setup. - Use generic RFC 1918 IP addresses by default. + Enable the CFI driver. + Remove bogus LAWBAR7 cruft. + Use correct TEXT_BASE, Fixup load script. + Enable SPD EEPROM during DDR setup. + Use generic RFC 1918 IP addresses by default. commit 5c9efb36a6b5431423f52888a0e3b4b515fe7eca Author: Jon Loeliger -Date: Thu Apr 27 10:15:16 2006 -0500 +Date: Thu Apr 27 10:15:16 2006 -0500 Cleanup whitespaces and style issues. Removed //-style comments. @@ -1097,12 +1137,12 @@ Date: Thu Apr 27 10:15:16 2006 -0500 commit a2320a6bf8113a09544c42d160d10ac69d049a03 Author: Jon Loeliger -Date: Thu Apr 27 08:22:39 2006 -0500 +Date: Thu Apr 27 08:22:39 2006 -0500 Revert bad PCI prefetch limit change. commit debb7354d1ea4f694154818df5e5b523f5c1cc1d Author: Jon Loeliger -Date: Wed Apr 26 17:58:56 2006 -0500 +Date: Wed Apr 26 17:58:56 2006 -0500 Initial support for MPC8641 HPCN board. diff --git a/Makefile b/Makefile index c2e47d4034a..c871d49676f 100644 --- a/Makefile +++ b/Makefile @@ -330,7 +330,7 @@ endif .PHONY : CHANGELOG CHANGELOG: - git log --no-merges U-Boot-1_1_5.. > $@ + git log --no-merges U-Boot-1_1_5.. | unexpand -a > $@ ######################################################################### diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index ab3c32ca325..3091a58897d 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -929,7 +929,7 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag, */ (*kernel) (kbd, initrd_start, initrd_end, cmd_start, cmd_end); -#else +#else /* CONFIG_OF_FLAT_TREE */ /* move of_flat_tree if needed */ if (of_data) { ulong of_start, of_len; @@ -971,8 +971,7 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag, /* ft_dump_blob(of_flat_tree); */ (*kernel) ((bd_t *)of_flat_tree, (ulong)kernel, 0, 0, 0); } - -#endif +#endif /* CONFIG_OF_FLAT_TREE */ } #endif /* CONFIG_PPC */ diff --git a/common/cmd_dcr.c b/common/cmd_dcr.c index 5fe2ede52fb..7221a865ed4 100644 --- a/common/cmd_dcr.c +++ b/common/cmd_dcr.c @@ -181,7 +181,7 @@ int do_setidcr (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) if (argc < 4) { printf ("Usage:\n%s\n", cmdtp->usage); return 1; - } + } /* Find out whether ther is '.' (dot) symbol in the first parameter. */ strncpy (buf, argv[1], sizeof(buf)-1); @@ -198,9 +198,9 @@ int do_setidcr (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) * First parameter has format adr_dcrn; dat_dcrn will be * calculated as adr_dcrn+1. */ - adr_dcrn = (unsigned short) simple_strtoul (buf, NULL, 16); - dat_dcrn = adr_dcrn+1; - } + adr_dcrn = (unsigned short) simple_strtoul (buf, NULL, 16); + dat_dcrn = adr_dcrn+1; + } /* Register's offset */ offset = (unsigned short) simple_strtoul (argv[2], NULL, 16); -- cgit v1.3.1 From b985b5d6e4fb88f508f7aa0f126c2e27ada2b999 Mon Sep 17 00:00:00 2001 From: Ben Warren Date: Thu, 26 Oct 2006 14:38:25 -0400 Subject: Fix TSEC driver: avoid crashes if PHY is not attached to a TSEC (e.g. a switch is connected via RMII) or if the PHY is defective/incorrectly configured. Signed-off-by: Ben Warren --- CHANGELOG | 230 ++++++++++++++++++++++++++++++++------------------------------ Makefile | 3 +- 2 files changed, 120 insertions(+), 113 deletions(-) (limited to 'Makefile') diff --git a/CHANGELOG b/CHANGELOG index 8f68b8e9136..9bcbcb40862 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,17 +1,23 @@ +commit 2b2a40bebbf1822506e80e631d7253e60f0e0fe6 +Author: Wolfgang Denk +Date: Thu Oct 26 16:24:31 2006 +0200 + + Code cleanup. + commit 5e3b0bc19f07ed277d85324ad0427642c8981baf Author: Haavard Skinnemoen Date: Wed Oct 25 15:48:59 2006 +0200 Finish up support for the ATSTK1000/ATSTK1002 boards - + Add atstk1002_config target to Makefile and move the AVR32 section down below Blackfin so that it doesn't end up in the middle of MIPS. - + Drop the autogenerated linker script thing for now. Will have to revisit how to handle chips with different flash and RAM layout later. - + Signed-off-by: Haavard Skinnemoen commit c76f951a747cfb87ba826ef45b5aea82d5b5dbb4 @@ -19,16 +25,16 @@ Author: Kumar Gala Date: Tue Oct 24 23:47:37 2006 -0500 Added support for Multi-Image files that contain a device tree - + If a Multi-Image file contains a third image we try to use it as a device tree. The device tree image is assumed to be uncompressed in the image file. We automatically allocate space for the device tree in memory and provide an 8k pad to allow more than a reasonable amount of growth. - + Additionally, a device tree that was contained in flash will now automatically get copied to system memory as part of boot. Previously an error was reported if one tried to boot a device tree that was in flash. - + Signed-off-by: Kumar Gala commit 7c52c4b943ff52bbe8796a7e2d3e476ceaf3f512 @@ -70,20 +76,20 @@ Date: Tue Oct 24 14:42:37 2006 +0200 Add ATSTK1000 and ATSTK1002 board support Patch by Haavard Skinnemoen, 06 Sep 2006 - + This patch adds support for the ATSTK1000 with the ATSTK1002 CPU daughterboard. - + ATSTK1000 is a full-featured development board for AT32AP CPUs. It has two ethernet ports, a high quality QVGA LCD panel, a loudspeaker, and connectors for USART, PS/2, VGA, USB, MMC/SD cards and CompactFlash cards. For more information, please see this page: - + http://www.atmel.com/dyn/products/tools.asp?family_id=682 - + The ATSTK1002 is a daughterboard for the ATSTK1000 supporting the AT32AP7000 chip. - + Signed-off-by: Haavard Skinnemoen commit f93ae788c3640fcde5db383471d45548ff4060d0 @@ -92,12 +98,12 @@ Date: Tue Oct 24 14:31:24 2006 +0200 Add common serial driver for Atmel AT32 and AT91 chips Patch by Haavard Skinnemoen, 06 Sep 2006 - + This is a first attempt at creating a common serial driver for Atmel chips. For now, it supports the AT32AP7000 AVR32 chip, but it should be possible to support AT91RM9200 and other ARM-based chips with some minor modifications. - + There's nothing fundamentally AVR32-specific in this driver, but it does use some features which are currently only defined for the AT32AP CPU port: @@ -105,7 +111,7 @@ Date: Tue Oct 24 14:31:24 2006 +0200 * gd->console_uart: A "struct device" containing information about register mappings, gpio resources and clocks associated with the UART device. - + For more information about these features, please see the "AT32AP CPU" patch. @@ -115,23 +121,23 @@ Date: Tue Oct 24 14:27:35 2006 +0200 Add AT32AP CPU and AT32AP7000 SoC support Patch by Haavard Skinnemoen, 06 Sep 2006 - + This patch adds support for the AT32AP CPU family and the AT32AP7000 chip, which is the first chip implementing the AVR32 architecture. - + The AT32AP CPU core is a high-performance implementation featuring a 7-stage pipeline, separate instruction- and data caches, and a MMU. For more information, please see the "AVR32 AP Technical Reference": - + http://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf - + In addition to this, the AT32AP7000 chip comes with a large set of integrated peripherals, many of which are shared with the AT91 series of ARM-based microcontrollers from Atmel. Full data sheet is available here: - + http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf - + Signed-off-by: Haavard Skinnemoen commit 7b64fef33c66be648826c0ff9758298ef13d0604 @@ -140,10 +146,10 @@ Date: Tue Oct 24 14:21:16 2006 +0200 Add AVR32 architecture support Patch by Haavard Skinnemoen, 6 Sep 2006 16:23:02 +0200 - + This patch adds common infrastructure code for the Atmel AVR32 architecture. See doc/README.AVR32 for details. - + Signed-off-by: Haavard Skinnemoen commit 2da2d9a4766063b9848f3a35ad6025499cf87265 @@ -152,7 +158,7 @@ Date: Tue Oct 24 13:57:33 2006 +0200 Use -g instead of -gstabs in AFLAGS_DEBUG Patch by Haavard Skinnemoen, 30 Aug 2006 - + In config.mk, -Wa,-gstabs is unconditionally appended to AFLAGS no matter what the target's preferred debugging format is. This patch simply replaces -gstabs with -g, so that the default debugging format @@ -176,10 +182,10 @@ Author: Jon Loeliger Date: Fri Oct 20 17:16:35 2006 -0500 Use generic I2C register block on 85xx and 86xx. - + Replace private IMMAP I2C structures with generic reg block and allow 86xx to have multiple I2C device busses. - + Signed-off-by: Jon Loeliger commit f5012827df11ca0c9be1df5f8b153e188dc2fa7c @@ -187,7 +193,7 @@ Author: Jon Loeliger Date: Fri Oct 20 15:54:34 2006 -0500 Fix compilation warnings on a few 85xx boards. - + Signed-off-by: Jon Loeliger commit 2047672684cf85cb6f96a1fbc993180aaaf19a99 @@ -198,7 +204,7 @@ Date: Fri Oct 20 15:50:15 2006 -0500 Introduced COFIG_FSL_I2C to select the common FSL I2C driver. And removed hard i2c path from a few u-boot.lds scipts too. Minor whitespace cleanups along the way. - + Signed-off-by: Jon Loeliger commit 4d45f69e362b05892c9e92a7907e5820995612aa @@ -207,11 +213,11 @@ Date: Thu Oct 19 12:02:24 2006 -0500 Rewrite a series of goto statements as a sequences of conditional expressions instead. - + Use consistent return code 0/-1 for good/bad indicators. - + Include one fewer file if the driver isn't used at all. - + Signed-off-by: Jon Loeliger commit 7237c033b02fe295880435f1eb80819a0c987532 @@ -219,10 +225,10 @@ Author: Jon Loeliger Date: Thu Oct 19 11:02:16 2006 -0500 Moved i2c driver out of cpu/mpc86xx/i2c.c into drivers/fsl_i2c.c - + in an effort to begin to unify the umpteen FSL I2C drivers that are all otherwise very similar. - + Signed-off-by: Jon Loeliger commit 13a7fcdf37f6ea9429ae04c9df67f893364cfe4b @@ -230,7 +236,7 @@ Author: Jon Loeliger Date: Thu Oct 19 11:33:52 2006 -0500 * Fix a bunch of compiler warnings for gcc 4.0 - + Signed-off-by: Matthew McClintock commit af9e1f5b9e6f9ce810f5e8bf2961c9542a5865c2 @@ -246,7 +252,7 @@ Date: Fri Oct 13 16:47:53 2006 -0500 Fixed leading whitespace issues. Removed spurious LAWAR thing. - + Signed-off-by: Jon Loeliger commit 0ee90cb77e01d6e8ccd37e1bd96678597875c391 @@ -254,7 +260,7 @@ Author: Jon Loeliger Date: Thu Oct 12 10:42:36 2006 -0500 Remove unneeded include files and local variable. - + Signed-off-by: Jon Loeliger commit 1eaf3a5ff4960a46f3a9063568ba2af7883f07c5 @@ -262,13 +268,13 @@ Author: Grant Likely Date: Tue Oct 10 00:23:32 2006 -0600 Fix possible uninitialized variable compiler warning. - + When CONFIG_OF_FLAG_TREE is set, the compiler complains that 'len' in do_bootm_linux() may be uninitialized. There is no possibility in the current code that len will get used uninitialized, but this fix follows the existing convention of setting both len and data to zero at the same time. - + Signed-off-by: Grant Likely commit 7376eb87aaa601f728f9b8e5e9cd2711a67f529e @@ -276,7 +282,7 @@ Author: Matthew McClintock Date: Wed Oct 11 15:13:01 2006 -0500 * Fix a bunch of compiler warnings for gcc 4.0 - + Signed-off-by: Matthew McClintock commit bf651baa365e5447246aad6a633ccd667cf24a39 @@ -328,7 +334,7 @@ Author: John Traill Date: Fri Sep 29 08:23:12 2006 +0100 Fix missing tCycle/modfreq calculation. - + Signed-off-by: John Traill commit 8272dc2f58f2473d8995fcc9b916440cfba080f0 @@ -342,7 +348,7 @@ Author: Andy Fleming Date: Wed Sep 13 10:34:18 2006 -0500 Add support for eTSEC 3 & 4 on 8548 CDS - + * Added support for using eTSEC 3 and eTSEC 4 on the 8548 CDS. This will only work on rev 1.3 boards (but doesn't break older boards) * Cleaned up some comments to reflect the expanded role of tsec @@ -353,7 +359,7 @@ Author: Andy Fleming Date: Wed Sep 13 10:33:56 2006 -0500 Added code to support 2.6.18 PCI changes in u-boot - + * Added code to swizzle the IRQ map for the PCI commit afbdc649f8751e4f4f1a6f527edfe139773f2c15 @@ -361,7 +367,7 @@ Author: Jon Loeliger Date: Tue Sep 19 09:34:10 2006 -0500 Modified makefile for new build mechanism. - + Signed-off-by: Jon Loeliger commit d14ba6a798beb753e7a864500414fcc2d198b8bc @@ -372,7 +378,7 @@ Date: Thu Sep 14 08:40:36 2006 -0500 Both 8641 and 8641D have SVR == 0x8090, and are distinguished by the byte in bits 16-23 instead. Thanks to Jason Jin for noticing. - + Signed-off-by: Jon Loeliger commit 88c8f4921fc47fb0eb2384b16586f1bd7f275be7 @@ -381,7 +387,7 @@ Date: Mon Aug 28 14:25:31 2006 +0800 Fixed an OF-tree off-by-one bug when adding a new property name. This bug will cause the kernel booting to pause a long time. - + Signed-off-by: Zhang Wei (cherry picked from 2f15776ccc6dc32377d8ba9652b8f58059c27c6d commit) @@ -409,7 +415,7 @@ Date: Mon Aug 28 14:25:31 2006 +0800 Fixed an OF-tree off-by-one bug when adding a new property name. This bug will cause the kernel booting to pause a long time. - + Signed-off-by: Zhang Wei commit 5567806b67d0ae83493aa8823ad3b6c914f581d7 @@ -418,7 +424,7 @@ Date: Fri Aug 25 14:38:34 2006 -0400 Change ramdiskaddr and dtbaddr Remove PEX fluff commands. - + Signed-off-by: Haiying Wang Signed-off-by: Jon Loeliger @@ -427,7 +433,7 @@ Author: Matthew McClintock Date: Wed Aug 23 13:32:45 2006 -0500 * Another small fix for booting with disable_of - + Signed-off-by: Matthew McClintock commit 4a7cc0f21918e6ecf07ed57075d67df2c4a1299c @@ -441,7 +447,7 @@ Author: Jin Zhengxiong Date: Wed Aug 23 19:15:12 2006 +0800 Add AHCI define and sata support for MPC8641HPCN board. - + Signed-off-by:Jason Jin commit 4782ac80b02f0d01afd309e2200dd3c7037f2ba4 @@ -449,10 +455,10 @@ Author: Jin Zhengxiong Date: Wed Aug 23 19:10:44 2006 +0800 Add AHCI support to u-boot - + Add AHCI support in u-boot, enable the sata disk controllers which following the AHCI protocol. - + Signed-off-by:Jason Jin commit d8ea2acf5f137cae99417df4f573d036ee384668 @@ -460,7 +466,7 @@ Author: Zhang Wei Date: Wed Aug 23 17:54:32 2006 +0800 Add dtb boot-up parameter to default boot commands. - + Signed-off-by: Zhang Wei commit b93775c2036b99baa390ea425c4771895bbc63c4 @@ -504,7 +510,7 @@ Author: Matthew McClintock Date: Tue Aug 22 09:31:59 2006 -0500 Fix disable_of booting - + Signed-off-by: Matthew McClintock commit 87a449c8ac396420cb24260f717ea9e6faa82047 @@ -512,7 +518,7 @@ Author: Matthew McClintock Date: Tue Aug 22 09:23:55 2006 -0500 Support for FDT in uImage format, error when using FDT from flash - + Signed-off-by: Matthew McClintock commit 75c299c38369d01addd5e054b8a16217b70f4a86 @@ -544,7 +550,7 @@ Author: Matthew McClintock Date: Wed Aug 16 13:59:47 2006 -0500 * Fix disable_of booting - + Signed-off-by: Matthew McClintock commit 25c751e9adc86e22fe3b5b47cf2806379b575db7 @@ -552,7 +558,7 @@ Author: Matthew McClintock Date: Wed Aug 16 10:54:09 2006 -0500 * Support for FDT in uImage format, error when using FDT from flash - + Signed-off-by: Matthew McClintock commit fecf1c7e4de1b2779edc18742b91c22bdc32b68b @@ -560,7 +566,7 @@ Author: Jon Loeliger Date: Mon Aug 14 15:33:38 2006 -0500 Fix BAT0 to actually be cacheable, non-guarded as documented. - + Signed-off-by: Jon Loeliger commit 40bc83559db5745681909fd7382ae509567e116d @@ -570,7 +576,7 @@ Date: Wed Aug 9 15:32:16 2006 -0500 Removed MPC8641HPCN DTS source file from build. It is no longer linked into U-Boot; its sources are now located in the kernel tree. - + Signed-off-by: Jon Loeliger commit 34c3c0e01dbf1f8cc2bd08de92f2b89ba84921eb @@ -578,11 +584,11 @@ Author: Matthew McClintock Date: Wed Jun 28 10:47:03 2006 -0500 * Switched default PCI speed for 8540 ADS back to 33MHz - + * Added comments and a printf to warn that PCI-X won't work at 33MHz Patch by Andy Fleming 17-Mar-2006 - + Signed-off-by: Andy Fleming commit b6c5e1373b6ea0bb37a18e4aeecec00613d1cd39 @@ -590,7 +596,7 @@ Author: Matthew McClintock Date: Wed Jun 28 10:46:35 2006 -0500 * Fixed a bug where 8555 PCI code used the old variable and function names Patch by Andy Fleming 17-Mar-2006 - + Signed-off-by: Andy Fleming commit bf1dfffd8c26f8ecdd630a0ae4c834e751e4e452 @@ -598,10 +604,10 @@ Author: Matthew McClintock Date: Wed Jun 28 10:46:13 2006 -0500 * Added VIA configuration table - + * Added support for PCI2 on CDS Patch by Andy Fleming 17-Mar-2006 - + Signed-off-by: Andy Fleming commit c88f9fe66b64247e5b6a38410ba315ca25596d16 @@ -609,7 +615,7 @@ Author: Matthew McClintock Date: Wed Jun 28 10:45:41 2006 -0500 * Fixed PCI memory definitions Patch by Andy Fleming 17-Mar-2006 - + Signed-off-by: Andy Fleming commit 97074ed9655309b64231bc2cee69fe85399f8055 @@ -617,7 +623,7 @@ Author: Matthew McClintock Date: Wed Jun 28 10:45:17 2006 -0500 * Added support for initializing second PCI bus on 85xx Patch by Andy Fleming 17-Mar-2006 - + Signed-off-by: Andy Fleming commit f0e6f57f71b3c4fdd13028eb03c3f3e91926dda2 @@ -625,7 +631,7 @@ Author: Matthew McClintock Date: Wed Jun 28 10:44:49 2006 -0500 * Added PCI-X #defines for PCI-X initialization Patch by Andy Fleming on 17-Mar-2006 - + Signed-off-by: Andy Fleming commit a4e11558b810ef2cddffdf7b9d86bc1130441960 @@ -633,7 +639,7 @@ Author: Matthew McClintock Date: Wed Jun 28 10:44:23 2006 -0500 * Made sure the code which disables prefetch for PCI devices sets the size of the prefetch region to 0 Patch by Andy Fleming on 17-Mar-2006 - + Signed-off-by: Andy Fleming commit 0e16387db1d4aacd5bf35cb6d7c1942765c0347b @@ -641,7 +647,7 @@ Author: Matthew McClintock Date: Wed Jun 28 10:43:36 2006 -0500 * Add Flat Dev Tree construction for MPC85xx ADS and CDS boards Patch by Jon Loeliger 17-Jan-2006 - + Signed-off-by: Jon Loeliger commit 855e6fb073f9d04fe4a7f06c107ecbac6344ddd4 @@ -667,7 +673,7 @@ Author: John Traill Date: Wed Aug 9 14:33:50 2006 +0100 Add Rapidio support for the MPC8641HPCN - + Signed-off-by: John Traill commit 91a414c7d1fb0eac912592cd995b30c9f23045c9 @@ -675,7 +681,7 @@ Author: John Traill Date: Tue Aug 8 11:32:43 2006 +0100 Fix caslat calculation - + Signed-off-by: John Traill commit 709d3073e74153278e7904a70819bbef7df50e1a @@ -719,9 +725,9 @@ Author: Zhang Wei Date: Fri Jul 28 00:01:34 2006 +0800 Fixed OF device tree of mpc86xxhpcn board. - + The changes works in with kernel irq mapping rework. - + Signed-off-by: Zhang Wei commit bea3f28d285942bf3f7ab339ce85178ded544225 @@ -729,20 +735,20 @@ Author: Haiying Wang Date: Wed Jul 12 10:48:05 2006 -0400 Add support for reading and writing mac addresses to or from ID EEPROM. - + Added code for reading and writing Mac addresses to/from ID EEPROM(0x57). With attached patch, we can use command "mac/mac read/mac save/" to read and write EEPROM under u-boot prompt. - + U-boot will calculate the checksum of EEPROM while bootup, if it is right, then u-boot will check whether the mac address of eTSEC0/1/2/3 is availalbe (non-zero). - + If there is mac address availabe in EEPROM, u-boot will use it, otherewise, u-boot will use the mac address defined in MPC8641HPCN.h. This matches the requirement to set unique mac address for each TSEC port. - + Signed-off-by: Haiying Wang Signed-off-by: York Sun @@ -751,7 +757,7 @@ Author: Jin Zhengxiong Date: Thu Jul 13 10:35:10 2006 -0500 Fixed initrd issue by define big RAM - + Signed-off-by:Jason Jin commit e6cd2a1785d74ec3d30a86f1cb360be8de478151 @@ -760,7 +766,7 @@ Date: Fri Jul 7 10:01:45 2006 -0500 We made a u-boot patch to fix the hang up issue when booting filesystem from ramdisk. - + Signed-off-by:Jason Jin commit 38433ccc5850ee70549af0b2bc5b920355ef5388 @@ -771,7 +777,7 @@ Date: Wed Jun 28 10:47:03 2006 -0500 * Added comments and a printf to warn that PCI-X won't work at 33MHz Patch by Andy Fleming 17-Mar-2006 - + Signed-off-by: Andy Fleming commit e4c2a0eb0c3e3ffbf824800184ee42bdc99d5b19 @@ -781,7 +787,7 @@ Date: Wed Jun 28 10:46:35 2006 -0500 * Fixed a bug where 8555 PCI code used the old variable and function names Patch by Andy Fleming 17-Mar-2006 - + Signed-off-by: Andy Fleming commit cbfc7ce756b88eb26e5537bc7b625c445c6dcfac @@ -791,7 +797,7 @@ Date: Wed Jun 28 10:46:13 2006 -0500 * Added VIA configuration table * Added support for PCI2 on CDS Patch by Andy Fleming 17-Mar-2006 - + Signed-off-by: Andy Fleming commit 52c7a68b8d587ebcf5a6b051b58b3d3ffa377ddc @@ -800,7 +806,7 @@ Date: Wed Jun 28 10:45:41 2006 -0500 * Fixed PCI memory definitions Patch by Andy Fleming 17-Mar-2006 - + Signed-off-by: Andy Fleming commit 087454609e47295443af793a282cddcd91a5f49c @@ -809,7 +815,7 @@ Date: Wed Jun 28 10:45:17 2006 -0500 * Added support for initializing second PCI bus on 85xx Patch by Andy Fleming 17-Mar-2006 - + Signed-off-by: Andy Fleming commit b636aaeb6fd516a442fb611bbeeddf3077a687fb @@ -818,7 +824,7 @@ Date: Wed Jun 28 10:44:49 2006 -0500 * Added PCI-X #defines for PCI-X initialization Patch by Andy Fleming on 17-Mar-2006 - + Signed-off-by: Andy Fleming commit 20abbc6fffa115690107cc942c7abf84bdc03a1b @@ -828,7 +834,7 @@ Date: Wed Jun 28 10:44:23 2006 -0500 * Made sure the code which disables prefetch for PCI devices sets the size of the prefetch region to 0 Patch by Andy Fleming on 17-Mar-2006 - + Signed-off-by: Andy Fleming commit 40d5fa35d02df22580593bf0039ab173367e8ef0 @@ -837,7 +843,7 @@ Date: Wed Jun 28 10:43:36 2006 -0500 * Add Flat Dev Tree construction for MPC85xx ADS and CDS boards Patch by Jon Loeliger 17-Jan-2006 - + Signed-off-by: Jon Loeliger commit be7e8b0cb5a0c49dc180075b96df296a893bf146 @@ -867,7 +873,7 @@ Author: Jin Zhengxiong Date: Wed Jun 28 08:43:56 2006 -0500 Change Id to symbolic name for RTL8139 - + Signed-off-by: Jason Jin commit bc09cf3c2bfb8d54c659cbb332f79d0950982fd0 @@ -875,7 +881,7 @@ Author: Jin Zhengxiong-R64188 Date: Tue Jun 27 18:12:10 2006 +0800 Fix RTL8139 in big endian - + signed-off-by: Jason Jin signed-off-by: Wei Zhang @@ -884,11 +890,11 @@ Author: Jin Zhengxiong-R64188 Date: Tue Jun 27 18:12:23 2006 +0800 Fix Tsec bug when no link - + When tftp a non-exist file from the tftp server, u-boot will check the link of all eth port. The original file will return wrong link state on the no link ports. - + signed-off-by: Jason Jin commit bd22c2b97514fbfb0e03bd9c72b3445e4dbd57e2 @@ -896,11 +902,11 @@ Author: Jin Zhengxiong-R64188 Date: Tue Jun 27 18:12:02 2006 +0800 Fix bug for io_bar size during pci scan - + During the pci scan process, Some devices return bar_reponse with the highest bytes 0, such as the pci bridge in uli1575 return bar_response with 0xffffff, So the bar_size should be manually set under 64K. - + Signed-off-by: Jason Jin commit fa7db9c377bc2353a17bf1d381d65a6c418728f0 @@ -908,7 +914,7 @@ Author: Jin Zhengxiong-R64188 Date: Tue Jun 27 18:11:54 2006 +0800 Enable PCIE1 for MPC8641HPCN board - + Signed-off-by: Jason Jin commit 684623ce92c5fd32e7db2d6e016945a67c5ffaba @@ -916,7 +922,7 @@ Author: Jon Loeliger Date: Thu Jun 22 08:51:46 2006 -0500 Fix bug in 8641hpcn reset command with no args. - + Signed-off-by: Haiying Wang Acked-by: Jon Loeliger @@ -932,7 +938,7 @@ Date: Thu Jun 15 21:33:37 2006 -0500 Do not enable address translation on secondary CPUs. Do not set up BATs on secondary CPUs. Let Linux do the nasty. - + Signed-off-by: Jon Loeliger commit 8ecc971618f56029ad99d3516f8b297a6ed58971 @@ -940,7 +946,7 @@ Author: Jon Loeliger Date: Wed Jun 7 10:53:55 2006 -0500 Fix a get_board_sys_clk() use-before-def warning. - + Signed-off-by: Jon Loeliger commit d9bf4858fca5aa4d651b283270f77da72ebadfd5 @@ -948,7 +954,7 @@ Author: Jon Loeliger Date: Wed Jun 7 10:52:49 2006 -0500 Allow DTC path to be passed in. - + Signed-off-by: Jon Loeliger commit c83ae9ea6d93abbe751bf8a3396236a084e56f87 @@ -962,7 +968,7 @@ Author: Jon Loeliger Date: Wed May 31 13:55:35 2006 -0500 Review cleanups. - + Signed-off-by: Jon Loeliger commit cb5965fb95b77a49f4e6af95248e0c849f4af03e @@ -974,7 +980,7 @@ Date: Wed May 31 12:44:44 2006 -0500 Convert printf() to puts() where possible. Use #include "spd_sdram.h" as needed. Enhanced reset command usage message a bit. - + Signed-off-by: Jon Loeliger commit 3d5c5be547445dd3bd2eb7368d80df03ea437970 @@ -982,7 +988,7 @@ Author: Jon Loeliger Date: Wed May 31 11:39:34 2006 -0500 Removed unneeded local_bus_init() from 8641HPCN board. - + Signed-off-by: Jon Loeliger commit 4d3d729c16c392d2982d3266b659d333c927697d @@ -990,7 +996,7 @@ Author: Jon Loeliger Date: Wed May 31 11:24:28 2006 -0500 Moved mpc8641hpcn_board_reset() out of cpu/ into board/. - + Signed-off-by: Jon Loeliger commit b2a941de060350ad15878d8219825f4950e9bb8e @@ -998,7 +1004,7 @@ Author: Jon Loeliger Date: Wed May 31 10:07:28 2006 -0500 Remove dead debug code. - + Signed-off-by: Jon Loeliger commit 126aa70f10ba3d20e0a6f4d32328250513b77770 @@ -1006,11 +1012,11 @@ Author: Jon Loeliger Date: Tue May 30 17:47:00 2006 -0500 Move mpc86xx PIXIS code to board directory - + First cut at moving the PIXIS platform code out of the 86xx cpu directory and into board/mpc8641hpcn where it belongs. - + Signed-off-by: Jon Loeliger commit 38cee12dcfcc257371c901c7e13e58ecab0a35d8 @@ -1018,11 +1024,11 @@ Author: Haiying Wang Date: Tue May 30 09:10:32 2006 -0500 Improve "reset" command's interaction with watchdog. - + "reset altbank" will reset another bank WITHOUT watch dog timer enabled "reset altbank wd" will reset another bank WITH watch dog enabled "diswd" will disable watch dog after u-boot boots up successfully - + Signed-off-by: Haiying Wang commit 70205e5a6ddc8528b11db9eb4d3fa0209d9fce2a @@ -1030,10 +1036,10 @@ Author: Haiying Wang Date: Tue May 30 08:51:19 2006 -0500 Fix two SDRAM setup bugs. - + Fix ECC setup bug. Enable 1T/2T based on number of DIMMs present. - + Signed-off-by: Haiying Wang commit d11fec5015334deb2010e36ce00bb118cc5429a5 @@ -1041,7 +1047,7 @@ Author: Haiying Wang Date: Fri May 26 10:24:48 2006 -0500 Add first draft of the MPC8641HPCN doc/README. - + Signed-off-by: Jon Loeliger commit ed45d6c930b5939718a87ee12e25cf9a05978d4a @@ -1051,7 +1057,7 @@ Date: Fri May 26 10:13:04 2006 -0500 Added pci@8000 block. Updated ethernet interrupt mappings (moved up 48). Cleaned up a few comments. - + Signed-off-by: Jon Loeliger commit 3033ebb20fd7c372c7bca3c9955a4692bb2240b7 @@ -1059,7 +1065,7 @@ Author: Haiying Wang Date: Fri May 26 10:01:16 2006 -0500 Allow args on reset command. - + Signed-off-by: Jon Loeliger commit 14e37081ff3cac7ebe6e93836523429853b6b292 @@ -1104,7 +1110,7 @@ Date: Wed May 10 09:38:06 2006 -0500 Remove unneeded INIT_RAM_LOCK cache twiddling. Correctly tracks r29 as global data pointer now. - + Signed-off-by: Haiying Wang commit d4dd317b58c126a2a7e73f4764ecc1a7c97f876c @@ -1118,7 +1124,7 @@ Author: Jon Loeliger Date: Tue May 9 08:23:49 2006 -0500 Get MPC8641HPCN flash images working. - + Enable the CFI driver. Remove bogus LAWBAR7 cruft. Use correct TEXT_BASE, Fixup load script. diff --git a/Makefile b/Makefile index c871d49676f..62dafc5ed9f 100644 --- a/Makefile +++ b/Makefile @@ -330,7 +330,8 @@ endif .PHONY : CHANGELOG CHANGELOG: - git log --no-merges U-Boot-1_1_5.. | unexpand -a > $@ + git log --no-merges U-Boot-1_1_5.. | \ + unexpand -a | sed -e 's/\s\s*$$//' > $@ ######################################################################### -- cgit v1.3.1 From 82d9c9ec29a1bec1b03ba616425ebaed231072c8 Mon Sep 17 00:00:00 2001 From: Bartlomiej Sieka Date: Wed, 1 Nov 2006 01:34:29 +0100 Subject: Changed MarelV38B board make target to lowercase. Config file cleanup. --- Makefile | 2 +- include/configs/V38B.h | 368 ------------------------------------------------- include/configs/v38b.h | 343 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 344 insertions(+), 369 deletions(-) delete mode 100644 include/configs/V38B.h create mode 100644 include/configs/v38b.h (limited to 'Makefile') diff --git a/Makefile b/Makefile index 62dafc5ed9f..ca35dc1586b 100644 --- a/Makefile +++ b/Makefile @@ -412,7 +412,7 @@ icecube_5100_config: unconfig @$(MKCONFIG) -a IceCube ppc mpc5xxx icecube v38b_config: unconfig - @./mkconfig -a V38B ppc mpc5xxx v38b + @./mkconfig -a v38b ppc mpc5xxx v38b inka4x0_config: unconfig @$(MKCONFIG) inka4x0 ppc mpc5xxx inka4x0 diff --git a/include/configs/V38B.h b/include/configs/V38B.h deleted file mode 100644 index 8eea504742a..00000000000 --- a/include/configs/V38B.h +++ /dev/null @@ -1,368 +0,0 @@ -/* - * (C) Copyright 2003-2004 Wolfgang Denk, DENX Software Engineering, - * wd@denx.de. - * - * See file CREDITS for list of people who contributed to this project. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., 59 - * Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __CONFIG_H -#define __CONFIG_H - -#if 0 -#define DEBUG 0xFFF -#endif - -#if 0 -#define DEBUG 0x01 -#endif - -/* - * High Level Configuration Options - * (easy to change) -*/ - -#define CONFIG_MPC5xxx 1 /* This is an MPC5xxx CPU */ -#define CONFIG_MPC5200 1 /* This is an MPC5200 CPU */ -#define CONFIG_V38B 1 /* ... on V38B board */ -#define CFG_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */ - -#define CONFIG_RTC_PCF8563 1 /* has PCF8563 RTC */ -#define CONFIG_MPC5200_DDR 1 /* has DDR SDRAM */ -#define CONFIG_HW_WATCHDOG 1 /* has watchdog */ - -#define CONFIG_NETCONSOLE 1 - -#define CONFIG_BOARD_EARLY_INIT_R 1 /* make flash read/write */ - -#define CFG_XLB_PIPELINING 1 /* gives better performance */ - - -#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */ -#define BOOTFLAG_WARM 0x02 /* Software reboot */ - -#define CFG_CACHELINE_SIZE 32 /* For MPC5xxx CPUs */ -#if (CONFIG_COMMANDS & CFG_CMD_KGDB) -# define CFG_CACHELINE_SHIFT 5 /* log base 2 of the above value */ -#endif - -/* - * Serial console configuration - */ -#define CONFIG_PSC_CONSOLE 1 /* console is on PSC1 */ -#define CONFIG_BAUDRATE 115200 /* ... at 115200 bps */ -#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 } - - -/* - * DDR - */ -#define SDRAM_DDR 1 /* is DDR */ -/* Settings for XLB = 132 MHz */ -#define SDRAM_MODE 0x018D0000 -#define SDRAM_EMODE 0x40090000 -#define SDRAM_CONTROL 0x704f0f00 -#define SDRAM_CONFIG1 0x73722930 -#define SDRAM_CONFIG2 0x47770000 -#define SDRAM_TAPDELAY 0x10000000 - - -/* - * PCI - no suport - */ -#undef CONFIG_PCI - -/* - * Partitions - */ -#define CONFIG_MAC_PARTITION 1 -#define CONFIG_DOS_PARTITION 1 - -/* - * USB - */ -#define CONFIG_USB_OHCI -#define CONFIG_USB_STORAGE - -#define CONFIG_TIMESTAMP /* Print image info with timestamp */ - -/* - * Supported commands - */ -#define CONFIG_COMMANDS (CONFIG_CMD_DFL | \ - CFG_CMD_FAT | \ - CFG_CMD_I2C | \ - CFG_CMD_IDE | \ - CFG_CMD_PING | \ - CFG_CMD_DHCP | \ - CFG_CMD_DIAG | \ - CFG_CMD_IRQ | \ - CFG_CMD_JFFS2 | \ - CFG_CMD_MII | \ - CFG_CMD_SDRAMi | \ - CFG_CMD_DATE | \ - CFG_CMD_USB | \ - CFG_CMD_FAT) - -/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ -#include - -/* - * Boot low with 16 MB Flash - */ -# define CFG_LOWBOOT 1 -# define CFG_LOWBOOT16 1 - -/* - * Autobooting - */ -#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */ - -#define CONFIG_PREBOOT "echo;" \ - "echo Type \"run flash_nfs\" to mount root filesystem over NFS;" \ - "echo" - -#undef CONFIG_BOOTARGS - -#define CONFIG_EXTRA_ENV_SETTINGS \ - "netdev=eth0\0" \ - "devno=5\0" \ - "hostname=V38B_$(devno)\0" \ - "ipaddr=10.100.99.$(devno)\0" \ - "netmask=255.255.0.0\0" \ - "serverip=10.100.10.90\0" \ - "gatewayip=10.100.254.254\0" \ - "ramargs=setenv bootargs root=/dev/ram rw\0" \ - "rootpath=/opt/eldk/ppc_6xx\0" \ - "bootfile=mpc5200/uImage\0" \ - "bootcmd=run net_nfs\0" \ - "addip=setenv bootargs $(bootargs) " \ - "ip=$(ipaddr):$(serverip):$(gatewayip):" \ - "$(netmask):$(hostname):$(netdev):off panic=1\0" \ - "flash_nfs=run nfsargs addip;bootm $(kernel_addr)\0" \ - "flash_self=run ramargs addip;bootm $(kernel_addr) " \ - "$(ramdisk_addr)\0" \ - "net_nfs=tftp 200000 $(bootfile);run nfsargs " \ - "addip;bootm\0" \ - "nfsargs=setenv bootargs root=/dev/nfs rw " \ - "nfsroot=$(serverip):$(rootpath)\0" \ - "" - -#define CONFIG_BOOTCOMMAND "run net_nfs" - -#if defined(CONFIG_MPC5200) -/* - * IPB Bus clocking configuration. - */ -#undef CFG_IPBSPEED_133 /* define for 133MHz speed */ -#endif -/* - * I2C configuration - */ -#define CONFIG_HARD_I2C 1 /* I2C with hardware support */ -#define CFG_I2C_MODULE 2 /* Select I2C module #1 or #2 */ - -#define CFG_I2C_SPEED 100000 /* 100 kHz */ -#define CFG_I2C_SLAVE 0x7F - -/* - * EEPROM configuration - */ -#define CFG_I2C_EEPROM_ADDR 0x50 /* 1010000x */ -#define CFG_I2C_EEPROM_ADDR_LEN 1 -#define CFG_EEPROM_PAGE_WRITE_BITS 3 -#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 70 - -/* - * RTC configuration - */ -#define CFG_I2C_RTC_ADDR 0x51 - -/* - * Flash configuration - use CFI driver - */ -#define CFG_FLASH_CFI 1 /* Flash is CFI conformant */ -#define CFG_FLASH_CFI_DRIVER 1 /* Use the common driver */ -#define CFG_FLASH_CFI_AMD_RESET 1 -#define CFG_FLASH_BASE 0xFF000000 -#define CFG_MAX_FLASH_BANKS 1 /* max num of flash banks */ -#define CFG_FLASH_BANKS_LIST { CFG_FLASH_BASE } -#define CFG_FLASH_SIZE 0x01000000 /* 16 MiB */ -#define CFG_MAX_FLASH_SECT 256 /* max num of sects on one chip */ -#define CFG_FLASH_USE_BUFFER_WRITE 1 /* flash write speed-up */ - -/* - * Environment settings - */ -#define CFG_ENV_IS_IN_FLASH 1 -#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x00040000) -#define CFG_ENV_SIZE 0x10000 -#define CFG_ENV_SECT_SIZE 0x10000 -#define CONFIG_ENV_OVERWRITE 1 - -/* - * Memory map - */ -#define CFG_MBAR 0xF0000000 -#define CFG_SDRAM_BASE 0x00000000 -#define CFG_DEFAULT_MBAR 0x80000000 - -/* Use SRAM until RAM will be available */ -#define CFG_INIT_RAM_ADDR MPC5XXX_SRAM -#define CFG_INIT_RAM_END MPC5XXX_SRAM_SIZE /* End of used area in DPRAM */ - - -#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ -#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) -#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET - -#define CFG_MONITOR_BASE TEXT_BASE -#if (CFG_MONITOR_BASE < CFG_FLASH_BASE) -# define CFG_RAMBOOT 1 -#endif - -#define CFG_MONITOR_LEN (192 << 10) /* Reserve 192 kB for Monitor */ -#define CFG_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */ -#define CFG_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ - -/* - * Ethernet configuration - */ -#define CONFIG_MPC5xxx_FEC 1 -#define CONFIG_PHY_ADDR 0x00 -#define CONFIG_MII 1 - -/* - * GPIO configuration - */ -#define CFG_GPS_PORT_CONFIG 0x90000404 - -/* - * Miscellaneous configurable options - */ -#define CFG_LONGHELP /* undef to save memory */ -#define CFG_PROMPT "=> " /* Monitor Command Prompt */ -#if (CONFIG_COMMANDS & CFG_CMD_KGDB) -#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ -#else -#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ -#endif -#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ -#define CFG_MAXARGS 16 /* max number of command args */ -#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ - -#define CFG_MEMTEST_START 0x00100000 /* memtest works on */ -#define CFG_MEMTEST_END 0x00f00000 /* 1 ... 15 MB in DRAM */ - -#define CFG_LOAD_ADDR 0x100000 /* default load address */ - -#define CFG_HZ 1000 /* decrementer freq: 1 ms ticks */ - -/* - * Various low-level settings - */ -#if defined(CONFIG_MPC5200) -#define CFG_HID0_INIT HID0_ICE | HID0_ICFI -#define CFG_HID0_FINAL HID0_ICE -#else -#define CFG_HID0_INIT 0 -#define CFG_HID0_FINAL 0 -#endif - - -#define CFG_BOOTCS_START CFG_FLASH_BASE -#define CFG_BOOTCS_SIZE CFG_FLASH_SIZE -#define CFG_BOOTCS_CFG 0x00047801 -#define CFG_CS0_START CFG_FLASH_BASE -#define CFG_CS0_SIZE CFG_FLASH_SIZE - -#define CFG_CS_BURST 0x00000000 -#define CFG_CS_DEADCYCLE 0x33333333 - -#define CFG_RESET_ADDRESS 0xff000000 - -/*----------------------------------------------------------------------- - * USB stuff - *----------------------------------------------------------------------- - */ -#define CONFIG_USB_CLOCK 0x0001BBBB -#define CONFIG_USB_CONFIG 0x00001000 - - -/*----------------------------------------------------------------------- - * IDE/ATA stuff Supports IDE harddisk - *----------------------------------------------------------------------- - */ - -#undef CONFIG_IDE_8xx_PCCARD /* Don't use IDE with PC Card Adapter */ - -#undef CONFIG_IDE_8xx_DIRECT /* Direct IDE not supported */ -#undef CONFIG_IDE_LED /* LED for ide not supported */ - -#define CONFIG_IDE_RESET /* reset for ide supported */ -#define CONFIG_IDE_PREINIT - -#define CFG_IDE_MAXBUS 1 /* max. 1 IDE bus */ -#define CFG_IDE_MAXDEVICE 1 /* max. 1 drive per IDE bus */ - -#define CFG_ATA_IDE0_OFFSET 0x0000 - -#define CFG_ATA_BASE_ADDR MPC5XXX_ATA - -/* Offset for data I/O */ -#define CFG_ATA_DATA_OFFSET (0x0060) - -/* Offset for normal register accesses */ -#define CFG_ATA_REG_OFFSET (CFG_ATA_DATA_OFFSET) - -/* Offset for alternate registers */ -#define CFG_ATA_ALT_OFFSET (0x005C) - -/* Interval between registers */ -#define CFG_ATA_STRIDE 4 - -/* Status LED */ - -#define CONFIG_STATUS_LED /* Status LED enabled */ -#define CONFIG_BOARD_SPECIFIC_LED /* version has board specific leds */ - -#define CFG_LED_BASE (0xf0000600 + 0x70) /* Timer 7 GPIO */ - -#ifndef __ASSEMBLY__ -/* LEDs */ -typedef unsigned int led_id_t; - -#define __led_toggle(_msk) \ - do { \ - *((volatile long *) (CFG_LED_BASE)) ^= (_msk); \ - } while(0) - -#define __led_set(_msk, _st) \ - do { \ - if ((_st)) \ - *((volatile long *) (CFG_LED_BASE)) &= ~(_msk); \ - else \ - *((volatile long *) (CFG_LED_BASE)) |= (_msk); \ - } while(0) - -#define __led_init(_msk, st) \ - { \ - *((volatile long *) (CFG_LED_BASE)) |= 0x34; \ - } - -#endif - -#endif /* __CONFIG_H */ diff --git a/include/configs/v38b.h b/include/configs/v38b.h new file mode 100644 index 00000000000..cf2d031c9f1 --- /dev/null +++ b/include/configs/v38b.h @@ -0,0 +1,343 @@ +/* + * (C) Copyright 2003-2006 Wolfgang Denk, DENX Software Engineering, + * wd@denx.de. + * + * See file CREDITS for list of people who contributed to this project. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., 59 + * Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +/* + * High Level Configuration Options + * (easy to change) + */ +#define CONFIG_MPC5xxx 1 /* This is an MPC5xxx CPU */ +#define CONFIG_MPC5200 1 /* This is an MPC5200 CPU */ +#define CONFIG_V38B 1 /* ...on V38B board */ +#define CFG_MPC5XXX_CLKIN 33000000 /* ...running at 33.000000MHz */ + +#define CONFIG_RTC_PCF8563 1 /* has PCF8563 RTC */ +#define CONFIG_MPC5200_DDR 1 /* has DDR SDRAM */ + +#define CONFIG_HW_WATCHDOG 1 /* has watchdog */ + +#define CONFIG_NETCONSOLE 1 + +#define CONFIG_BOARD_EARLY_INIT_R 1 /* do board-specific init */ + +#define CFG_XLB_PIPELINING 1 /* gives better performance */ + +#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */ +#define BOOTFLAG_WARM 0x02 /* Software reboot */ + +#define CFG_CACHELINE_SIZE 32 /* For MPC5xxx CPUs */ +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +# define CFG_CACHELINE_SHIFT 5 /* log base 2 of the above value */ +#endif + +/* + * Serial console configuration + */ +#define CONFIG_PSC_CONSOLE 1 /* console is on PSC1 */ +#define CONFIG_BAUDRATE 115200 /* ... at 115200 bps */ +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 } + +/* + * DDR + */ +#define SDRAM_DDR 1 /* is DDR */ +/* Settings for XLB = 132 MHz */ +#define SDRAM_MODE 0x018D0000 +#define SDRAM_EMODE 0x40090000 +#define SDRAM_CONTROL 0x704f0f00 +#define SDRAM_CONFIG1 0x73722930 +#define SDRAM_CONFIG2 0x47770000 +#define SDRAM_TAPDELAY 0x10000000 + +/* + * PCI - no suport + */ +#undef CONFIG_PCI + +/* + * Partitions + */ +#define CONFIG_MAC_PARTITION 1 +#define CONFIG_DOS_PARTITION 1 + +/* + * USB + */ +#define CONFIG_USB_OHCI +#define CONFIG_USB_STORAGE +#define CONFIG_USB_CLOCK 0x0001BBBB +#define CONFIG_USB_CONFIG 0x00001000 + +/* + * Supported commands + */ +#define CONFIG_COMMANDS (CONFIG_CMD_DFL | \ + CFG_CMD_FAT | \ + CFG_CMD_I2C | \ + CFG_CMD_IDE | \ + CFG_CMD_PING | \ + CFG_CMD_DHCP | \ + CFG_CMD_DIAG | \ + CFG_CMD_IRQ | \ + CFG_CMD_JFFS2 | \ + CFG_CMD_MII | \ + CFG_CMD_SDRAMi | \ + CFG_CMD_DATE | \ + CFG_CMD_USB | \ + CFG_CMD_FAT) + +#define CONFIG_TIMESTAMP /* Print image info with timestamp */ + +/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ +#include + +/* + * Boot low with 16 MB Flash + */ +#define CFG_LOWBOOT 1 +#define CFG_LOWBOOT16 1 + +/* + * Autobooting + */ +#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */ + +#define CONFIG_PREBOOT "echo;" \ + "echo Type \"run flash_nfs\" to mount root filesystem over NFS;" \ + "echo" + +#undef CONFIG_BOOTARGS + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "bootcmd=run net_nfs\0" \ + "bootdelay=3\0" \ + "baudrate=115200\0" \ + "preboot=echo;echo Type \"run flash_nfs\" to mount root " \ + "filesystem over NFS; echo\0" \ + "netdev=eth0\0" \ + "ramargs=setenv bootargs root=/dev/ram rw\0" \ + "addip=setenv bootargs $(bootargs) " \ + "ip=$(ipaddr):$(serverip):$(gatewayip):" \ + "$(netmask):$(hostname):$(netdev):off panic=1\0" \ + "flash_nfs=run nfsargs addip;bootm $(kernel_addr)\0" \ + "flash_self=run ramargs addip;bootm $(kernel_addr) " \ + "$(ramdisk_addr)\0" \ + "net_nfs=tftp 200000 $(bootfile);run nfsargs addip;bootm\0" \ + "nfsargs=setenv bootargs root=/dev/nfs rw " \ + "nfsroot=$(serverip):$(rootpath)\0" \ + "hostname=v38b\0" \ + "ethact=FEC ETHERNET\0" \ + "rootpath=/opt/eldk-3.1.1/ppc_6xx\0" \ + "update=prot off ff000000 ff03ffff; era ff000000 ff03ffff; " \ + "cp.b 200000 ff000000 $(filesize);" \ + "prot on ff000000 ff03ffff\0" \ + "load=tftp 200000 $(u-boot)\0" \ + "netmask=255.255.0.0\0" \ + "ipaddr=192.168.160.18\0" \ + "serverip=192.168.1.1\0" \ + "ethaddr=00:e0:ee:00:05:2e\0" \ + "bootfile=/tftpboot/v38b/uImage\0" \ + "u-boot=/tftpboot/v38b/u-boot.bin\0" \ + "" + +#define CONFIG_BOOTCOMMAND "run net_nfs" + +#if defined(CONFIG_MPC5200) +/* + * IPB Bus clocking configuration. + */ +#undef CFG_IPBSPEED_133 /* define for 133MHz speed */ +#endif + +/* + * I2C configuration + */ +#define CONFIG_HARD_I2C 1 /* I2C with hardware support */ +#define CFG_I2C_MODULE 2 /* Select I2C module #1 or #2 */ +#define CFG_I2C_SPEED 100000 /* 100 kHz */ +#define CFG_I2C_SLAVE 0x7F + +/* + * EEPROM configuration + */ +#define CFG_I2C_EEPROM_ADDR 0x50 /* 1010000x */ +#define CFG_I2C_EEPROM_ADDR_LEN 1 +#define CFG_EEPROM_PAGE_WRITE_BITS 3 +#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 70 + +/* + * RTC configuration + */ +#define CFG_I2C_RTC_ADDR 0x51 + +/* + * Flash configuration - use CFI driver + */ +#define CFG_FLASH_CFI 1 /* Flash is CFI conformant */ +#define CFG_FLASH_CFI_DRIVER 1 /* Use the common driver */ +#define CFG_FLASH_CFI_AMD_RESET 1 +#define CFG_FLASH_BASE 0xFF000000 +#define CFG_MAX_FLASH_BANKS 1 /* max num of flash banks */ +#define CFG_FLASH_BANKS_LIST { CFG_FLASH_BASE } +#define CFG_FLASH_SIZE 0x01000000 /* 16 MiB */ +#define CFG_MAX_FLASH_SECT 256 /* max num of sects on one chip */ +#define CFG_FLASH_USE_BUFFER_WRITE 1 /* flash write speed-up */ + +/* + * Environment settings + */ +#define CFG_ENV_IS_IN_FLASH 1 +#define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x00040000) +#define CFG_ENV_SIZE 0x10000 +#define CFG_ENV_SECT_SIZE 0x10000 +#define CONFIG_ENV_OVERWRITE 1 + +/* + * Memory map + */ +#define CFG_MBAR 0xF0000000 +#define CFG_SDRAM_BASE 0x00000000 +#define CFG_DEFAULT_MBAR 0x80000000 + +/* Use SRAM until RAM will be available */ +#define CFG_INIT_RAM_ADDR MPC5XXX_SRAM +#define CFG_INIT_RAM_END MPC5XXX_SRAM_SIZE /* End of used area in DPRAM */ + +#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */ +#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) +#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET + +#define CFG_MONITOR_BASE TEXT_BASE +#if (CFG_MONITOR_BASE < CFG_FLASH_BASE) +# define CFG_RAMBOOT 1 +#endif + +#define CFG_MONITOR_LEN (256 << 10) /* Reserve 256kB for Monitor */ +#define CFG_MALLOC_LEN (128 << 10) /* Reserve 128kB for malloc() */ +#define CFG_BOOTMAPSZ (8 << 20) /* Linux initial memory map */ + +/* + * Ethernet configuration + */ +#define CONFIG_MPC5xxx_FEC 1 +#define CONFIG_PHY_ADDR 0x00 +#define CONFIG_MII 1 + +/* + * GPIO configuration + */ +#define CFG_GPS_PORT_CONFIG 0x90000404 + +/* + * Miscellaneous configurable options + */ +#define CFG_LONGHELP /* undef to save memory */ +#define CFG_PROMPT "=> " /* Monitor Command Prompt */ +#if (CONFIG_COMMANDS & CFG_CMD_KGDB) +#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ +#else +#define CFG_CBSIZE 256 /* Console I/O Buffer Size */ +#endif +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ + +#define CFG_MEMTEST_START 0x00100000 /* memtest works on */ +#define CFG_MEMTEST_END 0x00f00000 /* 1 ... 15 MB in DRAM */ + +#define CFG_LOAD_ADDR 0x100000 /* default load address */ + +#define CFG_HZ 1000 /* decrementer freq: 1 ms ticks */ + +/* + * Various low-level settings + */ +#define CFG_HID0_INIT HID0_ICE | HID0_ICFI +#define CFG_HID0_FINAL HID0_ICE + +#define CFG_BOOTCS_START CFG_FLASH_BASE +#define CFG_BOOTCS_SIZE CFG_FLASH_SIZE +#define CFG_BOOTCS_CFG 0x00047801 +#define CFG_CS0_START CFG_FLASH_BASE +#define CFG_CS0_SIZE CFG_FLASH_SIZE + +#define CFG_CS_BURST 0x00000000 +#define CFG_CS_DEADCYCLE 0x33333333 + +#define CFG_RESET_ADDRESS 0xff000000 + +/* + * IDE/ATA (supports IDE harddisk) + */ +#undef CONFIG_IDE_8xx_PCCARD /* Don't use IDE with PC Card Adapter */ +#undef CONFIG_IDE_8xx_DIRECT /* Direct IDE not supported */ +#undef CONFIG_IDE_LED /* LED for ide not supported */ + +#define CONFIG_IDE_RESET /* reset for ide supported */ +#define CONFIG_IDE_PREINIT + +#define CFG_IDE_MAXBUS 1 /* max. 1 IDE bus */ +#define CFG_IDE_MAXDEVICE 1 /* max. 1 drive per IDE bus */ + +#define CFG_ATA_IDE0_OFFSET 0x0000 + +#define CFG_ATA_BASE_ADDR MPC5XXX_ATA + +#define CFG_ATA_DATA_OFFSET (0x0060) /* data I/O offset */ + +#define CFG_ATA_REG_OFFSET (CFG_ATA_DATA_OFFSET) /* normal register accesses offset */ + +#define CFG_ATA_ALT_OFFSET (0x005C) /* alternate registers offset */ + +#define CFG_ATA_STRIDE 4 /* Interval between registers */ + +/* + * Status LED + */ +#define CONFIG_STATUS_LED /* Status LED enabled */ +#define CONFIG_BOARD_SPECIFIC_LED /* version has board specific leds */ + +#define CFG_LED_BASE MPC5XXX_GPT7_ENABLE /* Timer 7 GPIO */ +#ifndef __ASSEMBLY__ +typedef unsigned int led_id_t; + +#define __led_toggle(_msk) \ + do { \ + *((volatile long *) (CFG_LED_BASE)) ^= (_msk); \ + } while(0) + +#define __led_set(_msk, _st) \ + do { \ + if ((_st)) \ + *((volatile long *) (CFG_LED_BASE)) &= ~(_msk); \ + else \ + *((volatile long *) (CFG_LED_BASE)) |= (_msk); \ + } while(0) + +#define __led_init(_msk, st) \ + do { \ + *((volatile long *) (CFG_LED_BASE)) |= 0x34; \ + } while(0) +#endif /* __ASSEMBLY__ */ + +#endif /* __CONFIG_H */ -- cgit v1.3.1 From c59200443072353044aa4bf737a5a60f9a9af231 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Thu, 2 Nov 2006 15:15:01 +0100 Subject: Release U-Boot 1.1.6 --- CHANGELOG | 45 +++++++++++++++++++++++++++++++++++++++++++++ Makefile | 2 +- 2 files changed, 46 insertions(+), 1 deletion(-) (limited to 'Makefile') diff --git a/CHANGELOG b/CHANGELOG index afb22b74d9b..6efddd0ddb7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,48 @@ +commit 1954be6e9c9421b45d0a9d05b10356acc7563150 +Author: Wolfgang Denk +Date: Sun Oct 29 01:03:51 2006 +0200 + + Automatically adjust ARFLAGS so "make -s" is really silent. + +commit fae684e89844856383bdf101440889557df3e6b1 +Author: Stefan Roese +Date: Sat Oct 28 16:45:00 2006 +0200 + + [PATCH] omap925.c: Remove unused functions + + Signed-off-by: Ladislav Michl + Signed-off-by: Stefan Roese + +commit 1265581502ab8ea8c08e8edbe9bf64fbd62fd776 +Author: Stefan Roese +Date: Sat Oct 28 17:12:58 2006 +0200 + + [PATCH] Add some missing machtypes for netstar & voiceblue boards + + Use MACH_TYPE_NETSTAR and MACH_TYPE_VOICEBLUE defines instead of + numbers in code. + + Signed-off-by: Ladislav Michl + Signed-off-by: Stefan Roese + +commit 856f054410cef52d868feb330168b2a4c4091328 +Author: Stefan Roese +Date: Sat Oct 28 15:55:52 2006 +0200 + + [PATCH] NAND: Partition name support added to NAND subsystem + + chpart, nboot and NAND subsystem related commands now accept also partition + name to specify offset. + + Signed-off-by: Ladislav Michl + Signed-off-by: Stefan Roese + +commit 07a69a18c2ecfda904231fdf23e2523ea7792eb6 +Author: Wolfgang Denk +Date: Sat Oct 28 02:29:44 2006 +0200 + + Update CHANGELOG. + commit 2751a95abd1b96911081c357e96a12fa97b40dee Author: Wolfgang Denk Date: Sat Oct 28 02:29:14 2006 +0200 diff --git a/Makefile b/Makefile index 62dafc5ed9f..a2823422356 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ VERSION = 1 PATCHLEVEL = 1 -SUBLEVEL = 5 +SUBLEVEL = 6 EXTRAVERSION = U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) VERSION_FILE = $(obj)include/version_autogenerated.h -- cgit v1.3.1