[U-Boot] [PATCH 2/4 v4] arm: add support for the suen3 board from keymile
Heiko Schocher
hs at denx.de
Fri Feb 12 09:05:56 CET 2010
This patch adds support for the Keymile suen3 board which
is based on the Marvell Kirkwood (88F6281) SoC. As this
is a variant of the mgcoge2_arm_p1a board, this board
also uses common code stored in board/keymile/km_arm/km_arm.c
Signed-off-by: Heiko Schocher <hs at denx.de>
---
- changes since v1:
added comments from Wolfgang Denk:
get rid of flash_info_t define in board config
(to get this working patch 1/2 is introduced/needed)
- changes since v2:
added comments from Wolfgang Denk
- rearranged if/else in do_spi_toggle()
- added I/O accessor functions for bootcounter
- changes since v3:
added comment Scott Wood
- removed nand_init in do_spi_toggle()
added comments from Prafulla Wadagaskar
- km-arm.h renamed to km_arm.h
- reworked eeprom_write_enable() (deleted it)
(when reviewing this function, it cropped up, that
this pin is connected through a gpio pin, not as
in previous version, through the boco (a FPGA))
- moved set_sda(), set_scl(), get_sda(), get_scl()
to km_arm.c
- split patch in 4 patches (for each board an extra patch)
- renamed sdramregs.txt in kwbimage.cfg, also license
info added.
MAINTAINERS | 1 +
MAKEALL | 1 +
Makefile | 3 +
include/configs/suen3.h | 103 +++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 108 insertions(+), 0 deletions(-)
create mode 100644 include/configs/suen3.h
diff --git a/MAINTAINERS b/MAINTAINERS
index eda15c8..ab27afc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -411,6 +411,7 @@ Heiko Schocher <hs at denx.de>
muas3001 MPC8270
municse MPC5200
sc3 PPC405GP
+ suen3 ARM926EJS (Kirkwood SoC)
uc101 MPC5200
diff --git a/MAKEALL b/MAKEALL
index 1c18734..7577ea5 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -580,6 +580,7 @@ LIST_ARM9=" \
spear310 \
spear320 \
spear600 \
+ suen3 \
trab \
VCMA9 \
versatile \
diff --git a/Makefile b/Makefile
index 990f932..3ea2b53 100644
--- a/Makefile
+++ b/Makefile
@@ -3050,6 +3050,9 @@ spear320_config : unconfig
spear600_config : unconfig
@$(MKCONFIG) -n $@ -t $(@:_config=) spear6xx arm arm926ejs $(@:_config=) spear spear
+suen3_config: unconfig
+ @$(MKCONFIG) $(@:_config=) arm arm926ejs km_arm keymile kirkwood
+
SX1_stdout_serial_config \
SX1_config: unconfig
@mkdir -p $(obj)include
diff --git a/include/configs/suen3.h b/include/configs/suen3.h
new file mode 100644
index 0000000..b2730a3
--- /dev/null
+++ b/include/configs/suen3.h
@@ -0,0 +1,103 @@
+/*
+ * (C) Copyright 2009
+ * Marvell Semiconductor <www.marvell.com>
+ * Prafulla Wadaskar <prafulla at marvell.com>
+ *
+ * (C) Copyright 2009
+ * Stefan Roese, DENX Software Engineering, sr at denx.de.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+/*
+ * for linking errors see
+ * http://lists.denx.de/pipermail/u-boot/2009-July/057350.html
+ */
+
+#ifndef _CONFIG_SUEN3_H
+#define _CONFIG_SUEN3_H
+
+/* include common defines/options for all arm based Keymile boards */
+#include "km_arm.h"
+
+/*
+ * Version number information
+ */
+#define CONFIG_IDENT_STRING "\nKeymile SUEN3"
+
+#define CONFIG_HOSTNAME suen3
+
+/*
+ * Environment variables configurations
+ */
+#define CONFIG_ENV_IS_IN_EEPROM /* use EEPROM for environment vars */
+#define CONFIG_SYS_DEF_EEPROM_ADDR 0x50
+#define CONFIG_ENV_EEPROM_IS_ON_I2C 1
+#define CONFIG_SYS_EEPROM_WREN 1
+#define CONFIG_ENV_OFFSET 0x0 /* no bracets! */
+#undef CONFIG_ENV_SIZE
+#define CONFIG_ENV_SIZE (0x2000 - CONFIG_ENV_OFFSET)
+#define CONFIG_I2C_ENV_EEPROM_BUS "pca9547:70:d\0"
+
+/* offset redund: (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) */
+#define CONFIG_SYS_REDUNDAND_ENVIRONMENT
+#define CONFIG_ENV_OFFSET_REDUND 0x2000 /* no bracets! */
+#define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE)
+
+#define CONFIG_CMD_SF
+
+#define CONFIG_SPI_FLASH
+#define CONFIG_HARD_SPI
+#define CONFIG_KIRKWOOD_SPI
+#define CONFIG_SPI_FLASH_STMICRO
+#define CONFIG_ENV_SPI_BUS 0
+#define CONFIG_ENV_SPI_CS 0
+#define CONFIG_ENV_SPI_MAX_HZ 50000000 /* 50Mhz */
+
+#define FLASH_GPIO_PIN 0x00010000
+
+#define MTDIDS_DEFAULT "nand0=orion_nand"
+/* test-only: partitioning needs some tuning, this is just for tests */
+#define MTDPARTS_DEFAULT "mtdparts=" \
+ "orion_nand:" \
+ "-(" CONFIG_KM_UBI_PARTITION_NAME ")"
+
+#define CONFIG_KM_DEF_ENV_UPDATE \
+ "update=" \
+ "spi on;sf probe 0;sf erase 0 50000;" \
+ "sf write ${u-boot_addr_r} 0 ${filesize};" \
+ "spi off\0"
+
+/*
+ * Default environment variables
+ */
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ CONFIG_KM_DEF_ENV \
+ "memsize=0x8000000\0" \
+ "newenv=setenv addr 0x100000 && " \
+ "i2c dev 1; mw.b ${addr} 0 4 && " \
+ "eeprom write " xstr(CONFIG_SYS_DEF_EEPROM_ADDR) \
+ " ${addr} " xstr(CONFIG_ENV_OFFSET) " 4 && " \
+ "eeprom write " xstr(CONFIG_SYS_DEF_EEPROM_ADDR) \
+ " ${addr} " xstr(CONFIG_ENV_OFFSET_REDUND) " 4\0" \
+ "rootpath=/opt/eldk/arm\0" \
+ "EEprom_ivm=pca9544a:70:9\0" \
+ ""
+
+#endif /* _CONFIG_SUEN3_H */
--
1.6.2.5
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the U-Boot
mailing list