Patchwork [U-Boot,v2,7/7] Armada100: Add Board Support for Marvell Aspenite-DB

login
register
mail settings
Submitter Prafulla Wadaskar
Date Nov. 30, 2010, 11:02 a.m.
Message ID <1291114965-17100-8-git-send-email-prafulla@marvell.com>
Download mbox | patch
Permalink /patch/73571/
State Superseded
Headers show

Comments

Lei Wen - Nov. 30, 2010, 9:38 a.m.
Hi Prafulla,

On Tue, Nov 30, 2010 at 7:02 PM, Prafulla Wadaskar <prafulla@marvell.com> wrote:
> From: Prafulla WADASKAR <prafulla@marvell.com>
>
> Aspenite is a Development Board for ASPEN/ARMADA168(88AP168) with
>        * Processor upto 1.2GHz
>        * Parallel 1Gb x8 DDR2-1066 MHz
>        * 16 Mb x16 NOR, 4Gb x8 SLC NAND, footprint for SPI NOR
>        * Footprints for eMMC/eSD NAND & MMC x8 card
>        * 4-in-1 card reader (xD, MMC/SD/MS Pro), CF True IDE socket
>        * SEAF memory board, subset of PISMO2
>    With Peripherals:
>        * 4.3” WVGA 24-bit LCD
>        * Audio codecs (AC97 & I2S), TSI
>        * VGA camera
>        * Video in via 3 RCA jacks, and HDMI type C out
>        * Marvell 88W8688 802.11bg/BT module
>        * GPS RF IC
>        * Dual analog mics & speakers, headset jack, LED, ambient light sensor
>        * USB2.0 HS host  (A), OTG (micro AB)
>        * FE PHY, PCIE Mini Card  slot
>        * GPIO, GPIO expander with DIP switches for easier selection UART serial over USB, CIR
>
> This patch adds basic board support with DRAM and UART functionality
> The patch is tested for boot from DRAM using XDB
>
> Signed-off-by: Mahavir Jain <mjain@marvell.com>
> Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
> ---
> Change log for v2:
> used mv-common.h
> defined CONFIG_SYS_NS16550_IER macro in Soc heder file
> removed config.mk
>
>  MAINTAINERS                       |    1 +
>  MAKEALL                           |    1 +
>  board/Marvell/aspenite/Makefile   |   52 +++++++++++++++++++++++++++++
>  board/Marvell/aspenite/aspenite.c |   53 ++++++++++++++++++++++++++++++
>  boards.cfg                        |    1 +
>  include/configs/aspenite.h        |   65 +++++++++++++++++++++++++++++++++++++
>  6 files changed, 173 insertions(+), 0 deletions(-)
>  create mode 100644 board/Marvell/aspenite/Makefile
>  create mode 100644 board/Marvell/aspenite/aspenite.c
>  create mode 100644 include/configs/aspenite.h
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 9bf52fa..66f8585 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -838,6 +838,7 @@ Matt Waddel <matt.waddel@linaro.org>
>
>  Prafulla Wadaskar <prafulla@marvell.com>
>
> +       aspenite        ARM926EJS (ARMADA100 88AP168 SoC)
>        mv88f6281gtw_ge ARM926EJS (Kirkwood SoC)
>        rd6281a         ARM926EJS (Kirkwood SoC)
>        sheevaplug      ARM926EJS (Kirkwood SoC)
> diff --git a/MAKEALL b/MAKEALL
> index 767d561..e83c9d7 100755
> --- a/MAKEALL
> +++ b/MAKEALL
> @@ -326,6 +326,7 @@ LIST_ARM9="                 \
>        ap926ejs                \
>        ap946es                 \
>        ap966                   \
> +       aspenite                \
>        cp920t                  \
>        cp922_XA10              \
>        cp926ejs                \
> diff --git a/board/Marvell/aspenite/Makefile b/board/Marvell/aspenite/Makefile
> new file mode 100644
> index 0000000..cb1b65f
> --- /dev/null
> +++ b/board/Marvell/aspenite/Makefile
> @@ -0,0 +1,52 @@
> +#
> +# (C) Copyright 2010
> +# Marvell Semiconductor <www.marvell.com>
> +# Written-by: Prafulla Wadaskar <prafulla@marvell.com>
> +# Contributor: Mahavir Jain <mjain@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
> +#
> +
> +include $(TOPDIR)/config.mk
> +
> +LIB     = $(obj)lib$(BOARD).o
> +
> +COBJS  := aspenite.o
> +
> +SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
> +OBJS   := $(addprefix $(obj),$(COBJS))
> +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 .depend
> +
> +#########################################################################
> +
> +# defines $(obj).depend target
> +include $(SRCTREE)/rules.mk
> +
> +sinclude $(obj).depend
> +
> +#########################################################################
> diff --git a/board/Marvell/aspenite/aspenite.c b/board/Marvell/aspenite/aspenite.c
> new file mode 100644
> index 0000000..e7bc3eb
> --- /dev/null
> +++ b/board/Marvell/aspenite/aspenite.c
> @@ -0,0 +1,53 @@
> +/*
> + * (C) Copyright 2010
> + * Marvell Semiconductor <www.marvell.com>
> + * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
> + * Contributor: Mahavir Jain <mjain@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
> + */
> +
> +#include <common.h>
> +#include <mfp.h>
> +#include <asm/arch/mfp.h>
> +#include <asm/arch/armada100.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +int board_early_init_f(void)
> +{
> +       u32 mfp_cfg[] = {
> +               /* Enable Console on UART1 */
> +               MFP107_UART1_RXD,
> +               MFP108_UART1_TXD,
> +               MFP_EOC         /*End of configureation*/
> +       };
> +       /* configure MFP's */
> +       mfp_config(mfp_cfg);
> +       return 0;
> +}
> +
> +int board_init(void)
> +{
> +       /* arch number of Board */
> +       gd->bd->bi_arch_number = MACH_TYPE_ASPENITE;
> +       /* adress of boot parameters */
> +       gd->bd->bi_boot_params = armd1_sdram_base(0) + 0x100;
> +       return 0;
> +}
> diff --git a/boards.cfg b/boards.cfg
> index 67b2efd..808454d 100644
> --- a/boards.cfg
> +++ b/boards.cfg
> @@ -68,6 +68,7 @@ smdk2410                     arm         arm920t     -                   samsung
>  netstar                      arm         arm925t
>  voiceblue                    arm         arm925t
>  omap1510inn                  arm         arm925t     -                   ti
> +aspenite                     arm         arm926ejs   -                   Marvell        armada100
>  afeb9260                     arm         arm926ejs   -                   -              at91
>  at91cap9adk                  arm         arm926ejs   -                   atmel          at91
>  meesc                        arm         arm926ejs   -                   esd            at91
> diff --git a/include/configs/aspenite.h b/include/configs/aspenite.h
> new file mode 100644
> index 0000000..8c1823f
> --- /dev/null
> +++ b/include/configs/aspenite.h
> @@ -0,0 +1,65 @@
> +/*
> + * (C) Copyright 2010
> + * Marvell Semiconductor <www.marvell.com>
> + * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
> + * Contributor: Mahavir Jain <mjain@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_ASPENITE_H
> +#define __CONFIG_ASPENITE_H
> +
> +/*
> + * Version number information
> + */
> +#define CONFIG_IDENT_STRING    "\nMarvell-Aspenite DB"
> +
> +/*
> + * High Level Configuration Options
> + */
> +#define CONFIG_SHEEVA_88SV331xV5       1       /* CPU Core subversion */
> +#define CONFIG_ARMADA100               1       /* SOC Family Name */
> +#define CONFIG_ARMADA168               1       /* SOC Used on this Board */
> +#define CONFIG_MACH_ASPENITE                   /* 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_AUTOSCRIPT
> +#undef CONFIG_CMD_NET
> +#undef CONFIG_CMD_NFS
> +/*
> + * mv-common.h should be defined after CMD configs since it used them
> + * to enable certain macros
> + */
> +#include "mv-common.h"
> +
> +/*
> + * Environment variables configurations
> + */
> +#define CONFIG_ENV_IS_NOWHERE  1       /* if env in SDRAM */
> +#define CONFIG_ENV_SIZE        0x20000 /* 64k */
> +
snip..

> +#define DEBUG  /* Fix it: if removed system hanges after DRAM init */

I think you could need to remove this configure, or the uboot could be
brought up with a lot of debug message.

Best regards,
Lei
Prafulla Wadaskar - Nov. 30, 2010, 9:50 a.m.
> -----Original Message-----
> From: Lei Wen [mailto:adrian.wenl@gmail.com]
> Sent: Tuesday, November 30, 2010 3:09 PM
> To: Prafulla Wadaskar
> Cc: u-boot@lists.denx.de; Eric Miao; Manas Saksena; Lei Wen; Yu Tang;
> Ashish Karkare; Kiran Vedere; Prabhanjan Sarnaik
> Subject: Re: [U-Boot] [PATCH v2 7/7] Armada100: Add Board Support for
> Marvell Aspenite-DB
...snip...
> > +#include "mv-common.h"
> > +
> > +/*
> > + * Environment variables configurations
> > + */
> > +#define CONFIG_ENV_IS_NOWHERE  1       /* if env in SDRAM */
> > +#define CONFIG_ENV_SIZE        0x20000 /* 64k */
> > +
> snip..
> 
> > +#define DEBUG  /* Fix it: if removed system hanges after DRAM init */
> 
> I think you could need to remove this configure, or the uboot could be
> brought up with a lot of debug message.

Yes, that is next to be fixed.
But this is basic support and does not have annoying result

Regards..
Prafulla ..
Prafulla Wadaskar - Nov. 30, 2010, 11:02 a.m.
From: Prafulla WADASKAR <prafulla@marvell.com>

Aspenite is a Development Board for ASPEN/ARMADA168(88AP168) with
	* Processor upto 1.2GHz
        * Parallel 1Gb x8 DDR2-1066 MHz
        * 16 Mb x16 NOR, 4Gb x8 SLC NAND, footprint for SPI NOR
        * Footprints for eMMC/eSD NAND & MMC x8 card
        * 4-in-1 card reader (xD, MMC/SD/MS Pro), CF True IDE socket
        * SEAF memory board, subset of PISMO2
    With Peripherals:
        * 4.3” WVGA 24-bit LCD
        * Audio codecs (AC97 & I2S), TSI
        * VGA camera
        * Video in via 3 RCA jacks, and HDMI type C out
        * Marvell 88W8688 802.11bg/BT module
        * GPS RF IC
        * Dual analog mics & speakers, headset jack, LED, ambient light sensor
        * USB2.0 HS host  (A), OTG (micro AB)
        * FE PHY, PCIE Mini Card  slot
        * GPIO, GPIO expander with DIP switches for easier selection UART serial over USB, CIR

This patch adds basic board support with DRAM and UART functionality
The patch is tested for boot from DRAM using XDB

Signed-off-by: Mahavir Jain <mjain@marvell.com>
Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
---
Change log for v2:
used mv-common.h
defined CONFIG_SYS_NS16550_IER macro in Soc heder file
removed config.mk

 MAINTAINERS                       |    1 +
 MAKEALL                           |    1 +
 board/Marvell/aspenite/Makefile   |   52 +++++++++++++++++++++++++++++
 board/Marvell/aspenite/aspenite.c |   53 ++++++++++++++++++++++++++++++
 boards.cfg                        |    1 +
 include/configs/aspenite.h        |   65 +++++++++++++++++++++++++++++++++++++
 6 files changed, 173 insertions(+), 0 deletions(-)
 create mode 100644 board/Marvell/aspenite/Makefile
 create mode 100644 board/Marvell/aspenite/aspenite.c
 create mode 100644 include/configs/aspenite.h

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index 9bf52fa..66f8585 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -838,6 +838,7 @@  Matt Waddel <matt.waddel@linaro.org>
 
 Prafulla Wadaskar <prafulla@marvell.com>
 
+	aspenite	ARM926EJS (ARMADA100 88AP168 SoC)
 	mv88f6281gtw_ge	ARM926EJS (Kirkwood SoC)
 	rd6281a		ARM926EJS (Kirkwood SoC)
 	sheevaplug	ARM926EJS (Kirkwood SoC)
diff --git a/MAKEALL b/MAKEALL
index 767d561..e83c9d7 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -326,6 +326,7 @@  LIST_ARM9="			\
 	ap926ejs		\
 	ap946es			\
 	ap966			\
+	aspenite		\
 	cp920t			\
 	cp922_XA10		\
 	cp926ejs		\
diff --git a/board/Marvell/aspenite/Makefile b/board/Marvell/aspenite/Makefile
new file mode 100644
index 0000000..cb1b65f
--- /dev/null
+++ b/board/Marvell/aspenite/Makefile
@@ -0,0 +1,52 @@ 
+#
+# (C) Copyright 2010
+# Marvell Semiconductor <www.marvell.com>
+# Written-by: Prafulla Wadaskar <prafulla@marvell.com>
+# Contributor: Mahavir Jain <mjain@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
+#
+
+include $(TOPDIR)/config.mk
+
+LIB     = $(obj)lib$(BOARD).o
+
+COBJS	:= aspenite.o
+
+SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+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 .depend
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/Marvell/aspenite/aspenite.c b/board/Marvell/aspenite/aspenite.c
new file mode 100644
index 0000000..e7bc3eb
--- /dev/null
+++ b/board/Marvell/aspenite/aspenite.c
@@ -0,0 +1,53 @@ 
+/*
+ * (C) Copyright 2010
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
+ * Contributor: Mahavir Jain <mjain@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
+ */
+
+#include <common.h>
+#include <mfp.h>
+#include <asm/arch/mfp.h>
+#include <asm/arch/armada100.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+int board_early_init_f(void)
+{
+	u32 mfp_cfg[] = {
+		/* Enable Console on UART1 */
+		MFP107_UART1_RXD,
+		MFP108_UART1_TXD,
+		MFP_EOC		/*End of configureation*/
+	};
+	/* configure MFP's */
+	mfp_config(mfp_cfg);
+	return 0;
+}
+
+int board_init(void)
+{
+	/* arch number of Board */
+	gd->bd->bi_arch_number = MACH_TYPE_ASPENITE;
+	/* adress of boot parameters */
+	gd->bd->bi_boot_params = armd1_sdram_base(0) + 0x100;
+	return 0;
+}
diff --git a/boards.cfg b/boards.cfg
index 67b2efd..808454d 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -68,6 +68,7 @@  smdk2410                     arm         arm920t     -                   samsung
 netstar                      arm         arm925t
 voiceblue                    arm         arm925t
 omap1510inn                  arm         arm925t     -                   ti
+aspenite                     arm         arm926ejs   -                   Marvell        armada100
 afeb9260                     arm         arm926ejs   -                   -              at91
 at91cap9adk                  arm         arm926ejs   -                   atmel          at91
 meesc                        arm         arm926ejs   -                   esd            at91
diff --git a/include/configs/aspenite.h b/include/configs/aspenite.h
new file mode 100644
index 0000000..8c1823f
--- /dev/null
+++ b/include/configs/aspenite.h
@@ -0,0 +1,65 @@ 
+/*
+ * (C) Copyright 2010
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
+ * Contributor: Mahavir Jain <mjain@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_ASPENITE_H
+#define __CONFIG_ASPENITE_H
+
+/*
+ * Version number information
+ */
+#define CONFIG_IDENT_STRING	"\nMarvell-Aspenite DB"
+
+/*
+ * High Level Configuration Options
+ */
+#define CONFIG_SHEEVA_88SV331xV5	1	/* CPU Core subversion */
+#define CONFIG_ARMADA100		1	/* SOC Family Name */
+#define CONFIG_ARMADA168		1	/* SOC Used on this Board */
+#define CONFIG_MACH_ASPENITE			/* 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_AUTOSCRIPT
+#undef CONFIG_CMD_NET
+#undef CONFIG_CMD_NFS
+/*
+ * mv-common.h should be defined after CMD configs since it used them
+ * to enable certain macros
+ */
+#include "mv-common.h"
+
+/*
+ * Environment variables configurations
+ */
+#define CONFIG_ENV_IS_NOWHERE	1	/* if env in SDRAM */
+#define CONFIG_ENV_SIZE	0x20000	/* 64k */
+
+#define DEBUG	/* Fix it: if removed system hanges after DRAM init */
+
+#endif	/* __CONFIG_ASPENITE_H */