Synchronize with U-BOOT mainline
This commit is contained in:
parent
329ff3c938
commit
991b089d1c
11
Makefile
11
Makefile
|
|
@ -144,7 +144,7 @@ ifeq ($(ARCH),m68k)
|
||||||
CROSS_COMPILE = m68k-elf-
|
CROSS_COMPILE = m68k-elf-
|
||||||
endif
|
endif
|
||||||
ifeq ($(ARCH),microblaze)
|
ifeq ($(ARCH),microblaze)
|
||||||
CROSS_COMPILE = microblaze-uclinux-
|
CROSS_COMPILE = mb-
|
||||||
endif
|
endif
|
||||||
ifeq ($(ARCH),blackfin)
|
ifeq ($(ARCH),blackfin)
|
||||||
CROSS_COMPILE = bfin-uclinux-
|
CROSS_COMPILE = bfin-uclinux-
|
||||||
|
|
@ -201,9 +201,8 @@ ifeq ($(CPU),ixp)
|
||||||
LIBS += cpu/ixp/npe/libnpe.a
|
LIBS += cpu/ixp/npe/libnpe.a
|
||||||
endif
|
endif
|
||||||
LIBS += lib_$(ARCH)/lib$(ARCH).a
|
LIBS += lib_$(ARCH)/lib$(ARCH).a
|
||||||
LIBS += fs/cramfs/libcramfs.a fs/ext2/libext2fs.a fs/fat/libfat.a \
|
LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
|
||||||
fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a \
|
fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a
|
||||||
fs/romfs/libromfs.a
|
|
||||||
LIBS += net/libnet.a
|
LIBS += net/libnet.a
|
||||||
LIBS += disk/libdisk.a
|
LIBS += disk/libdisk.a
|
||||||
LIBS += rtc/librtc.a
|
LIBS += rtc/librtc.a
|
||||||
|
|
@ -326,14 +325,14 @@ depend dep:
|
||||||
tags ctags:
|
tags ctags:
|
||||||
ctags -w -o $(OBJTREE)/ctags `find $(SUBDIRS) include \
|
ctags -w -o $(OBJTREE)/ctags `find $(SUBDIRS) include \
|
||||||
lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
|
lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
|
||||||
fs/cramfs fs/fat fs/fdos fs/jffs2 fs/romfs\
|
fs/cramfs fs/fat fs/fdos fs/jffs2 \
|
||||||
net disk rtc dtt drivers drivers/sk98lin common \
|
net disk rtc dtt drivers drivers/sk98lin common \
|
||||||
\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
|
\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
|
||||||
|
|
||||||
etags:
|
etags:
|
||||||
etags -a -o $(OBJTREE)/etags `find $(SUBDIRS) include \
|
etags -a -o $(OBJTREE)/etags `find $(SUBDIRS) include \
|
||||||
lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
|
lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
|
||||||
fs/cramfs fs/fat fs/fdos fs/jffs2 fs/romfs\
|
fs/cramfs fs/fat fs/fdos fs/jffs2 \
|
||||||
net disk rtc dtt drivers drivers/sk98lin common \
|
net disk rtc dtt drivers drivers/sk98lin common \
|
||||||
\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
|
\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,17 +22,32 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
include $(TOPDIR)/config.mk
|
include $(TOPDIR)/config.mk
|
||||||
|
ifneq ($(OBJTREE),$(SRCTREE))
|
||||||
|
$(shell mkdir -p $(obj)../common)
|
||||||
|
$(shell mkdir -p $(obj)../xilinx_enet)
|
||||||
|
endif
|
||||||
|
|
||||||
|
INCS := -I../common -I../xilinx_enet
|
||||||
|
CFLAGS += $(INCS)
|
||||||
|
HOST_CFLAGS += $(INCS)
|
||||||
|
|
||||||
LIB = $(obj)lib$(BOARD).a
|
LIB = $(obj)lib$(BOARD).a
|
||||||
|
|
||||||
COBJS = $(BOARD).o
|
COBJS = $(BOARD).o \
|
||||||
|
../xilinx_enet/emac_adapter.o ../xilinx_enet/xemac.o \
|
||||||
|
../xilinx_enet/xemac_options.o ../xilinx_enet/xemac_polled.o \
|
||||||
|
../xilinx_enet/xemac_intr.o ../xilinx_enet/xemac_g.o \
|
||||||
|
../xilinx_enet/xemac_intr_dma.o ../common/xipif_v1_23_b.o \
|
||||||
|
../common/xbasic_types.o ../common/xdma_channel.o \
|
||||||
|
../common/xdma_channel_sg.o ../common/xpacket_fifo_v1_00_b.o \
|
||||||
|
../common/xversion.o \
|
||||||
|
|
||||||
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
||||||
OBJS := $(addprefix $(obj),$(COBJS))
|
OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
SOBJS := $(addprefix $(obj),$(SOBJS))
|
SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||||
|
|
||||||
$(LIB): $(obj).depend $(OBJS)
|
$(LIB): $(OBJS) $(SOBJS)
|
||||||
$(AR) $(ARFLAGS) $@ $(OBJS)
|
$(AR) $(ARFLAGS) $@ $^
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(SOBJS) $(OBJS)
|
rm -f $(SOBJS) $(OBJS)
|
||||||
|
|
|
||||||
|
|
@ -25,8 +25,8 @@
|
||||||
# Version: Xilinx EDK 8.2.02 EDK_Im_Sp2.4
|
# Version: Xilinx EDK 8.2.02 EDK_Im_Sp2.4
|
||||||
#
|
#
|
||||||
|
|
||||||
TEXT_BASE = 0x30000000
|
TEXT_BASE = 0x38000000
|
||||||
|
|
||||||
PLATFORM_CPPFLAGS += -mxl-pattern-compare
|
|
||||||
PLATFORM_CPPFLAGS += -mno-xl-soft-mul
|
PLATFORM_CPPFLAGS += -mno-xl-soft-mul
|
||||||
PLATFORM_CPPFLAGS += -mcpu=v5.00.c
|
PLATFORM_CPPFLAGS += -mno-xl-soft-div
|
||||||
|
PLATFORM_CPPFLAGS += -mxl-barrel-shift
|
||||||
|
|
|
||||||
|
|
@ -28,24 +28,17 @@
|
||||||
/* System Clock Frequency */
|
/* System Clock Frequency */
|
||||||
#define XILINX_CLOCK_FREQ 100000000
|
#define XILINX_CLOCK_FREQ 100000000
|
||||||
|
|
||||||
/* Microblaze is microblaze_0 */
|
|
||||||
#define XILINX_USE_MSR_INSTR 1
|
|
||||||
#define XILINX_PVR 0
|
|
||||||
#define XILINX_FSL_NUMBER 0
|
|
||||||
|
|
||||||
/* Interrupt controller is opb_intc_0 */
|
/* Interrupt controller is opb_intc_0 */
|
||||||
#define XILINX_INTC_BASEADDR 0x41200000
|
#define XILINX_INTC_BASEADDR 0x41200000
|
||||||
#define XILINX_INTC_NUM_INTR_INPUTS 7
|
#define XILINX_INTC_NUM_INTR_INPUTS 11
|
||||||
|
|
||||||
/* Timer pheriphery is opb_timer_1 */
|
/* Timer pheriphery is opb_timer_1 */
|
||||||
#define XILINX_TIMER_BASEADDR 0x41c00000
|
#define XILINX_TIMER_BASEADDR 0x41c00000
|
||||||
#define XILINX_TIMER_IRQ 0
|
#define XILINX_TIMER_IRQ 1
|
||||||
|
|
||||||
/* Uart pheriphery is RS232_Uart_1 */
|
/* Uart pheriphery is RS232_Uart_1 */
|
||||||
#define XILINX_UARTLITE_BASEADDR 0x40600000
|
#define XILINX_UART_BASEADDR 0x40600000
|
||||||
#define XILINX_UARTLITE_BAUDRATE 115200
|
#define XILINX_UART_BAUDRATE 115200
|
||||||
|
|
||||||
/* IIC doesn't exist */
|
|
||||||
|
|
||||||
/* GPIO is LEDs_4Bit*/
|
/* GPIO is LEDs_4Bit*/
|
||||||
#define XILINX_GPIO_BASEADDR 0x40000000
|
#define XILINX_GPIO_BASEADDR 0x40000000
|
||||||
|
|
@ -58,10 +51,14 @@
|
||||||
|
|
||||||
/* Sysace Controller is SysACE_CompactFlash */
|
/* Sysace Controller is SysACE_CompactFlash */
|
||||||
#define XILINX_SYSACE_BASEADDR 0x41800000
|
#define XILINX_SYSACE_BASEADDR 0x41800000
|
||||||
|
#define XILINX_SYSACE_HIGHADDR 0x4180ffff
|
||||||
#define XILINX_SYSACE_MEM_WIDTH 16
|
#define XILINX_SYSACE_MEM_WIDTH 16
|
||||||
|
|
||||||
/* Ethernet controller is Ethernet_MAC */
|
/* Ethernet controller is Ethernet_MAC */
|
||||||
#define XILINX_EMAC_BASEADDR 0x40c00000
|
#define XPAR_XEMAC_NUM_INSTANCES 1
|
||||||
#define XILINX_EMAC_DMA_PRESENT 3
|
#define XPAR_OPB_ETHERNET_0_DEVICE_ID 0
|
||||||
#define XILINX_EMAC_HALF_DUPLEX_EXIST 1
|
#define XPAR_OPB_ETHERNET_0_BASEADDR 0x40c00000
|
||||||
#define XILINX_EMAC_MII_EXIST 1
|
#define XPAR_OPB_ETHERNET_0_HIGHADDR 0x40c0ffff
|
||||||
|
#define XPAR_OPB_ETHERNET_0_DMA_PRESENT 1
|
||||||
|
#define XPAR_OPB_ETHERNET_0_ERR_COUNT_EXIST 1
|
||||||
|
#define XPAR_OPB_ETHERNET_0_MII_EXIST 1
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* JFFS2/CRAMFS/ROMFS support
|
* JFFS2/CRAMFS support
|
||||||
*/
|
*/
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <command.h>
|
#include <command.h>
|
||||||
|
|
@ -175,11 +175,6 @@ extern int cramfs_load (char *loadoffset, struct part_info *info, char *filename
|
||||||
extern int cramfs_ls (struct part_info *info, char *filename);
|
extern int cramfs_ls (struct part_info *info, char *filename);
|
||||||
extern int cramfs_info (struct part_info *info);
|
extern int cramfs_info (struct part_info *info);
|
||||||
|
|
||||||
extern int romfs_check (struct part_info *info);
|
|
||||||
extern int romfs_load (char *loadoffset, struct part_info *info, char *filename);
|
|
||||||
extern int romfs_ls (struct part_info *info, char *filename);
|
|
||||||
extern int romfs_info (struct part_info *info);
|
|
||||||
|
|
||||||
static struct part_info* jffs2_part_info(struct mtd_device *dev, unsigned int part_num);
|
static struct part_info* jffs2_part_info(struct mtd_device *dev, unsigned int part_num);
|
||||||
|
|
||||||
/* command line only routines */
|
/* command line only routines */
|
||||||
|
|
@ -1879,22 +1874,14 @@ int do_jffs2_fsload(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
|
|
||||||
if ((part = jffs2_part_info(current_dev, current_partnum))){
|
if ((part = jffs2_part_info(current_dev, current_partnum))){
|
||||||
|
|
||||||
/* check partition type for JFFS2, cramfs, romfs */
|
/* check partition type for cramfs */
|
||||||
if (cramfs_check(part)) {
|
fsname = (cramfs_check(part) ? "CRAMFS" : "JFFS2");
|
||||||
fsname = "CRAMFS";
|
|
||||||
} else if (romfs_check(part)) {
|
|
||||||
fsname = "ROMFS";
|
|
||||||
} else {
|
|
||||||
fsname = "JFFS2";
|
|
||||||
}
|
|
||||||
printf("### %s loading '%s' to 0x%lx\n", fsname, filename, offset);
|
printf("### %s loading '%s' to 0x%lx\n", fsname, filename, offset);
|
||||||
|
|
||||||
if (cramfs_check(part)) {
|
if (cramfs_check(part)) {
|
||||||
size = cramfs_load ((char *) offset, part, filename);
|
size = cramfs_load ((char *) offset, part, filename);
|
||||||
} else if (romfs_check(part)){
|
|
||||||
size = romfs_load ((char *) offset, part, filename);
|
|
||||||
} else {
|
} else {
|
||||||
/* if this is not cramfs or romfs assume jffs2 */
|
/* if this is not cramfs assume jffs2 */
|
||||||
size = jffs2_1pass_load((char *)offset, part, filename);
|
size = jffs2_1pass_load((char *)offset, part, filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1941,10 +1928,8 @@ int do_jffs2_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
/* check partition type for cramfs */
|
/* check partition type for cramfs */
|
||||||
if (cramfs_check(part)) {
|
if (cramfs_check(part)) {
|
||||||
ret = cramfs_ls (part, filename);
|
ret = cramfs_ls (part, filename);
|
||||||
} else if (romfs_check(part)) {
|
|
||||||
ret = romfs_ls (part, filename);
|
|
||||||
} else {
|
} else {
|
||||||
/* if this is not cramfs or romfs assume jffs2 */
|
/* if this is not cramfs assume jffs2 */
|
||||||
ret = jffs2_1pass_ls(part, filename);
|
ret = jffs2_1pass_ls(part, filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1966,6 +1951,7 @@ int do_jffs2_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
int do_jffs2_fsinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
int do_jffs2_fsinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
{
|
{
|
||||||
struct part_info *part;
|
struct part_info *part;
|
||||||
|
char *fsname;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/* make sure we are in sync with env variables */
|
/* make sure we are in sync with env variables */
|
||||||
|
|
@ -1975,17 +1961,13 @@ int do_jffs2_fsinfo(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
if ((part = jffs2_part_info(current_dev, current_partnum))){
|
if ((part = jffs2_part_info(current_dev, current_partnum))){
|
||||||
|
|
||||||
/* check partition type for cramfs */
|
/* check partition type for cramfs */
|
||||||
puts("### filesystem type is ");
|
fsname = (cramfs_check(part) ? "CRAMFS" : "JFFS2");
|
||||||
|
printf("### filesystem type is %s\n", fsname);
|
||||||
|
|
||||||
if (cramfs_check(part)) {
|
if (cramfs_check(part)) {
|
||||||
puts("CRAMFS\n");
|
|
||||||
ret = cramfs_info (part);
|
ret = cramfs_info (part);
|
||||||
} else if (romfs_check(part)) {
|
|
||||||
puts("ROMFS\n");
|
|
||||||
ret = romfs_info (part);
|
|
||||||
} else {
|
} else {
|
||||||
/* if this is not cramfs or romfs assume jffs2 */
|
/* if this is not cramfs assume jffs2 */
|
||||||
puts("JFFS2\n");
|
|
||||||
ret = jffs2_1pass_info(part);
|
ret = jffs2_1pass_info(part);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -357,7 +357,7 @@ int do_rspr (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
|
||||||
|
|
||||||
reg = (unsigned int)simple_strtoul (argv[1], NULL, 16);
|
reg = (unsigned int)simple_strtoul (argv[1], NULL, 16);
|
||||||
val = (unsigned int)simple_strtoul (argv[2], NULL, 16);
|
val = (unsigned int)simple_strtoul (argv[2], NULL, 16);
|
||||||
if (argc < 2) {
|
if (argc < 1) {
|
||||||
printf ("Usage:\n%s\n", cmdtp->usage);
|
printf ("Usage:\n%s\n", cmdtp->usage);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
@ -382,7 +382,6 @@ int do_rspr (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
|
||||||
puts ("ESR");
|
puts ("ESR");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
puts ("Unsupported register\n");
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
printf (": 0x%08lx\n", val);
|
printf (": 0x%08lx\n", val);
|
||||||
|
|
@ -409,10 +408,10 @@ U_BOOT_CMD (fwr, 4, 1, do_fwr,
|
||||||
" 3 - blocking control write\n");
|
" 3 - blocking control write\n");
|
||||||
|
|
||||||
U_BOOT_CMD (rspr, 3, 1, do_rspr,
|
U_BOOT_CMD (rspr, 3, 1, do_rspr,
|
||||||
"rspr - read/write special purpose register\n",
|
"rmsr - read/write special purpose register\n",
|
||||||
"- reg_num [write value] read/write special purpose register\n"
|
"- reg_num [write value] read/write special purpose register\n"
|
||||||
" 1 - MSR - Machine status register\n"
|
" 0 - MSR - Machine status register\n"
|
||||||
" 3 - EAR - Exception address register\n"
|
" 1 - EAR - Exception address register\n"
|
||||||
" 5 - ESR - Exception status register\n");
|
" 2 - ESR - Exception status register\n");
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* (C) Copyright 2007 Michal Simek
|
* (C) Copyright 2007 Michal Simek
|
||||||
*
|
*
|
||||||
* Michal SIMEK <monstr@monstr.eu>
|
* Michal SIMEK <moonstr@monstr.eu>
|
||||||
*
|
*
|
||||||
* See file CREDITS for list of people who contributed to this
|
* See file CREDITS for list of people who contributed to this
|
||||||
* project.
|
* project.
|
||||||
|
|
|
||||||
|
|
@ -33,13 +33,15 @@ _start:
|
||||||
addi r1, r0, CFG_INIT_SP_OFFSET
|
addi r1, r0, CFG_INIT_SP_OFFSET
|
||||||
addi r1, r1, -4 /* Decrement SP to top of memory */
|
addi r1, r1, -4 /* Decrement SP to top of memory */
|
||||||
/* add opcode instruction for 32bit jump - 2 instruction imm & brai*/
|
/* add opcode instruction for 32bit jump - 2 instruction imm & brai*/
|
||||||
addi r6, r0, 0xb0000000 /* hex b000 opcode imm */
|
addi r6, r0, 0xb000 /* hex b000 opcode imm */
|
||||||
|
bslli r6, r6, 16 /* shift */
|
||||||
swi r6, r0, 0x0 /* reset address */
|
swi r6, r0, 0x0 /* reset address */
|
||||||
swi r6, r0, 0x8 /* user vector exception */
|
swi r6, r0, 0x8 /* user vector exception */
|
||||||
swi r6, r0, 0x10 /* interrupt */
|
swi r6, r0, 0x10 /* interrupt */
|
||||||
swi r6, r0, 0x20 /* hardware exception */
|
swi r6, r0, 0x20 /* hardware exception */
|
||||||
|
|
||||||
addi r6, r0, 0xb8080000 /* hew b808 opcode brai*/
|
addi r6, r0, 0xb808 /* hew b808 opcode brai*/
|
||||||
|
bslli r6, r6, 16
|
||||||
swi r6, r0, 0x4 /* reset address */
|
swi r6, r0, 0x4 /* reset address */
|
||||||
swi r6, r0, 0xC /* user vector exception */
|
swi r6, r0, 0xC /* user vector exception */
|
||||||
swi r6, r0, 0x14 /* interrupt */
|
swi r6, r0, 0x14 /* interrupt */
|
||||||
|
|
|
||||||
|
|
@ -33,17 +33,10 @@ void reset_timer (void)
|
||||||
timestamp = 0;
|
timestamp = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CFG_TIMER_0
|
|
||||||
ulong get_timer (ulong base)
|
ulong get_timer (ulong base)
|
||||||
{
|
{
|
||||||
return (timestamp - base);
|
return (timestamp - base);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
ulong get_timer (ulong base)
|
|
||||||
{
|
|
||||||
return (timestamp++ - base);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void set_timer (ulong t)
|
void set_timer (ulong t)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,8 @@
|
||||||
include $(TOPDIR)/config.mk
|
include $(TOPDIR)/config.mk
|
||||||
|
|
||||||
LIB := $(obj)libnet.a
|
LIB := $(obj)libnet.a
|
||||||
COBJS := mcffec.o xilinx_emac.o xilinx_emaclite.o
|
|
||||||
|
COBJS := mcffec.o
|
||||||
|
|
||||||
SRCS := $(COBJS:.o=.c)
|
SRCS := $(COBJS:.o=.c)
|
||||||
OBJS := $(addprefix $(obj),$(COBJS))
|
OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#ifdef XILINX_UARTLITE
|
#ifdef CONFIG_MICROBLAZE
|
||||||
|
|
||||||
#include <asm/serial_xuartlite.h>
|
#include <asm/serial_xuartlite.h>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
SUBDIRS := romfs jffs2 cramfs fdos fat reiserfs ext2
|
SUBDIRS := jffs2 cramfs fdos fat reiserfs ext2
|
||||||
|
|
||||||
$(obj).depend all:
|
$(obj).depend all:
|
||||||
@for dir in $(SUBDIRS) ; do \
|
@for dir in $(SUBDIRS) ; do \
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* (C) Copyright 2007 Czech Technical University.
|
* (C) Copyright 2007 Czech Technical University.
|
||||||
*
|
*
|
||||||
* Michal SIMEK <monstr@monstr.eu>
|
* Michal SIMEK <monstr@seznam.cz>
|
||||||
*
|
*
|
||||||
* See file CREDITS for list of people who contributed to this
|
* See file CREDITS for list of people who contributed to this
|
||||||
* project.
|
* project.
|
||||||
|
|
@ -32,7 +32,6 @@
|
||||||
#define CONFIG_ML401 1 /* ML401 Board */
|
#define CONFIG_ML401 1 /* ML401 Board */
|
||||||
|
|
||||||
/* uart */
|
/* uart */
|
||||||
#define XILINX_UARTLITE
|
|
||||||
#define CONFIG_SERIAL_BASE XILINX_UART_BASEADDR
|
#define CONFIG_SERIAL_BASE XILINX_UART_BASEADDR
|
||||||
#define CONFIG_BAUDRATE XILINX_UART_BAUDRATE
|
#define CONFIG_BAUDRATE XILINX_UART_BAUDRATE
|
||||||
#define CFG_BAUDRATE_TABLE { CONFIG_BAUDRATE }
|
#define CFG_BAUDRATE_TABLE { CONFIG_BAUDRATE }
|
||||||
|
|
@ -146,16 +145,6 @@
|
||||||
#define CFG_FLASH_PROTECTION /* hardware flash protection */
|
#define CFG_FLASH_PROTECTION /* hardware flash protection */
|
||||||
#endif /* !FLASH */
|
#endif /* !FLASH */
|
||||||
|
|
||||||
/* system ace */
|
|
||||||
#ifdef XILINX_SYSACE_BASEADDR
|
|
||||||
#define CONFIG_SYSTEMACE
|
|
||||||
/* #define DEBUG_SYSTEMACE */
|
|
||||||
#define SYSTEMACE_CONFIG_FPGA
|
|
||||||
#define CFG_SYSTEMACE_BASE XILINX_SYSACE_BASEADDR
|
|
||||||
#define CFG_SYSTEMACE_WIDTH XILINX_SYSACE_MEM_WIDTH
|
|
||||||
#define CONFIG_DOS_PARTITION
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* BOOTP options
|
* BOOTP options
|
||||||
*/
|
*/
|
||||||
|
|
@ -164,21 +153,28 @@
|
||||||
#define CONFIG_BOOTP_GATEWAY
|
#define CONFIG_BOOTP_GATEWAY
|
||||||
#define CONFIG_BOOTP_HOSTNAME
|
#define CONFIG_BOOTP_HOSTNAME
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Command line configuration.
|
* Command line configuration.
|
||||||
*/
|
*/
|
||||||
#include <config_cmd_default.h>
|
#include <config_cmd_default.h>
|
||||||
|
|
||||||
#define CONFIG_CMD_ASKENV
|
#define CONFIG_CMD_ASKENV
|
||||||
|
#define CONFIG_CMD_AUTOSCRIPT
|
||||||
|
#define CONFIG_CMD_BDI
|
||||||
#define CONFIG_CMD_CACHE
|
#define CONFIG_CMD_CACHE
|
||||||
|
#define CONFIG_CMD_EXT2
|
||||||
|
#define CONFIG_CMD_FAT
|
||||||
|
#define CONFIG_CMD_IMI
|
||||||
#define CONFIG_CMD_IRQ
|
#define CONFIG_CMD_IRQ
|
||||||
|
#define CONFIG_CMD_LOADB
|
||||||
|
#define CONFIG_CMD_LOADS
|
||||||
|
#define CONFIG_CMD_MEMORY
|
||||||
|
#define CONFIG_CMD_MISC
|
||||||
#define CONFIG_CMD_MFSL
|
#define CONFIG_CMD_MFSL
|
||||||
|
#define CONFIG_CMD_NET
|
||||||
#define CONFIG_CMD_PING
|
#define CONFIG_CMD_PING
|
||||||
|
#define CONFIG_CMD_RUN
|
||||||
#if defined(CONFIG_SYSTEMACE)
|
|
||||||
#define CONFIG_CMD_EXT2
|
|
||||||
#define CONFIG_CMD_FAT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(FLASH)
|
#if defined(FLASH)
|
||||||
#define CONFIG_CMD_ECHO
|
#define CONFIG_CMD_ECHO
|
||||||
|
|
@ -190,8 +186,6 @@
|
||||||
#define CONFIG_CMD_ENV
|
#define CONFIG_CMD_ENV
|
||||||
#define CONFIG_CMD_SAVES
|
#define CONFIG_CMD_SAVES
|
||||||
#endif
|
#endif
|
||||||
#else
|
|
||||||
#undef CONFIG_CMD_FLASH
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_CMD_JFFS2)
|
#if defined(CONFIG_CMD_JFFS2)
|
||||||
|
|
@ -226,6 +220,14 @@
|
||||||
#define CFG_USR_EXCEP /* user exception */
|
#define CFG_USR_EXCEP /* user exception */
|
||||||
#define CFG_HZ 1000
|
#define CFG_HZ 1000
|
||||||
|
|
||||||
|
/* system ace */
|
||||||
|
#define CONFIG_SYSTEMACE
|
||||||
|
/* #define DEBUG_SYSTEMACE */
|
||||||
|
#define SYSTEMACE_CONFIG_FPGA
|
||||||
|
#define CFG_SYSTEMACE_BASE XILINX_SYSACE_BASEADDR
|
||||||
|
#define CFG_SYSTEMACE_WIDTH XILINX_SYSACE_MEM_WIDTH
|
||||||
|
#define CONFIG_DOS_PARTITION
|
||||||
|
|
||||||
#define CONFIG_PREBOOT "echo U-BOOT for ML401;setenv preboot;echo"
|
#define CONFIG_PREBOOT "echo U-BOOT for ML401;setenv preboot;echo"
|
||||||
|
|
||||||
#define CONFIG_EXTRA_ENV_SETTINGS "unlock=yes\0" /* hardware flash protection */\
|
#define CONFIG_EXTRA_ENV_SETTINGS "unlock=yes\0" /* hardware flash protection */\
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,6 @@
|
||||||
#define CFG_MALLOC_LEN (256 << 10) /* Reserve 256 kB for malloc */
|
#define CFG_MALLOC_LEN (256 << 10) /* Reserve 256 kB for malloc */
|
||||||
#define CFG_MALLOC_BASE (CFG_MONITOR_BASE - (1024 * 1024))
|
#define CFG_MALLOC_BASE (CFG_MONITOR_BASE - (1024 * 1024))
|
||||||
|
|
||||||
#define XILINX_UARTLITE
|
|
||||||
#define CONFIG_BAUDRATE 115200
|
#define CONFIG_BAUDRATE 115200
|
||||||
#define CFG_BAUDRATE_TABLE { 115200 }
|
#define CFG_BAUDRATE_TABLE { 115200 }
|
||||||
|
|
||||||
|
|
@ -56,16 +55,21 @@
|
||||||
#define MICROBLAZE_SYSREG_BASE_ADDR 0xFFFFA000
|
#define MICROBLAZE_SYSREG_BASE_ADDR 0xFFFFA000
|
||||||
#define MICROBLAZE_SYSREG_RECONFIGURE (1 << 0)
|
#define MICROBLAZE_SYSREG_RECONFIGURE (1 << 0)
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* BOOTP options
|
||||||
|
*/
|
||||||
|
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||||
|
#define CONFIG_BOOTP_BOOTPATH
|
||||||
|
#define CONFIG_BOOTP_GATEWAY
|
||||||
|
#define CONFIG_BOOTP_HOSTNAME
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Command line configuration.
|
* Command line configuration.
|
||||||
*/
|
*/
|
||||||
#include <config_cmd_default.h>
|
#include <config_cmd_default.h>
|
||||||
|
|
||||||
#undef CONFIG_CMD_BDI
|
|
||||||
#undef CONFIG_CMD_ENV
|
|
||||||
#undef CONFIG_CMD_MEMORY
|
|
||||||
#undef CONFIG_CMD_NET
|
|
||||||
#undef CONFIG_CMD_MISC
|
|
||||||
|
|
||||||
#define CFG_UART1_BASE (0xFFFF2000)
|
#define CFG_UART1_BASE (0xFFFF2000)
|
||||||
#define CONFIG_SERIAL_BASE CFG_UART1_BASE
|
#define CONFIG_SERIAL_BASE CFG_UART1_BASE
|
||||||
|
|
@ -104,6 +108,4 @@
|
||||||
#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
|
#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
|
||||||
#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET
|
#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET
|
||||||
|
|
||||||
#define XILINX_CLOCK_FREQ 50000000
|
|
||||||
|
|
||||||
#endif /* __CONFIG_H */
|
#endif /* __CONFIG_H */
|
||||||
|
|
|
||||||
|
|
@ -31,34 +31,13 @@
|
||||||
#define CONFIG_XUPV2P 1
|
#define CONFIG_XUPV2P 1
|
||||||
|
|
||||||
/* uart */
|
/* uart */
|
||||||
#ifdef XILINX_UARTLITE_BASEADDR
|
#define CONFIG_SERIAL_BASE XILINX_UART_BASEADDR
|
||||||
#define XILINX_UARTLITE
|
#define CONFIG_BAUDRATE XILINX_UART_BAUDRATE
|
||||||
#define CONFIG_SERIAL_BASE XILINX_UARTLITE_BASEADDR
|
|
||||||
#define CONFIG_BAUDRATE XILINX_UARTLITE_BAUDRATE
|
|
||||||
#define CFG_BAUDRATE_TABLE { CONFIG_BAUDRATE }
|
#define CFG_BAUDRATE_TABLE { CONFIG_BAUDRATE }
|
||||||
#else
|
|
||||||
#ifdef XILINX_UART16550_BASEADDR
|
|
||||||
#define CFG_NS16550
|
|
||||||
#define CFG_NS16550_SERIAL
|
|
||||||
#define CFG_NS16550_REG_SIZE 4
|
|
||||||
#define CONFIG_CONS_INDEX 1
|
|
||||||
#define CFG_NS16550_COM1 XILINX_UART16550_BASEADDR
|
|
||||||
#define CFG_NS16550_CLK XILINX_UART16550_CLOCK_HZ
|
|
||||||
|
|
||||||
#define CONFIG_BAUDRATE 115200
|
|
||||||
#define CFG_BAUDRATE_TABLE { 9600, 115200 }
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* ethernet */
|
/* ethernet */
|
||||||
#ifdef XILINX_EMAC_BASEADDR
|
#define CONFIG_EMAC 1
|
||||||
#define XILINX_EMAC 1
|
#define XPAR_EMAC_0_DEVICE_ID XPAR_XEMAC_NUM_INSTANCES
|
||||||
#else
|
|
||||||
#ifdef XILINX_EMACLITE_BASEADDR
|
|
||||||
#define XILINX_EMACLITE 1
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#undef ET_DEBUG
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* setting reset address
|
* setting reset address
|
||||||
|
|
@ -69,13 +48,11 @@
|
||||||
* U-BOOT auto-relocate to TEXT_BASE. After RESET command Microblaze
|
* U-BOOT auto-relocate to TEXT_BASE. After RESET command Microblaze
|
||||||
* jump to CFG_RESET_ADDRESS where is the original U-BOOT code.
|
* jump to CFG_RESET_ADDRESS where is the original U-BOOT code.
|
||||||
*/
|
*/
|
||||||
/* #define CFG_RESET_ADDRESS 0x36000000 */
|
#define CFG_RESET_ADDRESS 0x36000000
|
||||||
|
|
||||||
/* gpio */
|
/* gpio */
|
||||||
#ifdef XILINX_GPIO_BASEADDR
|
|
||||||
#define CFG_GPIO_0 1
|
#define CFG_GPIO_0 1
|
||||||
#define CFG_GPIO_0_ADDR XILINX_GPIO_BASEADDR
|
#define CFG_GPIO_0_ADDR XILINX_GPIO_BASEADDR
|
||||||
#endif
|
|
||||||
|
|
||||||
/* interrupt controller */
|
/* interrupt controller */
|
||||||
#define CFG_INTC_0 1
|
#define CFG_INTC_0 1
|
||||||
|
|
@ -142,6 +119,7 @@
|
||||||
#define CFG_ENV_SIZE 0x1000
|
#define CFG_ENV_SIZE 0x1000
|
||||||
#define CFG_ENV_ADDR (CFG_MONITOR_BASE - CFG_ENV_SIZE)
|
#define CFG_ENV_ADDR (CFG_MONITOR_BASE - CFG_ENV_SIZE)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* BOOTP options
|
* BOOTP options
|
||||||
*/
|
*/
|
||||||
|
|
@ -150,24 +128,29 @@
|
||||||
#define CONFIG_BOOTP_GATEWAY
|
#define CONFIG_BOOTP_GATEWAY
|
||||||
#define CONFIG_BOOTP_HOSTNAME
|
#define CONFIG_BOOTP_HOSTNAME
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Command line configuration.
|
* Command line configuration.
|
||||||
*/
|
*/
|
||||||
#include <config_cmd_default.h>
|
#include <config_cmd_default.h>
|
||||||
|
|
||||||
#undef CONFIG_CMD_FLASH
|
#define CONFIG_CMD_MEMORY
|
||||||
#undef CONFIG_CMD_IMLS
|
|
||||||
|
|
||||||
#define CONFIG_CMD_ASKENV
|
|
||||||
#define CONFIG_CMD_CACHE
|
|
||||||
#define CONFIG_CMD_IRQ
|
#define CONFIG_CMD_IRQ
|
||||||
#define CONFIG_CMD_MFSL
|
#define CONFIG_CMD_BDI
|
||||||
|
#define CONFIG_CMD_NET
|
||||||
|
#define CONFIG_CMD_IMI
|
||||||
|
#define CONFIG_CMD_ECHO
|
||||||
|
#define CONFIG_CMD_CACHE
|
||||||
|
#define CONFIG_CMD_RUN
|
||||||
|
#define CONFIG_CMD_AUTOSCRIPT
|
||||||
|
#define CONFIG_CMD_ASKENV
|
||||||
|
#define CONFIG_CMD_LOADS
|
||||||
|
#define CONFIG_CMD_LOADB
|
||||||
|
#define CONFIG_CMD_MISC
|
||||||
|
#define CONFIG_CMD_FAT
|
||||||
|
#define CONFIG_CMD_EXT2
|
||||||
#define CONFIG_CMD_PING
|
#define CONFIG_CMD_PING
|
||||||
|
|
||||||
#ifdef XILINX_SYSACE_BASEADDR
|
|
||||||
#define CONFIG_CMD_EXT2
|
|
||||||
#define CONFIG_CMD_FAT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Miscellaneous configurable options */
|
/* Miscellaneous configurable options */
|
||||||
#define CFG_PROMPT "U-Boot-mONStR> "
|
#define CFG_PROMPT "U-Boot-mONStR> "
|
||||||
|
|
@ -179,7 +162,7 @@
|
||||||
|
|
||||||
#define CONFIG_BOOTDELAY 30
|
#define CONFIG_BOOTDELAY 30
|
||||||
#define CONFIG_BOOTARGS "root=romfs"
|
#define CONFIG_BOOTARGS "root=romfs"
|
||||||
#define CONFIG_HOSTNAME "xupv2p"
|
#define CONFIG_HOSTNAME "ml401"
|
||||||
#define CONFIG_BOOTCOMMAND "base 0;tftp 11000000 image.img;bootm"
|
#define CONFIG_BOOTCOMMAND "base 0;tftp 11000000 image.img;bootm"
|
||||||
#define CONFIG_IPADDR 192.168.0.3
|
#define CONFIG_IPADDR 192.168.0.3
|
||||||
#define CONFIG_SERVERIP 192.168.0.5
|
#define CONFIG_SERVERIP 192.168.0.5
|
||||||
|
|
@ -195,13 +178,11 @@
|
||||||
"echo"
|
"echo"
|
||||||
|
|
||||||
/* system ace */
|
/* system ace */
|
||||||
#ifdef XILINX_SYSACE_BASEADDR
|
|
||||||
#define CONFIG_SYSTEMACE
|
#define CONFIG_SYSTEMACE
|
||||||
/* #define DEBUG_SYSTEMACE */
|
/* #define DEBUG_SYSTEMACE */
|
||||||
#define SYSTEMACE_CONFIG_FPGA
|
#define SYSTEMACE_CONFIG_FPGA
|
||||||
#define CFG_SYSTEMACE_BASE XILINX_SYSACE_BASEADDR
|
#define CFG_SYSTEMACE_BASE XILINX_SYSACE_BASEADDR
|
||||||
#define CFG_SYSTEMACE_WIDTH XILINX_SYSACE_MEM_WIDTH
|
#define CFG_SYSTEMACE_WIDTH XILINX_SYSACE_MEM_WIDTH
|
||||||
#define CONFIG_DOS_PARTITION
|
#define CONFIG_DOS_PARTITION
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __CONFIG_H */
|
#endif /* __CONFIG_H */
|
||||||
|
|
|
||||||
|
|
@ -26,17 +26,9 @@
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
|
|
||||||
#ifdef CFG_TIMER_0
|
|
||||||
void udelay (unsigned long usec)
|
void udelay (unsigned long usec)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
i = get_timer (0);
|
i = get_timer (0);
|
||||||
while ((get_timer (0) - i) < (usec / 1000)) ;
|
while ((get_timer (0) - i) < (usec / 1000)) ;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
void udelay (unsigned long usec)
|
|
||||||
{
|
|
||||||
unsigned int i;
|
|
||||||
for (i = 0; i < (usec * XILINX_CLOCK_FREQ / 10000000); i++);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue