at91: Remove u-boot from platform images folder

Removes the bootloader from the images section as its now in packages/boot
with the others.

Signed-off-by: Ben Whitten <ben.whitten@gmail.com>
master
Ben Whitten 9 years ago committed by Jo-Philipp Wich
parent 6b31c4cb38
commit 6638946f99
  1. 27
      target/linux/at91/image/Config.in
  2. 10
      target/linux/at91/image/Makefile
  3. 51
      target/linux/at91/image/u-boot/Makefile
  4. 574
      target/linux/at91/image/u-boot/patches/100-netusg20.patch
  5. 24
      target/linux/at91/image/u-boot/patches/200-clock.patch
  6. 15
      target/linux/at91/image/u-boot/ubclient/Makefile
  7. 135
      target/linux/at91/image/u-boot/ubclient/ubpar.c

@ -3,33 +3,6 @@ config AT91_DFBOOT
depends on TARGET_at91 depends on TARGET_at91
default n default n
config AT91_UBOOT
bool "Build U-Boot bootloader"
depends on TARGET_at91
default n
config UBOOT_TARGET
string "U-Boot target board"
depends on AT91_UBOOT
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 on AT91_UBOOT
default "192.168.0.178"
help
IP address of device to be used in U-Boot
config UBOOT_SERVERIP
string "IP Address of TFTP server"
depends on AT91_UBOOT
default "192.168.0.232"
help
IP address of TFTP server for U-Boot
config FLEXIBITY_ROOT config FLEXIBITY_ROOT
bool "Build Flexibity RootFS (with embedded kernel)" bool "Build Flexibity RootFS (with embedded kernel)"
depends on TARGET_at91_flexibity depends on TARGET_at91_flexibity

@ -13,16 +13,6 @@ UBI_OPTS = -m 2048 -p 128KiB -s 512
AT91SAMA5D3XPLAINED_UBIFS_OPTS = -m 2048 -e 124KiB -c 2048 AT91SAMA5D3XPLAINED_UBIFS_OPTS = -m 2048 -e 124KiB -c 2048
AT91SAMA5D3XPLAINED_UBI_OPTS = -m 2048 -p 128KiB -s 2048 AT91SAMA5D3XPLAINED_UBI_OPTS = -m 2048 -p 128KiB -s 2048
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 define Image/Prepare
cp $(LINUX_DIR)/arch/arm/boot/Image $(KDIR)/Image cp $(LINUX_DIR)/arch/arm/boot/Image $(KDIR)/Image
cp $(LINUX_DIR)/arch/arm/boot/zImage $(KDIR)/zImage cp $(LINUX_DIR)/arch/arm/boot/zImage $(KDIR)/zImage

@ -1,51 +0,0 @@
#
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=u-boot
PKG_VERSION:=2010.06
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot
PKG_MD5SUM:=
PKG_CAT:=bzcat
include $(INCLUDE_DIR)/package.mk
UBOOT_CONFIG=$(call qstrip,$(CONFIG_UBOOT_TARGET))
LAN_IP=$(call qstrip,$(CONFIG_UBOOT_IPADDR))
LAN_SERVERIP=$(call qstrip,$(CONFIG_UBOOT_SERVERIP))
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) $(UBOOT_CONFIG)_config
export CROSS_COMPILE=$(TARGET_CROSS); \
export LAN_IP=$(LAN_IP); \
export LAN_SERVERIP=$(LAN_SERVERIP); \
$(MAKE) -C $(PKG_BUILD_DIR)
mkdir -p $(PKG_BUILD_DIR)/ubclient
$(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"
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
mkdir -p $(BIN_DIR)/
cp $(PKG_BUILD_DIR)/u-boot.bin $(BIN_DIR)/u-boot.$(PKG_VERSION).bin
endef
$(eval $(call Build/DefaultTargets))

@ -1,574 +0,0 @@
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

@ -1,24 +0,0 @@
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

@ -1,15 +0,0 @@
#
all: ubpar
crc32.c:
ln -s ../lib_generic/crc32.c ./
%.o: %.c
$(CC) -I ../include $(CFLAGS) $(EXTRA_FLAGS) -DLAN_IP=$(LAN_IP) -DLAN_SERVERIP=$(LAN_SERVERIP) -c -o $@ $^
ubpar: ubpar.o crc32.o
$(CC) -o $@ $^
clean:
rm -f *.o ubpar

@ -1,135 +0,0 @@
/*
* 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
#ifdef LAN_IP
#warning LAN_IP
#else
#warning LAN_IP NOT DEFINED
#endif
#ifdef LAN_SERVERIP
#warning LAN_SERVERIP
#else
#warning LAN_SERVERIP NOT DEFINED
#endif
static char *environment[] = {
"bootdelay=3\0"
"baudrate=115200\0"
"stdin=serial\0"
"stdout=serial\0"
"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 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"
"ipaddr=" MK_STR(LAN_IP) "\0"
"serverip=" MK_STR(LAN_SERVERIP) "\0"
"\0"
};
int main(int argc, char *argv[]) {
env_t *envptr;
char *src, *srcptr;
char *dataptr;
FILE *params;
int argfail = 1;
char newmac[30];
char newser[30];
int paramlen = 0;
int progmac = 0;
int progser = 0;
if (argc < 3) {
printf ("Invalid arguments\n");
return 1;
}
switch (argc) {
case 5:
if (strcmp(argv[3], "--serial") == 0) {
argfail = 0;
sprintf(newser, "serial#=%s", argv[4]);
progser = 1;
}
case 3:
if (strcmp(argv[1], "--mac") == 0) {
argfail = 0;
sprintf(newmac, "ethaddr=%s", argv[2]);
progmac = 1;
}
else
argfail = 1;
}
if (argfail) {
printf("Invalid arguments\n");
return 1;
}
src = srcptr = *environment;
envptr = (env_t *)malloc(CFG_ENV_SIZE);
dataptr = (char *)envptr + ENV_HEADER_SIZE;
while(*srcptr) {
//printf("%d, %s\n", strlen(srcptr), srcptr);
paramlen += strlen(srcptr) + 1;
srcptr += strlen(srcptr) + 1;
}
printf("Make u-boot params\n");
printf("Params size is %d\n", CFG_ENV_SIZE);
memset(envptr, 0, CFG_ENV_SIZE);
memcpy(dataptr, src, paramlen);
dataptr += paramlen;
if (progmac) {
memcpy(dataptr, newmac, strlen(newmac));
dataptr += strlen(newmac) + 1;
}
if (progser) {
memcpy(dataptr, newser, strlen(newser));
dataptr += strlen(newser) + 1;
}
envptr->crc = crc32(0, envptr->data, ENV_SIZE);
params = fopen("/dev/mtd1", "w");
fwrite(envptr, CFG_ENV_SIZE, 1, params);
fclose(params);
free(envptr);
return 0;
}
Loading…
Cancel
Save