Patch by Steven Scholz, 16 Aug 2004:
- Introducing the concept of SoCs "./cpu/$(CPU)/$(SOC)" - creating subdirs for SoCs ./cpu/arm920t/imx and ./cpu/arm920t/s3c24x0 - moving SoC specific code out of cpu/arm920t/ into cpu/arm920t/$(SOC)/ - moving drivers/s3c24x0_i2c.c and drivers/serial_imx.c out of drivers/ into cpu/arm920t/$(SOC)/
This commit is contained in:
parent
3e01d75ff2
commit
1d9f410500
@ -2,6 +2,13 @@
|
|||||||
Changes since U-Boot 1.1.1:
|
Changes since U-Boot 1.1.1:
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
|
* Patch by Steven Scholz, 16 Aug 2004:
|
||||||
|
- Introducing the concept of SoCs "./cpu/$(CPU)/$(SOC)"
|
||||||
|
- creating subdirs for SoCs ./cpu/arm920t/imx and ./cpu/arm920t/s3c24x0
|
||||||
|
- moving SoC specific code out of cpu/arm920t/ into cpu/arm920t/$(SOC)/
|
||||||
|
- moving drivers/s3c24x0_i2c.c and drivers/serial_imx.c out of drivers/
|
||||||
|
into cpu/arm920t/$(SOC)/
|
||||||
|
|
||||||
* Patches by Sean Chang, 09 Aug 2004:
|
* Patches by Sean Chang, 09 Aug 2004:
|
||||||
- Added support for both 8 and 16 bit mode access to System ACE CF
|
- Added support for both 8 and 16 bit mode access to System ACE CF
|
||||||
through MPU.
|
through MPU.
|
||||||
|
19
Makefile
19
Makefile
@ -45,7 +45,7 @@ export TOPDIR
|
|||||||
ifeq (include/config.mk,$(wildcard include/config.mk))
|
ifeq (include/config.mk,$(wildcard include/config.mk))
|
||||||
# load ARCH, BOARD, and CPU configuration
|
# load ARCH, BOARD, and CPU configuration
|
||||||
include include/config.mk
|
include include/config.mk
|
||||||
export ARCH CPU BOARD VENDOR
|
export ARCH CPU BOARD VENDOR SOC
|
||||||
# load other configuration
|
# load other configuration
|
||||||
include $(TOPDIR)/config.mk
|
include $(TOPDIR)/config.mk
|
||||||
|
|
||||||
@ -101,6 +101,9 @@ endif
|
|||||||
LIBS = lib_generic/libgeneric.a
|
LIBS = lib_generic/libgeneric.a
|
||||||
LIBS += board/$(BOARDDIR)/lib$(BOARD).a
|
LIBS += board/$(BOARDDIR)/lib$(BOARD).a
|
||||||
LIBS += cpu/$(CPU)/lib$(CPU).a
|
LIBS += cpu/$(CPU)/lib$(CPU).a
|
||||||
|
ifdef SOC
|
||||||
|
LIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).a
|
||||||
|
endif
|
||||||
LIBS += lib_$(ARCH)/lib$(ARCH).a
|
LIBS += lib_$(ARCH)/lib$(ARCH).a
|
||||||
LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
|
LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
|
||||||
fs/reiserfs/libreiserfs.a
|
fs/reiserfs/libreiserfs.a
|
||||||
@ -1175,10 +1178,10 @@ lpd7a404_config: unconfig
|
|||||||
@./mkconfig $(@:_config=) arm lh7a40x lpd7a40x
|
@./mkconfig $(@:_config=) arm lh7a40x lpd7a40x
|
||||||
|
|
||||||
mx1ads_config : unconfig
|
mx1ads_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm920t mx1ads
|
@./mkconfig $(@:_config=) arm arm920t mx1ads NULL imx
|
||||||
|
|
||||||
mx1fs2_config : unconfig
|
mx1fs2_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm920t mx1fs2
|
@./mkconfig $(@:_config=) arm arm920t mx1fs2 NULL imx
|
||||||
|
|
||||||
omap1510inn_config : unconfig
|
omap1510inn_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm925t omap1510inn
|
@./mkconfig $(@:_config=) arm arm925t omap1510inn
|
||||||
@ -1219,13 +1222,13 @@ omap730p2_cs3boot_config : unconfig
|
|||||||
@./mkconfig -a $(call xtract_omap730p2,$@) arm arm926ejs omap730p2
|
@./mkconfig -a $(call xtract_omap730p2,$@) arm arm926ejs omap730p2
|
||||||
|
|
||||||
scb9328_config : unconfig
|
scb9328_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm920t scb9328
|
@./mkconfig $(@:_config=) arm arm920t scb9328 NULL imx
|
||||||
|
|
||||||
smdk2400_config : unconfig
|
smdk2400_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm920t smdk2400
|
@./mkconfig $(@:_config=) arm arm920t smdk2400 NULL s3c24x0
|
||||||
|
|
||||||
smdk2410_config : unconfig
|
smdk2410_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm920t smdk2410
|
@./mkconfig $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
|
||||||
|
|
||||||
SX1_config : unconfig
|
SX1_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm925t sx1
|
@./mkconfig $(@:_config=) arm arm925t sx1
|
||||||
@ -1253,10 +1256,10 @@ trab_old_config: unconfig
|
|||||||
echo "... with 8 MB Flash, 16 MB RAM" ; \
|
echo "... with 8 MB Flash, 16 MB RAM" ; \
|
||||||
echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
|
echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
|
||||||
}
|
}
|
||||||
@./mkconfig -a $(call xtract_trab,$@) arm arm920t trab
|
@./mkconfig -a $(call xtract_trab,$@) arm arm920t trab NULL s3c24x0
|
||||||
|
|
||||||
VCMA9_config : unconfig
|
VCMA9_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm920t vcma9 mpl
|
@./mkconfig $(@:_config=) arm arm920t vcma9 mpl s3c24x0
|
||||||
|
|
||||||
versatile_config : unconfig
|
versatile_config : unconfig
|
||||||
@./mkconfig $(@:_config=) arm arm926ejs versatile
|
@./mkconfig $(@:_config=) arm arm926ejs versatile
|
||||||
|
2
README
2
README
@ -125,6 +125,8 @@ Directory Hierarchy:
|
|||||||
- 74xx_7xx Files specific to Motorola MPC74xx and 7xx CPUs
|
- 74xx_7xx Files specific to Motorola MPC74xx and 7xx CPUs
|
||||||
- arm720t Files specific to ARM 720 CPUs
|
- arm720t Files specific to ARM 720 CPUs
|
||||||
- arm920t Files specific to ARM 920 CPUs
|
- arm920t Files specific to ARM 920 CPUs
|
||||||
|
- imx Files specific to Motorola MC9328 i.MX CPUs
|
||||||
|
- s3c24x0 Files specific to Samsung S3C24X0 CPUs
|
||||||
- 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
|
||||||
- at91rm9200 Files specific to Atmel AT91RM9200 CPUs
|
- at91rm9200 Files specific to Atmel AT91RM9200 CPUs
|
||||||
|
@ -59,6 +59,9 @@ endif
|
|||||||
ifdef CPU
|
ifdef CPU
|
||||||
sinclude $(TOPDIR)/cpu/$(CPU)/config.mk # include CPU specific rules
|
sinclude $(TOPDIR)/cpu/$(CPU)/config.mk # include CPU specific rules
|
||||||
endif
|
endif
|
||||||
|
ifdef SOC
|
||||||
|
sinclude $(TOPDIR)/cpu/$(CPU)/$(SOC)/config.mk # include SoC specific rules
|
||||||
|
endif
|
||||||
ifdef VENDOR
|
ifdef VENDOR
|
||||||
BOARDDIR = $(VENDOR)/$(BOARD)
|
BOARDDIR = $(VENDOR)/$(BOARD)
|
||||||
else
|
else
|
||||||
|
@ -26,11 +26,7 @@ include $(TOPDIR)/config.mk
|
|||||||
LIB = lib$(CPU).a
|
LIB = lib$(CPU).a
|
||||||
|
|
||||||
START = start.o
|
START = start.o
|
||||||
OBJS = cpu.o \
|
OBJS = cpu.o interrupts.o
|
||||||
imx_generic.o imx_interrupts.o imx_speed.o \
|
|
||||||
interrupts.o \
|
|
||||||
s3c24x0_interrupts.o s3c24x0_serial.o s3c24x0_speed.o \
|
|
||||||
usb_ohci.o
|
|
||||||
|
|
||||||
all: .depend $(START) $(LIB)
|
all: .depend $(START) $(LIB)
|
||||||
|
|
||||||
|
42
cpu/arm920t/imx/Makefile
Normal file
42
cpu/arm920t/imx/Makefile
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
#
|
||||||
|
# (C) Copyright 2000, 2001, 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
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/config.mk
|
||||||
|
|
||||||
|
LIB = lib$(SOC).a
|
||||||
|
|
||||||
|
OBJS = generic.o interrupts.o serial.o speed.o
|
||||||
|
|
||||||
|
all: .depend $(LIB)
|
||||||
|
|
||||||
|
$(LIB): $(OBJS)
|
||||||
|
$(AR) crv $@ $(OBJS)
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
.depend: Makefile $(OBJS:.o=.c)
|
||||||
|
$(CC) -M $(CFLAGS) $(OBJS:.o=.c) > $@
|
||||||
|
|
||||||
|
sinclude .depend
|
||||||
|
|
||||||
|
#########################################################################
|
43
cpu/arm920t/s3c24x0/Makefile
Normal file
43
cpu/arm920t/s3c24x0/Makefile
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
#
|
||||||
|
# (C) Copyright 2000, 2001, 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
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/config.mk
|
||||||
|
|
||||||
|
LIB = lib$(SOC).a
|
||||||
|
|
||||||
|
OBJS = i2c.o interrupts.o serial.o speed.o \
|
||||||
|
usb_ohci.o
|
||||||
|
|
||||||
|
all: .depend $(LIB)
|
||||||
|
|
||||||
|
$(LIB): $(OBJS)
|
||||||
|
$(AR) crv $@ $(OBJS)
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
|
||||||
|
.depend: Makefile $(OBJS:.o=.c)
|
||||||
|
$(CC) -M $(CFLAGS) $(OBJS:.o=.c) > $@
|
||||||
|
|
||||||
|
sinclude .depend
|
||||||
|
|
||||||
|
#########################################################################
|
31
doc/README.ARM-SoC
Normal file
31
doc/README.ARM-SoC
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
[By Steven Scholz <steven.scholz@imc-berlin.de>, 16 Aug 2004]
|
||||||
|
|
||||||
|
Since the cpu/ directory gets clobbered with peripheral driver code I
|
||||||
|
started cleaning up cpu/arm920t.
|
||||||
|
|
||||||
|
I introduced the concept of Soc (system on a chip) into the ./cpu
|
||||||
|
directory. That means that code that is cpu (i.e. core) specific
|
||||||
|
resides in
|
||||||
|
|
||||||
|
cpu/$(CPU)/
|
||||||
|
|
||||||
|
and code that is specific to some SoC (i.e. vendor specific
|
||||||
|
peripherals around the core) is moved into
|
||||||
|
|
||||||
|
cpu/$(CPU)/$(SOC)/
|
||||||
|
|
||||||
|
Thus a library/archive "cpu/$(CPU)/$(SOC)/lib$(SOC).a" will be build
|
||||||
|
and linked. Examples will be
|
||||||
|
|
||||||
|
cpu/arm920t/imx/
|
||||||
|
cpu/arm920t/s3c24x0
|
||||||
|
|
||||||
|
One can select an SoC by passing the name of it to ./mkconfig just
|
||||||
|
like
|
||||||
|
|
||||||
|
@./mkconfig $(@:_config=) arm arm920t vcma9 mpl s3c24x0
|
||||||
|
|
||||||
|
If there's no VENDOR field (like "mpl" in the above line) one has to
|
||||||
|
pass NULL instead:
|
||||||
|
|
||||||
|
@./mkconfig $(@:_config=) arm arm920t mx1ads NULL imx
|
@ -38,9 +38,9 @@ OBJS = 3c589.o 5701rls.o ali512x.o \
|
|||||||
pcnet.o plb2800_eth.o \
|
pcnet.o plb2800_eth.o \
|
||||||
ps2ser.o ps2mult.o pc_keyb.o \
|
ps2ser.o ps2mult.o pc_keyb.o \
|
||||||
rtl8019.o rtl8139.o rtl8169.o \
|
rtl8019.o rtl8139.o rtl8169.o \
|
||||||
s3c24x0_i2c.o s3c4510b_eth.o s3c4510b_uart.o \
|
s3c4510b_eth.o s3c4510b_uart.o \
|
||||||
sed13806.o sed156x.o \
|
sed13806.o sed156x.o \
|
||||||
serial.o serial_imx.o serial_max3100.o \
|
serial.o serial_max3100.o \
|
||||||
serial_pl010.o serial_pl011.o serial_xuartlite.o \
|
serial_pl010.o serial_pl011.o serial_xuartlite.o \
|
||||||
sl811_usb.o smc91111.o smiLynxEM.o status_led.o sym53c8xx.o \
|
sl811_usb.o smc91111.o smiLynxEM.o status_led.o sym53c8xx.o \
|
||||||
ti_pci1410a.o tigon3.o \
|
ti_pci1410a.o tigon3.o \
|
||||||
|
14
mkconfig
14
mkconfig
@ -3,7 +3,7 @@
|
|||||||
# Script to create header files and links to configure
|
# Script to create header files and links to configure
|
||||||
# U-Boot for a specific board.
|
# U-Boot for a specific board.
|
||||||
#
|
#
|
||||||
# Parameters: Target Architecture CPU Board
|
# Parameters: Target Architecture CPU Board [VENDOR] [SOC]
|
||||||
#
|
#
|
||||||
# (C) 2002 DENX Software Engineering, Wolfgang Denk <wd@denx.de>
|
# (C) 2002 DENX Software Engineering, Wolfgang Denk <wd@denx.de>
|
||||||
#
|
#
|
||||||
@ -19,7 +19,7 @@ while [ $# -gt 0 ] ; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
[ $# -lt 4 ] && exit 1
|
[ $# -lt 4 ] && exit 1
|
||||||
[ $# -gt 5 ] && exit 1
|
[ $# -gt 6 ] && exit 1
|
||||||
|
|
||||||
echo "Configuring for $1 board..."
|
echo "Configuring for $1 board..."
|
||||||
|
|
||||||
@ -41,11 +41,13 @@ fi
|
|||||||
#
|
#
|
||||||
# Create include file for Make
|
# Create include file for Make
|
||||||
#
|
#
|
||||||
echo "ARCH = $2" > config.mk
|
echo "ARCH = $2" > config.mk
|
||||||
echo "CPU = $3" >> config.mk
|
echo "CPU = $3" >> config.mk
|
||||||
echo "BOARD = $4" >> config.mk
|
echo "BOARD = $4" >> config.mk
|
||||||
|
|
||||||
[ "$5" ] && echo "VENDOR = $5" >> config.mk
|
[ "$5" ] && [ "$5" != "NULL" ] && echo "VENDOR = $5" >> config.mk
|
||||||
|
|
||||||
|
[ "$6" ] && [ "$6" != "NULL" ] && echo "SOC = $6" >> config.mk
|
||||||
|
|
||||||
#
|
#
|
||||||
# Create board specific header file
|
# Create board specific header file
|
||||||
|
Loading…
Reference in New Issue
Block a user