mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-22 15:11:33 +00:00
Merge with /home/stefan/git/u-boot/denx
This commit is contained in:
commit
dfc8a9ee00
562 changed files with 27997 additions and 2273 deletions
5593
CHANGELOG-before-U-Boot-1.1.5
Normal file
5593
CHANGELOG-before-U-Boot-1.1.5
Normal file
File diff suppressed because it is too large
Load diff
4
CREDITS
4
CREDITS
|
@ -386,6 +386,10 @@ N: Robert Schwebel
|
||||||
E: r.schwebel@pengutronix.de
|
E: r.schwebel@pengutronix.de
|
||||||
D: Support for csb226, logodl and innokom boards (PXA2xx)
|
D: Support for csb226, logodl and innokom boards (PXA2xx)
|
||||||
|
|
||||||
|
N: Aaron Sells
|
||||||
|
E: sellsa@embeddedplanet.com
|
||||||
|
D: Support for EP82xxM
|
||||||
|
|
||||||
N: Art Shipkowski
|
N: Art Shipkowski
|
||||||
E: art@videon-central.com
|
E: art@videon-central.com
|
||||||
D: Support for NetSilicon NS7520
|
D: Support for NetSilicon NS7520
|
||||||
|
|
13
MAINTAINERS
13
MAINTAINERS
|
@ -218,6 +218,8 @@ Jon Loeliger <jdl@freescale.com>
|
||||||
MPC8541CDS MPC8541
|
MPC8541CDS MPC8541
|
||||||
MPC8555CDS MPC8555
|
MPC8555CDS MPC8555
|
||||||
|
|
||||||
|
MPC8641HPCN MPC8641D
|
||||||
|
|
||||||
Dan Malek <dan@embeddededge.com>
|
Dan Malek <dan@embeddededge.com>
|
||||||
|
|
||||||
STxGP3 MPC85xx
|
STxGP3 MPC85xx
|
||||||
|
@ -555,6 +557,17 @@ Zachary P. Landau <zachary.landau@labxtechnologies.com>
|
||||||
|
|
||||||
r5200 mcf52x2
|
r5200 mcf52x2
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# AVR32 Systems: #
|
||||||
|
# #
|
||||||
|
# Maintainer Name, Email Address #
|
||||||
|
# Board CPU #
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
Haavard Skinnemoen <hskinnemoen@atmel.com>
|
||||||
|
|
||||||
|
ATSTK1000 AT32AP7000
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
# End of MAINTAINERS list #
|
# End of MAINTAINERS list #
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
23
MAKEALL
23
MAKEALL
|
@ -39,7 +39,7 @@ LIST_5xxx=" \
|
||||||
icecube_5100 icecube_5200 lite5200b mcc200 \
|
icecube_5100 icecube_5200 lite5200b mcc200 \
|
||||||
o2dnt pf5200 PM520 TB5200 \
|
o2dnt pf5200 PM520 TB5200 \
|
||||||
Total5100 Total5200 Total5200_Rev2 TQM5200 \
|
Total5100 Total5200 Total5200_Rev2 TQM5200 \
|
||||||
TQM5200_B TQM5200S \
|
TQM5200_B TQM5200S v38b \
|
||||||
"
|
"
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
@ -117,12 +117,12 @@ LIST_824x=" \
|
||||||
|
|
||||||
LIST_8260=" \
|
LIST_8260=" \
|
||||||
atc cogent_mpc8260 CPU86 CPU87 \
|
atc cogent_mpc8260 CPU86 CPU87 \
|
||||||
ep8248 ep8260 gw8260 hymod \
|
ep8248 ep8260 ep82xxm gw8260 \
|
||||||
IPHASE4539 ISPAN MPC8260ADS MPC8266ADS \
|
hymod IPHASE4539 ISPAN MPC8260ADS \
|
||||||
MPC8272ADS PM826 PM828 ppmc8260 \
|
MPC8266ADS MPC8272ADS PM826 PM828 \
|
||||||
Rattler8248 RPXsuper rsdproto sacsng \
|
ppmc8260 Rattler8248 RPXsuper rsdproto \
|
||||||
sbc8260 SCM TQM8260_AC TQM8260_AD \
|
sacsng sbc8260 SCM TQM8260_AC \
|
||||||
TQM8260_AE ZPC1900 \
|
TQM8260_AD TQM8260_AE ZPC1900 \
|
||||||
"
|
"
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
@ -302,6 +302,12 @@ LIST_coldfire=" \
|
||||||
r5200 M5271EVB \
|
r5200 M5271EVB \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
## AVR32 Systems
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
LIST_avr32="atstk1002"
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
|
|
||||||
#----- for now, just run PPC by default -----
|
#----- for now, just run PPC by default -----
|
||||||
|
@ -334,7 +340,8 @@ do
|
||||||
mips|mips_el| \
|
mips|mips_el| \
|
||||||
nios|nios2| \
|
nios|nios2| \
|
||||||
x86|I486| \
|
x86|I486| \
|
||||||
coldfire)
|
coldfire| \
|
||||||
|
avr32)
|
||||||
for target in `eval echo '$LIST_'${arg}`
|
for target in `eval echo '$LIST_'${arg}`
|
||||||
do
|
do
|
||||||
build_target ${target}
|
build_target ${target}
|
||||||
|
|
70
Makefile
70
Makefile
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
VERSION = 1
|
VERSION = 1
|
||||||
PATCHLEVEL = 1
|
PATCHLEVEL = 1
|
||||||
SUBLEVEL = 4
|
SUBLEVEL = 6
|
||||||
EXTRAVERSION =
|
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
|
||||||
|
@ -152,6 +152,9 @@ endif
|
||||||
ifeq ($(ARCH),blackfin)
|
ifeq ($(ARCH),blackfin)
|
||||||
CROSS_COMPILE = bfin-elf-
|
CROSS_COMPILE = bfin-elf-
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(ARCH),avr32)
|
||||||
|
CROSS_COMPILE = avr32-
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -177,6 +180,9 @@ endif
|
||||||
ifeq ($(CPU),mpc85xx)
|
ifeq ($(CPU),mpc85xx)
|
||||||
OBJS += cpu/$(CPU)/resetvec.o
|
OBJS += cpu/$(CPU)/resetvec.o
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(CPU),mpc86xx)
|
||||||
|
OBJS += cpu/$(CPU)/resetvec.o
|
||||||
|
endif
|
||||||
ifeq ($(CPU),bf533)
|
ifeq ($(CPU),bf533)
|
||||||
OBJS += cpu/$(CPU)/start1.o cpu/$(CPU)/interrupt.o cpu/$(CPU)/cache.o
|
OBJS += cpu/$(CPU)/start1.o cpu/$(CPU)/interrupt.o cpu/$(CPU)/cache.o
|
||||||
OBJS += cpu/$(CPU)/cplbhdlr.o cpu/$(CPU)/cplbmgr.o cpu/$(CPU)/flush.o
|
OBJS += cpu/$(CPU)/cplbhdlr.o cpu/$(CPU)/cplbmgr.o cpu/$(CPU)/flush.o
|
||||||
|
@ -269,10 +275,10 @@ $(SUBDIRS):
|
||||||
$(MAKE) -C $@ all
|
$(MAKE) -C $@ all
|
||||||
|
|
||||||
$(NAND_SPL): version
|
$(NAND_SPL): version
|
||||||
$(MAKE) -C nand_spl all
|
$(MAKE) -C nand_spl/board/$(BOARDDIR) all
|
||||||
|
|
||||||
$(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin
|
$(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin
|
||||||
cat nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin
|
cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin
|
||||||
|
|
||||||
version:
|
version:
|
||||||
@echo -n "#define U_BOOT_VERSION \"U-Boot " > $(VERSION_FILE); \
|
@echo -n "#define U_BOOT_VERSION \"U-Boot " > $(VERSION_FILE); \
|
||||||
|
@ -322,6 +328,11 @@ dep tags ctags etags $(obj)System.map:
|
||||||
@ exit 1
|
@ exit 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
.PHONY : CHANGELOG
|
||||||
|
CHANGELOG:
|
||||||
|
git log --no-merges U-Boot-1_1_5.. | \
|
||||||
|
unexpand -a | sed -e 's/\s\s*$$//' > $@
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
unconfig:
|
unconfig:
|
||||||
|
@ -400,6 +411,9 @@ icecube_5100_config: unconfig
|
||||||
}
|
}
|
||||||
@$(MKCONFIG) -a IceCube ppc mpc5xxx icecube
|
@$(MKCONFIG) -a IceCube ppc mpc5xxx icecube
|
||||||
|
|
||||||
|
v38b_config: unconfig
|
||||||
|
@./mkconfig -a v38b ppc mpc5xxx v38b
|
||||||
|
|
||||||
inka4x0_config: unconfig
|
inka4x0_config: unconfig
|
||||||
@$(MKCONFIG) inka4x0 ppc mpc5xxx inka4x0
|
@$(MKCONFIG) inka4x0 ppc mpc5xxx inka4x0
|
||||||
|
|
||||||
|
@ -1146,19 +1160,22 @@ PPChameleonEVB_HI_33_config: unconfig
|
||||||
@$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
|
@$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
|
||||||
|
|
||||||
rainier_config: unconfig
|
rainier_config: unconfig
|
||||||
@echo "#define CONFIG_RAINIER" > include/config.h
|
@mkdir -p $(obj)include
|
||||||
|
@echo "#define CONFIG_RAINIER" > $(obj)include/config.h
|
||||||
@echo "Configuring for rainier board as subset of sequoia..."
|
@echo "Configuring for rainier board as subset of sequoia..."
|
||||||
@$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc
|
@$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc
|
||||||
|
|
||||||
rainier_nand_config: unconfig
|
rainier_nand_config: unconfig
|
||||||
@echo "#define CONFIG_RAINIER" > include/config.h
|
@mkdir -p $(obj)include
|
||||||
|
@mkdir -p $(obj)nand_spl
|
||||||
|
@mkdir -p $(obj)board/amcc/sequoia
|
||||||
|
@echo "#define CONFIG_RAINIER" > $(obj)include/config.h
|
||||||
@echo "Configuring for rainier board as subset of sequoia..."
|
@echo "Configuring for rainier board as subset of sequoia..."
|
||||||
@ln -s board/amcc/sequoia/Makefile nand_spl/Makefile
|
@echo "#define CONFIG_NAND_U_BOOT" >> $(obj)include/config.h
|
||||||
@echo "#define CONFIG_NAND_U_BOOT" >> include/config.h
|
|
||||||
@echo "Compile NAND boot image for sequoia"
|
@echo "Compile NAND boot image for sequoia"
|
||||||
@$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc
|
@$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc
|
||||||
@echo "TEXT_BASE = 0x01000000" >board/amcc/sequoia/config.tmp
|
@echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp
|
||||||
@echo "CONFIG_NAND_U_BOOT = y" >> include/config.mk
|
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
|
||||||
|
|
||||||
sbc405_config: unconfig
|
sbc405_config: unconfig
|
||||||
@$(MKCONFIG) $(@:_config=) ppc ppc4xx sbc405
|
@$(MKCONFIG) $(@:_config=) ppc ppc4xx sbc405
|
||||||
|
@ -1167,12 +1184,14 @@ sequoia_config: unconfig
|
||||||
@$(MKCONFIG) $(@:_config=) ppc ppc4xx sequoia amcc
|
@$(MKCONFIG) $(@:_config=) ppc ppc4xx sequoia amcc
|
||||||
|
|
||||||
sequoia_nand_config: unconfig
|
sequoia_nand_config: unconfig
|
||||||
@ln -s board/amcc/sequoia/Makefile nand_spl/Makefile
|
@mkdir -p $(obj)include
|
||||||
@echo "#define CONFIG_NAND_U_BOOT" >include/config.h
|
@mkdir -p $(obj)nand_spl
|
||||||
|
@mkdir -p $(obj)board/amcc/sequoia
|
||||||
|
@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
|
||||||
@echo "Compile NAND boot image for sequoia"
|
@echo "Compile NAND boot image for sequoia"
|
||||||
@$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc
|
@$(MKCONFIG) -a sequoia ppc ppc4xx sequoia amcc
|
||||||
@echo "TEXT_BASE = 0x01000000" >board/amcc/sequoia/config.tmp
|
@echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp
|
||||||
@echo "CONFIG_NAND_U_BOOT = y" >> include/config.mk
|
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
|
||||||
|
|
||||||
sycamore_config: unconfig
|
sycamore_config: unconfig
|
||||||
@echo "Configuring for sycamore board as subset of walnut..."
|
@echo "Configuring for sycamore board as subset of walnut..."
|
||||||
|
@ -1335,6 +1354,9 @@ ep8248E_config : unconfig
|
||||||
ep8260_config: unconfig
|
ep8260_config: unconfig
|
||||||
@$(MKCONFIG) $(@:_config=) ppc mpc8260 ep8260
|
@$(MKCONFIG) $(@:_config=) ppc mpc8260 ep8260
|
||||||
|
|
||||||
|
ep82xxm_config: unconfig
|
||||||
|
@./mkconfig $(@:_config=) ppc mpc8260 ep82xxm
|
||||||
|
|
||||||
gw8260_config: unconfig
|
gw8260_config: unconfig
|
||||||
@$(MKCONFIG) $(@:_config=) ppc mpc8260 gw8260
|
@$(MKCONFIG) $(@:_config=) ppc mpc8260 gw8260
|
||||||
|
|
||||||
|
@ -1665,6 +1687,14 @@ TQM8560_config: unconfig
|
||||||
echo "#define CFG_BOOTFILE \"bootfile=/tftpboot/tqm$${CTYPE}/uImage\0\"">>$(obj)include/config.h
|
echo "#define CFG_BOOTFILE \"bootfile=/tftpboot/tqm$${CTYPE}/uImage\0\"">>$(obj)include/config.h
|
||||||
@$(MKCONFIG) -a TQM85xx ppc mpc85xx tqm85xx
|
@$(MKCONFIG) -a TQM85xx ppc mpc85xx tqm85xx
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
## MPC86xx Systems
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
MPC8641HPCN_config: unconfig
|
||||||
|
@./mkconfig $(@:_config=) ppc mpc86xx mpc8641hpcn
|
||||||
|
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
## 74xx/7xx Systems
|
## 74xx/7xx Systems
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
@ -2215,6 +2245,16 @@ stamp_config : unconfig
|
||||||
dspstamp_config : unconfig
|
dspstamp_config : unconfig
|
||||||
@$(MKCONFIG) $(@:_config=) blackfin bf533 dsp_stamp
|
@$(MKCONFIG) $(@:_config=) blackfin bf533 dsp_stamp
|
||||||
|
|
||||||
|
#========================================================================
|
||||||
|
# AVR32
|
||||||
|
#========================================================================
|
||||||
|
#########################################################################
|
||||||
|
## AT32AP7xxx
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
atstk1002_config : unconfig
|
||||||
|
@./mkconfig $(@:_config=) avr32 at32ap atstk1000 atmel at32ap7000
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
#########################################################################
|
#########################################################################
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
@ -2241,8 +2281,7 @@ clean:
|
||||||
rm -f $(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom
|
rm -f $(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom
|
||||||
rm -f $(obj)board/integratorap/u-boot.lds $(obj)board/integratorcp/u-boot.lds
|
rm -f $(obj)board/integratorap/u-boot.lds $(obj)board/integratorcp/u-boot.lds
|
||||||
rm -f $(obj)include/bmp_logo.h
|
rm -f $(obj)include/bmp_logo.h
|
||||||
find nand_spl -lname "*" -print | xargs rm -f
|
rm -f $(obj)nand_spl/u-boot-spl $(obj)nand_spl/u-boot-spl.map
|
||||||
rm -f nand_spl/u-boot-spl nand_spl/u-boot-spl.map
|
|
||||||
|
|
||||||
clobber: clean
|
clobber: clean
|
||||||
find $(OBJTREE) -type f \( -name .depend \
|
find $(OBJTREE) -type f \( -name .depend \
|
||||||
|
@ -2255,6 +2294,7 @@ clobber: clean
|
||||||
rm -f $(obj)tools/crc32.c $(obj)tools/environment.c $(obj)tools/env/crc32.c
|
rm -f $(obj)tools/crc32.c $(obj)tools/environment.c $(obj)tools/env/crc32.c
|
||||||
rm -f $(obj)tools/inca-swap-bytes $(obj)cpu/mpc824x/bedbug_603e.c
|
rm -f $(obj)tools/inca-swap-bytes $(obj)cpu/mpc824x/bedbug_603e.c
|
||||||
rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm
|
rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm
|
||||||
|
[ ! -d $(OBJTREE)/nand_spl ] || find $(obj)nand_spl -lname "*" -print | xargs rm -f
|
||||||
|
|
||||||
ifeq ($(OBJTREE),$(SRCTREE))
|
ifeq ($(OBJTREE),$(SRCTREE))
|
||||||
mrproper \
|
mrproper \
|
||||||
|
|
78
README
78
README
|
@ -132,6 +132,7 @@ Directory Hierarchy:
|
||||||
- arm925t Files specific to ARM 925 CPUs
|
- arm925t Files specific to ARM 925 CPUs
|
||||||
- arm926ejs Files specific to ARM 926 CPUs
|
- arm926ejs Files specific to ARM 926 CPUs
|
||||||
- arm1136 Files specific to ARM 1136 CPUs
|
- arm1136 Files specific to ARM 1136 CPUs
|
||||||
|
- at32ap Files specific to Atmel AVR32 AP CPUs
|
||||||
- i386 Files specific to i386 CPUs
|
- i386 Files specific to i386 CPUs
|
||||||
- ixp Files specific to Intel XScale IXP CPUs
|
- ixp Files specific to Intel XScale IXP CPUs
|
||||||
- mcf52x2 Files specific to Freescale ColdFire MCF52x2 CPUs
|
- mcf52x2 Files specific to Freescale ColdFire MCF52x2 CPUs
|
||||||
|
@ -156,6 +157,7 @@ Directory Hierarchy:
|
||||||
- examples Example code for standalone applications, etc.
|
- examples Example code for standalone applications, etc.
|
||||||
- include Header Files
|
- include Header Files
|
||||||
- lib_arm Files generic to ARM architecture
|
- lib_arm Files generic to ARM architecture
|
||||||
|
- lib_avr32 Files generic to AVR32 architecture
|
||||||
- lib_generic Files generic to all architectures
|
- lib_generic Files generic to all architectures
|
||||||
- lib_i386 Files generic to i386 architecture
|
- lib_i386 Files generic to i386 architecture
|
||||||
- lib_m68k Files generic to m68k architecture
|
- lib_m68k Files generic to m68k architecture
|
||||||
|
@ -256,6 +258,9 @@ The following options need to be configured:
|
||||||
----------------------
|
----------------------
|
||||||
CONFIG_NIOS2
|
CONFIG_NIOS2
|
||||||
|
|
||||||
|
AVR32 based CPUs:
|
||||||
|
----------------------
|
||||||
|
CONFIG_AT32AP
|
||||||
|
|
||||||
- Board Type: Define exactly one of
|
- Board Type: Define exactly one of
|
||||||
|
|
||||||
|
@ -325,6 +330,15 @@ The following options need to be configured:
|
||||||
CONFIG_PCI5441 CONFIG_PK1C20
|
CONFIG_PCI5441 CONFIG_PK1C20
|
||||||
CONFIG_EP1C20 CONFIG_EP1S10 CONFIG_EP1S40
|
CONFIG_EP1C20 CONFIG_EP1S10 CONFIG_EP1S40
|
||||||
|
|
||||||
|
AVR32 based boards:
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
CONFIG_ATSTK1000
|
||||||
|
|
||||||
|
- CPU Daughterboard Type: (if CONFIG_ATSTK1000 is defined)
|
||||||
|
Define exactly one of
|
||||||
|
CONFIG_ATSTK1002
|
||||||
|
|
||||||
|
|
||||||
- CPU Module Type: (if CONFIG_COGENT is defined)
|
- CPU Module Type: (if CONFIG_COGENT is defined)
|
||||||
Define exactly one of
|
Define exactly one of
|
||||||
|
@ -447,6 +461,11 @@ The following options need to be configured:
|
||||||
Board code has addition modification that it wants to make
|
Board code has addition modification that it wants to make
|
||||||
to the flat device tree before handing it off to the kernel
|
to the flat device tree before handing it off to the kernel
|
||||||
|
|
||||||
|
CONFIG_OF_BOOT_CPU
|
||||||
|
|
||||||
|
This define fills in the correct boot cpu in the boot
|
||||||
|
param header, the default value is zero if undefined.
|
||||||
|
|
||||||
- Serial Ports:
|
- Serial Ports:
|
||||||
CFG_PL010_SERIAL
|
CFG_PL010_SERIAL
|
||||||
|
|
||||||
|
@ -1447,10 +1466,14 @@ The following options need to be configured:
|
||||||
default value of 5 is used.
|
default value of 5 is used.
|
||||||
|
|
||||||
- Command Interpreter:
|
- Command Interpreter:
|
||||||
CFG_AUTO_COMPLETE
|
CONFIG_AUTO_COMPLETE
|
||||||
|
|
||||||
Enable auto completion of commands using TAB.
|
Enable auto completion of commands using TAB.
|
||||||
|
|
||||||
|
Note that this feature has NOT been implemented yet
|
||||||
|
for the "hush" shell.
|
||||||
|
|
||||||
|
|
||||||
CFG_HUSH_PARSER
|
CFG_HUSH_PARSER
|
||||||
|
|
||||||
Define this variable to enable the "hush" shell (from
|
Define this variable to enable the "hush" shell (from
|
||||||
|
@ -2722,9 +2745,9 @@ defines the following image properties:
|
||||||
4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks,
|
4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks,
|
||||||
LynxOS, pSOS, QNX, RTEMS, ARTOS;
|
LynxOS, pSOS, QNX, RTEMS, ARTOS;
|
||||||
Currently supported: Linux, NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS).
|
Currently supported: Linux, NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS).
|
||||||
* Target CPU Architecture (Provisions for Alpha, ARM, Intel x86,
|
* Target CPU Architecture (Provisions for Alpha, ARM, AVR32, Intel x86,
|
||||||
IA64, MIPS, NIOS, PowerPC, IBM S390, SuperH, Sparc, Sparc 64 Bit;
|
IA64, MIPS, NIOS, PowerPC, IBM S390, SuperH, Sparc, Sparc 64 Bit;
|
||||||
Currently supported: ARM, Intel x86, MIPS, NIOS, PowerPC).
|
Currently supported: ARM, AVR32, Intel x86, MIPS, NIOS, PowerPC).
|
||||||
* Compression Type (uncompressed, gzip, bzip2)
|
* Compression Type (uncompressed, gzip, bzip2)
|
||||||
* Load Address
|
* Load Address
|
||||||
* Entry Point
|
* Entry Point
|
||||||
|
@ -3055,6 +3078,55 @@ format!) to the "bootm" command:
|
||||||
|
|
||||||
bash#
|
bash#
|
||||||
|
|
||||||
|
Boot Linux and pass a flat device tree:
|
||||||
|
-----------
|
||||||
|
|
||||||
|
First, U-Boot must be compiled with the appropriate defines. See the section
|
||||||
|
titled "Linux Kernel Interface" above for a more in depth explanation. The
|
||||||
|
following is an example of how to start a kernel and pass an updated
|
||||||
|
flat device tree:
|
||||||
|
|
||||||
|
=> print oftaddr
|
||||||
|
oftaddr=0x300000
|
||||||
|
=> print oft
|
||||||
|
oft=oftrees/mpc8540ads.dtb
|
||||||
|
=> tftp $oftaddr $oft
|
||||||
|
Speed: 1000, full duplex
|
||||||
|
Using TSEC0 device
|
||||||
|
TFTP from server 192.168.1.1; our IP address is 192.168.1.101
|
||||||
|
Filename 'oftrees/mpc8540ads.dtb'.
|
||||||
|
Load address: 0x300000
|
||||||
|
Loading: #
|
||||||
|
done
|
||||||
|
Bytes transferred = 4106 (100a hex)
|
||||||
|
=> tftp $loadaddr $bootfile
|
||||||
|
Speed: 1000, full duplex
|
||||||
|
Using TSEC0 device
|
||||||
|
TFTP from server 192.168.1.1; our IP address is 192.168.1.2
|
||||||
|
Filename 'uImage'.
|
||||||
|
Load address: 0x200000
|
||||||
|
Loading:############
|
||||||
|
done
|
||||||
|
Bytes transferred = 1029407 (fb51f hex)
|
||||||
|
=> print loadaddr
|
||||||
|
loadaddr=200000
|
||||||
|
=> print oftaddr
|
||||||
|
oftaddr=0x300000
|
||||||
|
=> bootm $loadaddr - $oftaddr
|
||||||
|
## Booting image at 00200000 ...
|
||||||
|
Image Name: Linux-2.6.17-dirty
|
||||||
|
Image Type: PowerPC Linux Kernel Image (gzip compressed)
|
||||||
|
Data Size: 1029343 Bytes = 1005.2 kB
|
||||||
|
Load Address: 00000000
|
||||||
|
Entry Point: 00000000
|
||||||
|
Verifying Checksum ... OK
|
||||||
|
Uncompressing Kernel Image ... OK
|
||||||
|
Booting using flat device tree at 0x300000
|
||||||
|
Using MPC85xx ADS machine description
|
||||||
|
Memory CAM mapping: CAM0=256Mb, CAM1=256Mb, CAM2=0Mb residual: 0Mb
|
||||||
|
[snip]
|
||||||
|
|
||||||
|
|
||||||
More About U-Boot Image Types:
|
More About U-Boot Image Types:
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
|
|
25
avr32_config.mk
Normal file
25
avr32_config.mk
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#
|
||||||
|
# (C) Copyright 2000-2002
|
||||||
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||||
|
#
|
||||||
|
# See file CREDITS for list of people who contributed to this
|
||||||
|
# project.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation; either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
# MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
|
PLATFORM_RELFLAGS += -ffixed-r5 -mno-pic -mrelax
|
||||||
|
PLATFORM_LDFLAGS += --relax
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ EMUOBJ := $(addprefix $(obj),$(EMUOBJ))
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(EMUSRC)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS) $(EMUSRC)
|
||||||
make $(obj)libx86emu.a -C ../bios_emulator/scitech/src/x86emu -f makefile.uboot CROSS_COMPILE=$(CROSS_COMPILE)
|
make $(obj)libx86emu.a -C ../bios_emulator/scitech/src/x86emu -f makefile.uboot CROSS_COMPILE=$(CROSS_COMPILE)
|
||||||
-rm $(LIB)
|
-rm $(LIB)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS) $(EMUOBJ)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS) $(EMUOBJ)
|
||||||
|
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# (C) Copyright 2006
|
# (C) Copyright 2006
|
||||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||||
#
|
#
|
||||||
# (C) Copyright 2001
|
# (C) Copyright 2001
|
||||||
# Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
|
# Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
|
||||||
#
|
#
|
||||||
|
@ -42,7 +42,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# (C) Copyright 2006
|
# (C) Copyright 2006
|
||||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||||
#
|
#
|
||||||
# (C) Copyright 2001
|
# (C) Copyright 2001
|
||||||
# Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
|
# Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
|
||||||
#
|
#
|
||||||
|
@ -42,7 +42,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS)
|
$(LIB): $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -37,7 +37,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -37,7 +37,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -37,7 +37,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -1,30 +1,31 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2002 Scott McNutt <smcnutt@artesyncp.com>
|
* Copyright (C) 2002 Scott McNutt <smcnutt@artesyncp.com>
|
||||||
*
|
*
|
||||||
* See file CREDITS for list of people who contributed to this
|
* See file CREDITS for list of people who contributed to this
|
||||||
* project.
|
* project.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License as
|
* modify it under the terms of the GNU General Public License as
|
||||||
* published by the Free Software Foundation; either version 2 of
|
* published by the Free Software Foundation; either version 2 of
|
||||||
* the License, or (at your option) any later version.
|
* the License, or (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
* MA 02111-1307 USA
|
* MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <ppc_asm.tmpl>
|
#include <ppc_asm.tmpl>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
/* General */
|
/* General */
|
||||||
#define TLB_VALID 0x00000200
|
#define TLB_VALID 0x00000200
|
||||||
|
#define _256M 0x10000000
|
||||||
|
|
||||||
/* Supported page sizes */
|
/* Supported page sizes */
|
||||||
|
|
||||||
|
@ -32,10 +33,11 @@
|
||||||
#define SZ_4K 0x00000010
|
#define SZ_4K 0x00000010
|
||||||
#define SZ_16K 0x00000020
|
#define SZ_16K 0x00000020
|
||||||
#define SZ_64K 0x00000030
|
#define SZ_64K 0x00000030
|
||||||
#define SZ_256K 0x00000040
|
#define SZ_256K 0x00000040
|
||||||
#define SZ_1M 0x00000050
|
#define SZ_1M 0x00000050
|
||||||
|
#define SZ_8M 0x00000060
|
||||||
#define SZ_16M 0x00000070
|
#define SZ_16M 0x00000070
|
||||||
#define SZ_256M 0x00000090
|
#define SZ_256M 0x00000090
|
||||||
|
|
||||||
/* Storage attributes */
|
/* Storage attributes */
|
||||||
#define SA_W 0x00000800 /* Write-through */
|
#define SA_W 0x00000800 /* Write-through */
|
||||||
|
@ -54,7 +56,7 @@
|
||||||
#define EPN(e) ((e) & 0xfffffc00)
|
#define EPN(e) ((e) & 0xfffffc00)
|
||||||
#define TLB0(epn,sz) ( (EPN((epn)) | (sz) | TLB_VALID ) )
|
#define TLB0(epn,sz) ( (EPN((epn)) | (sz) | TLB_VALID ) )
|
||||||
#define TLB1(rpn,erpn) ( ((rpn)&0xfffffc00) | (erpn) )
|
#define TLB1(rpn,erpn) ( ((rpn)&0xfffffc00) | (erpn) )
|
||||||
#define TLB2(a) ( (a)&0x00000fbf )
|
#define TLB2(a) ( (a)&0x00000fbf )
|
||||||
|
|
||||||
#define tlbtab_start\
|
#define tlbtab_start\
|
||||||
mflr r1 ;\
|
mflr r1 ;\
|
||||||
|
@ -86,12 +88,14 @@
|
||||||
|
|
||||||
tlbtab:
|
tlbtab:
|
||||||
tlbtab_start
|
tlbtab_start
|
||||||
tlbentry( 0xf0000000, SZ_256M, 0xf0000000, 1, AC_R|AC_W|AC_X|SA_G|SA_I)
|
tlbentry( 0xf0000000, SZ_256M, 0xf0000000, 1, AC_R|AC_W|AC_X|SA_G|SA_I )
|
||||||
tlbentry( CFG_PERIPHERAL_BASE, SZ_256M, 0x40000000, 1, AC_R|AC_W|SA_G|SA_I)
|
tlbentry( CFG_PERIPHERAL_BASE, SZ_256M, 0x40000000, 1, AC_R|AC_W|SA_G|SA_I )
|
||||||
tlbentry( CFG_ISRAM_BASE, SZ_4K, 0x80000000, 0, AC_R|AC_W|AC_X )
|
tlbentry( CFG_ISRAM_BASE, SZ_4K, 0x80000000, 0, AC_R|AC_W|AC_X )
|
||||||
tlbentry( CFG_ISRAM_BASE + 0x1000, SZ_4K, 0x80001000, 0, AC_R|AC_W|AC_X )
|
tlbentry( CFG_ISRAM_BASE + 0x1000, SZ_4K, 0x80001000, 0, AC_R|AC_W|AC_X )
|
||||||
tlbentry( CFG_SDRAM_BASE, SZ_256M, 0x00000000, 0, AC_R|AC_W|AC_X|SA_G|SA_I )
|
tlbentry( CFG_SDRAM_BASE, SZ_256M, 0x00000000, 0, AC_R|AC_W|AC_X|SA_G|SA_I )
|
||||||
tlbentry( CFG_SDRAM_BASE+0x10000000, SZ_256M, 0x00000000, 0, AC_R|AC_W|AC_X|SA_G|SA_I )
|
tlbentry( CFG_SDRAM_BASE + 0x10000000, SZ_256M, 0x10000000, 0, AC_R|AC_W|AC_X|SA_G|SA_I )
|
||||||
|
tlbentry( CFG_SDRAM_BASE + 0x20000000, SZ_256M, 0x20000000, 0, AC_R|AC_W|AC_X|SA_G|SA_I )
|
||||||
|
tlbentry( CFG_SDRAM_BASE + 0x30000000, SZ_256M, 0x30000000, 0, AC_R|AC_W|AC_X|SA_G|SA_I )
|
||||||
tlbentry( CFG_PCI_BASE, SZ_256M, 0x00000000, 2, AC_R|AC_W|SA_G|SA_I )
|
tlbentry( CFG_PCI_BASE, SZ_256M, 0x00000000, 2, AC_R|AC_W|SA_G|SA_I )
|
||||||
tlbentry( CFG_PCI_MEMBASE, SZ_256M, 0x00000000, 3, AC_R|AC_W|SA_G|SA_I )
|
tlbentry( CFG_PCI_MEMBASE, SZ_256M, 0x00000000, 3, AC_R|AC_W|SA_G|SA_I )
|
||||||
tlbtab_end
|
tlbtab_end
|
||||||
|
|
|
@ -22,7 +22,6 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
include $(TOPDIR)/config.mk
|
include $(TOPDIR)/config.mk
|
||||||
include $(TOPDIR)/include/config.mk
|
|
||||||
|
|
||||||
LIB = $(obj)lib$(BOARD).a
|
LIB = $(obj)lib$(BOARD).a
|
||||||
|
|
||||||
|
@ -34,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
# AMCC 440EPx Reference Platform (Sequoia) board
|
# AMCC 440EPx Reference Platform (Sequoia) board
|
||||||
#
|
#
|
||||||
|
|
||||||
sinclude $(TOPDIR)/board/$(BOARDDIR)/config.tmp
|
sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
|
||||||
|
|
||||||
ifndef TEXT_BASE
|
ifndef TEXT_BASE
|
||||||
TEXT_BASE = 0xFFFA0000
|
TEXT_BASE = 0xFFFA0000
|
||||||
|
|
|
@ -34,12 +34,6 @@ long int initdram (int board_type)
|
||||||
|
|
||||||
mtsdram(DDR0_02, 0x00000000);
|
mtsdram(DDR0_02, 0x00000000);
|
||||||
|
|
||||||
/*
|
|
||||||
* Soft-reset SDRAM controller
|
|
||||||
*/
|
|
||||||
mtsdr(sdr_srst, SDR0_SRST0_DMC);
|
|
||||||
mtsdr(sdr_srst, 0x00000000);
|
|
||||||
|
|
||||||
mtsdram(DDR0_00, 0x0000190A);
|
mtsdram(DDR0_00, 0x0000190A);
|
||||||
mtsdram(DDR0_01, 0x01000000);
|
mtsdram(DDR0_01, 0x01000000);
|
||||||
mtsdram(DDR0_03, 0x02030602);
|
mtsdram(DDR0_03, 0x02030602);
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* (C) Copyright 2006
|
* (C) Copyright 2006
|
||||||
* Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com
|
* Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com
|
||||||
* Alain Saurel, AMCC/IBM, alain.saurel@fr.ibm.com
|
* Alain Saurel, AMCC/IBM, alain.saurel@fr.ibm.com
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU General Public License as
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
@ -123,12 +123,12 @@ int board_early_init_f(void)
|
||||||
|
|
||||||
/* setup NAND FLASH */
|
/* setup NAND FLASH */
|
||||||
mfsdr(SDR0_CUST0, sdr0_cust0);
|
mfsdr(SDR0_CUST0, sdr0_cust0);
|
||||||
sdr0_cust0 = SDR0_CUST0_MUX_NDFC_SEL |
|
sdr0_cust0 = SDR0_CUST0_MUX_NDFC_SEL |
|
||||||
SDR0_CUST0_NDFC_ENABLE |
|
SDR0_CUST0_NDFC_ENABLE |
|
||||||
SDR0_CUST0_NDFC_BW_8_BIT |
|
SDR0_CUST0_NDFC_BW_8_BIT |
|
||||||
SDR0_CUST0_NDFC_ARE_MASK |
|
SDR0_CUST0_NDFC_ARE_MASK |
|
||||||
(0x80000000 >> (28 + CFG_NAND_CS));
|
(0x80000000 >> (28 + CFG_NAND_CS));
|
||||||
mtsdr(SDR0_CUST0, sdr0_cust0);
|
mtsdr(SDR0_CUST0, sdr0_cust0);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -216,38 +216,38 @@ int misc_init_r(void)
|
||||||
#ifdef CONFIG_440EPX
|
#ifdef CONFIG_440EPX
|
||||||
if (act == NULL || strcmp(act, "hostdev") == 0) {
|
if (act == NULL || strcmp(act, "hostdev") == 0) {
|
||||||
/* SDR Setting */
|
/* SDR Setting */
|
||||||
mfsdr(SDR0_PFC1, sdr0_pfc1);
|
mfsdr(SDR0_PFC1, sdr0_pfc1);
|
||||||
mfsdr(SDR0_USB0, usb2d0cr);
|
mfsdr(SDR0_USB0, usb2d0cr);
|
||||||
mfsdr(SDR0_USB2PHY0CR, usb2phy0cr);
|
mfsdr(SDR0_USB2PHY0CR, usb2phy0cr);
|
||||||
mfsdr(SDR0_USB2H0CR, usb2h0cr);
|
mfsdr(SDR0_USB2H0CR, usb2h0cr);
|
||||||
|
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; /*0*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; /*0*/
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_WDINT_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_WDINT_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_WDINT_16BIT_30MHZ; /*1*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_WDINT_16BIT_30MHZ; /*1*/
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PURDIS; /*0*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PURDIS; /*0*/
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_HOST; /*1*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_HOST; /*1*/
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_HOST; /*1*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_HOST; /*1*/
|
||||||
|
|
||||||
/* An 8-bit/60MHz interface is the only possible alternative
|
/* An 8-bit/60MHz interface is the only possible alternative
|
||||||
when connecting the Device to the PHY */
|
when connecting the Device to the PHY */
|
||||||
usb2h0cr = usb2h0cr &~SDR0_USB2H0CR_WDINT_MASK;
|
usb2h0cr = usb2h0cr &~SDR0_USB2H0CR_WDINT_MASK;
|
||||||
usb2h0cr = usb2h0cr | SDR0_USB2H0CR_WDINT_16BIT_30MHZ; /*1*/
|
usb2h0cr = usb2h0cr | SDR0_USB2H0CR_WDINT_16BIT_30MHZ; /*1*/
|
||||||
|
|
||||||
/* To enable the USB 2.0 Device function through the UTMI interface */
|
/* To enable the USB 2.0 Device function through the UTMI interface */
|
||||||
usb2d0cr = usb2d0cr &~SDR0_USB2D0CR_USB2DEV_EBC_SEL_MASK;
|
usb2d0cr = usb2d0cr &~SDR0_USB2D0CR_USB2DEV_EBC_SEL_MASK;
|
||||||
usb2d0cr = usb2d0cr | SDR0_USB2D0CR_USB2DEV_SELECTION; /*1*/
|
usb2d0cr = usb2d0cr | SDR0_USB2D0CR_USB2DEV_SELECTION; /*1*/
|
||||||
|
|
||||||
sdr0_pfc1 = sdr0_pfc1 &~SDR0_PFC1_UES_MASK;
|
sdr0_pfc1 = sdr0_pfc1 &~SDR0_PFC1_UES_MASK;
|
||||||
sdr0_pfc1 = sdr0_pfc1 | SDR0_PFC1_UES_USB2D_SEL; /*0*/
|
sdr0_pfc1 = sdr0_pfc1 | SDR0_PFC1_UES_USB2D_SEL; /*0*/
|
||||||
|
|
||||||
mtsdr(SDR0_PFC1, sdr0_pfc1);
|
mtsdr(SDR0_PFC1, sdr0_pfc1);
|
||||||
mtsdr(SDR0_USB0, usb2d0cr);
|
mtsdr(SDR0_USB0, usb2d0cr);
|
||||||
mtsdr(SDR0_USB2PHY0CR, usb2phy0cr);
|
mtsdr(SDR0_USB2PHY0CR, usb2phy0cr);
|
||||||
mtsdr(SDR0_USB2H0CR, usb2h0cr);
|
mtsdr(SDR0_USB2H0CR, usb2h0cr);
|
||||||
|
|
||||||
/*clear resets*/
|
/*clear resets*/
|
||||||
udelay (1000);
|
udelay (1000);
|
||||||
|
@ -264,11 +264,11 @@ int misc_init_r(void)
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; /*0*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; /*0*/
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PURDIS; /*0*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PURDIS; /*0*/
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_HOST; /*1*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_HOST; /*1*/
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_HOST; /*1*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_HOST; /*1*/
|
||||||
mtsdr(SDR0_USB2PHY0CR, usb2phy0cr);
|
mtsdr(SDR0_USB2PHY0CR, usb2phy0cr);
|
||||||
|
|
||||||
udelay (1000);
|
udelay (1000);
|
||||||
|
@ -287,33 +287,33 @@ int misc_init_r(void)
|
||||||
/*-------------------PATCH-------------------------------*/
|
/*-------------------PATCH-------------------------------*/
|
||||||
|
|
||||||
/* SDR Setting */
|
/* SDR Setting */
|
||||||
mfsdr(SDR0_USB2PHY0CR, usb2phy0cr);
|
mfsdr(SDR0_USB2PHY0CR, usb2phy0cr);
|
||||||
mfsdr(SDR0_USB2H0CR, usb2h0cr);
|
mfsdr(SDR0_USB2H0CR, usb2h0cr);
|
||||||
mfsdr(SDR0_USB0, usb2d0cr);
|
mfsdr(SDR0_USB0, usb2d0cr);
|
||||||
mfsdr(SDR0_PFC1, sdr0_pfc1);
|
mfsdr(SDR0_PFC1, sdr0_pfc1);
|
||||||
|
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; /*0*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; /*0*/
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_WDINT_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_WDINT_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_WDINT_8BIT_60MHZ; /*0*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_WDINT_8BIT_60MHZ; /*0*/
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PUREN; /*1*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PUREN; /*1*/
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_DEV; /*0*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_DEV; /*0*/
|
||||||
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK;
|
usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK;
|
||||||
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_DEV; /*0*/
|
usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_DEV; /*0*/
|
||||||
|
|
||||||
usb2h0cr = usb2h0cr &~SDR0_USB2H0CR_WDINT_MASK;
|
usb2h0cr = usb2h0cr &~SDR0_USB2H0CR_WDINT_MASK;
|
||||||
usb2h0cr = usb2h0cr | SDR0_USB2H0CR_WDINT_8BIT_60MHZ; /*0*/
|
usb2h0cr = usb2h0cr | SDR0_USB2H0CR_WDINT_8BIT_60MHZ; /*0*/
|
||||||
|
|
||||||
usb2d0cr = usb2d0cr &~SDR0_USB2D0CR_USB2DEV_EBC_SEL_MASK;
|
usb2d0cr = usb2d0cr &~SDR0_USB2D0CR_USB2DEV_EBC_SEL_MASK;
|
||||||
usb2d0cr = usb2d0cr | SDR0_USB2D0CR_EBC_SELECTION; /*0*/
|
usb2d0cr = usb2d0cr | SDR0_USB2D0CR_EBC_SELECTION; /*0*/
|
||||||
|
|
||||||
sdr0_pfc1 = sdr0_pfc1 &~SDR0_PFC1_UES_MASK;
|
sdr0_pfc1 = sdr0_pfc1 &~SDR0_PFC1_UES_MASK;
|
||||||
sdr0_pfc1 = sdr0_pfc1 | SDR0_PFC1_UES_EBCHR_SEL; /*1*/
|
sdr0_pfc1 = sdr0_pfc1 | SDR0_PFC1_UES_EBCHR_SEL; /*1*/
|
||||||
|
|
||||||
mtsdr(SDR0_USB2H0CR, usb2h0cr);
|
mtsdr(SDR0_USB2H0CR, usb2h0cr);
|
||||||
mtsdr(SDR0_USB2PHY0CR, usb2phy0cr);
|
mtsdr(SDR0_USB2PHY0CR, usb2phy0cr);
|
||||||
mtsdr(SDR0_USB0, usb2d0cr);
|
mtsdr(SDR0_USB0, usb2d0cr);
|
||||||
mtsdr(SDR0_PFC1, sdr0_pfc1);
|
mtsdr(SDR0_PFC1, sdr0_pfc1);
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -958,7 +958,6 @@ int is_pci_host(struct pci_controller *hose)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int yucca_pcie_card_present(int port)
|
int yucca_pcie_card_present(int port)
|
||||||
{
|
{
|
||||||
u16 reg;
|
u16 reg;
|
||||||
|
@ -1084,8 +1083,6 @@ void yucca_setup_pcie_fpga_endpoint(int port)
|
||||||
(endpoint | in_be16((u16 *)FPGA_REG1C)));
|
(endpoint | in_be16((u16 *)FPGA_REG1C)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static struct pci_controller pcie_hose[3] = {{0},{0},{0}};
|
static struct pci_controller pcie_hose[3] = {{0},{0},{0}};
|
||||||
|
|
||||||
void pcie_setup_hoses(void)
|
void pcie_setup_hoses(void)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) $(ARFLAGS) $@ $^
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -37,7 +37,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -35,7 +35,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
44
board/atmel/atstk1000/Makefile
Normal file
44
board/atmel/atstk1000/Makefile
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
#
|
||||||
|
# (C) Copyright 2001-2006
|
||||||
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2005-2006 Atmel Corporation
|
||||||
|
#
|
||||||
|
# See file CREDITS for list of people who contributed to this
|
||||||
|
# project.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation; either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
# MA 02111-1307 USA
|
||||||
|
|
||||||
|
include $(TOPDIR)/config.mk
|
||||||
|
|
||||||
|
LIB := $(obj)lib$(BOARD).a
|
||||||
|
|
||||||
|
COBJS := $(BOARD).o flash.o
|
||||||
|
|
||||||
|
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
||||||
|
OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS))
|
||||||
|
|
||||||
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
# defines $(obj).depend target
|
||||||
|
include $(SRCTREE)/rules.mk
|
||||||
|
|
||||||
|
sinclude $(obj).depend
|
||||||
|
|
||||||
|
#########################################################################
|
52
board/atmel/atstk1000/atstk1000.c
Normal file
52
board/atmel/atstk1000/atstk1000.c
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2006 Atmel Corporation
|
||||||
|
*
|
||||||
|
* See file CREDITS for list of people who contributed to this
|
||||||
|
* project.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
* MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
#include <common.h>
|
||||||
|
|
||||||
|
#include <asm/io.h>
|
||||||
|
#include <asm/sdram.h>
|
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
static const struct sdram_info sdram = {
|
||||||
|
.phys_addr = CFG_SDRAM_BASE,
|
||||||
|
.row_bits = 11,
|
||||||
|
.col_bits = 8,
|
||||||
|
.bank_bits = 2,
|
||||||
|
.cas = 3,
|
||||||
|
.twr = 2,
|
||||||
|
.trc = 7,
|
||||||
|
.trp = 2,
|
||||||
|
.trcd = 2,
|
||||||
|
.tras = 5,
|
||||||
|
.txsr = 5,
|
||||||
|
};
|
||||||
|
|
||||||
|
void board_init_memories(void)
|
||||||
|
{
|
||||||
|
gd->sdram_size = sdram_init(&sdram);
|
||||||
|
}
|
||||||
|
|
||||||
|
void board_init_info(void)
|
||||||
|
{
|
||||||
|
gd->bd->bi_phy_id[0] = 0x10;
|
||||||
|
gd->bd->bi_phy_id[1] = 0x11;
|
||||||
|
}
|
4
board/atmel/atstk1000/config.mk
Normal file
4
board/atmel/atstk1000/config.mk
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
|
||||||
|
PLATFORM_LDFLAGS += --gc-sections
|
||||||
|
TEXT_BASE = 0x00000000
|
||||||
|
LDSCRIPT = $(obj)board/atmel/atstk1000/u-boot.lds
|
223
board/atmel/atstk1000/flash.c
Normal file
223
board/atmel/atstk1000/flash.c
Normal file
|
@ -0,0 +1,223 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2006 Atmel Corporation
|
||||||
|
*
|
||||||
|
* See file CREDITS for list of people who contributed to this
|
||||||
|
* project.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
* MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
#include <common.h>
|
||||||
|
|
||||||
|
#ifdef CONFIG_ATSTK1000_EXT_FLASH
|
||||||
|
#include <asm/cacheflush.h>
|
||||||
|
#include <asm/io.h>
|
||||||
|
#include <asm/sections.h>
|
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
flash_info_t flash_info[1];
|
||||||
|
|
||||||
|
static void __flashprog flash_identify(uint16_t *flash, flash_info_t *info)
|
||||||
|
{
|
||||||
|
unsigned long flags;
|
||||||
|
|
||||||
|
flags = disable_interrupts();
|
||||||
|
|
||||||
|
dcache_flush_unlocked();
|
||||||
|
|
||||||
|
writew(0xaa, flash + 0x555);
|
||||||
|
writew(0x55, flash + 0xaaa);
|
||||||
|
writew(0x90, flash + 0x555);
|
||||||
|
info->flash_id = readl(flash);
|
||||||
|
writew(0xff, flash);
|
||||||
|
|
||||||
|
readw(flash);
|
||||||
|
|
||||||
|
if (flags)
|
||||||
|
enable_interrupts();
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned long flash_init(void)
|
||||||
|
{
|
||||||
|
unsigned long addr;
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
gd->bd->bi_flashstart = CFG_FLASH_BASE;
|
||||||
|
gd->bd->bi_flashsize = CFG_FLASH_SIZE;
|
||||||
|
gd->bd->bi_flashoffset = __edata_lma - _text;
|
||||||
|
|
||||||
|
flash_info[0].size = CFG_FLASH_SIZE;
|
||||||
|
flash_info[0].sector_count = 135;
|
||||||
|
|
||||||
|
flash_identify(uncached((void *)CFG_FLASH_BASE), &flash_info[0]);
|
||||||
|
|
||||||
|
for (i = 0, addr = 0; i < 8; i++, addr += 0x2000)
|
||||||
|
flash_info[0].start[i] = addr;
|
||||||
|
for (; i < flash_info[0].sector_count; i++, addr += 0x10000)
|
||||||
|
flash_info[0].start[i] = addr;
|
||||||
|
|
||||||
|
return CFG_FLASH_SIZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void flash_print_info(flash_info_t *info)
|
||||||
|
{
|
||||||
|
printf("Flash: Vendor ID: 0x%02x, Product ID: 0x%02x\n",
|
||||||
|
info->flash_id >> 16, info->flash_id & 0xffff);
|
||||||
|
printf("Size: %ld MB in %d sectors\n",
|
||||||
|
info->size >> 10, info->sector_count);
|
||||||
|
}
|
||||||
|
|
||||||
|
int __flashprog flash_erase(flash_info_t *info, int s_first, int s_last)
|
||||||
|
{
|
||||||
|
unsigned long flags;
|
||||||
|
unsigned long start_time;
|
||||||
|
uint16_t *fb, *sb;
|
||||||
|
unsigned int i;
|
||||||
|
int ret;
|
||||||
|
uint16_t status;
|
||||||
|
|
||||||
|
if ((s_first < 0) || (s_first > s_last)
|
||||||
|
|| (s_last >= info->sector_count)) {
|
||||||
|
puts("Error: first and/or last sector out of range\n");
|
||||||
|
return ERR_INVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = s_first; i < s_last; i++)
|
||||||
|
if (info->protect[i]) {
|
||||||
|
printf("Error: sector %d is protected\n", i);
|
||||||
|
return ERR_PROTECTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
fb = (uint16_t *)uncached(info->start[0]);
|
||||||
|
|
||||||
|
dcache_flush_unlocked();
|
||||||
|
|
||||||
|
for (i = s_first; (i <= s_last) && !ctrlc(); i++) {
|
||||||
|
printf("Erasing sector %3d...", i);
|
||||||
|
|
||||||
|
sb = (uint16_t *)uncached(info->start[i]);
|
||||||
|
|
||||||
|
flags = disable_interrupts();
|
||||||
|
|
||||||
|
start_time = get_timer(0);
|
||||||
|
|
||||||
|
/* Unlock sector */
|
||||||
|
writew(0xaa, fb + 0x555);
|
||||||
|
writew(0x70, sb);
|
||||||
|
|
||||||
|
/* Erase sector */
|
||||||
|
writew(0xaa, fb + 0x555);
|
||||||
|
writew(0x55, fb + 0xaaa);
|
||||||
|
writew(0x80, fb + 0x555);
|
||||||
|
writew(0xaa, fb + 0x555);
|
||||||
|
writew(0x55, fb + 0xaaa);
|
||||||
|
writew(0x30, sb);
|
||||||
|
|
||||||
|
/* Wait for completion */
|
||||||
|
ret = ERR_OK;
|
||||||
|
do {
|
||||||
|
/* TODO: Timeout */
|
||||||
|
status = readw(sb);
|
||||||
|
} while ((status != 0xffff) && !(status & 0x28));
|
||||||
|
|
||||||
|
writew(0xf0, fb);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Make sure the command actually makes it to the bus
|
||||||
|
* before we re-enable interrupts.
|
||||||
|
*/
|
||||||
|
readw(fb);
|
||||||
|
|
||||||
|
if (flags)
|
||||||
|
enable_interrupts();
|
||||||
|
|
||||||
|
if (status != 0xffff) {
|
||||||
|
printf("Flash erase error at address 0x%p: 0x%02x\n",
|
||||||
|
sb, status);
|
||||||
|
ret = ERR_PROG_ERROR;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ctrlc())
|
||||||
|
printf("User interrupt!\n");
|
||||||
|
|
||||||
|
return ERR_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
int __flashprog write_buff(flash_info_t *info, uchar *src,
|
||||||
|
ulong addr, ulong count)
|
||||||
|
{
|
||||||
|
unsigned long flags;
|
||||||
|
uint16_t *base, *p, *s, *end;
|
||||||
|
uint16_t word, status;
|
||||||
|
int ret = ERR_OK;
|
||||||
|
|
||||||
|
if (addr < info->start[0]
|
||||||
|
|| (addr + count) > (info->start[0] + info->size)
|
||||||
|
|| (addr + count) < addr) {
|
||||||
|
puts("Error: invalid address range\n");
|
||||||
|
return ERR_INVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (addr & 1 || count & 1 || (unsigned int)src & 1) {
|
||||||
|
puts("Error: misaligned source, destination or count\n");
|
||||||
|
return ERR_ALIGN;
|
||||||
|
}
|
||||||
|
|
||||||
|
base = (uint16_t *)uncached(info->start[0]);
|
||||||
|
end = (uint16_t *)uncached(addr + count);
|
||||||
|
|
||||||
|
flags = disable_interrupts();
|
||||||
|
|
||||||
|
dcache_flush_unlocked();
|
||||||
|
sync_write_buffer();
|
||||||
|
|
||||||
|
for (p = (uint16_t *)uncached(addr), s = (uint16_t *)src;
|
||||||
|
p < end && !ctrlc(); p++, s++) {
|
||||||
|
word = *s;
|
||||||
|
|
||||||
|
writew(0xaa, base + 0x555);
|
||||||
|
writew(0x55, base + 0xaaa);
|
||||||
|
writew(0xa0, base + 0x555);
|
||||||
|
writew(word, p);
|
||||||
|
|
||||||
|
sync_write_buffer();
|
||||||
|
|
||||||
|
/* Wait for completion */
|
||||||
|
do {
|
||||||
|
/* TODO: Timeout */
|
||||||
|
status = readw(p);
|
||||||
|
} while ((status != word) && !(status & 0x28));
|
||||||
|
|
||||||
|
writew(0xf0, base);
|
||||||
|
readw(base);
|
||||||
|
|
||||||
|
if (status != word) {
|
||||||
|
printf("Flash write error at address 0x%p: 0x%02x\n",
|
||||||
|
p, status);
|
||||||
|
ret = ERR_PROG_ERROR;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (flags)
|
||||||
|
enable_interrupts();
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* CONFIG_ATSTK1000_EXT_FLASH */
|
77
board/atmel/atstk1000/u-boot.lds
Normal file
77
board/atmel/atstk1000/u-boot.lds
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
/* -*- Fundamental -*-
|
||||||
|
*
|
||||||
|
* Copyright (C) 2005-2006 Atmel Corporation
|
||||||
|
*
|
||||||
|
* See file CREDITS for list of people who contributed to this
|
||||||
|
* project.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
* MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
OUTPUT_FORMAT("elf32-avr32", "elf32-avr32", "elf32-avr32")
|
||||||
|
OUTPUT_ARCH(avr32)
|
||||||
|
ENTRY(_start)
|
||||||
|
|
||||||
|
SECTIONS
|
||||||
|
{
|
||||||
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
.text : {
|
||||||
|
*(.text)
|
||||||
|
*(.text.*)
|
||||||
|
}
|
||||||
|
|
||||||
|
. = ALIGN(32);
|
||||||
|
__flashprog_start = .;
|
||||||
|
.flashprog : {
|
||||||
|
*(.flashprog)
|
||||||
|
}
|
||||||
|
. = ALIGN(32);
|
||||||
|
__flashprog_end = .;
|
||||||
|
|
||||||
|
. = ALIGN(8);
|
||||||
|
.rodata : {
|
||||||
|
*(.rodata)
|
||||||
|
*(.rodata.*)
|
||||||
|
}
|
||||||
|
_etext = .;
|
||||||
|
|
||||||
|
__data_lma = ALIGN(8);
|
||||||
|
. = 0x24000000;
|
||||||
|
_data = .;
|
||||||
|
.data : AT(__data_lma) {
|
||||||
|
*(.data)
|
||||||
|
*(.data.*)
|
||||||
|
}
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
__u_boot_cmd_start = .;
|
||||||
|
__u_boot_cmd_lma = __data_lma + (__u_boot_cmd_start - _data);
|
||||||
|
.u_boot_cmd : AT(__u_boot_cmd_lma) {
|
||||||
|
KEEP(*(.u_boot_cmd))
|
||||||
|
}
|
||||||
|
__u_boot_cmd_end = .;
|
||||||
|
|
||||||
|
. = ALIGN(8);
|
||||||
|
_edata = .;
|
||||||
|
__edata_lma = __u_boot_cmd_lma + (_edata - __u_boot_cmd_start);
|
||||||
|
|
||||||
|
.bss : AT(__edata_lma) {
|
||||||
|
*(.bss)
|
||||||
|
*(.bss.*)
|
||||||
|
}
|
||||||
|
. = ALIGN(8);
|
||||||
|
_end = .;
|
||||||
|
}
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -295,7 +295,6 @@ void pci_init_board(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET)
|
#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET)
|
||||||
#define GPIO_PSC1_4 0x01000000UL
|
|
||||||
|
|
||||||
void init_ide_reset (void)
|
void init_ide_reset (void)
|
||||||
{
|
{
|
||||||
|
@ -311,9 +310,9 @@ void ide_set_reset (int idereset)
|
||||||
debug ("ide_reset(%d)\n", idereset);
|
debug ("ide_reset(%d)\n", idereset);
|
||||||
|
|
||||||
if (idereset) {
|
if (idereset) {
|
||||||
*(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4;
|
*(vu_long *) MPC5XXX_WU_GPIO_DATA_O &= ~GPIO_PSC1_4;
|
||||||
} else {
|
} else {
|
||||||
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4;
|
*(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC1_4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */
|
#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */
|
||||||
|
|
|
@ -38,7 +38,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
75
board/cds/common/ft_board.c
Normal file
75
board/cds/common/ft_board.c
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2004 Freescale Semiconductor.
|
||||||
|
*
|
||||||
|
* See file CREDITS for list of people who contributed to this
|
||||||
|
* project.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
* MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
|
||||||
|
#if defined(CONFIG_OF_FLAT_TREE)
|
||||||
|
#include <ft_build.h>
|
||||||
|
#include "cadmus.h"
|
||||||
|
|
||||||
|
extern void ft_cpu_setup(void *blob, bd_t *bd);
|
||||||
|
|
||||||
|
static void cds_pci_fixup(void *blob)
|
||||||
|
{
|
||||||
|
int len;
|
||||||
|
u32 *map;
|
||||||
|
int slot;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
map = ft_get_prop(blob, "/" OF_SOC "/pci@8000/interrupt-map", &len);
|
||||||
|
|
||||||
|
len /= sizeof(u32);
|
||||||
|
|
||||||
|
slot = get_pci_slot();
|
||||||
|
|
||||||
|
for (i=0;i<len;i+=7) {
|
||||||
|
/* We rotate the interrupt pins so that the mapping
|
||||||
|
* changes depending on the slot the carrier card is in.
|
||||||
|
*/
|
||||||
|
map[3] = ((map[3] + slot - 2) % 4) + 1;
|
||||||
|
|
||||||
|
map+=7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_OF_FLAT_TREE) && defined(CONFIG_OF_BOARD_SETUP)
|
||||||
|
void
|
||||||
|
ft_board_setup(void *blob, bd_t *bd)
|
||||||
|
{
|
||||||
|
u32 *p;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
#ifdef CONFIG_PCI
|
||||||
|
ft_pci_setup(blob, bd);
|
||||||
|
#endif
|
||||||
|
ft_cpu_setup(blob, bd);
|
||||||
|
|
||||||
|
p = ft_get_prop(blob, "/memory/reg", &len);
|
||||||
|
if (p != NULL) {
|
||||||
|
*p++ = cpu_to_be32(bd->bi_memstart);
|
||||||
|
*p = cpu_to_be32(bd->bi_memsize);
|
||||||
|
}
|
||||||
|
|
||||||
|
cds_pci_fixup(blob);
|
||||||
|
}
|
||||||
|
#endif
|
104
board/cds/common/via.c
Normal file
104
board/cds/common/via.c
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2006 Freescale Semiconductor.
|
||||||
|
*
|
||||||
|
* See file CREDITS for list of people who contributed to this
|
||||||
|
* project.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||||
|
* MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
#include <pci.h>
|
||||||
|
|
||||||
|
/* Config the VIA chip */
|
||||||
|
void mpc85xx_config_via(struct pci_controller *hose,
|
||||||
|
pci_dev_t dev, struct pci_config_table *tab)
|
||||||
|
{
|
||||||
|
pci_dev_t bridge;
|
||||||
|
|
||||||
|
/* Enable USB and IDE functions */
|
||||||
|
pci_hose_write_config_byte(hose, dev, 0x48, 0x08);
|
||||||
|
|
||||||
|
pciauto_config_device(hose, dev);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Force the backplane P2P bridge to have a window
|
||||||
|
* open from 0x00000000-0x00001fff in PCI I/O space.
|
||||||
|
* This allows legacy I/O (i8259, etc) on the VIA
|
||||||
|
* southbridge to be accessed.
|
||||||
|
*/
|
||||||
|
bridge = PCI_BDF(0,17,0);
|
||||||
|
pci_hose_write_config_byte(hose, bridge, PCI_IO_BASE, 0);
|
||||||
|
pci_hose_write_config_word(hose, bridge, PCI_IO_BASE_UPPER16, 0);
|
||||||
|
pci_hose_write_config_byte(hose, bridge, PCI_IO_LIMIT, 0x10);
|
||||||
|
pci_hose_write_config_word(hose, bridge, PCI_IO_LIMIT_UPPER16, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Function 1, IDE */
|
||||||
|
void mpc85xx_config_via_usbide(struct pci_controller *hose,
|
||||||
|
pci_dev_t dev, struct pci_config_table *tab)
|
||||||
|
{
|
||||||
|
pciauto_config_device(hose, dev);
|
||||||
|
/*
|
||||||
|
* Since the P2P window was forced to cover the fixed
|
||||||
|
* legacy I/O addresses, it is necessary to manually
|
||||||
|
* place the base addresses for the IDE and USB functions
|
||||||
|
* within this window.
|
||||||
|
*/
|
||||||
|
pci_hose_write_config_dword(hose, dev, PCI_BASE_ADDRESS_0, 0x1ff8);
|
||||||
|
pci_hose_write_config_dword(hose, dev, PCI_BASE_ADDRESS_1, 0x1ff4);
|
||||||
|
pci_hose_write_config_dword(hose, dev, PCI_BASE_ADDRESS_2, 0x1fe8);
|
||||||
|
pci_hose_write_config_dword(hose, dev, PCI_BASE_ADDRESS_3, 0x1fe4);
|
||||||
|
pci_hose_write_config_dword(hose, dev, PCI_BASE_ADDRESS_4, 0x1fd0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Function 2, USB ports 0-1 */
|
||||||
|
void mpc85xx_config_via_usb(struct pci_controller *hose,
|
||||||
|
pci_dev_t dev, struct pci_config_table *tab)
|
||||||
|
{
|
||||||
|
pciauto_config_device(hose, dev);
|
||||||
|
|
||||||
|
pci_hose_write_config_dword(hose, dev, PCI_BASE_ADDRESS_4, 0x1fa0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Function 3, USB ports 2-3 */
|
||||||
|
void mpc85xx_config_via_usb2(struct pci_controller *hose,
|
||||||
|
pci_dev_t dev, struct pci_config_table *tab)
|
||||||
|
{
|
||||||
|
pciauto_config_device(hose, dev);
|
||||||
|
|
||||||
|
pci_hose_write_config_dword(hose, dev, PCI_BASE_ADDRESS_4, 0x1f80);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Function 5, Power Management */
|
||||||
|
void mpc85xx_config_via_power(struct pci_controller *hose,
|
||||||
|
pci_dev_t dev, struct pci_config_table *tab)
|
||||||
|
{
|
||||||
|
pciauto_config_device(hose, dev);
|
||||||
|
|
||||||
|
pci_hose_write_config_dword(hose, dev, PCI_BASE_ADDRESS_0, 0x1e00);
|
||||||
|
pci_hose_write_config_dword(hose, dev, PCI_BASE_ADDRESS_1, 0x1dfc);
|
||||||
|
pci_hose_write_config_dword(hose, dev, PCI_BASE_ADDRESS_2, 0x1df8);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Function 6, AC97 Interface */
|
||||||
|
void mpc85xx_config_via_ac97(struct pci_controller *hose,
|
||||||
|
pci_dev_t dev, struct pci_config_table *tab)
|
||||||
|
{
|
||||||
|
pciauto_config_device(hose, dev);
|
||||||
|
|
||||||
|
pci_hose_write_config_dword(hose, dev, PCI_BASE_ADDRESS_0, 0x1c00);
|
||||||
|
}
|
18
board/cds/common/via.h
Normal file
18
board/cds/common/via.h
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#ifndef _MPC85xx_VIA_H
|
||||||
|
void mpc85xx_config_via(struct pci_controller* hose, pci_dev_t dev, struct pci_config_table *tab);
|
||||||
|
|
||||||
|
/* Function 1, IDE */
|
||||||
|
void mpc85xx_config_via_usbide(struct pci_controller* hose, pci_dev_t dev, struct pci_config_table *tab);
|
||||||
|
|
||||||
|
/* Function 2, USB ports 0-1 */
|
||||||
|
void mpc85xx_config_via_usb(struct pci_controller* hose, pci_dev_t dev, struct pci_config_table *tab);
|
||||||
|
|
||||||
|
/* Function 3, USB ports 2-3 */
|
||||||
|
void mpc85xx_config_via_usb2(struct pci_controller* hose, pci_dev_t dev, struct pci_config_table *tab);
|
||||||
|
|
||||||
|
/* Function 5, Power Management */
|
||||||
|
void mpc85xx_config_via_power(struct pci_controller* hose, pci_dev_t dev, struct pci_config_table *tab);
|
||||||
|
|
||||||
|
/* Function 6, AC97 Interface */
|
||||||
|
void mpc85xx_config_via_ac97(struct pci_controller* hose, pci_dev_t dev, struct pci_config_table *tab);
|
||||||
|
#endif /* _MPC85xx_VIA_H */
|
|
@ -31,7 +31,9 @@ LIB = $(obj)lib$(BOARD).a
|
||||||
|
|
||||||
COBJS := $(BOARD).o \
|
COBJS := $(BOARD).o \
|
||||||
../common/cadmus.o \
|
../common/cadmus.o \
|
||||||
../common/eeprom.o
|
../common/eeprom.o \
|
||||||
|
../common/ft_board.o \
|
||||||
|
../common/via.o
|
||||||
|
|
||||||
SOBJS := init.o
|
SOBJS := init.o
|
||||||
|
|
||||||
|
@ -40,7 +42,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(OBJS) $(SOBJS)
|
rm -f $(OBJS) $(SOBJS)
|
||||||
|
|
|
@ -210,8 +210,8 @@ tlb1_entry:
|
||||||
* 0x8000_0000 0x9fff_ffff PCI1 MEM 512M
|
* 0x8000_0000 0x9fff_ffff PCI1 MEM 512M
|
||||||
* 0xa000_0000 0xbfff_ffff PCI2 MEM 512M
|
* 0xa000_0000 0xbfff_ffff PCI2 MEM 512M
|
||||||
* 0xe000_0000 0xe000_ffff CCSR 1M
|
* 0xe000_0000 0xe000_ffff CCSR 1M
|
||||||
* 0xe200_0000 0xe2ff_ffff PCI1 IO 16M
|
* 0xe200_0000 0xe20f_ffff PCI1 IO 1M
|
||||||
* 0xe300_0000 0xe3ff_ffff PCI2 IO 16M
|
* 0xe210_0000 0xe21f_ffff PCI2 IO 1M
|
||||||
* 0xf000_0000 0xf7ff_ffff SDRAM 128M
|
* 0xf000_0000 0xf7ff_ffff SDRAM 128M
|
||||||
* 0xf800_0000 0xf80f_ffff NVRAM/CADMUS (*) 1M
|
* 0xf800_0000 0xf80f_ffff NVRAM/CADMUS (*) 1M
|
||||||
* 0xff00_0000 0xff7f_ffff FLASH (2nd bank) 8M
|
* 0xff00_0000 0xff7f_ffff FLASH (2nd bank) 8M
|
||||||
|
@ -234,11 +234,11 @@ tlb1_entry:
|
||||||
#define LAWBAR2 ((CFG_PCI2_MEM_BASE>>12) & 0xfffff)
|
#define LAWBAR2 ((CFG_PCI2_MEM_BASE>>12) & 0xfffff)
|
||||||
#define LAWAR2 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_512M))
|
#define LAWAR2 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_512M))
|
||||||
|
|
||||||
#define LAWBAR3 ((CFG_PCI1_IO_BASE>>12) & 0xfffff)
|
#define LAWBAR3 ((CFG_PCI1_IO_PHYS>>12) & 0xfffff)
|
||||||
#define LAWAR3 (LAWAR_EN | LAWAR_TRGT_IF_PCI1 | (LAWAR_SIZE & LAWAR_SIZE_16M))
|
#define LAWAR3 (LAWAR_EN | LAWAR_TRGT_IF_PCI1 | (LAWAR_SIZE & LAWAR_SIZE_1M))
|
||||||
|
|
||||||
#define LAWBAR4 ((CFG_PCI2_IO_BASE>>12) & 0xfffff)
|
#define LAWBAR4 ((CFG_PCI2_IO_PHYS>>12) & 0xfffff)
|
||||||
#define LAWAR4 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_16M))
|
#define LAWAR4 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_1M))
|
||||||
|
|
||||||
/* LBC window - maps 256M 0xf0000000 -> 0xffffffff */
|
/* LBC window - maps 256M 0xf0000000 -> 0xffffffff */
|
||||||
#define LAWBAR5 ((CFG_LBC_SDRAM_BASE>>12) & 0xfffff)
|
#define LAWBAR5 ((CFG_LBC_SDRAM_BASE>>12) & 0xfffff)
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
|
|
||||||
#include "../common/cadmus.h"
|
#include "../common/cadmus.h"
|
||||||
#include "../common/eeprom.h"
|
#include "../common/eeprom.h"
|
||||||
|
#include "../common/via.h"
|
||||||
|
|
||||||
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
|
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
|
||||||
extern void ddr_enable_ecc(unsigned int dram_size);
|
extern void ddr_enable_ecc(unsigned int dram_size);
|
||||||
|
@ -468,26 +469,25 @@ testdram(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
|
/* For some reason the Tundra PCI bridge shows up on itself as a
|
||||||
/*
|
* different device. Work around that by refusing to configure it.
|
||||||
* Initialize PCI Devices, report devices found.
|
|
||||||
*/
|
*/
|
||||||
|
void dummy_func(struct pci_controller* hose, pci_dev_t dev, struct pci_config_table *tab) { }
|
||||||
|
|
||||||
#ifndef CONFIG_PCI_PNP
|
|
||||||
static struct pci_config_table pci_mpc85xxcds_config_table[] = {
|
static struct pci_config_table pci_mpc85xxcds_config_table[] = {
|
||||||
{ PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
|
{0x10e3, 0x0513, PCI_ANY_ID, 1, 3, PCI_ANY_ID, dummy_func, {0,0,0}},
|
||||||
PCI_IDSEL_NUMBER, PCI_ANY_ID,
|
{0x1106, 0x0686, PCI_ANY_ID, 1, 2, 0, mpc85xx_config_via, {0,0,0}},
|
||||||
pci_cfgfunc_config_device, { PCI_ENET0_IOADDR,
|
{0x1106, 0x0571, PCI_ANY_ID, 1, 2, 1, mpc85xx_config_via_usbide, {0,0,0}},
|
||||||
PCI_ENET0_MEMADDR,
|
{0x1105, 0x3038, PCI_ANY_ID, 1, 2, 2, mpc85xx_config_via_usb, {0,0,0}},
|
||||||
PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER
|
{0x1106, 0x3038, PCI_ANY_ID, 1, 2, 3, mpc85xx_config_via_usb2, {0,0,0}},
|
||||||
} },
|
{0x1106, 0x3058, PCI_ANY_ID, 1, 2, 5, mpc85xx_config_via_power, {0,0,0}},
|
||||||
{ }
|
{0x1106, 0x3068, PCI_ANY_ID, 1, 2, 6, mpc85xx_config_via_ac97, {0,0,0}}
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
static struct pci_controller hose = {
|
static struct pci_controller hose[] = {
|
||||||
#ifndef CONFIG_PCI_PNP
|
{ config_table: pci_mpc85xxcds_config_table,},
|
||||||
config_table: pci_mpc85xxcds_config_table,
|
#ifdef CONFIG_MPC85XX_PCI2
|
||||||
|
{},
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -497,8 +497,6 @@ void
|
||||||
pci_init_board(void)
|
pci_init_board(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_PCI
|
#ifdef CONFIG_PCI
|
||||||
extern void pci_mpc85xx_init(struct pci_controller *hose);
|
pci_mpc85xx_init(hose);
|
||||||
|
|
||||||
pci_mpc85xx_init(&hose);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,9 @@ LIB = $(obj)lib$(BOARD).a
|
||||||
|
|
||||||
COBJS := $(BOARD).o \
|
COBJS := $(BOARD).o \
|
||||||
../common/cadmus.o \
|
../common/cadmus.o \
|
||||||
../common/eeprom.o
|
../common/eeprom.o \
|
||||||
|
../common/ft_board.o \
|
||||||
|
../common/via.o
|
||||||
|
|
||||||
SOBJS := init.o
|
SOBJS := init.o
|
||||||
|
|
||||||
|
@ -40,7 +42,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(OBJS) $(SOBJS)
|
rm -f $(OBJS) $(SOBJS)
|
||||||
|
|
|
@ -210,8 +210,8 @@ tlb1_entry:
|
||||||
* 0x8000_0000 0x9fff_ffff PCI1 MEM 512M
|
* 0x8000_0000 0x9fff_ffff PCI1 MEM 512M
|
||||||
* 0xa000_0000 0xbfff_ffff PCI2 MEM 512M
|
* 0xa000_0000 0xbfff_ffff PCI2 MEM 512M
|
||||||
* 0xe000_0000 0xe000_ffff CCSR 1M
|
* 0xe000_0000 0xe000_ffff CCSR 1M
|
||||||
* 0xe200_0000 0xe2ff_ffff PCI1 IO 16M
|
* 0xe200_0000 0xe20f_ffff PCI1 IO 1M
|
||||||
* 0xe300_0000 0xe3ff_ffff PCI2 IO 16M
|
* 0xe210_0000 0xe21f_ffff PCI2 IO 1M
|
||||||
* 0xf000_0000 0xf7ff_ffff SDRAM 128M
|
* 0xf000_0000 0xf7ff_ffff SDRAM 128M
|
||||||
* 0xf800_0000 0xf80f_ffff NVRAM/CADMUS (*) 1M
|
* 0xf800_0000 0xf80f_ffff NVRAM/CADMUS (*) 1M
|
||||||
* 0xff00_0000 0xff7f_ffff FLASH (2nd bank) 8M
|
* 0xff00_0000 0xff7f_ffff FLASH (2nd bank) 8M
|
||||||
|
@ -234,11 +234,11 @@ tlb1_entry:
|
||||||
#define LAWBAR2 ((CFG_PCI2_MEM_BASE>>12) & 0xfffff)
|
#define LAWBAR2 ((CFG_PCI2_MEM_BASE>>12) & 0xfffff)
|
||||||
#define LAWAR2 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_512M))
|
#define LAWAR2 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_512M))
|
||||||
|
|
||||||
#define LAWBAR3 ((CFG_PCI1_IO_BASE>>12) & 0xfffff)
|
#define LAWBAR3 ((CFG_PCI1_IO_PHYS>>12) & 0xfffff)
|
||||||
#define LAWAR3 (LAWAR_EN | LAWAR_TRGT_IF_PCI1 | (LAWAR_SIZE & LAWAR_SIZE_16M))
|
#define LAWAR3 (LAWAR_EN | LAWAR_TRGT_IF_PCI1 | (LAWAR_SIZE & LAWAR_SIZE_1M))
|
||||||
|
|
||||||
#define LAWBAR4 ((CFG_PCI2_IO_BASE>>12) & 0xfffff)
|
#define LAWBAR4 ((CFG_PCI2_IO_PHYS>>12) & 0xfffff)
|
||||||
#define LAWAR4 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_16M))
|
#define LAWAR4 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_1M))
|
||||||
|
|
||||||
/* LBC window - maps 256M 0xf0000000 -> 0xffffffff */
|
/* LBC window - maps 256M 0xf0000000 -> 0xffffffff */
|
||||||
#define LAWBAR5 ((CFG_LBC_SDRAM_BASE>>12) & 0xfffff)
|
#define LAWBAR5 ((CFG_LBC_SDRAM_BASE>>12) & 0xfffff)
|
||||||
|
|
|
@ -27,9 +27,11 @@
|
||||||
#include <asm/processor.h>
|
#include <asm/processor.h>
|
||||||
#include <asm/immap_85xx.h>
|
#include <asm/immap_85xx.h>
|
||||||
#include <spd.h>
|
#include <spd.h>
|
||||||
|
#include <miiphy.h>
|
||||||
|
|
||||||
#include "../common/cadmus.h"
|
#include "../common/cadmus.h"
|
||||||
#include "../common/eeprom.h"
|
#include "../common/eeprom.h"
|
||||||
|
#include "../common/via.h"
|
||||||
|
|
||||||
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
|
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
|
||||||
extern void ddr_enable_ecc(unsigned int dram_size);
|
extern void ddr_enable_ecc(unsigned int dram_size);
|
||||||
|
@ -293,26 +295,25 @@ testdram(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_PCI)
|
#if defined(CONFIG_PCI)
|
||||||
|
/* For some reason the Tundra PCI bridge shows up on itself as a
|
||||||
/*
|
* different device. Work around that by refusing to configure it.
|
||||||
* Initialize PCI Devices, report devices found.
|
|
||||||
*/
|
*/
|
||||||
|
void dummy_func(struct pci_controller* hose, pci_dev_t dev, struct pci_config_table *tab) { }
|
||||||
|
|
||||||
#ifndef CONFIG_PCI_PNP
|
|
||||||
static struct pci_config_table pci_mpc85xxcds_config_table[] = {
|
static struct pci_config_table pci_mpc85xxcds_config_table[] = {
|
||||||
{ PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
|
{0x10e3, 0x0513, PCI_ANY_ID, 1, 3, PCI_ANY_ID, dummy_func, {0,0,0}},
|
||||||
PCI_IDSEL_NUMBER, PCI_ANY_ID,
|
{0x1106, 0x0686, PCI_ANY_ID, 1, 2, 0, mpc85xx_config_via, {0,0,0}},
|
||||||
pci_cfgfunc_config_device, { PCI_ENET0_IOADDR,
|
{0x1106, 0x0571, PCI_ANY_ID, 1, 2, 1, mpc85xx_config_via_usbide, {0,0,0}},
|
||||||
PCI_ENET0_MEMADDR,
|
{0x1105, 0x3038, PCI_ANY_ID, 1, 2, 2, mpc85xx_config_via_usb, {0,0,0}},
|
||||||
PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER
|
{0x1106, 0x3038, PCI_ANY_ID, 1, 2, 3, mpc85xx_config_via_usb2, {0,0,0}},
|
||||||
} },
|
{0x1106, 0x3058, PCI_ANY_ID, 1, 2, 5, mpc85xx_config_via_power, {0,0,0}},
|
||||||
{ }
|
{0x1106, 0x3068, PCI_ANY_ID, 1, 2, 6, mpc85xx_config_via_ac97, {0,0,0}}
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
static struct pci_controller hose = {
|
static struct pci_controller hose[] = {
|
||||||
#ifndef CONFIG_PCI_PNP
|
{ config_table: pci_mpc85xxcds_config_table,},
|
||||||
config_table: pci_mpc85xxcds_config_table,
|
#ifdef CONFIG_MPC85XX_PCI2
|
||||||
|
{},
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -322,8 +323,37 @@ void
|
||||||
pci_init_board(void)
|
pci_init_board(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_PCI
|
#ifdef CONFIG_PCI
|
||||||
extern void pci_mpc85xx_init(struct pci_controller *hose);
|
|
||||||
|
|
||||||
pci_mpc85xx_init(&hose);
|
pci_mpc85xx_init(&hose);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int last_stage_init(void)
|
||||||
|
{
|
||||||
|
unsigned short temp;
|
||||||
|
|
||||||
|
/* Change the resistors for the PHY */
|
||||||
|
/* This is needed to get the RGMII working for the 1.3+
|
||||||
|
* CDS cards */
|
||||||
|
if (get_board_version() == 0x13) {
|
||||||
|
miiphy_write(CONFIG_MPC85XX_TSEC1_NAME,
|
||||||
|
TSEC1_PHY_ADDR, 29, 18);
|
||||||
|
|
||||||
|
miiphy_read(CONFIG_MPC85XX_TSEC1_NAME,
|
||||||
|
TSEC1_PHY_ADDR, 30, &temp);
|
||||||
|
|
||||||
|
temp = (temp & 0xf03f);
|
||||||
|
temp |= 2 << 9; /* 36 ohm */
|
||||||
|
temp |= 2 << 6; /* 39 ohm */
|
||||||
|
|
||||||
|
miiphy_write(CONFIG_MPC85XX_TSEC1_NAME,
|
||||||
|
TSEC1_PHY_ADDR, 30, temp);
|
||||||
|
|
||||||
|
miiphy_write(CONFIG_MPC85XX_TSEC1_NAME,
|
||||||
|
TSEC1_PHY_ADDR, 29, 3);
|
||||||
|
|
||||||
|
miiphy_write(CONFIG_MPC85XX_TSEC1_NAME,
|
||||||
|
TSEC1_PHY_ADDR, 30, 0x8000);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -31,7 +31,9 @@ LIB = $(obj)lib$(BOARD).a
|
||||||
|
|
||||||
COBJS := $(BOARD).o \
|
COBJS := $(BOARD).o \
|
||||||
../common/cadmus.o \
|
../common/cadmus.o \
|
||||||
../common/eeprom.o
|
../common/eeprom.o \
|
||||||
|
../common/ft_board.o \
|
||||||
|
../common/via.o
|
||||||
|
|
||||||
SOBJS := init.o
|
SOBJS := init.o
|
||||||
|
|
||||||
|
@ -40,7 +42,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(OBJS) $(SOBJS)
|
rm -f $(OBJS) $(SOBJS)
|
||||||
|
|
|
@ -210,8 +210,8 @@ tlb1_entry:
|
||||||
* 0x8000_0000 0x9fff_ffff PCI1 MEM 512M
|
* 0x8000_0000 0x9fff_ffff PCI1 MEM 512M
|
||||||
* 0xa000_0000 0xbfff_ffff PCI2 MEM 512M
|
* 0xa000_0000 0xbfff_ffff PCI2 MEM 512M
|
||||||
* 0xe000_0000 0xe000_ffff CCSR 1M
|
* 0xe000_0000 0xe000_ffff CCSR 1M
|
||||||
* 0xe200_0000 0xe2ff_ffff PCI1 IO 16M
|
* 0xe200_0000 0xe20f_ffff PCI1 IO 1M
|
||||||
* 0xe300_0000 0xe3ff_ffff PCI2 IO 16M
|
* 0xe210_0000 0xe21f_ffff PCI2 IO 1M
|
||||||
* 0xf000_0000 0xf7ff_ffff SDRAM 128M
|
* 0xf000_0000 0xf7ff_ffff SDRAM 128M
|
||||||
* 0xf800_0000 0xf80f_ffff NVRAM/CADMUS (*) 1M
|
* 0xf800_0000 0xf80f_ffff NVRAM/CADMUS (*) 1M
|
||||||
* 0xff00_0000 0xff7f_ffff FLASH (2nd bank) 8M
|
* 0xff00_0000 0xff7f_ffff FLASH (2nd bank) 8M
|
||||||
|
@ -234,11 +234,11 @@ tlb1_entry:
|
||||||
#define LAWBAR2 ((CFG_PCI2_MEM_BASE>>12) & 0xfffff)
|
#define LAWBAR2 ((CFG_PCI2_MEM_BASE>>12) & 0xfffff)
|
||||||
#define LAWAR2 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_512M))
|
#define LAWAR2 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_512M))
|
||||||
|
|
||||||
#define LAWBAR3 ((CFG_PCI1_IO_BASE>>12) & 0xfffff)
|
#define LAWBAR3 ((CFG_PCI1_IO_PHYS>>12) & 0xfffff)
|
||||||
#define LAWAR3 (LAWAR_EN | LAWAR_TRGT_IF_PCI1 | (LAWAR_SIZE & LAWAR_SIZE_16M))
|
#define LAWAR3 (LAWAR_EN | LAWAR_TRGT_IF_PCI1 | (LAWAR_SIZE & LAWAR_SIZE_1M))
|
||||||
|
|
||||||
#define LAWBAR4 ((CFG_PCI2_IO_BASE>>12) & 0xfffff)
|
#define LAWBAR4 ((CFG_PCI2_IO_PHYS>>12) & 0xfffff)
|
||||||
#define LAWAR4 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_16M))
|
#define LAWAR4 (LAWAR_EN | LAWAR_TRGT_IF_PCI2 | (LAWAR_SIZE & LAWAR_SIZE_1M))
|
||||||
|
|
||||||
/* LBC window - maps 256M 0xf0000000 -> 0xffffffff */
|
/* LBC window - maps 256M 0xf0000000 -> 0xffffffff */
|
||||||
#define LAWBAR5 ((CFG_LBC_SDRAM_BASE>>12) & 0xfffff)
|
#define LAWBAR5 ((CFG_LBC_SDRAM_BASE>>12) & 0xfffff)
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
|
|
||||||
#include "../common/cadmus.h"
|
#include "../common/cadmus.h"
|
||||||
#include "../common/eeprom.h"
|
#include "../common/eeprom.h"
|
||||||
|
#include "../common/via.h"
|
||||||
|
|
||||||
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
|
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
|
||||||
extern void ddr_enable_ecc(unsigned int dram_size);
|
extern void ddr_enable_ecc(unsigned int dram_size);
|
||||||
|
@ -464,38 +465,38 @@ testdram(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_PCI)
|
#ifdef CONFIG_PCI
|
||||||
|
/* For some reason the Tundra PCI bridge shows up on itself as a
|
||||||
/*
|
* different device. Work around that by refusing to configure it
|
||||||
* Initialize PCI Devices, report devices found.
|
|
||||||
*/
|
*/
|
||||||
|
void dummy_func(struct pci_controller* hose, pci_dev_t dev, struct pci_config_table *tab) { }
|
||||||
|
|
||||||
#ifndef CONFIG_PCI_PNP
|
|
||||||
static struct pci_config_table pci_mpc85xxcds_config_table[] = {
|
static struct pci_config_table pci_mpc85xxcds_config_table[] = {
|
||||||
{ PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
|
{0x10e3, 0x0513, PCI_ANY_ID, 1, 3, PCI_ANY_ID, dummy_func, {0,0,0}},
|
||||||
PCI_IDSEL_NUMBER, PCI_ANY_ID,
|
{0x1106, 0x0686, PCI_ANY_ID, 1, 2, 0, mpc85xx_config_via, {0,0,0}},
|
||||||
pci_cfgfunc_config_device, { PCI_ENET0_IOADDR,
|
{0x1106, 0x0571, PCI_ANY_ID, 1, 2, 1, mpc85xx_config_via_usbide, {0,0,0}},
|
||||||
PCI_ENET0_MEMADDR,
|
{0x1105, 0x3038, PCI_ANY_ID, 1, 2, 2, mpc85xx_config_via_usb, {0,0,0}},
|
||||||
PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER
|
{0x1106, 0x3038, PCI_ANY_ID, 1, 2, 3, mpc85xx_config_via_usb2, {0,0,0}},
|
||||||
} },
|
{0x1106, 0x3058, PCI_ANY_ID, 1, 2, 5, mpc85xx_config_via_power, {0,0,0}},
|
||||||
{ }
|
{0x1106, 0x3068, PCI_ANY_ID, 1, 2, 6, mpc85xx_config_via_ac97, {0,0,0}}
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
static struct pci_controller hose = {
|
|
||||||
#ifndef CONFIG_PCI_PNP
|
static struct pci_controller hose[] = {
|
||||||
|
{
|
||||||
config_table: pci_mpc85xxcds_config_table,
|
config_table: pci_mpc85xxcds_config_table,
|
||||||
|
},
|
||||||
|
#ifdef CONFIG_MPC85XX_PCI2
|
||||||
|
{ }
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* CONFIG_PCI */
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
pci_init_board(void)
|
pci_init_board(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_PCI
|
#ifdef CONFIG_PCI
|
||||||
extern void pci_mpc85xx_init(struct pci_controller *hose);
|
pci_mpc85xx_init(hose);
|
||||||
|
|
||||||
pci_mpc85xx_init(&hose);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -36,7 +36,7 @@ SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
# HACK: depend needs bootscript.c, which needs tools/mkimage, which is not
|
# HACK: depend needs bootscript.c, which needs tools/mkimage, which is not
|
||||||
# built in the depend stage. So... put bootscript.o here, not in OBJS
|
# built in the depend stage. So... put bootscript.o here, not in OBJS
|
||||||
$(LIB): $(OBJS) $(SOBJS) $(obj)bootscript.o
|
$(LIB): $(OBJS) $(SOBJS) $(obj)bootscript.o
|
||||||
$(AR) crv $@ $^
|
$(AR) $(ARFLAGS) $@ $^
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS) $(obj)bootscript.c \
|
rm -f $(SOBJS) $(OBJS) $(obj)bootscript.c \
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -36,7 +36,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) $(ARFLAGS) $@ $^
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -36,7 +36,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) $(ARFLAGS) $@ $^
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# (C) Copyright 2006
|
# (C) Copyright 2006
|
||||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||||
#
|
#
|
||||||
# (C) Copyright 2002
|
# (C) Copyright 2002
|
||||||
# Sysgo Real-Time Solutions, GmbH <www.elinos.com>
|
# Sysgo Real-Time Solutions, GmbH <www.elinos.com>
|
||||||
# Marius Groeger <mgroeger@sysgo.de>
|
# Marius Groeger <mgroeger@sysgo.de>
|
||||||
|
@ -37,7 +37,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(OBJS) $(SOBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $^
|
$(AR) $(ARFLAGS) $@ $^
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -33,7 +33,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -34,7 +34,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -186,8 +186,6 @@ void pci_init_board(void)
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET)
|
#if defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET)
|
||||||
|
|
||||||
#define GPIO_PSC1_4 0x01000000UL
|
|
||||||
|
|
||||||
void init_ide_reset (void)
|
void init_ide_reset (void)
|
||||||
{
|
{
|
||||||
debug ("init_ide_reset\n");
|
debug ("init_ide_reset\n");
|
||||||
|
@ -202,9 +200,9 @@ void ide_set_reset (int idereset)
|
||||||
debug ("ide_reset(%d)\n", idereset);
|
debug ("ide_reset(%d)\n", idereset);
|
||||||
|
|
||||||
if (idereset) {
|
if (idereset) {
|
||||||
*(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4;
|
*(vu_long *) MPC5XXX_WU_GPIO_DATA_O &= ~GPIO_PSC1_4;
|
||||||
} else {
|
} else {
|
||||||
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4;
|
*(vu_long *) MPC5XXX_WU_GPIO_DATA_O |= GPIO_PSC1_4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */
|
#endif /* defined (CFG_CMD_IDE) && defined (CONFIG_IDE_RESET) */
|
||||||
|
|
|
@ -35,7 +35,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||||
$(AR) crv $@ $(OBJS) $(SOBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
@ -32,7 +32,7 @@ OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(obj).depend $(OBJS)
|
||||||
$(AR) crv $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $(OBJS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue