[U-Boot] [PATCH v3] Seagate FreeAgent DockStar support

Prafulla Wadaskar prafulla at marvell.com
Mon Nov 22 06:37:18 CET 2010



> -----Original Message-----
> From: u-boot-bounces at lists.denx.de [mailto:u-boot-bounces at lists.denx.de]
> On Behalf Of Eric Cooper
> Sent: Monday, November 22, 2010 2:59 AM
> To: u-boot at lists.denx.de
> Subject: [U-Boot] [PATCH v3] Seagate FreeAgent DockStar support
> 
> start with sheevaplug configuration
> add modifications by Alexander Holler <holler at ahsoftware.de>
>     change RAM definitions to one bank (128 MB)
>     change ident string and prompt
>     change environment to 0xA0000
> define MTD partitions and default environment variables
> add support for LEDs
> 
> Signed-off-by: Eric Cooper <ecc at cmu.edu>
> ---
> Changes for v2:
>   - rebased on master, post ARM and kirkwood relocation changes
>   - squashed into single commit
> 
> Changes for v3:
>   - moved files to board/Seagate/dockstar/ and updated copyright notices
>   - removed dockstar entry from MAKEALL
>   - moved CONFIG_SYS_TEXT_BASE from config.mk to
> include/configs/dockstar.h
>   - corrected comment in  board/Seagate/dockstar/kwbimage.cfg
> 
>  MAINTAINERS                         |    4 +
>  board/Seagate/dockstar/Makefile     |   54 +++++++++++
>  board/Seagate/dockstar/dockstar.c   |  181
> +++++++++++++++++++++++++++++++++++
>  board/Seagate/dockstar/dockstar.h   |   44 +++++++++
>  board/Seagate/dockstar/kwbimage.cfg |  165
> +++++++++++++++++++++++++++++++
>  boards.cfg                          |    1 +
>  include/configs/dockstar.h          |  125 ++++++++++++++++++++++++
>  7 files changed, 574 insertions(+), 0 deletions(-)
>  create mode 100644 board/Seagate/dockstar/Makefile
>  create mode 100644 board/Seagate/dockstar/dockstar.c
>  create mode 100644 board/Seagate/dockstar/dockstar.h
>  create mode 100644 board/Seagate/dockstar/kwbimage.cfg
>  create mode 100644 include/configs/dockstar.h
> 
...snip...
> diff --git a/board/Seagate/dockstar/kwbimage.cfg
> b/board/Seagate/dockstar/kwbimage.cfg
> new file mode 100644
> index 0000000..98b514d
> --- /dev/null
> +++ b/board/Seagate/dockstar/kwbimage.cfg
> @@ -0,0 +1,165 @@
> +#
> +# Copyright (C) 2010  Eric C. Cooper <ecc at cmu.edu>
> +#
> +# Based on sheevaplug/kwbimage.cfg originally written by
> +# Prafulla Wadaskar <prafulla at marvell.com>
> +# (C) Copyright 2009
> +# Marvell Semiconductor <www.marvell.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., 51 Franklin Street, Fifth Floor, Boston,
> +# MA 02110-1301 USA
> +#
> +# Refer docs/README.kwimage for more details about how-to configure
> +# and create kirkwood boot image
> +#
> +
> +# Boot Media configurations
> +BOOT_FROM	nand
> +NAND_ECC_MODE	default
> +NAND_PAGE_SIZE	0x0800

Are the contents for this file exactly same as sheevaplug/kwbimage.cfg?
If yes then you can reuse that file and avoid adding this file here by using configuration in board config file.

...snip...
> diff --git a/boards.cfg b/boards.cfg
> index 08e531e..50e9d1b 100644
> --- a/boards.cfg
> +++ b/boards.cfg
> @@ -376,6 +376,7 @@ guruplug	arm	arm926ejs	-		Marvell
> 	kirkwood
>  mv88f6281gtw_ge	arm	arm926ejs	-		Marvell		kirkwood
>  openrd_base	arm	arm926ejs	-		Marvell		kirkwood
>  sheevaplug	arm	arm926ejs	-		Marvell		kirkwood
> +dockstar	arm	arm926ejs	-		Seagate		Kirkwood

Please check if you have missed to maintain this in order

>  imx27lite	arm	arm926ejs	imx27lite	logicpd		mx27
>  magnesium	arm	arm926ejs	imx27lite	logicpd		mx27
>  omap5912osk	arm	arm926ejs	-		ti		omap
> diff --git a/include/configs/dockstar.h b/include/configs/dockstar.h
> new file mode 100644
> index 0000000..5a058b6
> --- /dev/null
> +++ b/include/configs/dockstar.h
> @@ -0,0 +1,125 @@
> +/*
> + * Copyright (C) 2010  Eric C. Cooper <ecc at cmu.edu>
> + *
> + * Based on sheevaplug.h originally written by
> + * Prafulla Wadaskar <prafulla at marvell.com>
> + * (C) Copyright 2009
> + * Marvell Semiconductor <www.marvell.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., 51 Franklin Street, Fifth Floor, Boston,
> + * MA 02110-1301 USA
> + */
> +
> +#ifndef _CONFIG_DOCKSTAR_H
> +#define _CONFIG_DOCKSTAR_H
> +
> +/*
> + * Version number information
> + */
> +#define CONFIG_IDENT_STRING	"\nSeagate FreeAgent DockStar"
> +
> +/*
> + * High Level Configuration Options (easy to change)
> + */
> +#define CONFIG_FEROCEON_88FR131	1	/* CPU Core subversion */
> +#define CONFIG_KIRKWOOD		1	/* SOC Family Name */
> +#define CONFIG_KW88F6281	1	/* SOC Name */
> +#define CONFIG_MACH_DOCKSTAR	/* Machine type */
> +#define CONFIG_SKIP_LOWLEVEL_INIT	/* disable board lowlevel_init */
> +
> +/*
> + * Commands configuration
> + */
> +#define CONFIG_SYS_NO_FLASH		/* Declare no flash (NOR/SPI) */
> +#include <config_cmd_default.h>
> +#define CONFIG_CMD_DHCP
> +#define CONFIG_CMD_ENV
> +#define CONFIG_CMD_MII
> +#define CONFIG_CMD_NAND
> +#define CONFIG_CMD_PING
> +#define CONFIG_CMD_USB
> +/*
> + * mv-common.h should be defined after CMD configs since it used them
> + * to enable certain macros
> + */
> +#include "mv-common.h"
> +
> +#undef CONFIG_SYS_PROMPT	/* previously defined in mv-common.h */
> +#define CONFIG_SYS_PROMPT	"DockStar> "	/* Command Prompt */
> +
> +/*
> + *  Environment variables configurations
> + */
> +#ifdef CONFIG_CMD_NAND
> +#define CONFIG_ENV_IS_IN_NAND		1
> +#define CONFIG_ENV_SECT_SIZE		0x20000	/* 128K */
> +#else
> +#define CONFIG_ENV_IS_NOWHERE		1	/* if env in SDRAM */
> +#endif
> +/*
> + * max 4k env size is enough, but in case of nand
> + * it has to be rounded to sector size
> + */
> +#define CONFIG_ENV_SIZE			0x20000	/* 128k */
> +#define CONFIG_ENV_ADDR			0xA0000
> +#define CONFIG_ENV_OFFSET		0xA0000	/* env starts here */

u-boot.bin is not more than 0x60000, its better to use env offset at 0x60000 to pack u-boot+env in first 512kb

Regards..
Prafulla . .


More information about the U-Boot mailing list