mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-24 20:53:22 +02:00
[at91] Add support for u-boot
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22351 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
ffa085b6bf
commit
8d879e2449
@ -10,16 +10,14 @@ config AT91_UBOOT
|
||||
|
||||
config UBOOT_TARGET
|
||||
string "U-Boot target board"
|
||||
depends TARGET_at91
|
||||
depends AT91_UBOOT
|
||||
default "vlink"
|
||||
default "netusg20"
|
||||
help
|
||||
For all supported boards there are ready-to-use default
|
||||
configurations available; just type "<board_name>".
|
||||
|
||||
config UBOOT_IPADDR
|
||||
string "IP Address for U-Boot"
|
||||
depends TARGET_at91
|
||||
depends AT91_UBOOT
|
||||
default "192.168.0.178"
|
||||
help
|
||||
@ -27,7 +25,6 @@ config UBOOT_IPADDR
|
||||
|
||||
config UBOOT_SERVERIP
|
||||
string "IP Address of TFTP server"
|
||||
depends TARGET_at91
|
||||
depends AT91_UBOOT
|
||||
default "192.168.0.232"
|
||||
help
|
||||
|
@ -8,9 +8,13 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/image.mk
|
||||
|
||||
define Build/Clean
|
||||
$(MAKE) -C u-boot clean
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
if [ $(CONFIG_AT91_UBOOT) ]; then \
|
||||
$(MAKE) -C u-boot compile; \
|
||||
fi
|
||||
endef
|
||||
|
||||
define Image/Prepare
|
||||
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=u-boot
|
||||
PKG_VERSION:=1.1.4
|
||||
PKG_VERSION:=2010.06
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
@ -34,16 +34,18 @@ define Build/Compile
|
||||
$(CP) ./ubclient/* $(PKG_BUILD_DIR)/ubclient
|
||||
export LAN_IP=$(LAN_IP); \
|
||||
export LAN_SERVERIP=$(LAN_SERVERIP); \
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)/ubclient \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(TARGET_CFLAGS) -Dtarget_$(BOARD)=1"
|
||||
#$(MAKE) -C $(PKG_BUILD_DIR)/ubclient \
|
||||
# $(TARGET_CONFIGURE_OPTS) \
|
||||
# CFLAGS="$(TARGET_CFLAGS) -Dtarget_$(BOARD)=1"
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
dd if=$(PKG_BUILD_DIR)/u-boot.bin of=$(PKG_BUILD_DIR)/u-boot.block bs=232k count=1 conv=sync
|
||||
# $(INSTALL_DIR) $(STAGING_DIR)/ubclient/sbin
|
||||
# $(INSTALL_BIN) $(PKG_BUILD_DIR)/ubclient/ubpar $(STAGING_DIR)/ubclient/sbin/
|
||||
$(CP) $(PKG_BUILD_DIR)/ubclient/ubpar ../../base-files/sbin
|
||||
# $(CP) $(PKG_BUILD_DIR)/ubclient/ubpar ../../base-files/sbin
|
||||
mkdir -p $(BIN_DIR)/
|
||||
cp $(PKG_BUILD_DIR)/u-boot.bin $(BIN_DIR)/u-boot.$(PKG_VERSION).bin
|
||||
endef
|
||||
|
||||
$(eval $(call Build/DefaultTargets))
|
||||
|
@ -1,91 +0,0 @@
|
||||
--- u-boot-1.1.4/cpu/arm920t/config.mk 2005-12-16 17:39:27.000000000 +0100
|
||||
+++ u-boot-1.1.4.klaus/cpu/arm920t/config.mk 2006-02-27 19:07:41.000000000 +0100
|
||||
@@ -30,5 +30,5 @@
|
||||
# Supply options according to compiler version
|
||||
#
|
||||
# =========================================================================
|
||||
-PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)
|
||||
+PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32)
|
||||
PLATFORM_RELFLAGS +=$(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,))
|
||||
--- u-boot-1.1.4/cpu/arm920t/start.S 2005-12-16 17:39:27.000000000 +0100
|
||||
+++ u-boot-1.1.4.klaus/cpu/arm920t/start.S 2006-02-22 16:45:24.000000000 +0100
|
||||
@@ -237,6 +237,7 @@
|
||||
*/
|
||||
|
||||
|
||||
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
|
||||
cpu_init_crit:
|
||||
/*
|
||||
* flush v4 I/D caches
|
||||
@@ -265,6 +266,7 @@
|
||||
mov lr, ip
|
||||
mov pc, lr
|
||||
|
||||
+#endif
|
||||
|
||||
/*
|
||||
*************************************************************************
|
||||
--- u-boot-1.1.4/examples/Makefile 2005-12-16 17:39:27.000000000 +0100
|
||||
+++ u-boot-1.1.4.klaus/examples/Makefile 2006-03-02 02:37:14.000000000 +0100
|
||||
@@ -30,7 +30,7 @@
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),arm)
|
||||
-LOAD_ADDR = 0xc100000
|
||||
+LOAD_ADDR = 0x21000000
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),mips)
|
||||
--- u-boot-1.1.4/include/config.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ u-boot-1.1.4.klaus/include/config.h 2006-02-27 19:04:46.000000000 +0100
|
||||
@@ -0,0 +1,2 @@
|
||||
+/* Automatically generated - do not edit */
|
||||
+#include <configs/at91rm9200dk.h>
|
||||
--- u-boot-1.1.4/include/config.mk 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ u-boot-1.1.4.klaus/include/config.mk 2006-02-27 19:04:46.000000000 +0100
|
||||
@@ -0,0 +1,4 @@
|
||||
+ARCH = arm
|
||||
+CPU = arm920t
|
||||
+BOARD = at91rm9200dk
|
||||
+SOC = at91rm9200
|
||||
--- u-boot-1.1.4/include/configs/at91rm9200dk.h 2005-12-16 17:39:27.000000000 +0100
|
||||
+++ u-boot-1.1.4.klaus/include/configs/at91rm9200dk.h 2006-02-26 22:44:17.000000000 +0100
|
||||
@@ -25,6 +25,11 @@
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
+// Added 2 defines to skip re-init lowlevel and relocate HCG HLH
|
||||
+//
|
||||
+#define CONFIG_SKIP_LOWLEVEL_INIT
|
||||
+#define CONFIG_SKIP_RELOCATE_UBOOT
|
||||
+
|
||||
/* ARM asynchronous clock */
|
||||
#define AT91C_MAIN_CLOCK 179712000 /* from 18.432 MHz crystal (18432000 / 4 * 39) */
|
||||
#define AT91C_MASTER_CLOCK 59904000 /* peripheral clock (AT91C_MASTER_CLOCK / 3) */
|
||||
@@ -165,12 +170,12 @@
|
||||
#define CFG_FLASH_ERASE_TOUT (2*CFG_HZ) /* Timeout for Flash Erase */
|
||||
#define CFG_FLASH_WRITE_TOUT (2*CFG_HZ) /* Timeout for Flash Write */
|
||||
|
||||
-#undef CFG_ENV_IS_IN_DATAFLASH
|
||||
+#define CFG_ENV_IS_IN_DATAFLASH
|
||||
|
||||
#ifdef CFG_ENV_IS_IN_DATAFLASH
|
||||
-#define CFG_ENV_OFFSET 0x20000
|
||||
+#define CFG_ENV_OFFSET 0x21000
|
||||
#define CFG_ENV_ADDR (CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)
|
||||
-#define CFG_ENV_SIZE 0x2000 /* 0x8000 */
|
||||
+#define CFG_ENV_SIZE 0x8400 /* 0x8000 */
|
||||
#else
|
||||
#define CFG_ENV_IS_IN_FLASH 1
|
||||
#ifdef CONFIG_SKIP_LOWLEVEL_INIT
|
||||
--- u-boot-1.1.4/Makefile 2005-12-16 17:39:27.000000000 +0100
|
||||
+++ u-boot-1.1.4.klaus/Makefile 2006-03-02 02:49:23.000000000 +0100
|
||||
@@ -57,7 +57,7 @@
|
||||
CROSS_COMPILE = powerpc-linux-
|
||||
endif
|
||||
ifeq ($(ARCH),arm)
|
||||
-CROSS_COMPILE = arm-linux-
|
||||
+CROSS_COMPILE = ../staging_dir/bin/arm-linux-
|
||||
endif
|
||||
ifeq ($(ARCH),i386)
|
||||
ifeq ($(HOSTARCH),i387)
|
File diff suppressed because it is too large
Load Diff
@ -1,14 +0,0 @@
|
||||
--- u-boot-1.1.4.org/lib_arm/board.c 2006-06-05 12:36:22.000000000 +0200
|
||||
+++ u-boot-1.1.4.tmp/lib_arm/board.c 2006-06-05 12:36:44.000000000 +0200
|
||||
@@ -332,6 +332,11 @@
|
||||
}
|
||||
#endif /* CONFIG_DRIVER_SMC91111 || CONFIG_DRIVER_LAN91C96 */
|
||||
|
||||
+#ifdef CONFIG_MACH_VLINK
|
||||
+ printf("Initialising MAC address\n\r");
|
||||
+ eth_init(gd->bd);
|
||||
+#endif
|
||||
+
|
||||
/* Initialize from environment */
|
||||
if ((s = getenv ("loadaddr")) != NULL) {
|
||||
load_addr = simple_strtoul (s, NULL, 16);
|
@ -1,15 +0,0 @@
|
||||
--- u-boot-1.1.4.ttt/include/configs/vlink.h 2006-06-05 15:57:37.000000000 +0200
|
||||
+++ u-boot-1.1.4/include/configs/vlink.h 2006-06-07 13:11:01.000000000 +0200
|
||||
@@ -105,9 +105,9 @@
|
||||
|
||||
#define CONFIG_COMMANDS \
|
||||
((CONFIG_CMD_DFL | CFG_CMD_MII |\
|
||||
- CFG_CMD_DHCP ) & \
|
||||
- ~(CFG_CMD_BDI | \
|
||||
- CFG_CMD_IMI | \
|
||||
+ CFG_CMD_DHCP | \
|
||||
+ CFG_CMD_BDI ) & \
|
||||
+ ~(CFG_CMD_IMI | \
|
||||
CFG_CMD_AUTOSCRIPT | \
|
||||
CFG_CMD_FPGA | \
|
||||
CFG_CMD_MISC | \
|
@ -1,13 +0,0 @@
|
||||
diff -urN u-boot-1.1.4.old/cpu/arm920t/config.mk u-boot-1.1.4/cpu/arm920t/config.mk
|
||||
--- u-boot-1.1.4.old/cpu/arm920t/config.mk 2007-03-19 12:44:39.000000000 +0100
|
||||
+++ u-boot-1.1.4/cpu/arm920t/config.mk 2007-03-20 09:23:54.000000000 +0100
|
||||
@@ -21,8 +21,7 @@
|
||||
# MA 02111-1307 USA
|
||||
#
|
||||
|
||||
-PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \
|
||||
- -msoft-float
|
||||
+PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8
|
||||
|
||||
PLATFORM_CPPFLAGS += -march=armv4
|
||||
# =========================================================================
|
@ -1,115 +0,0 @@
|
||||
--- u-boot-1.1.4.old/tools/Makefile 2007-03-22 18:17:25.000000000 +0100
|
||||
+++ u-boot-1.1.4/tools/Makefile 2007-03-22 17:08:46.000000000 +0100
|
||||
@@ -21,9 +21,9 @@
|
||||
# MA 02111-1307 USA
|
||||
#
|
||||
|
||||
-BINS = img2srec$(SFX) mkimage$(SFX) envcrc$(SFX) gen_eth_addr$(SFX) bmp_logo$(SFX)
|
||||
+BINS = img2srec$(SFX) mkimage$(SFX) envcrc$(SFX) gen_eth_addr$(SFX) bmp_logo$(SFX) ubparams$(SFX)
|
||||
|
||||
-OBJS = environment.o img2srec.o mkimage.o crc32.o envcrc.o gen_eth_addr.o bmp_logo.o
|
||||
+OBJS = environment.o img2srec.o mkimage.o crc32.o envcrc.o gen_eth_addr.o bmp_logo.o ubparams.o
|
||||
|
||||
ifeq ($(ARCH),mips)
|
||||
BINS += inca-swap-bytes$(SFX)
|
||||
@@ -118,6 +118,9 @@
|
||||
|
||||
all: .depend $(BINS) $(LOGO_H) subdirs
|
||||
|
||||
+ubparams$(SFX): ubparams.o crc32.o
|
||||
+ $(CC) $(CFLAGS) -o $@ $^
|
||||
+
|
||||
envcrc$(SFX): envcrc.o crc32.o environment.o
|
||||
$(CC) $(CFLAGS) -o $@ $^
|
||||
|
||||
@@ -149,6 +152,9 @@
|
||||
$(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
|
||||
$(STRIP) $@
|
||||
|
||||
+ubparams.o: ubparams.c
|
||||
+ $(CC) -g $(CFLAGS) -c $<
|
||||
+
|
||||
envcrc.o: envcrc.c
|
||||
$(CC) -g $(CFLAGS) -c $<
|
||||
|
||||
--- u-boot-1.1.4.old/tools/ubparams.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ u-boot-1.1.4/tools/ubparams.c 2007-03-22 18:09:52.000000000 +0100
|
||||
@@ -0,0 +1,78 @@
|
||||
+/*
|
||||
+ * ubparams.c
|
||||
+ *
|
||||
+ * Generate a u-boot parameter block with correct crc
|
||||
+ *
|
||||
+ * (C) 1007 Guthrie Consulting
|
||||
+ * hamish@prodigi.ch
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+
|
||||
+#ifndef __ASSEMBLY__
|
||||
+#define __ASSEMBLY__
|
||||
+#endif
|
||||
+#define __ASM_STUB_PROCESSOR_H__
|
||||
+#include <config.h>
|
||||
+#undef __ASSEMBLY__
|
||||
+#include "environment.h"
|
||||
+
|
||||
+#define XMK_STR(x) #x
|
||||
+#define MK_STR(x) XMK_STR(x)
|
||||
+
|
||||
+extern unsigned long crc32 (unsigned long, const unsigned char *, unsigned int);
|
||||
+
|
||||
+#if !defined(ENV_CRC)
|
||||
+#define ENV_CRC ~0
|
||||
+#endif
|
||||
+
|
||||
+unsigned int env_size = 0x8400;
|
||||
+env_t environment = {
|
||||
+ ENV_CRC,
|
||||
+ "bootdelay=3\0"
|
||||
+ "baudrate=115200\0"
|
||||
+ "stdin=serial\0"
|
||||
+ "stdout=serial\0"
|
||||
+ "stderr=serial\0"
|
||||
+ "partitions=mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data)\0"
|
||||
+ "fbargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
|
||||
+ "rdba=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
|
||||
+ "rdram=run rdba; tftp 21000000 vImage; tftp 21200000 root.squashfs; bootm 21000000\0"
|
||||
+ "flash=run fbargs; bootm 0xc0042000\0"
|
||||
+ "bootargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
|
||||
+ "bootcmd=bootm 0xc0042000\0"
|
||||
+ "ethaddr=00:30:49:00:00:01\0"
|
||||
+ "ipaddr=10.0.1.73\0"
|
||||
+ "serverip=10.0.1.210\0"
|
||||
+ "serial#=MX070205484\0"
|
||||
+ "\0"
|
||||
+ };
|
||||
+
|
||||
+int main(void) {
|
||||
+ env_t *envptr, *source;
|
||||
+ unsigned char *dataptr;
|
||||
+ FILE *params;
|
||||
+
|
||||
+ source = &environment;
|
||||
+ envptr = (env_t *)malloc(CFG_ENV_SIZE);
|
||||
+ dataptr = (unsigned char *)envptr + ENV_HEADER_SIZE;
|
||||
+
|
||||
+ printf("Make u-boot params\n");
|
||||
+ printf("Params size is %d\n", CFG_ENV_SIZE);
|
||||
+
|
||||
+ memset(envptr, 0, CFG_ENV_SIZE);
|
||||
+ memcpy(envptr, source, sizeof(environment));
|
||||
+
|
||||
+ envptr->crc = crc32(0, envptr->data, ENV_SIZE);
|
||||
+
|
||||
+ params = fopen("params", "w");
|
||||
+ fwrite(envptr, CFG_ENV_SIZE, 1, params);
|
||||
+ fclose(params);
|
||||
+
|
||||
+ free(envptr);
|
||||
+ }
|
||||
+
|
||||
+
|
@ -1,11 +0,0 @@
|
||||
--- u-boot-1.1.4.old/tools/ubparams.c 2007-03-22 18:09:52.000000000 +0100
|
||||
+++ u-boot-1.1.4/tools/ubparams.c 2007-03-22 18:29:32.000000000 +0100
|
||||
@@ -18,7 +18,7 @@
|
||||
#define __ASM_STUB_PROCESSOR_H__
|
||||
#include <config.h>
|
||||
#undef __ASSEMBLY__
|
||||
-#include "environment.h"
|
||||
+#include <environment.h>
|
||||
|
||||
#define XMK_STR(x) #x
|
||||
#define MK_STR(x) XMK_STR(x)
|
@ -1,10 +0,0 @@
|
||||
--- u-boot-1.1.4.old/tools/ubparams.c 2007-03-23 10:51:17.000000000 +0100
|
||||
+++ u-boot-1.1.4/tools/ubparams.c 2007-03-23 10:49:37.000000000 +0100
|
||||
@@ -73,6 +73,7 @@
|
||||
fclose(params);
|
||||
|
||||
free(envptr);
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -urN u-boot-1.1.4.old/lib_arm/board.c u-boot-1.1.4/lib_arm/board.c
|
||||
--- u-boot-1.1.4.old/lib_arm/board.c 2007-03-23 10:53:52.000000000 +0100
|
||||
+++ u-boot-1.1.4/lib_arm/board.c 2007-03-24 13:17:12.000000000 +0100
|
||||
@@ -332,7 +332,7 @@
|
||||
}
|
||||
#endif /* CONFIG_DRIVER_SMC91111 || CONFIG_DRIVER_LAN91C96 */
|
||||
|
||||
-#ifdef CONFIG_MACH_VLINK
|
||||
+#ifdef CONFIG_VLINK
|
||||
printf("Initialising MAC address\n\r");
|
||||
eth_init(gd->bd);
|
||||
#endif
|
@ -1,13 +0,0 @@
|
||||
--- u-boot-1.1.4.old/board/vlink/vlink.c 2007-04-03 11:42:39.000000000 +0200
|
||||
+++ u-boot-1.1.4/board/vlink/vlink.c 2007-04-03 11:48:33.000000000 +0200
|
||||
@@ -40,10 +40,6 @@
|
||||
/* Enable Ctrlc */
|
||||
console_init_f ();
|
||||
|
||||
- /* Correct IRDA resistor problem */
|
||||
- /* Set PA23_TXD in Output */
|
||||
- (AT91PS_PIO) AT91C_BASE_PIOA->PIO_OER = AT91C_PA23_TXD2;
|
||||
-
|
||||
/* memory and cpu-speed are setup before relocation */
|
||||
/* so we do _nothing_ here */
|
||||
|
@ -1,19 +0,0 @@
|
||||
diff -urN u-boot-1.1.4.old/tools/ubparams.c u-boot-1.1.4/tools/ubparams.c
|
||||
--- u-boot-1.1.4.old/tools/ubparams.c 2007-05-01 13:20:17.000000000 +0200
|
||||
+++ u-boot-1.1.4/tools/ubparams.c 2007-05-04 10:13:34.000000000 +0200
|
||||
@@ -37,12 +37,11 @@
|
||||
"stdin=serial\0"
|
||||
"stdout=serial\0"
|
||||
"stderr=serial\0"
|
||||
- "partitions=mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data)\0"
|
||||
- "fbargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
|
||||
- "rdba=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
|
||||
+ "fbargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
|
||||
+ "rdba=setenv bootargs root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
|
||||
"rdram=run rdba; tftp 21000000 vImage; tftp 21200000 root.squashfs; bootm 21000000\0"
|
||||
"flash=run fbargs; bootm 0xc0042000\0"
|
||||
- "bootargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
|
||||
+ "bootargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
|
||||
"bootcmd=bootm 0xc0042000\0"
|
||||
"ethaddr=00:30:49:00:00:01\0"
|
||||
"ipaddr=10.0.1.73\0"
|
@ -1,16 +0,0 @@
|
||||
diff -urN u-boot-1.1.4.orig/examples/Makefile u-boot-1.1.4/examples/Makefile
|
||||
--- u-boot-1.1.4.orig/examples/Makefile 2007-05-13 13:45:44.000000000 +0200
|
||||
+++ u-boot-1.1.4/examples/Makefile 2007-05-13 13:48:43.000000000 +0200
|
||||
@@ -123,10 +123,10 @@
|
||||
$(LD) -g $(EX_LDFLAGS) -Ttext $(LOAD_ADDR) \
|
||||
-o $@ -e $(<:.o=) $< $(LIB) \
|
||||
-L$(gcclibdir) -lgcc
|
||||
-%.srec: %
|
||||
+%.srec: %.o
|
||||
$(OBJCOPY) -O srec $< $@ 2>/dev/null
|
||||
|
||||
-%.bin: %
|
||||
+%.bin: %.o
|
||||
$(OBJCOPY) -O binary $< $@ 2>/dev/null
|
||||
|
||||
#########################################################################
|
@ -1,24 +0,0 @@
|
||||
--- u-boot-1.1.4.old/tools/Makefile 2007-06-13 13:35:59.000000000 +0200
|
||||
+++ u-boot-1.1.4/tools/Makefile 2007-06-14 15:33:04.000000000 +0200
|
||||
@@ -153,7 +153,7 @@
|
||||
$(STRIP) $@
|
||||
|
||||
ubparams.o: ubparams.c
|
||||
- $(CC) -g $(CFLAGS) -c $<
|
||||
+ $(CC) -g $(CFLAGS) -DLAN_IP=$(LAN_IP) -DLAN_SERVERIP=$(LAN_SERVERIP) -c $<
|
||||
|
||||
envcrc.o: envcrc.c
|
||||
$(CC) -g $(CFLAGS) -c $<
|
||||
--- u-boot-1.1.4.old/tools/ubparams.c 2007-06-13 13:35:59.000000000 +0200
|
||||
+++ u-boot-1.1.4/tools/ubparams.c 2007-06-14 15:31:55.000000000 +0200
|
||||
@@ -44,8 +44,8 @@
|
||||
"bootargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
|
||||
"bootcmd=bootm 0xc0042000\0"
|
||||
"ethaddr=00:30:49:00:00:01\0"
|
||||
- "ipaddr=10.0.1.73\0"
|
||||
- "serverip=10.0.1.210\0"
|
||||
+ "ipaddr=" MK_STR(LAN_IP) "\0"
|
||||
+ "serverip=" MK_STR(LAN_SERVERIP) "\0"
|
||||
"serial#=MX070205484\0"
|
||||
"\0"
|
||||
};
|
@ -1,11 +0,0 @@
|
||||
--- u-boot-1.1.4.old/tools/ubparams.c 2007-06-19 14:24:39.000000000 +0200
|
||||
+++ u-boot-1.1.4/tools/ubparams.c 2007-06-19 14:25:05.000000000 +0200
|
||||
@@ -39,7 +39,7 @@
|
||||
"stderr=serial\0"
|
||||
"fbargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
|
||||
"rdba=setenv bootargs root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
|
||||
- "rdram=run rdba; tftp 21000000 vImage; tftp 21200000 root.squashfs; bootm 21000000\0"
|
||||
+ "rdram=run rdba; tftp 21000000 uImage; tftp 21200000 root.squashfs; bootm 21000000\0"
|
||||
"flash=run fbargs; bootm 0xc0042000\0"
|
||||
"bootargs=setenv bootargs root=/dev/mtdblock3 ro console=/dev/ttyS0,115200,mem=32M\0"
|
||||
"bootcmd=bootm 0xc0042000\0"
|
@ -1,52 +0,0 @@
|
||||
Index: git/lib_arm/div0.c
|
||||
===================================================================
|
||||
--- git.orig/lib_arm/div0.c
|
||||
+++ git/lib_arm/div0.c
|
||||
@@ -22,9 +22,3 @@
|
||||
*/
|
||||
|
||||
/* Replacement (=dummy) for GNU/Linux division-by zero handler */
|
||||
-void __div0 (void)
|
||||
-{
|
||||
- extern void hang (void);
|
||||
-
|
||||
- hang();
|
||||
-}
|
||||
Index: git/Makefile
|
||||
===================================================================
|
||||
--- git.orig/Makefile
|
||||
+++ git/Makefile
|
||||
@@ -225,7 +225,7 @@ LIBS := $(addprefix $(obj),$(LIBS))
|
||||
.PHONY : $(LIBS)
|
||||
|
||||
# Add GCC lib
|
||||
-PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
|
||||
+PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc -lgcc_eh
|
||||
|
||||
# The "tools" are needed early, so put this first
|
||||
# Don't include stuff already done in $(LIBS)
|
||||
--- a/board/vlink/vlink.c 2009-10-29 16:40:33.000000000 +0100
|
||||
+++ b/board/vlink/vlink.c 2009-10-29 16:43:27.000000000 +0100
|
||||
@@ -33,6 +33,9 @@
|
||||
* Miscelaneous platform dependent initialisations
|
||||
*/
|
||||
|
||||
+void raise() {}
|
||||
+void abort() {}
|
||||
+
|
||||
int board_init (void)
|
||||
{
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
--- a/board/vlink/u-boot.lds 2009-10-29 16:40:33.000000000 +0100
|
||||
+++ b/board/vlink/u-boot.lds 2009-10-29 16:43:57.000000000 +0100
|
||||
@@ -38,6 +38,10 @@
|
||||
|
||||
. = ALIGN(4);
|
||||
.rodata : { *(.rodata) }
|
||||
+ .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
|
||||
+ __exidx_start = .;
|
||||
+ .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
|
||||
+ __exidx_end = .;
|
||||
|
||||
. = ALIGN(4);
|
||||
.data : { *(.data) }
|
574
target/linux/at91/image/u-boot/patches/100-netusg20.patch
Normal file
574
target/linux/at91/image/u-boot/patches/100-netusg20.patch
Normal file
@ -0,0 +1,574 @@
|
||||
Add support for the NetusG20 board by Acmesystems srl.
|
||||
This board is based on AT91SAM9G20 SoC.
|
||||
|
||||
Signed-off-by: Claudio Mignanti <c.mignanti@gmail.com>
|
||||
---
|
||||
MAKEALL | 1 +
|
||||
Makefile | 3 +
|
||||
arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c | 5 +
|
||||
board/acmesystems/netusg20/Makefile | 56 +++++++
|
||||
board/acmesystems/netusg20/config.mk | 1 +
|
||||
board/acmesystems/netusg20/led.c | 40 +++++
|
||||
board/acmesystems/netusg20/netusg20.c | 152 +++++++++++++++++
|
||||
board/acmesystems/netusg20/partition.c | 39 +++++
|
||||
include/configs/netusg20.h | 181 +++++++++++++++++++++
|
||||
9 files changed, 478 insertions(+), 0 deletions(-)
|
||||
create mode 100644 board/acmesystems/netusg20/Makefile
|
||||
create mode 100644 board/acmesystems/netusg20/config.mk
|
||||
create mode 100644 board/acmesystems/netusg20/led.c
|
||||
create mode 100644 board/acmesystems/netusg20/netusg20.c
|
||||
create mode 100644 board/acmesystems/netusg20/partition.c
|
||||
create mode 100644 include/configs/netusg20.h
|
||||
|
||||
diff --git a/MAKEALL b/MAKEALL
|
||||
index d6d5f5b..60e36e1 100755
|
||||
--- a/MAKEALL
|
||||
+++ b/MAKEALL
|
||||
@@ -684,6 +684,7 @@ LIST_at91=" \
|
||||
meesc \
|
||||
mp2usb \
|
||||
m501sk \
|
||||
+ netusg20 \
|
||||
otc570 \
|
||||
pm9261 \
|
||||
pm9263 \
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 87d5214..b73659f 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -2867,6 +2867,9 @@ at91sam9g45ekes_config : unconfig
|
||||
fi;
|
||||
@$(MKCONFIG) -a at91sam9m10g45ek arm arm926ejs at91sam9m10g45ek atmel at91
|
||||
|
||||
+netusg20_config: unconfig
|
||||
+ @$(MKCONFIG) $(@:_config=) arm arm926ejs netusg20 acmesystems at91
|
||||
+
|
||||
otc570_config : unconfig
|
||||
@$(MKCONFIG) $(@:_config=) arm arm926ejs otc570 esd at91
|
||||
|
||||
diff --git a/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c b/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c
|
||||
index 77d49ab..87ec531 100644
|
||||
--- a/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c
|
||||
+++ b/arch/arm/cpu/arm926ejs/at91/at91sam9260_devices.c
|
||||
@@ -59,7 +59,12 @@ void at91_serial3_hw_init(void)
|
||||
{
|
||||
at91_pmc_t *pmc = (at91_pmc_t *) AT91_PMC_BASE;
|
||||
|
||||
+#ifdef CONFIG_NETUSG20
|
||||
+ /* pull-up active on DRXD*/
|
||||
+ at91_set_a_periph(AT91_PIO_PORTB, 14, 1);
|
||||
+#else
|
||||
at91_set_a_periph(AT91_PIO_PORTB, 14, 0); /* DRXD */
|
||||
+#endif
|
||||
at91_set_a_periph(AT91_PIO_PORTB, 15, 1); /* DTXD */
|
||||
writel(1 << AT91_ID_SYS, &pmc->pcer);
|
||||
}
|
||||
diff --git a/board/acmesystems/netusg20/Makefile b/board/acmesystems/netusg20/Makefile
|
||||
new file mode 100644
|
||||
index 0000000..31589fd
|
||||
--- /dev/null
|
||||
+++ b/board/acmesystems/netusg20/Makefile
|
||||
@@ -0,0 +1,56 @@
|
||||
+#
|
||||
+# (C) Copyright 2003-2008
|
||||
+# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
+#
|
||||
+# (C) Copyright 2008
|
||||
+# Stelian Pop <stelian.pop@leadtechdesign.com>
|
||||
+# Lead Tech Design <www.leadtechdesign.com>
|
||||
+#
|
||||
+# See file CREDITS for list of people who contributed to this
|
||||
+# project.
|
||||
+#
|
||||
+# This program is free software; you can redistribute it and/or
|
||||
+# modify it under the terms of the GNU General Public License as
|
||||
+# published by the Free Software Foundation; either version 2 of
|
||||
+# the License, or (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program; if not, write to the Free Software
|
||||
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
+# MA 02111-1307 USA
|
||||
+#
|
||||
+
|
||||
+include $(TOPDIR)/config.mk
|
||||
+
|
||||
+LIB = $(obj)lib$(BOARD).a
|
||||
+
|
||||
+COBJS-y += netusg20.o
|
||||
+COBJS-y += led.o
|
||||
+COBJS-y += partition.o
|
||||
+
|
||||
+SRCS := $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
|
||||
+OBJS := $(addprefix $(obj),$(COBJS-y))
|
||||
+SOBJS := $(addprefix $(obj),$(SOBJS))
|
||||
+
|
||||
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
|
||||
+ $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
|
||||
+
|
||||
+clean:
|
||||
+ rm -f $(SOBJS) $(OBJS)
|
||||
+
|
||||
+distclean: clean
|
||||
+ rm -f $(LIB) core *.bak $(obj).depend
|
||||
+
|
||||
+#########################################################################
|
||||
+
|
||||
+# defines $(obj).depend target
|
||||
+include $(SRCTREE)/rules.mk
|
||||
+
|
||||
+sinclude $(obj).depend
|
||||
+
|
||||
+#########################################################################
|
||||
diff --git a/board/acmesystems/netusg20/config.mk b/board/acmesystems/netusg20/config.mk
|
||||
new file mode 100644
|
||||
index 0000000..ff2cfd1
|
||||
--- /dev/null
|
||||
+++ b/board/acmesystems/netusg20/config.mk
|
||||
@@ -0,0 +1 @@
|
||||
+TEXT_BASE = 0x23f00000
|
||||
diff --git a/board/acmesystems/netusg20/led.c b/board/acmesystems/netusg20/led.c
|
||||
new file mode 100644
|
||||
index 0000000..1016b98
|
||||
--- /dev/null
|
||||
+++ b/board/acmesystems/netusg20/led.c
|
||||
@@ -0,0 +1,40 @@
|
||||
+/*
|
||||
+ * (C) Copyright 2007-2008
|
||||
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
|
||||
+ * Lead Tech Design <www.leadtechdesign.com>
|
||||
+ *
|
||||
+ * See file CREDITS for list of people who contributed to this
|
||||
+ * project.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of
|
||||
+ * the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
+ * MA 02111-1307 USA
|
||||
+ */
|
||||
+
|
||||
+#include <common.h>
|
||||
+#include <asm/arch/at91sam9260.h>
|
||||
+#include <asm/arch/at91_pmc.h>
|
||||
+#include <asm/arch/gpio.h>
|
||||
+#include <asm/arch/io.h>
|
||||
+
|
||||
+
|
||||
+void coloured_LED_init(void)
|
||||
+{
|
||||
+ /* Enable clock */
|
||||
+ at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOA);
|
||||
+
|
||||
+ at91_set_gpio_output(CONFIG_RED_LED, 1);
|
||||
+
|
||||
+ at91_set_gpio_value(CONFIG_RED_LED, 1);
|
||||
+}
|
||||
diff --git a/board/acmesystems/netusg20/netusg20.c b/board/acmesystems/netusg20/netusg20.c
|
||||
new file mode 100644
|
||||
index 0000000..94b4d4c
|
||||
--- /dev/null
|
||||
+++ b/board/acmesystems/netusg20/netusg20.c
|
||||
@@ -0,0 +1,152 @@
|
||||
+/*
|
||||
+ * (C) Copyright 2007-2008
|
||||
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
|
||||
+ * Lead Tech Design <www.leadtechdesign.com>
|
||||
+ *
|
||||
+ * (C) Copyright 2010
|
||||
+ * Claudio Mignanti <c.mignanti@gmail.com>
|
||||
+ *
|
||||
+ * See file CREDITS for list of people who contributed to this
|
||||
+ * project.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of
|
||||
+ * the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
+ * MA 02111-1307 USA
|
||||
+ */
|
||||
+
|
||||
+#include <common.h>
|
||||
+#include <asm/arch/at91sam9260.h>
|
||||
+#include <asm/arch/at91sam9260_matrix.h>
|
||||
+#include <asm/arch/at91sam9_smc.h>
|
||||
+#include <asm/arch/at91_common.h>
|
||||
+#include <asm/arch/at91_pmc.h>
|
||||
+#include <asm/arch/at91_rstc.h>
|
||||
+#include <asm/arch/gpio.h>
|
||||
+#include <asm/arch/io.h>
|
||||
+#include <asm/arch/hardware.h>
|
||||
+#if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
|
||||
+#include <net.h>
|
||||
+#endif
|
||||
+#include <netdev.h>
|
||||
+
|
||||
+DECLARE_GLOBAL_DATA_PTR;
|
||||
+
|
||||
+/* ------------------------------------------------------------------------- */
|
||||
+/*
|
||||
+ * Miscelaneous platform dependent initialisations
|
||||
+ */
|
||||
+
|
||||
+#ifdef CONFIG_MACB
|
||||
+static void at91sam9260ek_macb_hw_init(void)
|
||||
+{
|
||||
+ unsigned long rstc;
|
||||
+
|
||||
+ /* Enable clock */
|
||||
+ at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_EMAC);
|
||||
+
|
||||
+ /*
|
||||
+ * Disable pull-up on:
|
||||
+ * RXDV (PA17) => PHY normal mode (not Test mode)
|
||||
+ * ERX0 (PA14) => PHY ADDR0
|
||||
+ * ERX1 (PA15) => PHY ADDR1
|
||||
+ * ERX2 (PA25) => PHY ADDR2
|
||||
+ * ERX3 (PA26) => PHY ADDR3
|
||||
+ * ECRS (PA28) => PHY ADDR4 => PHYADDR = 0x0
|
||||
+ *
|
||||
+ * PHY has internal pull-down
|
||||
+ */
|
||||
+ writel(pin_to_mask(AT91_PIN_PA14) |
|
||||
+ pin_to_mask(AT91_PIN_PA15) |
|
||||
+ pin_to_mask(AT91_PIN_PA17) |
|
||||
+ pin_to_mask(AT91_PIN_PA25) |
|
||||
+ pin_to_mask(AT91_PIN_PA26) |
|
||||
+ pin_to_mask(AT91_PIN_PA28),
|
||||
+ pin_to_controller(AT91_PIN_PA0) + PIO_PUDR);
|
||||
+
|
||||
+ rstc = at91_sys_read(AT91_RSTC_MR) & AT91_RSTC_ERSTL;
|
||||
+
|
||||
+ at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_EXTRST);
|
||||
+
|
||||
+ /* Wait for end hardware reset */
|
||||
+ while (!(at91_sys_read(AT91_RSTC_SR) & AT91_RSTC_NRSTL));
|
||||
+
|
||||
+ /* Restore NRST value */
|
||||
+ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY |
|
||||
+ (rstc) |
|
||||
+ AT91_RSTC_URSTEN);
|
||||
+
|
||||
+ /* Re-enable pull-up */
|
||||
+ writel(pin_to_mask(AT91_PIN_PA14) |
|
||||
+ pin_to_mask(AT91_PIN_PA15) |
|
||||
+ pin_to_mask(AT91_PIN_PA17) |
|
||||
+ pin_to_mask(AT91_PIN_PA25) |
|
||||
+ pin_to_mask(AT91_PIN_PA26) |
|
||||
+ pin_to_mask(AT91_PIN_PA28),
|
||||
+ pin_to_controller(AT91_PIN_PA0) + PIO_PUER);
|
||||
+
|
||||
+ at91_macb_hw_init();
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+int board_init(void)
|
||||
+{
|
||||
+ /* Enable Ctrlc */
|
||||
+ console_init_f();
|
||||
+
|
||||
+ gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9G20EK;
|
||||
+
|
||||
+ /* adress of boot parameters */
|
||||
+ gd->bd->bi_boot_params = PHYS_SDRAM + 0x100;
|
||||
+
|
||||
+ at91_serial_hw_init();
|
||||
+#ifdef CONFIG_HAS_DATAFLASH
|
||||
+ at91_spi0_hw_init((1 << 0) | (1 << 1));
|
||||
+#endif
|
||||
+#ifdef CONFIG_MACB
|
||||
+ at91sam9260ek_macb_hw_init();
|
||||
+#endif
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int dram_init(void)
|
||||
+{
|
||||
+ gd->bd->bi_dram[0].start = PHYS_SDRAM;
|
||||
+ gd->bd->bi_dram[0].size = PHYS_SDRAM_SIZE;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#ifdef CONFIG_RESET_PHY_R
|
||||
+void reset_phy(void)
|
||||
+{
|
||||
+#ifdef CONFIG_MACB
|
||||
+ /*
|
||||
+ * Initialize ethernet HW addr prior to starting Linux,
|
||||
+ * needed for nfsroot
|
||||
+ */
|
||||
+ eth_init(gd->bd);
|
||||
+#endif
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+int board_eth_init(bd_t *bis)
|
||||
+{
|
||||
+ int rc = 0;
|
||||
+#ifdef CONFIG_MACB
|
||||
+ rc = macb_eth_initialize(0, (void *)AT91SAM9260_BASE_EMAC, 0x00);
|
||||
+#endif
|
||||
+ return rc;
|
||||
+}
|
||||
+
|
||||
+void show_boot_progress (int val){}
|
||||
diff --git a/board/acmesystems/netusg20/partition.c b/board/acmesystems/netusg20/partition.c
|
||||
new file mode 100644
|
||||
index 0000000..7d79e53
|
||||
--- /dev/null
|
||||
+++ b/board/acmesystems/netusg20/partition.c
|
||||
@@ -0,0 +1,39 @@
|
||||
+/*
|
||||
+ * (C) Copyright 2008
|
||||
+ * Ulf Samuelsson <ulf@atmel.com>
|
||||
+ *
|
||||
+ * 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 <config.h>
|
||||
+#include <asm/hardware.h>
|
||||
+#include <dataflash.h>
|
||||
+
|
||||
+AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
|
||||
+
|
||||
+struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
|
||||
+ {CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1, 1}
|
||||
+};
|
||||
+
|
||||
+/*define the area offsets*/
|
||||
+dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
|
||||
+ {0x00000000, 0x000041FF, FLAG_PROTECT_SET, 0, "Bootstrap"},
|
||||
+ {0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
|
||||
+ {0x00008400, 0x00041FFF, FLAG_PROTECT_SET, 0, "U-Boot"},
|
||||
+ {0x00042000, 0x00251FFF, FLAG_PROTECT_CLEAR, 0, "Kernel"},
|
||||
+ {0x00252000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0, "FS"},
|
||||
+};
|
||||
diff --git a/include/configs/netusg20.h b/include/configs/netusg20.h
|
||||
new file mode 100644
|
||||
index 0000000..99b4f12
|
||||
--- /dev/null
|
||||
+++ b/include/configs/netusg20.h
|
||||
@@ -0,0 +1,181 @@
|
||||
+/*
|
||||
+ * (C) Copyright 2007-2008
|
||||
+ * Stelian Pop <stelian.pop@leadtechdesign.com>
|
||||
+ * Lead Tech Design <www.leadtechdesign.com>
|
||||
+ *
|
||||
+ * Configuation settings for the NetusG20 boards.
|
||||
+ *
|
||||
+ * See file CREDITS for list of people who contributed to this
|
||||
+ * project.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of
|
||||
+ * the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
+ * MA 02111-1307 USA
|
||||
+ */
|
||||
+
|
||||
+#ifndef __CONFIG_H
|
||||
+#define __CONFIG_H
|
||||
+
|
||||
+#define CONFIG_AT91_LEGACY
|
||||
+
|
||||
+/* ARM asynchronous clock */
|
||||
+#define CONFIG_SYS_AT91_MAIN_CLOCK 18432000 /* 18.432 MHz crystal */
|
||||
+#define CONFIG_SYS_HZ 1000
|
||||
+
|
||||
+#define CONFIG_DISPLAY_CPUINFO
|
||||
+
|
||||
+#define CONFIG_ARM926EJS 1 /* This is an ARM926EJS Core */
|
||||
+#define CONFIG_AT91SAM9G20 1 /* It's an Atmel AT91SAM9G20 SoC*/
|
||||
+#define CONFIG_NETUSG20 1
|
||||
+
|
||||
+#define CONFIG_ARCH_CPU_INIT
|
||||
+#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
|
||||
+
|
||||
+#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
|
||||
+#define CONFIG_SETUP_MEMORY_TAGS 1
|
||||
+#define CONFIG_INITRD_TAG 1
|
||||
+
|
||||
+#define CONFIG_SKIP_LOWLEVEL_INIT
|
||||
+#define CONFIG_SKIP_RELOCATE_UBOOT
|
||||
+
|
||||
+/*
|
||||
+ * Hardware drivers
|
||||
+ */
|
||||
+#define CONFIG_AT91_GPIO 1
|
||||
+#define CONFIG_ATMEL_USART 1
|
||||
+#undef CONFIG_USART0
|
||||
+#undef CONFIG_USART1
|
||||
+#undef CONFIG_USART2
|
||||
+#define CONFIG_USART3 1 /* USART 3 is DBGU */
|
||||
+
|
||||
+/* LED */
|
||||
+#define CONFIG_AT91_LED
|
||||
+#define CONFIG_RED_LED AT91_PIN_PA9 /* this is the power led */
|
||||
+#define CONFIG_GREEN_LED AT91_PIN_PA6 /* this is the user led */
|
||||
+
|
||||
+#define CONFIG_BOOTDELAY 3
|
||||
+
|
||||
+/*
|
||||
+ * BOOTP options
|
||||
+ */
|
||||
+#define CONFIG_BOOTP_BOOTFILESIZE 1
|
||||
+#define CONFIG_BOOTP_BOOTPATH 1
|
||||
+#define CONFIG_BOOTP_GATEWAY 1
|
||||
+#define CONFIG_BOOTP_HOSTNAME 1
|
||||
+
|
||||
+/*
|
||||
+ * Command line configuration.
|
||||
+ */
|
||||
+#include <config_cmd_default.h>
|
||||
+#undef CONFIG_CMD_BDI
|
||||
+#undef CONFIG_CMD_FPGA
|
||||
+#undef CONFIG_CMD_IMI
|
||||
+#undef CONFIG_CMD_IMLS
|
||||
+#undef CONFIG_CMD_LOADS
|
||||
+#undef CONFIG_CMD_SOURCE
|
||||
+
|
||||
+#define CONFIG_CMD_PING 1
|
||||
+#define CONFIG_CMD_DHCP 1
|
||||
+#define CONFIG_CMD_USB 1
|
||||
+
|
||||
+/* SDRAM */
|
||||
+#define CONFIG_NR_DRAM_BANKS 1
|
||||
+#define PHYS_SDRAM 0x20000000
|
||||
+#define PHYS_SDRAM_SIZE 0x04000000 /* 64 megs */
|
||||
+
|
||||
+/* DataFlash */
|
||||
+#define CONFIG_ATMEL_DATAFLASH_SPI
|
||||
+#define CONFIG_HAS_DATAFLASH 1
|
||||
+#define CONFIG_SYS_SPI_WRITE_TOUT (5*CONFIG_SYS_HZ)
|
||||
+#define CONFIG_SYS_MAX_DATAFLASH_BANKS 1
|
||||
+#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 0xD0000000 /* CS1 */
|
||||
+#define AT91_SPI_CLK 15000000
|
||||
+
|
||||
+#define DATAFLASH_TCSS (0x22 << 16)
|
||||
+#define DATAFLASH_TCHS (0x1 << 24)
|
||||
+
|
||||
+/* no NAND flash on this board*/
|
||||
+#define CONFIG_SYS_NO_FLASH
|
||||
+
|
||||
+/* Ethernet */
|
||||
+#define CONFIG_MACB 1
|
||||
+#define CONFIG_RMII 1
|
||||
+#define CONFIG_NET_MULTI 1
|
||||
+#define CONFIG_NET_RETRY_COUNT 20
|
||||
+#define CONFIG_RESET_PHY_R 1
|
||||
+
|
||||
+/* MMC */
|
||||
+#define CONFIG_MMC
|
||||
+#define CONFIG_CMD_MMC
|
||||
+#define CONFIG_ATMEL_MCI
|
||||
+#define CONFIG_CMD_AUTOSCRIPT
|
||||
+#define CONFIG_CMD_IMI
|
||||
+#define CONFIG_CMD_SOURCE
|
||||
+
|
||||
+#define MMCI_BASE 0xFFFA8000
|
||||
+
|
||||
+/* USB */
|
||||
+#define CONFIG_USB_ATMEL
|
||||
+#define CONFIG_USB_OHCI_NEW 1
|
||||
+#define CONFIG_DOS_PARTITION 1
|
||||
+#define CONFIG_SYS_USB_OHCI_CPU_INIT 1
|
||||
+#define CONFIG_SYS_USB_OHCI_REGS_BASE 0x00500000 /* AT91SAM9260_UHP_BASE */
|
||||
+#define CONFIG_SYS_USB_OHCI_SLOT_NAME "at91sam9260"
|
||||
+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
||||
+#define CONFIG_USB_STORAGE 1
|
||||
+
|
||||
+#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
|
||||
+
|
||||
+#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
|
||||
+#define CONFIG_SYS_MEMTEST_END 0x23e00000
|
||||
+
|
||||
+/* Filesystem */
|
||||
+#define CONFIG_CMD_FAT 1
|
||||
+#define CONFIG_CMD_EXT2 1
|
||||
+
|
||||
+/* bootstrap + u-boot + env + linux in dataflash on CS1 */
|
||||
+#define CONFIG_ENV_IS_IN_DATAFLASH 1
|
||||
+#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + 0x8400)
|
||||
+#define CONFIG_ENV_OFFSET 0x4200
|
||||
+#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + CONFIG_ENV_OFFSET)
|
||||
+#define CONFIG_ENV_SIZE 0x4200
|
||||
+#define CONFIG_BOOTCOMMAND "mmc init; sleep 1; " \
|
||||
+ "ext2load mmc 0 0x20000000 uImage; " \
|
||||
+ "source 0x20000000"
|
||||
+#define CONFIG_BOOTARGS "mem=64M console=ttyS0,115200 " \
|
||||
+ "root=/dev/mmcblk0p1 rootwait"
|
||||
+
|
||||
+#define CONFIG_BAUDRATE 115200
|
||||
+#define CONFIG_SYS_BAUDRATE_TABLE {115200 , 19200, 38400, 57600, 9600 }
|
||||
+
|
||||
+#define CONFIG_SYS_PROMPT "U-Boot> "
|
||||
+#define CONFIG_SYS_CBSIZE 256
|
||||
+#define CONFIG_SYS_MAXARGS 16
|
||||
+#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
+#define CONFIG_SYS_LONGHELP 1
|
||||
+#define CONFIG_CMDLINE_EDITING 1
|
||||
+
|
||||
+/*
|
||||
+ * Size of malloc() pool
|
||||
+ */
|
||||
+#define CONFIG_SYS_MALLOC_LEN ROUND(3 * CONFIG_ENV_SIZE + 128*1024, 0x1000)
|
||||
+#define CONFIG_SYS_GBL_DATA_SIZE 128 /* 128 bytes for initial data */
|
||||
+
|
||||
+#define CONFIG_STACKSIZE (32*1024) /* regular stack */
|
||||
+
|
||||
+#ifdef CONFIG_USE_IRQ
|
||||
+#error CONFIG_USE_IRQ not supported
|
||||
+#endif
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
1.7.0.4
|
||||
|
||||
|
24
target/linux/at91/image/u-boot/patches/200-clock.patch
Normal file
24
target/linux/at91/image/u-boot/patches/200-clock.patch
Normal file
@ -0,0 +1,24 @@
|
||||
The function get_mci_clk_rate is used inside atmel_mci driver
|
||||
but never defined. Fix this typo.
|
||||
|
||||
Signed-off-by: Claudio Mignanti <c.mignanti@gmail.com>
|
||||
---
|
||||
drivers/mmc/atmel_mci.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/drivers/mmc/atmel_mci.c b/drivers/mmc/atmel_mci.c
|
||||
index 3946ffe..628aac9 100644
|
||||
--- a/drivers/mmc/atmel_mci.c
|
||||
+++ b/drivers/mmc/atmel_mci.c
|
||||
@@ -67,7 +67,7 @@ static void mci_set_mode(unsigned long hz, unsigned long blklen)
|
||||
unsigned long bus_hz;
|
||||
unsigned long clkdiv;
|
||||
|
||||
- bus_hz = get_mci_clk_rate();
|
||||
+ bus_hz = get_mck_clk_rate();
|
||||
clkdiv = (bus_hz / hz) / 2 - 1;
|
||||
|
||||
pr_debug("mmc: setting clock %lu Hz, block size %lu\n",
|
||||
--
|
||||
1.7.0.4
|
||||
|
Loading…
Reference in New Issue
Block a user