Merge commit 'u-boot/master' into for-1.3.1

Conflicts:

	drivers/rtc/Makefile
This commit is contained in:
Stefan Roese 2007-12-11 11:34:54 +01:00
commit 9caeaadf50
431 changed files with 6457 additions and 1922 deletions

13
.gitignore vendored Normal file
View file

@ -0,0 +1,13 @@
*.orig
*.a
*.o
*.depend
System.map
/u-boot
/u-boot.map
/u-boot.bin
/u-boot.srec
/LOG
/errlog
/reloc_off

1446
CHANGELOG

File diff suppressed because it is too large Load diff

View file

@ -383,6 +383,7 @@ LIST_7xx=" \
LIST_ppc=" \ LIST_ppc=" \
${LIST_5xx} \ ${LIST_5xx} \
${LIST_512x} \
${LIST_5xxx} \ ${LIST_5xxx} \
${LIST_8xx} \ ${LIST_8xx} \
${LIST_8220} \ ${LIST_8220} \
@ -559,6 +560,7 @@ LIST_mips5kc_el=""
LIST_au1xx0_el=" \ LIST_au1xx0_el=" \
dbau1550_el \ dbau1550_el \
pb1000 \
" "
LIST_mips_el=" \ LIST_mips_el=" \

View file

@ -23,8 +23,8 @@
VERSION = 1 VERSION = 1
PATCHLEVEL = 3 PATCHLEVEL = 3
SUBLEVEL = 0 SUBLEVEL = 1
EXTRAVERSION = -rc3 EXTRAVERSION =
U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
VERSION_FILE = $(obj)include/version_autogenerated.h VERSION_FILE = $(obj)include/version_autogenerated.h
@ -205,22 +205,30 @@ LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs
fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a
LIBS += net/libnet.a LIBS += net/libnet.a
LIBS += disk/libdisk.a LIBS += disk/libdisk.a
LIBS += rtc/librtc.a
LIBS += dtt/libdtt.a
LIBS += drivers/libdrivers.a
LIBS += drivers/bios_emulator/libatibiosemu.a LIBS += drivers/bios_emulator/libatibiosemu.a
LIBS += drivers/nand/libnand.a LIBS += drivers/block/libblock.a
LIBS += drivers/nand_legacy/libnand_legacy.a LIBS += drivers/hwmon/libhwmon.a
LIBS += drivers/onenand/libonenand.a LIBS += drivers/i2c/libi2c.a
LIBS += drivers/input/libinput.a
LIBS += drivers/misc/libmisc.a
LIBS += drivers/mtd/libmtd.a
LIBS += drivers/mtd/nand/libnand.a
LIBS += drivers/mtd/nand_legacy/libnand_legacy.a
LIBS += drivers/mtd/onenand/libonenand.a
LIBS += drivers/net/libnet.a LIBS += drivers/net/libnet.a
LIBS += drivers/net/sk98lin/libsk98lin.a
LIBS += drivers/pci/libpci.a
LIBS += drivers/pcmcia/libpcmcia.a
ifeq ($(CPU),mpc83xx) ifeq ($(CPU),mpc83xx)
LIBS += drivers/qe/qe.a LIBS += drivers/qe/qe.a
endif endif
ifeq ($(CPU),mpc85xx) ifeq ($(CPU),mpc85xx)
LIBS += drivers/qe/qe.a LIBS += drivers/qe/qe.a
endif endif
LIBS += drivers/rtc/librtc.a
LIBS += drivers/serial/libserial.a LIBS += drivers/serial/libserial.a
LIBS += drivers/sk98lin/libsk98lin.a LIBS += drivers/usb/libusb.a
LIBS += drivers/video/libvideo.a
LIBS += post/libpost.a post/drivers/libpostdrivers.a LIBS += post/libpost.a post/drivers/libpostdrivers.a
LIBS += $(shell if [ -d post/lib_$(ARCH) ]; then echo \ LIBS += $(shell if [ -d post/lib_$(ARCH) ]; then echo \
"post/lib_$(ARCH)/libpost$(ARCH).a"; fi) "post/lib_$(ARCH)/libpost$(ARCH).a"; fi)
@ -323,25 +331,65 @@ env:
depend dep: version depend dep: version
for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done
TAG_SUBDIRS += include
TAG_SUBDIRS += lib_generic board/$(BOARDDIR)
TAG_SUBDIRS += cpu/$(CPU)
TAG_SUBDIRS += lib_$(ARCH)
TAG_SUBDIRS += fs/cramfs
TAG_SUBDIRS += fs/fat
TAG_SUBDIRS += fs/fdos
TAG_SUBDIRS += fs/jffs2
TAG_SUBDIRS += net
TAG_SUBDIRS += disk
TAG_SUBDIRS += common
TAG_SUBDIRS += drivers/bios_emulator
TAG_SUBDIRS += drivers/block
TAG_SUBDIRS += drivers/hwmon
TAG_SUBDIRS += drivers/i2c
TAG_SUBDIRS += drivers/input
TAG_SUBDIRS += drivers/misc
TAG_SUBDIRS += drivers/mtd
TAG_SUBDIRS += drivers/mtd/nand
TAG_SUBDIRS += drivers/mtd/nand_legacy
TAG_SUBDIRS += drivers/mtd/onenand
TAG_SUBDIRS += drivers/net
TAG_SUBDIRS += drivers/net/sk98lin
TAG_SUBDIRS += drivers/pci
TAG_SUBDIRS += drivers/pcmcia
TAG_SUBDIRS += drivers/qe
TAG_SUBDIRS += drivers/rtc
TAG_SUBDIRS += drivers/serial
TAG_SUBDIRS += drivers/usb
TAG_SUBDIRS += drivers/video
tags ctags: tags ctags:
ctags -w -o $(OBJTREE)/ctags `find $(SUBDIRS) include \ ctags -w -o $(OBJTREE)/ctags `find $(SUBDIRS) $(TAG_SUBDIRS) \
lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \ -name '*.[ch]' -print`
fs/cramfs fs/fat fs/fdos fs/jffs2 \
net disk rtc dtt drivers drivers/sk98lin common \
\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
etags: etags:
etags -a -o $(OBJTREE)/etags `find $(SUBDIRS) include \ etags -a -o $(OBJTREE)/etags `find $(SUBDIRS) $(TAG_SUBDIRS) \
lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \ -name '*.[ch]' -print`
fs/cramfs fs/fat fs/fdos fs/jffs2 \
net disk rtc dtt drivers drivers/sk98lin common \
\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
$(obj)System.map: $(obj)u-boot $(obj)System.map: $(obj)u-boot
@$(NM) $< | \ @$(NM) $< | \
grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
sort > $(obj)System.map sort > $(obj)System.map
#
# Auto-generate the autoconf.mk file (which is included by all makefiles)
#
# This target actually generates 2 files; autoconf.mk and autoconf.mk.dep.
# the dep file is only include in this top level makefile to determine when
# to regenerate the autoconf.mk file.
$(OBJTREE)/include/autoconf.mk: $(obj)include/config.h
@echo Generating include/autoconf.mk
@# Generate the dependancies
@$(CC) -M $(HOST_CFLAGS) $(CPPFLAGS) -MQ $@ include/common.h > $@.dep
@# Extract the config macros
@$(CPP) $(CFLAGS) -dM include/common.h | sed -n -f tools/scripts/define2mk.sed >> $@
sinclude $(OBJTREE)/include/autoconf.mk.dep
######################################################################### #########################################################################
else else
all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \ all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \
@ -361,7 +409,8 @@ CHANGELOG:
unconfig: unconfig:
@rm -f $(obj)include/config.h $(obj)include/config.mk \ @rm -f $(obj)include/config.h $(obj)include/config.mk \
$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp \
$(obj)include/autoconf.mk $(obj)include/autoconf.mk.dep
#======================================================================== #========================================================================
# PowerPC # PowerPC
@ -1750,9 +1799,13 @@ M54455EVB_i66_config : unconfig
>include/config.h ; \ >include/config.h ; \
if [ "$${FLASH}" == "INTEL" ] ; then \ if [ "$${FLASH}" == "INTEL" ] ; then \
echo "#undef CFG_ATMEL_BOOT" >> $(obj)include/config.h ; \ echo "#undef CFG_ATMEL_BOOT" >> $(obj)include/config.h ; \
echo "TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54455evb/config.tmp ; \
cp $(obj)board/freescale/m54455evb/u-boot.int $(obj)board/freescale/m54455evb/u-boot.lds ; \
echo "... with INTEL boot..." ; \ echo "... with INTEL boot..." ; \
else \ else \
echo "#define CFG_ATMEL_BOOT" >> $(obj)include/config.h ; \ echo "#define CFG_ATMEL_BOOT" >> $(obj)include/config.h ; \
echo "TEXT_BASE = 0x04000000" > $(obj)board/freescale/m54455evb/config.tmp ; \
cp $(obj)board/freescale/m54455evb/u-boot.atm $(obj)board/freescale/m54455evb/u-boot.lds ; \
echo "... with ATMEL boot..." ; \ echo "... with ATMEL boot..." ; \
fi; \ fi; \
echo "#define CFG_INPUT_CLKSRC $${FREQ}" >> $(obj)include/config.h ; \ echo "#define CFG_INPUT_CLKSRC $${FREQ}" >> $(obj)include/config.h ; \

2
README
View file

@ -2123,7 +2123,7 @@ to save the current settings.
to be a good choice since it makes it far enough from the to be a good choice since it makes it far enough from the
start of the data area as well as from the stack pointer. start of the data area as well as from the stack pointer.
Please note that the environment is read-only as long as the monitor Please note that the environment is read-only until the monitor
has been relocated to RAM and a RAM copy of the environment has been has been relocated to RAM and a RAM copy of the environment has been
created; also, when using EEPROM you will have to use getenv_r() created; also, when using EEPROM you will have to use getenv_r()
until then to read environment variables. until then to read environment variables.

View file

@ -21,4 +21,4 @@
# MA 02111-1307 USA # MA 02111-1307 USA
# #
PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN -D__BLACKFIN__

View file

@ -51,6 +51,7 @@ SECTIONS
{ {
cpu/mpc512x/start.o (.text) cpu/mpc512x/start.o (.text)
*(.text) *(.text)
*(.fixup)
*(.got1) *(.got1)
. = ALIGN(16); . = ALIGN(16);
*(.rodata) *(.rodata)

View file

@ -37,6 +37,10 @@ static void cds_pci_fixup(void *blob)
map = ft_get_prop(blob, "/" OF_SOC "/pci@8000/interrupt-map", &len); map = ft_get_prop(blob, "/" OF_SOC "/pci@8000/interrupt-map", &len);
if (!map)
map = ft_get_prop(blob, "/" OF_PCI "/interrupt-map", &len);
if (map) {
len /= sizeof(u32); len /= sizeof(u32);
slot = get_pci_slot(); slot = get_pci_slot();
@ -49,6 +53,9 @@ static void cds_pci_fixup(void *blob)
map+=7; map+=7;
} }
} else {
printf("*** Warning - No PCI node found\n");
}
} }
#endif #endif

View file

@ -69,7 +69,7 @@ SECTIONS
cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/interrupts.o (.text)
cpu/mpc85xx/cpu_init.o (.text) cpu/mpc85xx/cpu_init.o (.text)
cpu/mpc85xx/cpu.o (.text) cpu/mpc85xx/cpu.o (.text)
drivers/tsec.o (.text) drivers/net/tsec.o (.text)
cpu/mpc85xx/speed.o (.text) cpu/mpc85xx/speed.o (.text)
cpu/mpc85xx/pci.o (.text) cpu/mpc85xx/pci.o (.text)
common/dlmalloc.o (.text) common/dlmalloc.o (.text)

View file

@ -69,7 +69,7 @@ SECTIONS
cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/interrupts.o (.text)
cpu/mpc85xx/cpu_init.o (.text) cpu/mpc85xx/cpu_init.o (.text)
cpu/mpc85xx/cpu.o (.text) cpu/mpc85xx/cpu.o (.text)
drivers/tsec.o (.text) drivers/net/tsec.o (.text)
cpu/mpc85xx/speed.o (.text) cpu/mpc85xx/speed.o (.text)
common/dlmalloc.o (.text) common/dlmalloc.o (.text)
lib_generic/crc32.o (.text) lib_generic/crc32.o (.text)

View file

@ -69,7 +69,7 @@ SECTIONS
cpu/mpc85xx/interrupts.o (.text) cpu/mpc85xx/interrupts.o (.text)
cpu/mpc85xx/cpu_init.o (.text) cpu/mpc85xx/cpu_init.o (.text)
cpu/mpc85xx/cpu.o (.text) cpu/mpc85xx/cpu.o (.text)
drivers/tsec.o (.text) drivers/net/tsec.o (.text)
cpu/mpc85xx/speed.o (.text) cpu/mpc85xx/speed.o (.text)
cpu/mpc85xx/pci.o (.text) cpu/mpc85xx/pci.o (.text)
common/dlmalloc.o (.text) common/dlmalloc.o (.text)

View file

@ -276,7 +276,7 @@ static void ft_blob_update(void *blob, bd_t *bd)
memory_data[0] = cpu_to_be32(bd->bi_memstart); memory_data[0] = cpu_to_be32(bd->bi_memstart);
memory_data[1] = cpu_to_be32(bd->bi_memsize); memory_data[1] = cpu_to_be32(bd->bi_memsize);
nodeoffset = fdt_find_node_by_path (blob, "/memory"); nodeoffset = fdt_path_offset (blob, "/memory");
if (nodeoffset >= 0) { if (nodeoffset >= 0) {
ret = fdt_setprop(blob, nodeoffset, "reg", memory_data, ret = fdt_setprop(blob, nodeoffset, "reg", memory_data,
sizeof(memory_data)); sizeof(memory_data));

View file

@ -55,6 +55,7 @@ SECTIONS
{ {
*(.text) *(.text)
common/environment.o(.text) common/environment.o(.text)
*(.fixup)
*(.got1) *(.got1)
} }
_etext = .; _etext = .;

View file

@ -25,6 +25,7 @@
#include <command.h> #include <command.h>
#include <asm/au1x00.h> #include <asm/au1x00.h>
#include <asm/mipsregs.h> #include <asm/mipsregs.h>
#include <asm/io.h>
long int initdram(int board_type) long int initdram(int board_type)
{ {
@ -77,6 +78,9 @@ int checkboard (void)
default: default:
printf ("Unsupported cpu %d, proc_id=0x%x\n", proc_id >> 24, proc_id); printf ("Unsupported cpu %d, proc_id=0x%x\n", proc_id >> 24, proc_id);
} }
set_io_port_base(0);
#ifdef CONFIG_IDE_PCMCIA #ifdef CONFIG_IDE_PCMCIA
/* Enable 3.3 V on slot 0 ( VCC ) /* Enable 3.3 V on slot 0 ( VCC )
No 5V */ No 5V */

View file

@ -43,21 +43,22 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
.data : { *(.data) } .data : { *(.data) }
. = ALIGN(4);
.sdata : { *(.sdata) }
_gp = ALIGN(16);
__got_start = .;
.got : { *(.got) }
__got_end = .;
.sdata : { *(.sdata) }
. = .; . = .;
_gp = ALIGN(16) + 0x7ff0;
.got : {
__got_start = .;
*(.got)
__got_end = .;
}
.sdata : { *(.sdata) }
.u_boot_cmd : {
__u_boot_cmd_start = .; __u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) } *(.u_boot_cmd)
__u_boot_cmd_end = .; __u_boot_cmd_end = .;
}
uboot_end_data = .; uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2; num_got_entries = (__got_end - __got_start) >> 2;

View file

@ -207,13 +207,16 @@ void read_from_px_regs_altbank(int set)
out8(PIXIS_BASE + PIXIS_VCFGEN1, tmp); out8(PIXIS_BASE + PIXIS_VCFGEN1, tmp);
} }
#ifndef CFG_PIXIS_VBOOT_MASK
#define CFG_PIXIS_VBOOT_MASK 0x40
#endif
void set_altbank(void) void set_altbank(void)
{ {
u8 tmp; u8 tmp;
tmp = in8(PIXIS_BASE + PIXIS_VBOOT); tmp = in8(PIXIS_BASE + PIXIS_VBOOT);
tmp ^= 0x40; tmp ^= CFG_PIXIS_VBOOT_MASK;
out8(PIXIS_BASE + PIXIS_VBOOT, tmp); out8(PIXIS_BASE + PIXIS_VBOOT, tmp);
} }

View file

@ -22,4 +22,6 @@
# MA 02111-1307 USA # MA 02111-1307 USA
# #
TEXT_BASE = 0 sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
PLATFORM_CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE)

View file

@ -0,0 +1,144 @@
/*
* (C) Copyright 2000
* 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(m68k)
SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/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 :
{
/* WARNING - the following is hand-optimized to fit within */
/* the sector layout of our flash chips! XXX FIXME XXX */
cpu/mcf5445x/start.o (.text)
lib_m68k/traps.o (.text)
lib_m68k/interrupts.o (.text)
common/dlmalloc.o (.text)
lib_generic/zlib.o (.text)
. = DEFINED(env_offset) ? env_offset : .;
common/environment.o (.text)
*(.text)
*(.fixup)
*(.got1)
}
_etext = .;
PROVIDE (etext = .);
.rodata :
{
*(.rodata)
*(.rodata1)
}
.fini : { *(.fini) } =0
.ctors : { *(.ctors) }
.dtors : { *(.dtors) }
/* Read-write section, merged into data segment: */
. = (. + 0x00FF) & 0xFFFFFF00;
_erotext = .;
PROVIDE (erotext = .);
.reloc :
{
__got_start = .;
*(.got)
__got_end = .;
_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(256);
__init_begin = .;
.text.init : { *(.text.init) }
.data.init : { *(.data.init) }
. = ALIGN(256);
__init_end = .;
__bss_start = .;
.bss :
{
_sbss = .;
*(.sbss) *(.scommon)
*(.dynbss)
*(.bss)
*(COMMON)
. = ALIGN(4);
_ebss = .;
}
_end = . ;
PROVIDE (end = .);
}

View file

@ -0,0 +1,141 @@
/*
* (C) Copyright 2000
* 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(m68k)
SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/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 :
{
/* WARNING - the following is hand-optimized to fit within */
/* the sector layout of our flash chips! XXX FIXME XXX */
cpu/mcf5445x/start.o (.text)
lib_m68k/traps.o (.text)
lib_m68k/interrupts.o (.text)
common/dlmalloc.o (.text)
lib_generic/zlib.o (.text)
*(.text)
*(.fixup)
*(.got1)
}
_etext = .;
PROVIDE (etext = .);
.rodata :
{
*(.rodata)
*(.rodata1)
}
.fini : { *(.fini) } =0
.ctors : { *(.ctors) }
.dtors : { *(.dtors) }
/* Read-write section, merged into data segment: */
. = (. + 0x00FF) & 0xFFFFFF00;
_erotext = .;
PROVIDE (erotext = .);
.reloc :
{
__got_start = .;
*(.got)
__got_end = .;
_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(256);
__init_begin = .;
.text.init : { *(.text.init) }
.data.init : { *(.data.init) }
. = ALIGN(256);
__init_end = .;
__bss_start = .;
.bss :
{
_sbss = .;
*(.sbss) *(.scommon)
*(.dynbss)
*(.bss)
*(COMMON)
. = ALIGN(4);
_ebss = .;
}
_end = . ;
PROVIDE (end = .);
}

View file

@ -269,7 +269,7 @@ ft_pci_setup(void *blob, bd_t *bd)
int err; int err;
int tmp[2]; int tmp[2];
nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500"); nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8500");
if (nodeoffset >= 0) { if (nodeoffset >= 0) {
tmp[0] = cpu_to_be32(hose[0].first_busno); tmp[0] = cpu_to_be32(hose[0].first_busno);
tmp[1] = cpu_to_be32(hose[0].last_busno); tmp[1] = cpu_to_be32(hose[0].last_busno);

View file

@ -396,7 +396,7 @@ ft_pci_setup(void *blob, bd_t *bd)
int err; int err;
int tmp[2]; int tmp[2];
nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500"); nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8500");
if (nodeoffset >= 0) { if (nodeoffset >= 0) {
tmp[0] = cpu_to_be32(pci_hose[0].first_busno); tmp[0] = cpu_to_be32(pci_hose[0].first_busno);
tmp[1] = cpu_to_be32(pci_hose[0].last_busno); tmp[1] = cpu_to_be32(pci_hose[0].last_busno);
@ -408,7 +408,7 @@ ft_pci_setup(void *blob, bd_t *bd)
tmp, sizeof(tmp[0])); tmp, sizeof(tmp[0]));
} }
#ifdef CONFIG_MPC83XX_PCI2 #ifdef CONFIG_MPC83XX_PCI2
nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8600"); nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8600");
if (nodeoffset >= 0) { if (nodeoffset >= 0) {
tmp[0] = cpu_to_be32(pci_hose[1].first_busno); tmp[0] = cpu_to_be32(pci_hose[1].first_busno);
tmp[1] = cpu_to_be32(pci_hose[1].last_busno); tmp[1] = cpu_to_be32(pci_hose[1].last_busno);

View file

@ -342,7 +342,7 @@ ft_pci_setup(void *blob, bd_t *bd)
int err; int err;
int tmp[2]; int tmp[2];
nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500"); nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8500");
if (nodeoffset >= 0) { if (nodeoffset >= 0) {
tmp[0] = cpu_to_be32(pci_hose[0].first_busno); tmp[0] = cpu_to_be32(pci_hose[0].first_busno);
tmp[1] = cpu_to_be32(pci_hose[0].last_busno); tmp[1] = cpu_to_be32(pci_hose[0].last_busno);
@ -354,7 +354,7 @@ ft_pci_setup(void *blob, bd_t *bd)
tmp, sizeof(tmp[0])); tmp, sizeof(tmp[0]));
} }
#ifdef CONFIG_MPC83XX_PCI2 #ifdef CONFIG_MPC83XX_PCI2
nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500"); nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8500");
if (nodeoffset >= 0) { if (nodeoffset >= 0) {
tmp[0] = cpu_to_be32(pci_hose[1].first_busno); tmp[0] = cpu_to_be32(pci_hose[1].first_busno);
tmp[1] = cpu_to_be32(pci_hose[1].last_busno); tmp[1] = cpu_to_be32(pci_hose[1].last_busno);

View file

@ -269,7 +269,7 @@ ft_pci_setup(void *blob, bd_t *bd)
int err; int err;
int tmp[2]; int tmp[2];
nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500"); nodeoffset = fdt_path_offset(blob, "/" OF_SOC "/pci@8500");
if (nodeoffset >= 0) { if (nodeoffset >= 0) {
tmp[0] = cpu_to_be32(hose[0].first_busno); tmp[0] = cpu_to_be32(hose[0].first_busno);
tmp[1] = cpu_to_be32(hose[0].last_busno); tmp[1] = cpu_to_be32(hose[0].last_busno);

View file

@ -227,7 +227,7 @@ pci_init_board(void)
* Activate ULI1575 legacy chip by performing a fake * Activate ULI1575 legacy chip by performing a fake
* memory access. Needed to make ULI RTC work. * memory access. Needed to make ULI RTC work.
*/ */
in_be32(CFG_PCIE3_MEM_BASE); in_be32((u32 *)CFG_PCIE3_MEM_BASE);
} else { } else {
printf (" PCIE3: disabled\n"); printf (" PCIE3: disabled\n");
} }

View file

@ -26,14 +26,13 @@
#include <asm/au1x00.h> #include <asm/au1x00.h>
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <asm/mipsregs.h> #include <asm/mipsregs.h>
#include <asm/io.h>
#include <watchdog.h> #include <watchdog.h>
#include "ee_access.h" #include "ee_access.h"
static int wdi_status = 0; static int wdi_status = 0;
unsigned long mips_io_port_base = 0;
#define SDRAM_SIZE ((64*1024*1024)-(12*4096)) #define SDRAM_SIZE ((64*1024*1024)-(12*4096))
@ -147,6 +146,9 @@ int checkboard (void)
default: default:
printf ("Unsupported cpu %d, proc_id=0x%x\n", proc_id >> 24, proc_id); printf ("Unsupported cpu %d, proc_id=0x%x\n", proc_id >> 24, proc_id);
} }
set_io_port_base(0);
#ifdef CONFIG_IDE_PCMCIA #ifdef CONFIG_IDE_PCMCIA
/* PCMCIA is on a 36 bit physical address. /* PCMCIA is on a 36 bit physical address.
We need to map it into a 32 bit addresses */ We need to map it into a 32 bit addresses */
@ -429,7 +431,7 @@ int misc_init_r(void){
(Rx[8] != ':') | (Rx[11] != ':') | (Rx[14] != ':')) { (Rx[8] != ':') | (Rx[11] != ':') | (Rx[14] != ':')) {
printf ("*** ethernet addr invalid, using default ***\n"); printf ("*** ethernet addr invalid, using default ***\n");
} else { } else {
setenv ("ethaddr", Rx); setenv ("ethaddr", (char *)Rx);
} }
return (0); return (0);
} }

View file

@ -413,7 +413,9 @@ noCacheJump:
j clearmem j clearmem
nop nop
#if 0
.globl memtest .globl memtest
#endif
memtest: memtest:
/* Fill memory with address */ /* Fill memory with address */
li t0, 0x80000000 li t0, 0x80000000
@ -434,7 +436,9 @@ mt1: lw t2, 0(t0)
bne t1, zero, mt1 bne t1, zero, mt1
nop nop
nop nop
#if 0
.globl clearmem .globl clearmem
#endif
clearmem: clearmem:
/* Clear memory */ /* Clear memory */
li t0, 0x80000000 li t0, 0x80000000

View file

@ -43,20 +43,22 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
.data : { *(.data) } .data : { *(.data) }
. = ALIGN(4); . = .;
.sdata : { *(.sdata) } _gp = ALIGN(16) + 0x7ff0;
_gp = ALIGN(16);
.got : {
__got_start = .; __got_start = .;
.got : { *(.got) } *(.got)
__got_end = .; __got_end = .;
}
.sdata : { *(.sdata) } .sdata : { *(.sdata) }
.u_boot_cmd : {
__u_boot_cmd_start = .; __u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) } *(.u_boot_cmd)
__u_boot_cmd_end = .; __u_boot_cmd_end = .;
}
uboot_end_data = .; uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2; num_got_entries = (__got_end - __got_start) >> 2;

View file

@ -69,6 +69,7 @@ SECTIONS
common/environment.o(.text) common/environment.o(.text)
*(.text) *(.text)
*(.fixup)
*(.got1) *(.got1)
} }
_etext = .; _etext = .;

View file

@ -25,6 +25,12 @@
#include <ioports.h> #include <ioports.h>
#include <mpc8260.h> #include <mpc8260.h>
#if defined(CONFIG_OF_LIBFDT)
#include <libfdt.h>
#include <libfdt_env.h>
#include <fdt_support.h>
#endif
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
/* /*
@ -38,12 +44,12 @@ const iop_conf_t iop_conf_tab[4][32] = {
/* Port A configuration */ /* Port A configuration */
{ /* conf ppar psor pdir podr pdat */ { /* conf ppar psor pdir podr pdat */
/* PA31 */ { 0, 1, 1, 0, 0, 0 }, /* FCC1 COL */ /* PA31 */ { 1, 1, 1, 0, 0, 0 }, /* FCC1 COL */
/* PA30 */ { 0, 1, 1, 0, 0, 0 }, /* FCC1 CRS */ /* PA30 */ { 1, 1, 1, 0, 0, 0 }, /* FCC1 CRS */
/* PA29 */ { 0, 1, 1, 1, 0, 0 }, /* FCC1 TXER */ /* PA29 */ { 1, 1, 1, 1, 0, 0 }, /* FCC1 TXER */
/* PA28 */ { 0, 1, 1, 1, 0, 0 }, /* FCC1 TXEN */ /* PA28 */ { 1, 1, 1, 1, 0, 0 }, /* FCC1 TXEN */
/* PA27 */ { 0, 1, 1, 0, 0, 0 }, /* FCC1 RXDV */ /* PA27 */ { 1, 1, 1, 0, 0, 0 }, /* FCC1 RXDV */
/* PA26 */ { 0, 1, 1, 0, 0, 0 }, /* FCC1 RXER */ /* PA26 */ { 1, 1, 1, 0, 0, 0 }, /* FCC1 RXER */
/* PA25 */ { 0, 0, 0, 0, 1, 0 }, /* 8247_P0 */ /* PA25 */ { 0, 0, 0, 0, 1, 0 }, /* 8247_P0 */
#if defined(CONFIG_SOFT_I2C) #if defined(CONFIG_SOFT_I2C)
/* PA24 */ { 1, 0, 0, 0, 1, 1 }, /* I2C_SDA2 */ /* PA24 */ { 1, 0, 0, 0, 1, 1 }, /* I2C_SDA2 */
@ -53,14 +59,14 @@ const iop_conf_t iop_conf_tab[4][32] = {
/* PA23 */ { 0, 0, 0, 1, 0, 0 }, /* PA23 */ /* PA23 */ { 0, 0, 0, 1, 0, 0 }, /* PA23 */
#endif #endif
/* PA22 */ { 0, 0, 0, 0, 1, 0 }, /* SMC2_DCD */ /* PA22 */ { 0, 0, 0, 0, 1, 0 }, /* SMC2_DCD */
/* PA21 */ { 0, 1, 0, 1, 0, 0 }, /* FCC1 TXD3 */ /* PA21 */ { 1, 1, 0, 1, 0, 0 }, /* FCC1 TXD3 */
/* PA20 */ { 0, 1, 0, 1, 0, 0 }, /* FCC1 TXD2 */ /* PA20 */ { 1, 1, 0, 1, 0, 0 }, /* FCC1 TXD2 */
/* PA19 */ { 0, 1, 0, 1, 0, 0 }, /* FCC1 TXD1 */ /* PA19 */ { 1, 1, 0, 1, 0, 0 }, /* FCC1 TXD1 */
/* PA18 */ { 0, 1, 0, 1, 0, 0 }, /* FCC1 TXD0 */ /* PA18 */ { 1, 1, 0, 1, 0, 0 }, /* FCC1 TXD0 */
/* PA17 */ { 0, 1, 0, 0, 0, 0 }, /* FCC1 RXD0 */ /* PA17 */ { 1, 1, 0, 0, 0, 0 }, /* FCC1 RXD0 */
/* PA16 */ { 0, 1, 0, 0, 0, 0 }, /* FCC1 RXD1 */ /* PA16 */ { 1, 1, 0, 0, 0, 0 }, /* FCC1 RXD1 */
/* PA15 */ { 0, 1, 0, 0, 0, 0 }, /* FCC1 RXD2 */ /* PA15 */ { 1, 1, 0, 0, 0, 0 }, /* FCC1 RXD2 */
/* PA14 */ { 0, 1, 0, 0, 0, 0 }, /* FCC1 RXD3 */ /* PA14 */ { 1, 1, 0, 0, 0, 0 }, /* FCC1 RXD3 */
/* PA13 */ { 0, 0, 0, 1, 1, 0 }, /* SMC2_RTS */ /* PA13 */ { 0, 0, 0, 1, 1, 0 }, /* SMC2_RTS */
/* PA12 */ { 0, 0, 0, 0, 1, 0 }, /* SMC2_CTS */ /* PA12 */ { 0, 0, 0, 0, 1, 0 }, /* SMC2_CTS */
/* PA11 */ { 0, 0, 0, 1, 1, 0 }, /* SMC2_DTR */ /* PA11 */ { 0, 0, 0, 1, 1, 0 }, /* SMC2_DTR */
@ -79,20 +85,20 @@ const iop_conf_t iop_conf_tab[4][32] = {
/* Port B configuration */ /* Port B configuration */
{ /* conf ppar psor pdir podr pdat */ { /* conf ppar psor pdir podr pdat */
/* PB31 */ { 1, 1, 0, 1, 0, 0 }, /* FCC2 MII TX_ER */ /* PB31 */ { 0, 1, 0, 1, 0, 0 }, /* FCC2 MII TX_ER */
/* PB30 */ { 1, 1, 0, 0, 0, 0 }, /* FCC2 MII RX_DV */ /* PB30 */ { 0, 1, 0, 0, 0, 0 }, /* FCC2 MII RX_DV */
/* PB29 */ { 1, 1, 1, 1, 0, 0 }, /* FCC2 MII TX_EN */ /* PB29 */ { 0, 1, 1, 1, 0, 0 }, /* FCC2 MII TX_EN */
/* PB28 */ { 1, 1, 0, 0, 0, 0 }, /* FCC2 MII RX_ER */ /* PB28 */ { 0, 1, 0, 0, 0, 0 }, /* FCC2 MII RX_ER */
/* PB27 */ { 1, 1, 0, 0, 0, 0 }, /* FCC2 MII COL */ /* PB27 */ { 0, 1, 0, 0, 0, 0 }, /* FCC2 MII COL */
/* PB26 */ { 1, 1, 0, 0, 0, 0 }, /* FCC2 MII CRS */ /* PB26 */ { 0, 1, 0, 0, 0, 0 }, /* FCC2 MII CRS */
/* PB25 */ { 1, 1, 0, 1, 0, 0 }, /* FCC2 MII TxD[3] */ /* PB25 */ { 0, 1, 0, 1, 0, 0 }, /* FCC2 MII TxD[3] */
/* PB24 */ { 1, 1, 0, 1, 0, 0 }, /* FCC2 MII TxD[2] */ /* PB24 */ { 0, 1, 0, 1, 0, 0 }, /* FCC2 MII TxD[2] */
/* PB23 */ { 1, 1, 0, 1, 0, 0 }, /* FCC2 MII TxD[1] */ /* PB23 */ { 0, 1, 0, 1, 0, 0 }, /* FCC2 MII TxD[1] */
/* PB22 */ { 1, 1, 0, 1, 0, 0 }, /* FCC2 MII TxD[0] */ /* PB22 */ { 0, 1, 0, 1, 0, 0 }, /* FCC2 MII TxD[0] */
/* PB21 */ { 1, 1, 0, 0, 0, 0 }, /* FCC2 MII RxD[0] */ /* PB21 */ { 0, 1, 0, 0, 0, 0 }, /* FCC2 MII RxD[0] */
/* PB20 */ { 1, 1, 0, 0, 0, 0 }, /* FCC2 MII RxD[1] */ /* PB20 */ { 0, 1, 0, 0, 0, 0 }, /* FCC2 MII RxD[1] */
/* PB19 */ { 1, 1, 0, 0, 0, 0 }, /* FCC2 MII RxD[2] */ /* PB19 */ { 0, 1, 0, 0, 0, 0 }, /* FCC2 MII RxD[2] */
/* PB18 */ { 1, 1, 0, 0, 0, 0 }, /* FCC2 MII RxD[3] */ /* PB18 */ { 0, 1, 0, 0, 0, 0 }, /* FCC2 MII RxD[3] */
/* PB17 */ { 0, 0, 0, 0, 0, 0 }, /* PB17 */ /* PB17 */ { 0, 0, 0, 0, 0, 0 }, /* PB17 */
/* PB16 */ { 0, 0, 0, 0, 0, 0 }, /* PB16 */ /* PB16 */ { 0, 0, 0, 0, 0, 0 }, /* PB16 */
/* PB15 */ { 0, 0, 0, 0, 0, 0 }, /* PB15 */ /* PB15 */ { 0, 0, 0, 0, 0, 0 }, /* PB15 */
@ -123,8 +129,8 @@ const iop_conf_t iop_conf_tab[4][32] = {
/* PC26 */ { 0, 0, 0, 1, 0, 0 }, /* PC26 */ /* PC26 */ { 0, 0, 0, 1, 0, 0 }, /* PC26 */
/* PC25 */ { 0, 1, 1, 0, 0, 0 }, /* SYNC_IN */ /* PC25 */ { 0, 1, 1, 0, 0, 0 }, /* SYNC_IN */
/* PC24 */ { 0, 0, 0, 1, 0, 0 }, /* PC24 */ /* PC24 */ { 0, 0, 0, 1, 0, 0 }, /* PC24 */
/* PC23 */ { 0, 1, 0, 1, 0, 0 }, /* ATMTFCLK */ /* PC23 */ { 1, 1, 0, 0, 0, 0 }, /* FCC1 MII TX_CLK */
/* PC22 */ { 0, 1, 0, 0, 0, 0 }, /* ATMRFCLK */ /* PC22 */ { 1, 1, 0, 0, 0, 0 }, /* FCC1 MII RX_CLK */
/* PC21 */ { 0, 1, 0, 0, 0, 0 }, /* SCC1 EN RXCLK */ /* PC21 */ { 0, 1, 0, 0, 0, 0 }, /* SCC1 EN RXCLK */
/* PC20 */ { 0, 1, 0, 0, 0, 0 }, /* SCC1 EN TXCLK */ /* PC20 */ { 0, 1, 0, 0, 0, 0 }, /* SCC1 EN TXCLK */
/* PC19 */ { 1, 1, 0, 0, 0, 0 }, /* FCC2 MII RX_CLK */ /* PC19 */ { 1, 1, 0, 0, 0, 0 }, /* FCC2 MII RX_CLK */
@ -180,7 +186,7 @@ const iop_conf_t iop_conf_tab[4][32] = {
/* PD10 */ { 0, 0, 0, 0, 0, 0 }, /* PD10 */ /* PD10 */ { 0, 0, 0, 0, 0, 0 }, /* PD10 */
/* PD9 */ { 0, 0, 0, 0, 0, 0 }, /* PD9 */ /* PD9 */ { 0, 0, 0, 0, 0, 0 }, /* PD9 */
/* PD8 */ { 0, 0, 0, 0, 0, 0 }, /* PD8 */ /* PD8 */ { 0, 0, 0, 0, 0, 0 }, /* PD8 */
/* PD7 */ { 0, 0, 0, 1, 0, 1 }, /* MII_MDIO */ /* PD7 */ { 1, 0, 0, 1, 0, 1 }, /* MII_MDIO */
/* PD6 */ { 0, 0, 0, 1, 0, 1 }, /* PD6 */ /* PD6 */ { 0, 0, 0, 1, 0, 1 }, /* PD6 */
/* PD5 */ { 0, 0, 0, 1, 0, 1 }, /* PD5 */ /* PD5 */ { 0, 0, 0, 1, 0, 1 }, /* PD5 */
/* PD4 */ { 0, 0, 0, 1, 0, 1 }, /* PD4 */ /* PD4 */ { 0, 0, 0, 1, 0, 1 }, /* PD4 */
@ -224,7 +230,7 @@ static long int try_init (volatile memctl8260_t * memctl, ulong sdmr,
* mapped by the controller. That means, that the initial mapping has * mapped by the controller. That means, that the initial mapping has
* to be (at least) twice as large as the maximum expected size. * to be (at least) twice as large as the maximum expected size.
*/ */
maxsize = (1 + (~orx | 0x7fff)) / 2; maxsize = (1 + (~orx | 0x7fff))/* / 2*/;
sdmr_ptr = &memctl->memc_psdmr; sdmr_ptr = &memctl->memc_psdmr;
orx_ptr = &memctl->memc_or2; orx_ptr = &memctl->memc_or2;
@ -315,4 +321,38 @@ nand_init (void)
printf ("%4lu MB\n", totlen >>20); printf ("%4lu MB\n", totlen >>20);
} }
#endif #endif /* CFG_CMD_NAND */
#if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
/*
* update "memory" property in the blob
*/
void ft_blob_update(void *blob, bd_t *bd)
{
int ret, nodeoffset = 0;
ulong memory_data[2] = {0};
memory_data[0] = cpu_to_be32(bd->bi_memstart);
memory_data[1] = cpu_to_be32(bd->bi_memsize);
nodeoffset = fdt_find_node_by_path (blob, "/memory");
if (nodeoffset >= 0) {
ret = fdt_setprop(blob, nodeoffset, "reg", memory_data,
sizeof(memory_data));
if (ret < 0)
printf("ft_blob_update): cannot set /memory/reg "
"property err:%s\n", fdt_strerror(ret));
}
else {
/* memory node is required in dts */
printf("ft_blob_update(): cannot find /memory node "
"err:%s\n", fdt_strerror(nodeoffset));
}
}
void ft_board_setup(void *blob, bd_t *bd)
{
ft_cpu_setup( blob, bd);
ft_blob_update(blob, bd);
}
#endif /* defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) */

View file

@ -25,7 +25,7 @@
#include <command.h> #include <command.h>
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <asm/inca-ip.h> #include <asm/inca-ip.h>
#include <asm/io.h>
extern uint incaip_get_cpuclk(void); extern uint incaip_get_cpuclk(void);
@ -85,7 +85,6 @@ long int initdram(int board_type)
int checkboard (void) int checkboard (void)
{ {
unsigned long chipid = *INCA_IP_WDT_CHIPID; unsigned long chipid = *INCA_IP_WDT_CHIPID;
int part_num; int part_num;
@ -107,5 +106,7 @@ int checkboard (void)
printf("CPU Speed %d MHz\n", incaip_get_cpuclk()/1000000); printf("CPU Speed %d MHz\n", incaip_get_cpuclk()/1000000);
set_io_port_base(0);
return 0; return 0;
} }

View file

@ -43,21 +43,22 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
.data : { *(.data) } .data : { *(.data) }
. = ALIGN(4);
.sdata : { *(.sdata) }
_gp = ALIGN(16);
__got_start = .;
.got : { *(.got) }
__got_end = .;
.sdata : { *(.sdata) }
. = .; . = .;
_gp = ALIGN(16) + 0x7ff0;
.got : {
__got_start = .;
*(.got)
__got_end = .;
}
.sdata : { *(.sdata) }
.u_boot_cmd : {
__u_boot_cmd_start = .; __u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) } *(.u_boot_cmd)
__u_boot_cmd_end = .; __u_boot_cmd_end = .;
}
uboot_end_data = .; uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2; num_got_entries = (__got_end - __got_start) >> 2;

View file

@ -96,6 +96,23 @@ int board_early_init_f(void)
gpio_write_bit(CFG_GPIO_FLASH_WP, 1); gpio_write_bit(CFG_GPIO_FLASH_WP, 1);
/*
* Reset PHY's:
* The PHY's need a 2nd reset pulse, since the MDIO address is latched
* upon reset, and with the first reset upon powerup, the addresses are
* not latched reliable, since the IRQ line is multiplexed with an
* MDIO address. A 2nd reset at this time will make sure, that the
* correct address is latched.
*/
gpio_write_bit(CFG_GPIO_PHY0_RST, 1);
gpio_write_bit(CFG_GPIO_PHY1_RST, 1);
udelay(1000);
gpio_write_bit(CFG_GPIO_PHY0_RST, 0);
gpio_write_bit(CFG_GPIO_PHY1_RST, 0);
udelay(1000);
gpio_write_bit(CFG_GPIO_PHY0_RST, 1);
gpio_write_bit(CFG_GPIO_PHY1_RST, 1);
return 0; return 0;
} }
@ -230,15 +247,6 @@ int misc_init_r(void)
/* Write lime controller memory parameters */ /* Write lime controller memory parameters */
out_be32((void *)CFG_LIME_MMR, CFG_LIME_MMR_VALUE); out_be32((void *)CFG_LIME_MMR, CFG_LIME_MMR_VALUE);
/*
* Reset PHY's
*/
gpio_write_bit(CFG_GPIO_PHY0_RST, 0);
gpio_write_bit(CFG_GPIO_PHY1_RST, 0);
udelay(100);
gpio_write_bit(CFG_GPIO_PHY0_RST, 1);
gpio_write_bit(CFG_GPIO_PHY1_RST, 1);
/* /*
* Init display controller * Init display controller
*/ */

View file

@ -89,4 +89,5 @@ long int initdram (int board_type)
/* Write to the SDRAM Mode Register */ /* Write to the SDRAM Mode Register */
*(u32 *)(CFG_SDRAM_BASE + 0x400) = 0xA5A59696; *(u32 *)(CFG_SDRAM_BASE + 0x400) = 0xA5A59696;
} }
return dramsize;
} }

View file

@ -60,6 +60,7 @@ SECTIONS
lib_generic/crc32.o (.text) lib_generic/crc32.o (.text)
lib_generic/zlib.o (.text) lib_generic/zlib.o (.text)
*(.fixup)
*(.got1) *(.got1)
. = ALIGN(16); . = ALIGN(16);
*(.rodata) *(.rodata)

View file

@ -31,7 +31,7 @@
#include "../common/common_util.h" #include "../common/common_util.h"
#if defined(CONFIG_DRIVER_CS8900) #if defined(CONFIG_DRIVER_CS8900)
#include <../drivers/cs8900.h> #include <../drivers/net/cs8900.h>
static uchar cs8900_chksum(ushort data) static uchar cs8900_chksum(ushort data)
{ {

View file

@ -290,7 +290,7 @@ int flash_erase (flash_info_t * info, int s_first, int s_last)
* Copy memory to flash * Copy memory to flash
*/ */
volatile static int write_hword (flash_info_t * info, ulong dest, ushort data) static int write_hword (flash_info_t * info, ulong dest, ushort data)
{ {
vu_short *addr = (vu_short *) dest; vu_short *addr = (vu_short *) dest;
ushort result; ushort result;

View file

@ -128,7 +128,7 @@ typedef struct {
} /*__attribute__((__packed__))*/ VCMA9_PLD; } /*__attribute__((__packed__))*/ VCMA9_PLD;
#define VCMA9_PLD_BASE 0x2C000100 #define VCMA9_PLD_BASE 0x2C000100
static inline VCMA9_PLD * const VCMA9_GetBase_PLD(void) static inline VCMA9_PLD * VCMA9_GetBase_PLD(void)
{ {
return (VCMA9_PLD * const)VCMA9_PLD_BASE; return (VCMA9_PLD * const)VCMA9_PLD_BASE;
} }

View file

@ -26,7 +26,7 @@
#include <common.h> #include <common.h>
#include <exports.h> #include <exports.h>
#include "../drivers/smc91111.h" #include "../drivers/net/smc91111.h"
#define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE #define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE

View file

@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(BOARD).a LIB = $(obj)lib$(BOARD).a
COBJS = $(BOARD).o flash.o COBJS = $(BOARD).o flash.o
SOBJS = memsetup.o SOBJS = lowlevel_init.o
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(COBJS)) OBJS := $(addprefix $(obj),$(COBJS))

View file

@ -15,8 +15,8 @@
.set noreorder .set noreorder
.set mips32 .set mips32
.globl memsetup .globl lowlevel_init
memsetup: lowlevel_init:
/* /*
* Step 1) Establish CPU endian mode. * Step 1) Establish CPU endian mode.
* NOTE: A fair amount of code is necessary on the Pb1000 to * NOTE: A fair amount of code is necessary on the Pb1000 to

View file

@ -25,6 +25,7 @@
#include <command.h> #include <command.h>
#include <asm/au1x00.h> #include <asm/au1x00.h>
#include <asm/mipsregs.h> #include <asm/mipsregs.h>
#include <asm/io.h>
long int initdram(int board_type) long int initdram(int board_type)
{ {
@ -41,7 +42,9 @@ void write_one_tlb( int index, u32 pagemask, u32 hi, u32 low0, u32 low1 );
int checkboard (void) int checkboard (void)
{ {
#if defined(CONFIG_IDE_PCMCIA) && 0
u16 status; u16 status;
#endif
/* volatile u32 *pcmcia_bcsr = (u32*)(DB1000_BCSR_ADDR+0x10); */ /* volatile u32 *pcmcia_bcsr = (u32*)(DB1000_BCSR_ADDR+0x10); */
volatile u32 *sys_counter = (volatile u32*)SYS_COUNTER_CNTRL; volatile u32 *sys_counter = (volatile u32*)SYS_COUNTER_CNTRL;
u32 proc_id; u32 proc_id;
@ -69,6 +72,9 @@ int checkboard (void)
default: default:
printf ("Unsupported cpu %d, proc_id=0x%x\n", proc_id >> 24, proc_id); printf ("Unsupported cpu %d, proc_id=0x%x\n", proc_id >> 24, proc_id);
} }
set_io_port_base(0);
#if defined(CONFIG_IDE_PCMCIA) && 0 #if defined(CONFIG_IDE_PCMCIA) && 0
/* Enable 3.3 V on slot 0 ( VCC ) /* Enable 3.3 V on slot 0 ( VCC )
No 5V */ No 5V */

View file

@ -43,20 +43,22 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
.data : { *(.data) } .data : { *(.data) }
. = ALIGN(4); . = .;
.sdata : { *(.sdata) } _gp = ALIGN(16) + 0x7ff0;
_gp = ALIGN(16);
.got : {
__got_start = .; __got_start = .;
.got : { *(.got) } *(.got)
__got_end = .; __got_end = .;
}
.sdata : { *(.sdata) } .sdata : { *(.sdata) }
.u_boot_cmd : {
__u_boot_cmd_start = .; __u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) } *(.u_boot_cmd)
__u_boot_cmd_end = .; __u_boot_cmd_end = .;
}
uboot_end_data = .; uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2; num_got_entries = (__got_end - __got_start) >> 2;

View file

@ -196,7 +196,7 @@ void flash_print_info (flash_info_t * info)
int i; int i;
uchar *boottype; uchar *boottype;
uchar *bootletter; uchar *bootletter;
uchar *fmt; char *fmt;
uchar botbootletter[] = "B"; uchar botbootletter[] = "B";
uchar topbootletter[] = "T"; uchar topbootletter[] = "T";
uchar botboottype[] = "bottom boot sector"; uchar botboottype[] = "bottom boot sector";

View file

@ -299,7 +299,7 @@ void flash_print_info (flash_info_t *info)
int i; int i;
uchar *boottype; uchar *boottype;
uchar *bootletter; uchar *bootletter;
uchar *fmt; char *fmt;
uchar botbootletter[] = "B"; uchar botbootletter[] = "B";
uchar topbootletter[] = "T"; uchar topbootletter[] = "T";
uchar botboottype[] = "bottom boot sector"; uchar botboottype[] = "bottom boot sector";

View file

@ -26,6 +26,7 @@
#include <asm/inca-ip.h> #include <asm/inca-ip.h>
#include <asm/regdef.h> #include <asm/regdef.h>
#include <asm/mipsregs.h> #include <asm/mipsregs.h>
#include <asm/io.h>
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <asm/cacheops.h> #include <asm/cacheops.h>
@ -145,6 +146,8 @@ int checkboard (void)
printf("CPU Speed %d MHz\n", CPU_CLOCK_RATE/1000000); printf("CPU Speed %d MHz\n", CPU_CLOCK_RATE/1000000);
set_io_port_base(0);
return 0; return 0;
} }

View file

@ -53,21 +53,22 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
.data : { *(.data) } .data : { *(.data) }
. = ALIGN(4);
.sdata : { *(.sdata) }
_gp = ALIGN(16);
__got_start = .;
.got : { *(.got) }
__got_end = .;
.sdata : { *(.sdata) }
. = .; . = .;
_gp = ALIGN(16) + 0x7ff0;
.got : {
__got_start = .;
*(.got)
__got_end = .;
}
.sdata : { *(.sdata) }
.u_boot_cmd : {
__u_boot_cmd_start = .; __u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) } *(.u_boot_cmd)
__u_boot_cmd_end = .; __u_boot_cmd_end = .;
}
uboot_end_data = .; uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2; num_got_entries = (__got_end - __got_start) >> 2;

View file

@ -210,7 +210,7 @@ void read_RS5C372_time (struct tm *timedate)
#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10) #define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
if (i2c_read (RS5C372_PPC_I2C_ADR, 0, 1, buffer, sizeof (buffer))) { if (! i2c_read (RS5C372_PPC_I2C_ADR, 0, 1, buffer, sizeof (buffer))) {
timedate->tm_sec = BCD_TO_BIN (buffer[0]); timedate->tm_sec = BCD_TO_BIN (buffer[0]);
timedate->tm_min = BCD_TO_BIN (buffer[1]); timedate->tm_min = BCD_TO_BIN (buffer[1]);
timedate->tm_hour = BCD_TO_BIN (buffer[2]); timedate->tm_hour = BCD_TO_BIN (buffer[2]);
@ -231,7 +231,7 @@ int read_LM84_temp (int address)
unsigned char buffer[8]; unsigned char buffer[8];
/*int rc;*/ /*int rc;*/
if (i2c_read (address, 0, 1, buffer, 1)) { if (! i2c_read (address, 0, 1, buffer, 1)) {
return (int) buffer[0]; return (int) buffer[0];
} else { } else {
/*printf("i2c error %02x\n", rc); */ /*printf("i2c error %02x\n", rc); */

View file

@ -55,6 +55,7 @@ SECTIONS
{ {
cpu/mpc8260/start.o (.text) cpu/mpc8260/start.o (.text)
*(.text) *(.text)
*(.fixup)
*(.got1) *(.got1)
/*. = env_offset; */ /*. = env_offset; */
} }

View file

@ -288,7 +288,7 @@ int flash_erase (flash_info_t * info, int s_first, int s_last)
* Copy memory to flash * Copy memory to flash
*/ */
volatile static int write_hword (flash_info_t * info, ulong dest, ushort data) static int write_hword (flash_info_t * info, ulong dest, ushort data)
{ {
vu_short *addr = (vu_short *) dest; vu_short *addr = (vu_short *) dest;
ushort result; ushort result;

View file

@ -290,7 +290,7 @@ int flash_erase (flash_info_t * info, int s_first, int s_last)
* Copy memory to flash * Copy memory to flash
*/ */
volatile static int write_hword (flash_info_t * info, ulong dest, ushort data) static int write_hword (flash_info_t * info, ulong dest, ushort data)
{ {
vu_short *addr = (vu_short *) dest; vu_short *addr = (vu_short *) dest;
ushort result; ushort result;

View file

@ -13,10 +13,9 @@
#include <command.h> #include <command.h>
#include <asm/addrspace.h> #include <asm/addrspace.h>
#include <asm/inca-ip.h> #include <asm/inca-ip.h>
#include <asm/io.h>
#include <pci.h> #include <pci.h>
unsigned long mips_io_port_base = 0;
#if defined(CONFIG_PCI) #if defined(CONFIG_PCI)
static struct pci_controller hose; static struct pci_controller hose;
@ -26,17 +25,17 @@ void pci_init_board (void)
} }
#endif #endif
long int initdram(int board_type) long int initdram(int board_type)
{ {
return get_ram_size (CFG_SDRAM_BASE, 0x8000000); return get_ram_size (CFG_SDRAM_BASE, 0x8000000);
} }
int checkboard (void) int checkboard (void)
{ {
printf("Board: TANBAC TB0229 "); printf("Board: TANBAC TB0229 ");
printf("(CPU Speed %d MHz)\n", (int)CPU_CLOCK_RATE/1000000); printf("(CPU Speed %d MHz)\n", (int)CPU_CLOCK_RATE/1000000);
set_io_port_base(0);
return 0; return 0;
} }

View file

@ -43,21 +43,22 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
.data : { *(.data) } .data : { *(.data) }
. = ALIGN(4);
.sdata : { *(.sdata) }
_gp = ALIGN(16);
__got_start = .;
.got : { *(.got) }
__got_end = .;
.sdata : { *(.sdata) }
. = .; . = .;
_gp = ALIGN(16) + 0x7ff0;
.got : {
__got_start = .;
*(.got)
__got_end = .;
}
.sdata : { *(.sdata) }
.u_boot_cmd : {
__u_boot_cmd_start = .; __u_boot_cmd_start = .;
.u_boot_cmd : { *(.u_boot_cmd) } *(.u_boot_cmd)
__u_boot_cmd_end = .; __u_boot_cmd_end = .;
}
uboot_end_data = .; uboot_end_data = .;
num_got_entries = (__got_end - __got_start) >> 2; num_got_entries = (__got_end - __got_start) >> 2;

View file

@ -441,15 +441,23 @@ ulong post_word_load (void)
} }
#endif /* CONFIG_POST || CONFIG_LOGBUFFER*/ #endif /* CONFIG_POST || CONFIG_LOGBUFFER*/
#ifdef CONFIG_PS2MULT
#ifdef CONFIG_BOARD_EARLY_INIT_R #ifdef CONFIG_BOARD_EARLY_INIT_R
int board_early_init_r (void) int board_early_init_r (void)
{ {
extern int usb_cpu_init(void);
#ifdef CONFIG_PS2MULT
ps2mult_early_init(); ps2mult_early_init();
#endif /* CONFIG_PS2MULT */
#if defined(CONFIG_USB_OHCI_NEW) && defined(CFG_USB_OHCI_CPU_INIT)
/* Low level USB init, required for proper kernel operation */
usb_cpu_init();
#endif
return (0); return (0);
} }
#endif #endif
#endif /* CONFIG_PS2MULT */
#ifdef CONFIG_FO300 #ifdef CONFIG_FO300
int silent_boot (void) int silent_boot (void)
@ -585,9 +593,9 @@ int last_stage_init (void)
disable_ctrlc(1); disable_ctrlc(1);
} }
#endif #endif
#endif /* !CONFIG_TQM5200S */
return 0; return 0;
#endif /* !CONFIG_TQM5200S */
} }
#ifdef CONFIG_VIDEO_SM501 #ifdef CONFIG_VIDEO_SM501

View file

@ -26,7 +26,7 @@
#include <common.h> #include <common.h>
#include <exports.h> #include <exports.h>
#include "../drivers/smc91111.h" #include "../drivers/net/smc91111.h"
#define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE #define SMC_BASE_ADDRESS CONFIG_SMC91111_BASE

View file

@ -44,6 +44,7 @@
#if ( WEP_FLASH_BUS_WIDTH == 1 ) #if ( WEP_FLASH_BUS_WIDTH == 1 )
# define FLASH_BUS vu_char # define FLASH_BUS vu_char
# define FLASH_BUS_RET u_char
# if ( WEP_FLASH_INTERLEAVE == 1 ) # if ( WEP_FLASH_INTERLEAVE == 1 )
# define FLASH_CMD( x ) x # define FLASH_CMD( x ) x
# else # else
@ -53,6 +54,7 @@
#elif ( WEP_FLASH_BUS_WIDTH == 2 ) #elif ( WEP_FLASH_BUS_WIDTH == 2 )
# define FLASH_BUS vu_short # define FLASH_BUS vu_short
# define FLASH_BUS_RET u_short
# if ( WEP_FLASH_INTERLEAVE == 1 ) # if ( WEP_FLASH_INTERLEAVE == 1 )
# define FLASH_CMD( x ) x # define FLASH_CMD( x ) x
# elif ( WEP_FLASH_INTERLEAVE == 2 ) # elif ( WEP_FLASH_INTERLEAVE == 2 )
@ -64,6 +66,7 @@
#elif ( WEP_FLASH_BUS_WIDTH == 4 ) #elif ( WEP_FLASH_BUS_WIDTH == 4 )
# define FLASH_BUS vu_long # define FLASH_BUS vu_long
# define FLASH_BUS_RET u_long
# if ( WEP_FLASH_INTERLEAVE == 1 ) # if ( WEP_FLASH_INTERLEAVE == 1 )
# define FLASH_CMD( x ) x # define FLASH_CMD( x ) x
# elif ( WEP_FLASH_INTERLEAVE == 2 ) # elif ( WEP_FLASH_INTERLEAVE == 2 )
@ -81,7 +84,7 @@
flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; flash_info_t flash_info[CFG_MAX_FLASH_BANKS];
static FLASH_BUS flash_status_reg (void) static FLASH_BUS_RET flash_status_reg (void)
{ {
FLASH_BUS *addr = (FLASH_BUS *) 0; FLASH_BUS *addr = (FLASH_BUS *) 0;

View file

@ -27,32 +27,113 @@ LIB = $(obj)libcommon.a
AOBJS = AOBJS =
COBJS = main.o ACEX1K.o altera.o bedbug.o circbuf.o cmd_autoscript.o \ COBJS-y += main.o
cmd_bdinfo.o cmd_bedbug.o cmd_bmp.o cmd_boot.o cmd_bootm.o \ COBJS-y += ACEX1K.o
cmd_cache.o cmd_console.o \ COBJS-y += altera.o
cmd_date.o cmd_dcr.o cmd_diag.o cmd_display.o cmd_doc.o cmd_dtt.o \ COBJS-y += bedbug.o
cmd_eeprom.o cmd_elf.o cmd_ext2.o \ COBJS-y += circbuf.o
cmd_fat.o cmd_fdc.o cmd_fdt.o cmd_fdos.o cmd_flash.o cmd_fpga.o \ COBJS-y += cmd_autoscript.o
cmd_i2c.o cmd_ide.o cmd_immap.o cmd_itest.o cmd_jffs2.o \ COBJS-$(CONFIG_CMD_BDI) += cmd_bdinfo.o
cmd_load.o cmd_log.o \ COBJS-$(CONFIG_CMD_BEDBUG) += cmd_bedbug.o
cmd_mem.o cmd_mii.o cmd_misc.o cmd_mmc.o \ COBJS-$(CONFIG_CMD_BMP) += cmd_bmp.o
cmd_nand.o cmd_net.o cmd_nvedit.o \ COBJS-y += cmd_boot.o
cmd_onenand.o \ COBJS-y += cmd_bootm.o
cmd_pci.o cmd_pcmcia.o cmd_portio.o \ COBJS-$(CONFIG_CMD_CACHE) += cmd_cache.o
cmd_reginfo.o cmd_reiser.o cmd_sata.o cmd_scsi.o cmd_spi.o \ COBJS-$(CONFIG_CMD_CONSOLE) += cmd_console.o
cmd_universe.o cmd_usb.o cmd_vfd.o \ COBJS-$(CONFIG_CMD_DATE) += cmd_date.o
command.o console.o cyclon2.o devices.o dlmalloc.o docecc.o \ ifdef CONFIG_4xx
environment.o env_common.o \ COBJS-$(CONFIG_CMD_SETGETDCR) += cmd_dcr.o
env_nand.o env_dataflash.o env_flash.o env_eeprom.o \ endif
env_onenand.o env_nvram.o env_nowhere.o \ ifdef CONFIG_POST
exports.o \ COBJS-$(CONFIG_CMD_DIAG) += cmd_diag.o
fdt_support.o flash.o fpga.o ft_build.o \ endif
hush.o kgdb.o lcd.o lists.o lynxkdi.o \ COBJS-$(CONFIG_CMD_DISPLAY) += cmd_display.o
memsize.o miiphybb.o miiphyutil.o \ COBJS-$(CONFIG_CMD_DOC) += cmd_doc.o
s_record.o serial.o soft_i2c.o soft_spi.o spartan2.o spartan3.o \ COBJS-$(CONFIG_CMD_DTT) += cmd_dtt.o
usb.o usb_kbd.o usb_storage.o \ COBJS-y += cmd_eeprom.o
virtex2.o xilinx.o crc16.o xyzModem.o cmd_mac.o cmd_mfsl.o COBJS-$(CONFIG_CMD_ELF) += cmd_elf.o
COBJS-$(CONFIG_CMD_EXT2) += cmd_ext2.o
COBJS-$(CONFIG_CMD_FAT) += cmd_fat.o
COBJS-y += cmd_fdc.o
COBJS-$(CONFIG_OF_LIBFDT) += cmd_fdt.o
COBJS-$(CONFIG_CMD_FDOS) += cmd_fdos.o
COBJS-$(CONFIG_CMD_FLASH) += cmd_flash.o
ifdef CONFIG_FPGA
COBJS-$(CONFIG_CMD_FPGA) += cmd_fpga.o
endif
COBJS-$(CONFIG_CMD_I2C) += cmd_i2c.o
COBJS-$(CONFIG_CMD_IDE) += cmd_ide.o
COBJS-$(CONFIG_CMD_IMMAP) += cmd_immap.o
COBJS-$(CONFIG_CMD_ITEST) += cmd_itest.o
COBJS-$(CONFIG_CMD_JFFS2) += cmd_jffs2.o
COBJS-y += cmd_load.o
COBJS-$(CONFIG_LOGBUFFER) += cmd_log.o
COBJS-y += cmd_mem.o
COBJS-$(CONFIG_CMD_MII) += cmd_mii.o
COBJS-$(CONFIG_CMD_MISC) += cmd_misc.o
COBJS-$(CONFIG_CMD_MMC) += cmd_mmc.o
COBJS-y += cmd_nand.o
COBJS-$(CONFIG_CMD_NET) += cmd_net.o
COBJS-y += cmd_nvedit.o
COBJS-y += cmd_onenand.o
ifdef CONFIG_PCI
COBJS-$(CONFIG_CMD_PCI) += cmd_pci.o
endif
COBJS-y += cmd_pcmcia.o
COBJS-$(CONFIG_CMD_PORTIO) += cmd_portio.o
COBJS-$(CONFIG_CMD_REGINFO) += cmd_reginfo.o
COBJS-$(CONFIG_CMD_REISER) += cmd_reiser.o
COBJS-y += cmd_sata.o
COBJS-$(CONFIG_CMD_SCSI) += cmd_scsi.o
COBJS-$(CONFIG_CMD_SPI) += cmd_spi.o
COBJS-$(CONFIG_CMD_UNIVERSE) += cmd_universe.o
COBJS-$(CONFIG_CMD_USB) += cmd_usb.o
COBJS-y += cmd_vfd.o
COBJS-y += command.o
COBJS-y += console.o
COBJS-y += cyclon2.o
COBJS-y += devices.o
COBJS-y += dlmalloc.o
COBJS-y += docecc.o
COBJS-y += environment.o
COBJS-y += env_common.o
COBJS-y += env_nand.o
COBJS-y += env_dataflash.o
COBJS-y += env_flash.o
COBJS-y += env_eeprom.o
COBJS-y += env_onenand.o
COBJS-y += env_nvram.o
COBJS-y += env_nowhere.o
COBJS-y += exports.o
COBJS-y += fdt_support.o
COBJS-y += flash.o
COBJS-y += fpga.o
COBJS-y += ft_build.o
COBJS-y += hush.o
COBJS-y += kgdb.o
COBJS-y += lcd.o
COBJS-y += lists.o
COBJS-y += lynxkdi.o
COBJS-y += memsize.o
COBJS-y += miiphybb.o
COBJS-y += miiphyutil.o
COBJS-y += s_record.o
COBJS-y += serial.o
COBJS-y += soft_i2c.o
COBJS-y += soft_spi.o
COBJS-y += spartan2.o
COBJS-y += spartan3.o
COBJS-y += usb.o
COBJS-y += usb_kbd.o
COBJS-y += usb_storage.o
COBJS-y += virtex2.o
COBJS-y += xilinx.o
COBJS-y += crc16.o
COBJS-y += xyzModem.o
COBJS-y += cmd_mac.o
COBJS-$(CONFIG_CMD_MFSL) += cmd_mfsl.o
COBJS := $(COBJS-y)
SRCS := $(AOBJS:.o=.S) $(COBJS:.o=.c) SRCS := $(AOBJS:.o=.S) $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(AOBJS) $(COBJS)) OBJS := $(addprefix $(obj),$(AOBJS) $(COBJS))

View file

@ -30,7 +30,6 @@
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
#if defined(CONFIG_CMD_BDI)
static void print_num(const char *, ulong); static void print_num(const char *, ulong);
#ifndef CONFIG_ARM /* PowerPC and other */ #ifndef CONFIG_ARM /* PowerPC and other */
@ -350,4 +349,3 @@ U_BOOT_CMD(
"bdinfo - print Board Info structure\n", "bdinfo - print Board Info structure\n",
NULL NULL
); );
#endif

View file

@ -13,8 +13,6 @@
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
#if defined(CONFIG_CMD_BEDBUG)
#ifndef MAX #ifndef MAX
#define MAX(a,b) ((a) > (b) ? (a) : (b)) #define MAX(a,b) ((a) > (b) ? (a) : (b))
#endif #endif
@ -413,7 +411,6 @@ int do_bedbug_rdump (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
U_BOOT_CMD (rdump, 1, 1, do_bedbug_rdump, U_BOOT_CMD (rdump, 1, 1, do_bedbug_rdump,
"rdump - Show registers.\n", " - Show registers.\n"); "rdump - Show registers.\n", " - Show registers.\n");
/* ====================================================================== */ /* ====================================================================== */
#endif
/* /*

View file

@ -31,8 +31,6 @@
#include <asm/byteorder.h> #include <asm/byteorder.h>
#include <malloc.h> #include <malloc.h>
#if defined(CONFIG_CMD_BMP)
static int bmp_info (ulong addr); static int bmp_info (ulong addr);
static int bmp_display (ulong addr, int x, int y); static int bmp_display (ulong addr, int x, int y);
@ -187,5 +185,3 @@ static int bmp_display(ulong addr, int x, int y)
# error bmp_display() requires CONFIG_LCD or CONFIG_VIDEO # error bmp_display() requires CONFIG_LCD or CONFIG_VIDEO
#endif #endif
} }
#endif /* defined(CONFIG_CMD_BMP) */

View file

@ -28,8 +28,6 @@
#include <command.h> #include <command.h>
#include <devices.h> #include <devices.h>
#if defined(CONFIG_CMD_CONSOLE)
extern void _do_coninfo (void); extern void _do_coninfo (void);
int do_coninfo (cmd_tbl_t * cmd, int flag, int argc, char *argv[]) int do_coninfo (cmd_tbl_t * cmd, int flag, int argc, char *argv[])
{ {
@ -67,5 +65,3 @@ U_BOOT_CMD(
"coninfo - print console devices and information\n", "coninfo - print console devices and information\n",
"" ""
); );
#endif

View file

@ -31,8 +31,6 @@
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
#if defined(CONFIG_CMD_DATE)
const char *weekdays[] = { const char *weekdays[] = {
"Sun", "Mon", "Tues", "Wednes", "Thurs", "Fri", "Satur", "Sun", "Mon", "Tues", "Wednes", "Thurs", "Fri", "Satur",
}; };
@ -210,5 +208,3 @@ U_BOOT_CMD(
" - with numeric argument: set the system date & time\n" " - with numeric argument: set the system date & time\n"
" - with 'reset' argument: reset the RTC\n" " - with 'reset' argument: reset the RTC\n"
); );
#endif

View file

@ -29,8 +29,6 @@
#include <config.h> #include <config.h>
#include <command.h> #include <command.h>
#if defined(CONFIG_4xx) && defined(CONFIG_CMD_SETGETDCR)
unsigned long get_dcr (unsigned short); unsigned long get_dcr (unsigned short);
unsigned long set_dcr (unsigned short, unsigned long); unsigned long set_dcr (unsigned short, unsigned long);
@ -245,5 +243,3 @@ U_BOOT_CMD(
"setidcr - Set a register value via indirect DCR addressing\n", "setidcr - Set a register value via indirect DCR addressing\n",
"adr_dcrn[.dat_dcrn] offset value - write offset to adr_dcrn, write value to dat_dcrn.\n" "adr_dcrn[.dat_dcrn] offset value - write offset to adr_dcrn, write value to dat_dcrn.\n"
); );
#endif

View file

@ -28,8 +28,6 @@
#include <command.h> #include <command.h>
#include <post.h> #include <post.h>
#if defined(CONFIG_CMD_DIAG) && defined(CONFIG_POST)
int do_diag (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) int do_diag (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
{ {
unsigned int i; unsigned int i;
@ -76,5 +74,3 @@ U_BOOT_CMD(
"diag run [test1 [test2]]\n" "diag run [test1 [test2]]\n"
" - run specified tests\n" " - run specified tests\n"
); );
#endif

View file

@ -24,8 +24,6 @@
#include <common.h> #include <common.h>
#include <command.h> #include <command.h>
#if defined(CONFIG_CMD_DISPLAY)
#undef DEBUG_DISP #undef DEBUG_DISP
#define DISP_SIZE 8 #define DISP_SIZE 8
@ -78,5 +76,3 @@ U_BOOT_CMD(
" - with <string> argument: display <string> on dot matrix display\n" " - with <string> argument: display <string> on dot matrix display\n"
" - without arguments: clear dot matrix display\n" " - without arguments: clear dot matrix display\n"
); );
#endif

View file

@ -11,9 +11,6 @@
#include <command.h> #include <command.h>
#include <malloc.h> #include <malloc.h>
#include <asm/io.h> #include <asm/io.h>
#if defined(CONFIG_CMD_DOC)
#include <linux/mtd/nftl.h> #include <linux/mtd/nftl.h>
#include <linux/mtd/doc2000.h> #include <linux/mtd/doc2000.h>
@ -1607,5 +1604,3 @@ void doc_probe(unsigned long physadr)
puts ("No DiskOnChip found\n"); puts ("No DiskOnChip found\n");
} }
} }
#endif

View file

@ -25,8 +25,6 @@
#include <config.h> #include <config.h>
#include <command.h> #include <command.h>
#if defined(CONFIG_CMD_DTT)
#include <dtt.h> #include <dtt.h>
#include <i2c.h> #include <i2c.h>
@ -60,5 +58,3 @@ U_BOOT_CMD(
"dtt - Digital Thermometer and Thermostat\n", "dtt - Digital Thermometer and Thermostat\n",
" - Read temperature from digital thermometer and thermostat.\n" " - Read temperature from digital thermometer and thermostat.\n"
); );
#endif

View file

@ -23,8 +23,6 @@
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
#endif #endif
#if defined(CONFIG_CMD_ELF)
#ifndef MAX #ifndef MAX
#define MAX(a,b) ((a) > (b) ? (a) : (b)) #define MAX(a,b) ((a) > (b) ? (a) : (b))
#endif #endif
@ -323,5 +321,3 @@ U_BOOT_CMD(
"bootvx - Boot vxWorks from an ELF image\n", "bootvx - Boot vxWorks from an ELF image\n",
" [address] - load address of vxWorks ELF image.\n" " [address] - load address of vxWorks ELF image.\n"
); );
#endif

View file

@ -34,8 +34,6 @@
*/ */
#include <common.h> #include <common.h>
#include <part.h> #include <part.h>
#if defined(CONFIG_CMD_EXT2)
#include <config.h> #include <config.h>
#include <command.h> #include <command.h>
#include <image.h> #include <image.h>
@ -259,5 +257,3 @@ U_BOOT_CMD(
" - load binary file 'filename' from 'dev' on 'interface'\n" " - load binary file 'filename' from 'dev' on 'interface'\n"
" to address 'addr' from ext2 filesystem\n" " to address 'addr' from ext2 filesystem\n"
); );
#endif

View file

@ -30,11 +30,6 @@
#include <net.h> #include <net.h>
#include <ata.h> #include <ata.h>
#include <part.h> #include <part.h>
#if defined(CONFIG_CMD_FAT)
#undef DEBUG
#include <fat.h> #include <fat.h>
@ -323,5 +318,3 @@ void hexdump (int cnt, unsigned char *data)
} }
} }
#endif /* NOT_IMPLEMENTED_YET */ #endif /* NOT_IMPLEMENTED_YET */
#endif

View file

@ -31,8 +31,6 @@
#include <command.h> #include <command.h>
#include <fdc.h> #include <fdc.h>
#if defined(CONFIG_CMD_FDOS)
/*----------------------------------------------------------------------------- /*-----------------------------------------------------------------------------
* do_fdosboot -- * do_fdosboot --
*----------------------------------------------------------------------------- *-----------------------------------------------------------------------------
@ -153,5 +151,3 @@ U_BOOT_CMD(
"fdosls - list files in a directory\n", "fdosls - list files in a directory\n",
"[directory]\n" "[directory]\n"
); );
#endif

View file

@ -28,9 +28,6 @@
#include <command.h> #include <command.h>
#include <linux/ctype.h> #include <linux/ctype.h>
#include <linux/types.h> #include <linux/types.h>
#ifdef CONFIG_OF_LIBFDT
#include <asm/global_data.h> #include <asm/global_data.h>
#include <fdt.h> #include <fdt.h>
#include <libfdt.h> #include <libfdt.h>
@ -47,7 +44,7 @@ DECLARE_GLOBAL_DATA_PTR;
static int fdt_valid(void); static int fdt_valid(void);
static int fdt_parse_prop(char *pathp, char *prop, char *newval, static int fdt_parse_prop(char *pathp, char *prop, char *newval,
char *data, int *len); char *data, int *len);
static int fdt_print(char *pathp, char *prop, int depth); static int fdt_print(const char *pathp, char *prop, int depth);
/* /*
* Flattened Device Tree command, see the help for parameter definitions. * Flattened Device Tree command, see the help for parameter definitions.
@ -165,12 +162,12 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
pathp = argv[2]; pathp = argv[2];
nodep = argv[3]; nodep = argv[3];
nodeoffset = fdt_find_node_by_path (fdt, pathp); nodeoffset = fdt_path_offset (fdt, pathp);
if (nodeoffset < 0) { if (nodeoffset < 0) {
/* /*
* Not found or something else bad happened. * Not found or something else bad happened.
*/ */
printf ("libfdt fdt_find_node_by_path() returned %s\n", printf ("libfdt fdt_path_offset() returned %s\n",
fdt_strerror(nodeoffset)); fdt_strerror(nodeoffset));
return 1; return 1;
} }
@ -205,12 +202,12 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
prop = argv[3]; prop = argv[3];
newval = argv[4]; newval = argv[4];
nodeoffset = fdt_find_node_by_path (fdt, pathp); nodeoffset = fdt_path_offset (fdt, pathp);
if (nodeoffset < 0) { if (nodeoffset < 0) {
/* /*
* Not found or something else bad happened. * Not found or something else bad happened.
*/ */
printf ("libfdt fdt_find_node_by_path() returned %s\n", printf ("libfdt fdt_path_offset() returned %s\n",
fdt_strerror(nodeoffset)); fdt_strerror(nodeoffset));
return 1; return 1;
} }
@ -232,6 +229,7 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
char *pathp; /* path */ char *pathp; /* path */
char *prop; /* property */ char *prop; /* property */
int ret; /* return value */ int ret; /* return value */
static char root[2] = "/";
/* /*
* list is an alias for print, but limited to 1 level * list is an alias for print, but limited to 1 level
@ -244,6 +242,9 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
* Get the starting path. The root node is an oddball, * Get the starting path. The root node is an oddball,
* the offset is zero and has no name. * the offset is zero and has no name.
*/ */
if (argc == 2)
pathp = root;
else
pathp = argv[2]; pathp = argv[2];
if (argc > 3) if (argc > 3)
prop = argv[3]; prop = argv[3];
@ -265,12 +266,12 @@ int do_fdt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
* Get the path. The root node is an oddball, the offset * Get the path. The root node is an oddball, the offset
* is zero and has no name. * is zero and has no name.
*/ */
nodeoffset = fdt_find_node_by_path (fdt, argv[2]); nodeoffset = fdt_path_offset (fdt, argv[2]);
if (nodeoffset < 0) { if (nodeoffset < 0) {
/* /*
* Not found or something else bad happened. * Not found or something else bad happened.
*/ */
printf ("libfdt fdt_find_node_by_path() returned %s\n", printf ("libfdt fdt_path_offset() returned %s\n",
fdt_strerror(nodeoffset)); fdt_strerror(nodeoffset));
return 1; return 1;
} }
@ -521,21 +522,21 @@ static void print_data(const void *data, int len)
switch (len) { switch (len) {
case 1: /* byte */ case 1: /* byte */
printf("<%02x>", (*(u8 *) data) & 0xff); printf("<0x%02x>", (*(u8 *) data) & 0xff);
break; break;
case 2: /* half-word */ case 2: /* half-word */
printf("<%04x>", be16_to_cpu(*(u16 *) data) & 0xffff); printf("<0x%04x>", be16_to_cpu(*(u16 *) data) & 0xffff);
break; break;
case 4: /* word */ case 4: /* word */
printf("<%08x>", be32_to_cpu(*(u32 *) data) & 0xffffffffU); printf("<0x%08x>", be32_to_cpu(*(u32 *) data) & 0xffffffffU);
break; break;
case 8: /* double-word */ case 8: /* double-word */
#if __WORDSIZE == 64 #if __WORDSIZE == 64
printf("<%016llx>", be64_to_cpu(*(uint64_t *) data)); printf("<0x%016llx>", be64_to_cpu(*(uint64_t *) data));
#else #else
printf("<%08x ", be32_to_cpu(*(u32 *) data) & 0xffffffffU); printf("<0x%08x ", be32_to_cpu(*(u32 *) data) & 0xffffffffU);
data += 4; data += 4;
printf("%08x>", be32_to_cpu(*(u32 *) data) & 0xffffffffU); printf("0x%08x>", be32_to_cpu(*(u32 *) data) & 0xffffffffU);
#endif #endif
break; break;
default: /* anything else... hexdump */ default: /* anything else... hexdump */
@ -554,25 +555,25 @@ static void print_data(const void *data, int len)
* Recursively print (a portion of) the fdt. The depth parameter * Recursively print (a portion of) the fdt. The depth parameter
* determines how deeply nested the fdt is printed. * determines how deeply nested the fdt is printed.
*/ */
static int fdt_print(char *pathp, char *prop, int depth) static int fdt_print(const char *pathp, char *prop, int depth)
{ {
static int offstack[MAX_LEVEL];
static char tabs[MAX_LEVEL+1] = static char tabs[MAX_LEVEL+1] =
"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"
"\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"; "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
void *nodep; /* property node pointer */ const void *nodep; /* property node pointer */
int nodeoffset; /* node offset from libfdt */ int nodeoffset; /* node offset from libfdt */
int nextoffset; /* next node offset from libfdt */ int nextoffset; /* next node offset from libfdt */
uint32_t tag; /* tag */ uint32_t tag; /* tag */
int len; /* length of the property */ int len; /* length of the property */
int level = 0; /* keep track of nesting level */ int level = 0; /* keep track of nesting level */
const struct fdt_property *fdt_prop;
nodeoffset = fdt_find_node_by_path (fdt, pathp); nodeoffset = fdt_path_offset (fdt, pathp);
if (nodeoffset < 0) { if (nodeoffset < 0) {
/* /*
* Not found or something else bad happened. * Not found or something else bad happened.
*/ */
printf ("libfdt fdt_find_node_by_path() returned %s\n", printf ("libfdt fdt_path_offset() returned %s\n",
fdt_strerror(nodeoffset)); fdt_strerror(nodeoffset));
return 1; return 1;
} }
@ -602,20 +603,22 @@ static int fdt_print(char *pathp, char *prop, int depth)
* The user passed in a node path and no property, * The user passed in a node path and no property,
* print the node and all subnodes. * print the node and all subnodes.
*/ */
offstack[0] = nodeoffset;
while(level >= 0) { while(level >= 0) {
tag = fdt_next_tag(fdt, nodeoffset, &nextoffset, &pathp); tag = fdt_next_tag(fdt, nodeoffset, &nextoffset);
switch(tag) { switch(tag) {
case FDT_BEGIN_NODE: case FDT_BEGIN_NODE:
if(level <= depth) pathp = fdt_get_name(fdt, nodeoffset, NULL);
if (level <= depth) {
if (pathp == NULL)
pathp = "/* NULL pointer error */";
if (*pathp == '\0')
pathp = "/"; /* root is nameless */
printf("%s%s {\n", printf("%s%s {\n",
&tabs[MAX_LEVEL - level], pathp); &tabs[MAX_LEVEL - level], pathp);
}
level++; level++;
offstack[level] = nodeoffset;
if (level >= MAX_LEVEL) { if (level >= MAX_LEVEL) {
printf("Aaaiii <splat> nested too deep. " printf("Nested too deep, aborting.\n");
"Aborting.\n");
return 1; return 1;
} }
break; break;
@ -628,7 +631,12 @@ static int fdt_print(char *pathp, char *prop, int depth)
} }
break; break;
case FDT_PROP: case FDT_PROP:
nodep = fdt_getprop (fdt, offstack[level], pathp, &len); fdt_prop = fdt_offset_ptr(fdt, nodeoffset,
sizeof(*fdt_prop));
pathp = fdt_string(fdt,
fdt32_to_cpu(fdt_prop->nameoff));
len = fdt32_to_cpu(fdt_prop->len);
nodep = fdt_prop->data;
if (len < 0) { if (len < 0) {
printf ("libfdt fdt_getprop(): %s\n", printf ("libfdt fdt_getprop(): %s\n",
fdt_strerror(len)); fdt_strerror(len));
@ -650,6 +658,7 @@ static int fdt_print(char *pathp, char *prop, int depth)
} }
break; break;
case FDT_NOP: case FDT_NOP:
printf("/* NOP */\n", &tabs[MAX_LEVEL - level]);
break; break;
case FDT_END: case FDT_END:
return 1; return 1;
@ -692,5 +701,3 @@ U_BOOT_CMD(
" fdt print /cpus \"#address-cells\"\n" " fdt print /cpus \"#address-cells\"\n"
" fdt set /cpus \"#address-cells\" \"[00 00 00 01]\"\n" " fdt set /cpus \"#address-cells\" \"[00 00 00 01]\"\n"
); );
#endif /* CONFIG_OF_LIBFDT */

View file

@ -31,8 +31,6 @@
#include <dataflash.h> #include <dataflash.h>
#endif #endif
#if defined(CONFIG_CMD_FLASH)
#if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_JFFS2_CMDLINE) #if defined(CONFIG_CMD_JFFS2) && defined(CONFIG_JFFS2_CMDLINE)
#include <jffs2/jffs2.h> #include <jffs2/jffs2.h>
@ -731,5 +729,3 @@ U_BOOT_CMD(
#undef TMP_ERASE #undef TMP_ERASE
#undef TMP_PROT_ON #undef TMP_PROT_ON
#undef TMP_PROT_OFF #undef TMP_PROT_OFF
#endif

View file

@ -43,8 +43,6 @@
#define PRINTF(fmt,args...) #define PRINTF(fmt,args...)
#endif #endif
#if defined (CONFIG_FPGA) && defined(CONFIG_CMD_FPGA)
/* Local functions */ /* Local functions */
static void fpga_usage (cmd_tbl_t * cmdtp); static void fpga_usage (cmd_tbl_t * cmdtp);
static int fpga_get_op (char *opstr); static int fpga_get_op (char *opstr);
@ -321,4 +319,3 @@ U_BOOT_CMD (fpga, 6, 1, do_fpga,
"\tloadb\tLoad device from bitstream buffer (Xilinx devices only)\n" "\tloadb\tLoad device from bitstream buffer (Xilinx devices only)\n"
"\tloadmk\tLoad device generated with mkimage\n" "\tloadmk\tLoad device generated with mkimage\n"
"\tdump\tLoad device to memory buffer\n"); "\tdump\tLoad device to memory buffer\n");
#endif

View file

@ -86,9 +86,6 @@
#include <i2c.h> #include <i2c.h>
#include <asm/byteorder.h> #include <asm/byteorder.h>
#if defined(CONFIG_CMD_I2C)
/* Display values from last command. /* Display values from last command.
* Memory modify remembered values are different from display memory. * Memory modify remembered values are different from display memory.
*/ */
@ -1024,5 +1021,3 @@ U_BOOT_CMD(
" (valid chip values 50..57)\n" " (valid chip values 50..57)\n"
); );
#endif #endif
#endif

View file

@ -54,10 +54,6 @@
#ifndef __PPC__ #ifndef __PPC__
#include <asm/io.h> #include <asm/io.h>
#ifdef __MIPS__
/* Macros depend on this variable */
unsigned long mips_io_port_base = 0;
#endif
#endif #endif
#ifdef CONFIG_IDE_8xx_DIRECT #ifdef CONFIG_IDE_8xx_DIRECT
@ -72,8 +68,6 @@ DECLARE_GLOBAL_DATA_PTR;
# define SYNC /* nothing */ # define SYNC /* nothing */
#endif #endif
#if defined(CONFIG_CMD_IDE)
#ifdef CONFIG_IDE_8xx_DIRECT #ifdef CONFIG_IDE_8xx_DIRECT
/* Timings for IDE Interface /* Timings for IDE Interface
* *
@ -1136,9 +1130,9 @@ static void ide_ident (block_dev_desc_t *dev_desc)
input_swap_data (device, iobuf, ATA_SECTORWORDS); input_swap_data (device, iobuf, ATA_SECTORWORDS);
ident_cpy (dev_desc->revision, iop->fw_rev, sizeof(dev_desc->revision)); ident_cpy ((unsigned char*)dev_desc->revision, iop->fw_rev, sizeof(dev_desc->revision));
ident_cpy (dev_desc->vendor, iop->model, sizeof(dev_desc->vendor)); ident_cpy ((unsigned char*)dev_desc->vendor, iop->model, sizeof(dev_desc->vendor));
ident_cpy (dev_desc->product, iop->serial_no, sizeof(dev_desc->product)); ident_cpy ((unsigned char*)dev_desc->product, iop->serial_no, sizeof(dev_desc->product));
#ifdef __LITTLE_ENDIAN #ifdef __LITTLE_ENDIAN
/* /*
* firmware revision and model number have Big Endian Byte * firmware revision and model number have Big Endian Byte
@ -1953,9 +1947,9 @@ static void atapi_inquiry(block_dev_desc_t * dev_desc)
return; return;
/* copy device ident strings */ /* copy device ident strings */
ident_cpy(dev_desc->vendor,&iobuf[8],8); ident_cpy((unsigned char*)dev_desc->vendor,&iobuf[8],8);
ident_cpy(dev_desc->product,&iobuf[16],16); ident_cpy((unsigned char*)dev_desc->product,&iobuf[16],16);
ident_cpy(dev_desc->revision,&iobuf[32],5); ident_cpy((unsigned char*)dev_desc->revision,&iobuf[32],5);
dev_desc->lun=0; dev_desc->lun=0;
dev_desc->lba=0; dev_desc->lba=0;
@ -2085,5 +2079,3 @@ U_BOOT_CMD(
"diskboot- boot from IDE device\n", "diskboot- boot from IDE device\n",
"loadAddr dev:part\n" "loadAddr dev:part\n"
); );
#endif

View file

@ -28,8 +28,7 @@
#include <common.h> #include <common.h>
#include <command.h> #include <command.h>
#if defined(CONFIG_CMD_IMMAP) && \ #if defined(CONFIG_8xx) || defined(CONFIG_8260)
(defined(CONFIG_8xx) || defined(CONFIG_8260))
#if defined(CONFIG_8xx) #if defined(CONFIG_8xx)
#include <asm/8xx_immap.h> #include <asm/8xx_immap.h>
@ -41,9 +40,7 @@
#include <asm/iopin_8260.h> #include <asm/iopin_8260.h>
#endif #endif
#if defined(CONFIG_8xx) || defined(CONFIG_8260)
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
#endif
static void static void
unimplemented ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) unimplemented ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])

View file

@ -32,8 +32,6 @@
#include <config.h> #include <config.h>
#include <command.h> #include <command.h>
#if defined(CONFIG_CMD_ITEST)
#define EQ 0 #define EQ 0
#define NE 1 #define NE 1
#define LT 2 #define LT 2
@ -197,4 +195,3 @@ U_BOOT_CMD(
"itest\t- return true/false on integer compare\n", "itest\t- return true/false on integer compare\n",
"[.b, .w, .l, .s] [*]value1 <op> [*]value2\n" "[.b, .w, .l, .s] [*]value1 <op> [*]value2\n"
); );
#endif

View file

@ -93,9 +93,6 @@
#include <jffs2/jffs2.h> #include <jffs2/jffs2.h>
#include <linux/list.h> #include <linux/list.h>
#include <linux/ctype.h> #include <linux/ctype.h>
#if defined(CONFIG_CMD_JFFS2)
#include <cramfs/cramfs_fs.h> #include <cramfs/cramfs_fs.h>
#if defined(CONFIG_CMD_NAND) #if defined(CONFIG_CMD_NAND)
@ -2191,5 +2188,3 @@ U_BOOT_CMD(
#endif /* #ifdef CONFIG_JFFS2_CMDLINE */ #endif /* #ifdef CONFIG_JFFS2_CMDLINE */
/***************************************************/ /***************************************************/
#endif

View file

@ -48,8 +48,6 @@
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
#if defined(CONFIG_LOGBUFFER)
/* Local prototypes */ /* Local prototypes */
static void logbuff_putc (const char c); static void logbuff_putc (const char c);
static void logbuff_puts (const char *s); static void logbuff_puts (const char *s);
@ -287,5 +285,3 @@ static int logbuff_printk(const char *line)
} }
return i; return i;
} }
#endif /* (CONFIG_LOGBUFFER) */

View file

@ -29,8 +29,6 @@
#include <common.h> #include <common.h>
#include <config.h> #include <config.h>
#include <command.h> #include <command.h>
#if defined(CONFIG_CMD_MFSL)
#include <asm/asm.h> #include <asm/asm.h>
int do_frd (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) int do_frd (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
@ -413,5 +411,3 @@ U_BOOT_CMD (rspr, 3, 1, do_rspr,
" 1 - MSR - Machine status register\n" " 1 - MSR - Machine status register\n"
" 3 - EAR - Exception address register\n" " 3 - EAR - Exception address register\n"
" 5 - ESR - Exception status register\n"); " 5 - ESR - Exception status register\n");
#endif

View file

@ -27,8 +27,6 @@
#include <common.h> #include <common.h>
#include <command.h> #include <command.h>
#if defined(CONFIG_CMD_MII)
#include <miiphy.h> #include <miiphy.h>
#ifdef CONFIG_TERSE_MII #ifdef CONFIG_TERSE_MII
@ -112,9 +110,11 @@ int do_mii (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
"OUI = 0x%04X, " "OUI = 0x%04X, "
"Model = 0x%02X, " "Model = 0x%02X, "
"Rev = 0x%02X, " "Rev = 0x%02X, "
"%3dbaseT, %s\n", "%3dbase%s, %s\n",
j, oui, model, rev, j, oui, model, rev,
miiphy_speed (devname, j), miiphy_speed (devname, j),
miiphy_is_1000base_x (devname, j)
? "X" : "T",
(miiphy_duplex (devname, j) == FULL) (miiphy_duplex (devname, j) == FULL)
? "FDX" : "HDX"); ? "FDX" : "HDX");
} }
@ -496,9 +496,11 @@ int do_mii (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
"OUI = 0x%04X, " "OUI = 0x%04X, "
"Model = 0x%02X, " "Model = 0x%02X, "
"Rev = 0x%02X, " "Rev = 0x%02X, "
"%3dbaseT, %s\n", "%3dbase%s, %s\n",
j, oui, model, rev, j, oui, model, rev,
miiphy_speed (devname, j), miiphy_speed (devname, j),
miiphy_is_1000base_x (devname, j)
? "X" : "T",
(miiphy_duplex (devname, j) == FULL) (miiphy_duplex (devname, j) == FULL)
? "FDX" : "HDX"); ? "FDX" : "HDX");
} }
@ -594,5 +596,3 @@ U_BOOT_CMD(
); );
#endif /* CONFIG_TERSE_MII */ #endif /* CONFIG_TERSE_MII */
#endif

View file

@ -27,8 +27,6 @@
#include <common.h> #include <common.h>
#include <command.h> #include <command.h>
#if defined(CONFIG_CMD_MISC)
int do_sleep (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) int do_sleep (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{ {
ulong start = get_timer(0); ulong start = get_timer(0);
@ -68,5 +66,3 @@ U_BOOT_CMD(
"N\n" "N\n"
" - delay execution for N seconds (N is _decimal_ !!!)\n" " - delay execution for N seconds (N is _decimal_ !!!)\n"
); );
#endif

View file

@ -23,9 +23,6 @@
#include <common.h> #include <common.h>
#include <command.h> #include <command.h>
#if defined(CONFIG_CMD_MMC)
#include <mmc.h> #include <mmc.h>
int do_mmc (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) int do_mmc (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
@ -42,5 +39,3 @@ U_BOOT_CMD(
"mmcinit - init mmc card\n", "mmcinit - init mmc card\n",
NULL NULL
); );
#endif

View file

@ -28,8 +28,6 @@
#include <command.h> #include <command.h>
#include <net.h> #include <net.h>
#if defined(CONFIG_CMD_NET)
extern int do_bootm (cmd_tbl_t *, int, int, char *[]); extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
static int netboot_common (proto_t, cmd_tbl_t *, int , char *[]); static int netboot_common (proto_t, cmd_tbl_t *, int , char *[]);
@ -343,5 +341,3 @@ U_BOOT_CMD(
"[NTP server IP]\n" "[NTP server IP]\n"
); );
#endif #endif
#endif

View file

@ -30,16 +30,11 @@
*/ */
#include <common.h> #include <common.h>
#ifdef CONFIG_PCI
#include <command.h> #include <command.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/io.h> #include <asm/io.h>
#include <pci.h> #include <pci.h>
#if defined(CONFIG_CMD_PCI)
extern int cmd_get_data_size(char* arg, int default_size); extern int cmd_get_data_size(char* arg, int default_size);
unsigned char ShortPCIListing = 1; unsigned char ShortPCIListing = 1;
@ -564,7 +559,3 @@ U_BOOT_CMD(
"pci write[.b, .w, .l] b.d.f address value\n" "pci write[.b, .w, .l] b.d.f address value\n"
" - write to CFG address\n" " - write to CFG address\n"
); );
#endif
#endif /* CONFIG_PCI */

View file

@ -30,8 +30,6 @@
#include <common.h> #include <common.h>
#include <command.h> #include <command.h>
#if defined(CONFIG_CMD_PORTIO)
extern int cmd_get_data_size (char *arg, int default_size); extern int cmd_get_data_size (char *arg, int default_size);
/* Display values from last command. /* Display values from last command.
@ -165,5 +163,3 @@ U_BOOT_CMD(
"[.b, .w, .l] port\n" "[.b, .w, .l] port\n"
" - read datum from IO port\n" " - read datum from IO port\n"
); );
#endif

View file

@ -33,8 +33,6 @@
#include <mpc5xxx.h> #include <mpc5xxx.h>
#endif #endif
#if defined(CONFIG_CMD_REGINFO)
int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{ {
#if defined(CONFIG_8xx) #if defined(CONFIG_8xx)
@ -335,9 +333,6 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 0; return 0;
} }
#endif
/**************************************************/ /**************************************************/
#if ( defined(CONFIG_8xx) || defined(CONFIG_405GP) || \ #if ( defined(CONFIG_8xx) || defined(CONFIG_405GP) || \

View file

@ -27,8 +27,6 @@
* Reiserfs support * Reiserfs support
*/ */
#include <common.h> #include <common.h>
#if defined(CONFIG_CMD_REISER)
#include <config.h> #include <config.h>
#include <command.h> #include <command.h>
#include <image.h> #include <image.h>
@ -239,5 +237,3 @@ U_BOOT_CMD(
" - load binary file 'filename' from 'dev' on 'interface'\n" " - load binary file 'filename' from 'dev' on 'interface'\n"
" to address 'addr' from dos filesystem\n" " to address 'addr' from dos filesystem\n"
); );
#endif

View file

@ -34,8 +34,6 @@
#include <image.h> #include <image.h>
#include <pci.h> #include <pci.h>
#if defined(CONFIG_CMD_SCSI)
#ifdef CONFIG_SCSI_SYM53C8XX #ifdef CONFIG_SCSI_SYM53C8XX
#define SCSI_VEND_ID 0x1000 #define SCSI_VEND_ID 0x1000
#ifndef CONFIG_SCSI_DEV_ID #ifndef CONFIG_SCSI_DEV_ID
@ -129,9 +127,12 @@ void scsi_scan(int mode)
if((modi&0x80)==0x80) /* drive is removable */ if((modi&0x80)==0x80) /* drive is removable */
scsi_dev_desc[scsi_max_devs].removable=TRUE; scsi_dev_desc[scsi_max_devs].removable=TRUE;
/* get info for this device */ /* get info for this device */
scsi_ident_cpy(&scsi_dev_desc[scsi_max_devs].vendor[0],&tempbuff[8],8); scsi_ident_cpy((unsigned char *)&scsi_dev_desc[scsi_max_devs].vendor[0],
scsi_ident_cpy(&scsi_dev_desc[scsi_max_devs].product[0],&tempbuff[16],16); &tempbuff[8], 8);
scsi_ident_cpy(&scsi_dev_desc[scsi_max_devs].revision[0],&tempbuff[32],4); scsi_ident_cpy((unsigned char *)&scsi_dev_desc[scsi_max_devs].product[0],
&tempbuff[16], 16);
scsi_ident_cpy((unsigned char *)&scsi_dev_desc[scsi_max_devs].revision[0],
&tempbuff[32], 4);
scsi_dev_desc[scsi_max_devs].target=pccb->target; scsi_dev_desc[scsi_max_devs].target=pccb->target;
scsi_dev_desc[scsi_max_devs].lun=pccb->lun; scsi_dev_desc[scsi_max_devs].lun=pccb->lun;
@ -608,5 +609,3 @@ U_BOOT_CMD(
"scsiboot- boot from SCSI device\n", "scsiboot- boot from SCSI device\n",
"loadAddr dev:part\n" "loadAddr dev:part\n"
); );
#endif

View file

@ -29,8 +29,6 @@
#include <command.h> #include <command.h>
#include <spi.h> #include <spi.h>
#if defined(CONFIG_CMD_SPI)
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* Definitions * Definitions
*/ */
@ -139,5 +137,3 @@ U_BOOT_CMD(
"<bit_len> - Number of bits to send (base 10)\n" "<bit_len> - Number of bits to send (base 10)\n"
"<dout> - Hexadecimal string that gets sent\n" "<dout> - Hexadecimal string that gets sent\n"
); );
#endif

View file

@ -28,8 +28,6 @@
#include <universe.h> #include <universe.h>
#if defined(CONFIG_CMD_UNIVERSE)
#define PCI_VENDOR PCI_VENDOR_ID_TUNDRA #define PCI_VENDOR PCI_VENDOR_ID_TUNDRA
#define PCI_DEVICE PCI_DEVICE_ID_TUNDRA_CA91C042 #define PCI_DEVICE PCI_DEVICE_ID_TUNDRA_CA91C042
@ -386,5 +384,3 @@ U_BOOT_CMD(
" 02 -> D16 Data Width\n" " 02 -> D16 Data Width\n"
" 03 -> D32 Data Width\n" " 03 -> D32 Data Width\n"
); );
#endif

View file

@ -29,9 +29,6 @@
#include <command.h> #include <command.h>
#include <asm/byteorder.h> #include <asm/byteorder.h>
#include <part.h> #include <part.h>
#if defined(CONFIG_CMD_USB)
#include <usb.h> #include <usb.h>
#ifdef CONFIG_USB_STORAGE #ifdef CONFIG_USB_STORAGE
@ -608,12 +605,6 @@ int do_usb (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
return 1; return 1;
} }
#endif
#if defined(CONFIG_CMD_USB)
#ifdef CONFIG_USB_STORAGE #ifdef CONFIG_USB_STORAGE
U_BOOT_CMD( U_BOOT_CMD(
usb, 5, 1, do_usb, usb, 5, 1, do_usb,
@ -645,4 +636,3 @@ U_BOOT_CMD(
"usb info [dev] - show available USB devices\n" "usb info [dev] - show available USB devices\n"
); );
#endif #endif
#endif

View file

@ -44,6 +44,32 @@ struct fdt_header *fdt;
/********************************************************************/ /********************************************************************/
/**
* fdt_find_and_setprop: Find a node and set it's property
*
* @fdt: ptr to device tree
* @node: path of node
* @prop: property name
* @val: ptr to new value
* @len: length of new property value
* @create: flag to create the property if it doesn't exist
*
* Convenience function to directly set a property given the path to the node.
*/
int fdt_find_and_setprop(void *fdt, const char *node, const char *prop,
const void *val, int len, int create)
{
int nodeoff = fdt_path_offset(fdt, node);
if (nodeoff < 0)
return nodeoff;
if ((!create) && (fdt_get_property(fdt, nodeoff, prop, 0) == NULL))
return 0; /* create flag not set; so exit quietly */
return fdt_setprop(fdt, nodeoff, prop, val, len);
}
int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force) int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
{ {
int nodeoffset; int nodeoffset;
@ -58,34 +84,23 @@ int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
} }
if (initrd_start && initrd_end) { if (initrd_start && initrd_end) {
struct fdt_reserve_entry re; uint64_t addr, size;
int used; int total = fdt_num_mem_rsv(fdt);
int total;
int j; int j;
err = fdt_num_reservemap(fdt, &used, &total);
if (err < 0) {
printf("fdt_chosen: %s\n", fdt_strerror(err));
return err;
}
if (used >= total) {
printf("WARNING: "
"no room in the reserved map (%d of %d)\n",
used, total);
return -1;
}
/* /*
* Look for an existing entry and update it. If we don't find * Look for an existing entry and update it. If we don't find
* the entry, we will j be the next available slot. * the entry, we will j be the next available slot.
*/ */
for (j = 0; j < used; j++) { for (j = 0; j < total; j++) {
err = fdt_get_reservemap(fdt, j, &re); err = fdt_get_mem_rsv(fdt, j, &addr, &size);
if (re.address == initrd_start) { if (addr == initrd_start) {
fdt_del_mem_rsv(fdt, j);
break; break;
} }
} }
err = fdt_replace_reservemap_entry(fdt, j,
initrd_start, initrd_end - initrd_start + 1); err = fdt_add_mem_rsv(fdt, initrd_start, initrd_end - initrd_start + 1);
if (err < 0) { if (err < 0) {
printf("fdt_chosen: %s\n", fdt_strerror(err)); printf("fdt_chosen: %s\n", fdt_strerror(err));
return err; return err;
@ -95,7 +110,7 @@ int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
/* /*
* Find the "chosen" node. * Find the "chosen" node.
*/ */
nodeoffset = fdt_find_node_by_path (fdt, "/chosen"); nodeoffset = fdt_path_offset (fdt, "/chosen");
/* /*
* If we have a "chosen" node already the "force the writing" * If we have a "chosen" node already the "force the writing"
@ -182,7 +197,7 @@ int fdt_env(void *fdt)
* See if we already have a "u-boot-env" node, delete it if so. * See if we already have a "u-boot-env" node, delete it if so.
* Then create a new empty node. * Then create a new empty node.
*/ */
nodeoffset = fdt_find_node_by_path (fdt, "/u-boot-env"); nodeoffset = fdt_path_offset (fdt, "/u-boot-env");
if (nodeoffset >= 0) { if (nodeoffset >= 0) {
err = fdt_del_node(fdt, nodeoffset); err = fdt_del_node(fdt, nodeoffset);
if (err < 0) { if (err < 0) {
@ -304,7 +319,7 @@ int fdt_bd_t(void *fdt)
* See if we already have a "bd_t" node, delete it if so. * See if we already have a "bd_t" node, delete it if so.
* Then create a new empty node. * Then create a new empty node.
*/ */
nodeoffset = fdt_find_node_by_path (fdt, "/bd_t"); nodeoffset = fdt_path_offset (fdt, "/bd_t");
if (nodeoffset >= 0) { if (nodeoffset >= 0) {
err = fdt_del_node(fdt, nodeoffset); err = fdt_del_node(fdt, nodeoffset);
if (err < 0) { if (err < 0) {
@ -348,4 +363,128 @@ int fdt_bd_t(void *fdt)
} }
#endif /* ifdef CONFIG_OF_HAS_BD_T */ #endif /* ifdef CONFIG_OF_HAS_BD_T */
void do_fixup_by_path(void *fdt, const char *path, const char *prop,
const void *val, int len, int create)
{
#if defined(DEBUG)
int i;
debug("Updating property '%s/%s' = ", node, prop);
for (i = 0; i < len; i++)
debug(" %.2x", *(u8*)(val+i));
debug("\n");
#endif
int rc = fdt_find_and_setprop(fdt, path, prop, val, len, create);
if (rc)
printf("Unable to update property %s:%s, err=%s\n",
path, prop, fdt_strerror(rc));
}
void do_fixup_by_path_u32(void *fdt, const char *path, const char *prop,
u32 val, int create)
{
val = cpu_to_fdt32(val);
do_fixup_by_path(fdt, path, prop, &val, sizeof(val), create);
}
void do_fixup_by_prop(void *fdt,
const char *pname, const void *pval, int plen,
const char *prop, const void *val, int len,
int create)
{
int off;
#if defined(DEBUG)
int i;
debug("Updating property '%s/%s' = ", node, prop);
for (i = 0; i < len; i++)
debug(" %.2x", *(u8*)(val+i));
debug("\n");
#endif
off = fdt_node_offset_by_prop_value(fdt, -1, pname, pval, plen);
while (off != -FDT_ERR_NOTFOUND) {
if (create || (fdt_get_property(fdt, off, prop, 0) != NULL))
fdt_setprop(fdt, off, prop, val, len);
off = fdt_node_offset_by_prop_value(fdt, off, pname, pval, plen);
}
}
void do_fixup_by_prop_u32(void *fdt,
const char *pname, const void *pval, int plen,
const char *prop, u32 val, int create)
{
val = cpu_to_fdt32(val);
do_fixup_by_prop(fdt, pname, pval, plen, prop, &val, 4, create);
}
void do_fixup_by_compat(void *fdt, const char *compat,
const char *prop, const void *val, int len, int create)
{
int off = -1;
#if defined(DEBUG)
int i;
debug("Updating property '%s/%s' = ", node, prop);
for (i = 0; i < len; i++)
debug(" %.2x", *(u8*)(val+i));
debug("\n");
#endif
off = fdt_node_offset_by_compatible(fdt, -1, compat);
while (off != -FDT_ERR_NOTFOUND) {
if (create || (fdt_get_property(fdt, off, prop, 0) != NULL))
fdt_setprop(fdt, off, prop, val, len);
off = fdt_node_offset_by_compatible(fdt, off, compat);
}
}
void do_fixup_by_compat_u32(void *fdt, const char *compat,
const char *prop, u32 val, int create)
{
val = cpu_to_fdt32(val);
do_fixup_by_compat(fdt, compat, prop, &val, 4, create);
}
void fdt_fixup_ethernet(void *fdt, bd_t *bd)
{
int node;
const char *path;
node = fdt_path_offset(fdt, "/aliases");
if (node >= 0) {
#if defined(CONFIG_HAS_ETH0)
path = fdt_getprop(fdt, node, "ethernet0", NULL);
if (path) {
do_fixup_by_path(fdt, path, "mac-address",
bd->bi_enetaddr, 6, 0);
do_fixup_by_path(fdt, path, "local-mac-address",
bd->bi_enetaddr, 6, 1);
}
#endif
#if defined(CONFIG_HAS_ETH1)
path = fdt_getprop(fdt, node, "ethernet1", NULL);
if (path) {
do_fixup_by_path(fdt, path, "mac-address",
bd->bi_enet1addr, 6, 0);
do_fixup_by_path(fdt, path, "local-mac-address",
bd->bi_enet1addr, 6, 1);
}
#endif
#if defined(CONFIG_HAS_ETH2)
path = fdt_getprop(fdt, node, "ethernet2", NULL);
if (path) {
do_fixup_by_path(fdt, path, "mac-address",
bd->bi_enet2addr, 6, 0);
do_fixup_by_path(fdt, path, "local-mac-address",
bd->bi_enet2addr, 6, 1);
}
#endif
#if defined(CONFIG_HAS_ETH3)
path = fdt_getprop(fdt, node, "ethernet3", NULL);
if (path) {
do_fixup_by_path(fdt, path, "mac-address",
bd->bi_enet3addr, 6, 0);
do_fixup_by_path(fdt, path, "local-mac-address",
bd->bi_enet3addr, 6, 1);
}
#endif
}
}
#endif /* CONFIG_OF_LIBFDT */ #endif /* CONFIG_OF_LIBFDT */

View file

@ -87,15 +87,16 @@ void miiphy_register(char *name,
list_for_each (entry, &mii_devs) { list_for_each (entry, &mii_devs) {
miidev = list_entry (entry, struct mii_dev, link); miidev = list_entry (entry, struct mii_dev, link);
if (strcmp (miidev->name, name) == 0) { if (strcmp (miidev->name, name) == 0) {
printf("miiphy_register: non unique device name '%s'\n", printf ("miiphy_register: non unique device name "
name); "'%s'\n", name);
return; return;
} }
} }
/* allocate memory */ /* allocate memory */
name_len = strlen (name); name_len = strlen (name);
new_dev = (struct mii_dev *)malloc(sizeof(struct mii_dev) + name_len + 1); new_dev =
(struct mii_dev *)malloc (sizeof (struct mii_dev) + name_len + 1);
if (new_dev == NULL) { if (new_dev == NULL) {
printf ("miiphy_register: cannot allocate memory for '%s'\n", printf ("miiphy_register: cannot allocate memory for '%s'\n",
@ -242,7 +243,6 @@ void miiphy_listdev(void)
printf ("Current device: '%s'\n", current_mii->name); printf ("Current device: '%s'\n", current_mii->name);
} }
/***************************************************************************** /*****************************************************************************
* *
* Read the OUI, manufacture's model number, and revision number. * Read the OUI, manufacture's model number, and revision number.
@ -254,9 +254,7 @@ void miiphy_listdev(void)
* Returns: * Returns:
* 0 on success * 0 on success
*/ */
int miiphy_info (char *devname, int miiphy_info (char *devname, unsigned char addr, unsigned int *oui,
unsigned char addr,
unsigned int *oui,
unsigned char *model, unsigned char *rev) unsigned char *model, unsigned char *rev)
{ {
unsigned int reg = 0; unsigned int reg = 0;
@ -294,7 +292,6 @@ int miiphy_info (char *devname,
return (0); return (0);
} }
/***************************************************************************** /*****************************************************************************
* *
* Reset the PHY. * Reset the PHY.
@ -345,104 +342,138 @@ int miiphy_reset (char *devname, unsigned char addr)
return (0); return (0);
} }
/***************************************************************************** /*****************************************************************************
* *
* Determine the ethernet speed (10/100). * Determine the ethernet speed (10/100/1000). Return 10 on error.
*/ */
int miiphy_speed (char *devname, unsigned char addr) int miiphy_speed (char *devname, unsigned char addr)
{ {
unsigned short reg; u16 bmcr, anlpar;
#if defined(CONFIG_PHY_GIGE) #if defined(CONFIG_PHY_GIGE)
if (miiphy_read (devname, addr, PHY_1000BTSR, &reg)) { u16 btsr;
printf ("PHY 1000BT Status read failed\n");
} else { /*
if (reg != 0xFFFF) { * Check for 1000BASE-X. If it is supported, then assume that the speed
if ((reg & (PHY_1000BTSR_1000FD | PHY_1000BTSR_1000HD)) !=0) { * is 1000.
return (_1000BASET); */
if (miiphy_is_1000base_x (devname, addr)) {
return _1000BASET;
} }
/*
* No 1000BASE-X, so assume 1000BASE-T/100BASE-TX/10BASE-T register set.
*/
/* Check for 1000BASE-T. */
if (miiphy_read (devname, addr, PHY_1000BTSR, &btsr)) {
printf ("PHY 1000BT status");
goto miiphy_read_failed;
} }
if (btsr != 0xFFFF &&
(btsr & (PHY_1000BTSR_1000FD | PHY_1000BTSR_1000HD))) {
return _1000BASET;
} }
#endif /* CONFIG_PHY_GIGE */ #endif /* CONFIG_PHY_GIGE */
/* Check Basic Management Control Register first. */ /* Check Basic Management Control Register first. */
if (miiphy_read (devname, addr, PHY_BMCR, &reg)) { if (miiphy_read (devname, addr, PHY_BMCR, &bmcr)) {
puts ("PHY speed read failed, assuming 10bT\n"); printf ("PHY speed");
return (_10BASET); goto miiphy_read_failed;
} }
/* Check if auto-negotiation is on. */ /* Check if auto-negotiation is on. */
if ((reg & PHY_BMCR_AUTON) != 0) { if (bmcr & PHY_BMCR_AUTON) {
/* Get auto-negotiation results. */ /* Get auto-negotiation results. */
if (miiphy_read (devname, addr, PHY_ANLPAR, &reg)) { if (miiphy_read (devname, addr, PHY_ANLPAR, &anlpar)) {
puts ("PHY AN speed read failed, assuming 10bT\n"); printf ("PHY AN speed");
return (_10BASET); goto miiphy_read_failed;
}
if ((reg & PHY_ANLPAR_100) != 0) {
return (_100BASET);
} else {
return (_10BASET);
} }
return (anlpar & PHY_ANLPAR_100) ? _100BASET : _10BASET;
} }
/* Get speed from basic control settings. */ /* Get speed from basic control settings. */
else if (reg & PHY_BMCR_100MB) { return (bmcr & PHY_BMCR_100MB) ? _100BASET : _10BASET;
return (_100BASET);
} else {
return (_10BASET);
}
miiphy_read_failed:
printf (" read failed, assuming 10BASE-T\n");
return _10BASET;
} }
/***************************************************************************** /*****************************************************************************
* *
* Determine full/half duplex. * Determine full/half duplex. Return half on error.
*/ */
int miiphy_duplex (char *devname, unsigned char addr) int miiphy_duplex (char *devname, unsigned char addr)
{ {
unsigned short reg; u16 bmcr, anlpar;
#if defined(CONFIG_PHY_GIGE) #if defined(CONFIG_PHY_GIGE)
if (miiphy_read (devname, addr, PHY_1000BTSR, &reg)) { u16 btsr;
printf ("PHY 1000BT Status read failed\n");
} else { /* Check for 1000BASE-X. */
if ( (reg != 0xFFFF) && if (miiphy_is_1000base_x (devname, addr)) {
(reg & (PHY_1000BTSR_1000FD | PHY_1000BTSR_1000HD)) ) { /* 1000BASE-X */
if ((reg & PHY_1000BTSR_1000FD) !=0) { if (miiphy_read (devname, addr, PHY_ANLPAR, &anlpar)) {
return (FULL); printf ("1000BASE-X PHY AN duplex");
} else { goto miiphy_read_failed;
return (HALF);
} }
} }
/*
* No 1000BASE-X, so assume 1000BASE-T/100BASE-TX/10BASE-T register set.
*/
/* Check for 1000BASE-T. */
if (miiphy_read (devname, addr, PHY_1000BTSR, &btsr)) {
printf ("PHY 1000BT status");
goto miiphy_read_failed;
}
if (btsr != 0xFFFF) {
if (btsr & PHY_1000BTSR_1000FD) {
return FULL;
} else if (btsr & PHY_1000BTSR_1000HD) {
return HALF;
}
} }
#endif /* CONFIG_PHY_GIGE */ #endif /* CONFIG_PHY_GIGE */
/* Check Basic Management Control Register first. */ /* Check Basic Management Control Register first. */
if (miiphy_read (devname, addr, PHY_BMCR, &reg)) { if (miiphy_read (devname, addr, PHY_BMCR, &bmcr)) {
puts ("PHY duplex read failed, assuming half duplex\n"); puts ("PHY duplex");
return (HALF); goto miiphy_read_failed;
} }
/* Check if auto-negotiation is on. */ /* Check if auto-negotiation is on. */
if ((reg & PHY_BMCR_AUTON) != 0) { if (bmcr & PHY_BMCR_AUTON) {
/* Get auto-negotiation results. */ /* Get auto-negotiation results. */
if (miiphy_read (devname, addr, PHY_ANLPAR, &reg)) { if (miiphy_read (devname, addr, PHY_ANLPAR, &anlpar)) {
puts ("PHY AN duplex read failed, assuming half duplex\n"); puts ("PHY AN duplex");
return (HALF); goto miiphy_read_failed;
}
if ((reg & (PHY_ANLPAR_10FD | PHY_ANLPAR_TXFD)) != 0) {
return (FULL);
} else {
return (HALF);
} }
return (anlpar & (PHY_ANLPAR_10FD | PHY_ANLPAR_TXFD)) ?
FULL : HALF;
} }
/* Get speed from basic control settings. */ /* Get speed from basic control settings. */
else if (reg & PHY_BMCR_DPLX) { return (bmcr & PHY_BMCR_DPLX) ? FULL : HALF;
return (FULL);
} else { miiphy_read_failed:
return (HALF); printf (" read failed, assuming half duplex\n");
return HALF;
} }
/*****************************************************************************
*
* Return 1 if PHY supports 1000BASE-X, 0 if PHY supports 10BASE-T/100BASE-TX/
* 1000BASE-T, or on error.
*/
int miiphy_is_1000base_x (char *devname, unsigned char addr)
{
#if defined(CONFIG_PHY_GIGE)
u16 exsr;
if (miiphy_read (devname, addr, PHY_EXSR, &exsr)) {
printf ("PHY extended status read failed, assuming no "
"1000BASE-X\n");
return 0;
}
return 0 != (exsr & (PHY_EXSR_1000XF | PHY_EXSR_1000XH));
#else
return 0;
#endif
} }
#ifdef CFG_FAULT_ECHO_LINK_DOWN #ifdef CFG_FAULT_ECHO_LINK_DOWN
@ -469,5 +500,4 @@ int miiphy_link (char *devname, unsigned char addr)
} }
} }
#endif #endif
#endif /* CONFIG_MII */ #endif /* CONFIG_MII */

View file

@ -516,7 +516,7 @@ static int Spartan2_ss_load (Xilinx_desc * desc, void *buf, size_t bsize)
(*fn->clk) (FALSE, TRUE, cookie); (*fn->clk) (FALSE, TRUE, cookie);
CONFIG_FPGA_DELAY (); CONFIG_FPGA_DELAY ();
/* Write data */ /* Write data */
(*fn->wr) ((val < 0), TRUE, cookie); (*fn->wr) ((val & 0x80), TRUE, cookie);
CONFIG_FPGA_DELAY (); CONFIG_FPGA_DELAY ();
/* Assert the clock */ /* Assert the clock */
(*fn->clk) (TRUE, TRUE, cookie); (*fn->clk) (TRUE, TRUE, cookie);

View file

@ -521,7 +521,7 @@ static int Spartan3_ss_load (Xilinx_desc * desc, void *buf, size_t bsize)
(*fn->clk) (FALSE, TRUE, cookie); (*fn->clk) (FALSE, TRUE, cookie);
CONFIG_FPGA_DELAY (); CONFIG_FPGA_DELAY ();
/* Write data */ /* Write data */
(*fn->wr) ((val < 0), TRUE, cookie); (*fn->wr) ((val & 0x80), TRUE, cookie);
CONFIG_FPGA_DELAY (); CONFIG_FPGA_DELAY ();
/* Assert the clock */ /* Assert the clock */
(*fn->clk) (TRUE, TRUE, cookie); (*fn->clk) (TRUE, TRUE, cookie);

View file

@ -257,7 +257,7 @@ static int usb_kbd_translate(unsigned char scancode,unsigned char modifier,int p
repeat_delay=REPEAT_DELAY; repeat_delay=REPEAT_DELAY;
} }
keycode=0; keycode=0;
if((scancode>3) && (scancode<0x1d)) { /* alpha numeric values */ if((scancode>3) && (scancode<=0x1d)) { /* alpha numeric values */
keycode=scancode-4 + 0x61; keycode=scancode-4 + 0x61;
if(caps_lock) if(caps_lock)
keycode&=~CAPITAL_MASK; /* switch to capital Letters */ keycode&=~CAPITAL_MASK; /* switch to capital Letters */

View file

@ -1195,7 +1195,7 @@ int usb_stor_get_info(struct usb_device *dev,struct us_data *ss,block_dev_desc_t
dev_desc->product[16] = 0; dev_desc->product[16] = 0;
dev_desc->revision[4] = 0; dev_desc->revision[4] = 0;
#ifdef CONFIG_USB_BIN_FIXUP #ifdef CONFIG_USB_BIN_FIXUP
usb_bin_fixup(dev->descriptor, dev_desc->vendor, dev_desc->product); usb_bin_fixup(dev->descriptor, (uchar *)dev_desc->vendor, (uchar *)dev_desc->product);
#endif /* CONFIG_USB_BIN_FIXUP */ #endif /* CONFIG_USB_BIN_FIXUP */
USB_STOR_PRINTF("ISO Vers %X, Response Data %X\n",usb_stor_buf[2],usb_stor_buf[3]); USB_STOR_PRINTF("ISO Vers %X, Response Data %X\n",usb_stor_buf[2],usb_stor_buf[3]);
if(usb_test_unit_ready(pccb,ss)) { if(usb_test_unit_ready(pccb,ss)) {

View file

@ -69,10 +69,6 @@ PLATFORM_CPPFLAGS+= -D__ARM__
endif endif
endif endif
ifeq ($(ARCH),blackfin)
PLATFORM_CPPFLAGS+= -D__BLACKFIN__
endif
ifdef ARCH ifdef ARCH
sinclude $(TOPDIR)/$(ARCH)_config.mk # include architecture dependend rules sinclude $(TOPDIR)/$(ARCH)_config.mk # include architecture dependend rules
endif endif
@ -91,6 +87,9 @@ ifdef BOARD
sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk # include board specific rules sinclude $(TOPDIR)/board/$(BOARDDIR)/config.mk # include board specific rules
endif endif
# Load generated board configuration
sinclude $(OBJTREE)/include/autoconf.mk
######################################################################### #########################################################################
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \

View file

@ -26,7 +26,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(SOC).a LIB = $(obj)lib$(SOC).a
COBJS = i2c.o interrupts.o serial.o speed.o \ COBJS = i2c.o interrupts.o serial.o speed.o \
usb.o usb.o usb_ohci.o
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS)) OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))

Some files were not shown because too many files have changed in this diff Show more