[U-Boot] [PATCH 4/4] arm/kirkwood: Add Keymile SUEN3 support

Prafulla Wadaskar prafulla at marvell.com
Wed Jul 8 19:48:19 CEST 2009


 

> -----Original Message-----
> From: u-boot-bounces at lists.denx.de
> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Stefan Roese
> Sent: Wednesday, July 08, 2009 9:17 PM
> To: u-boot at lists.denx.de
> Subject: [U-Boot] [PATCH 4/4] arm/kirkwood: Add Keymile SUEN3 support
> 
> This patch adds support for the Keymile SUEN3 board which is based on 
> the Marvell Kirkwood (88F6281) SoC.
> 
> Signed-off-by: Stefan Roese <sr at denx.de>
> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ---
>  MAINTAINERS                       |    1 +
>  MAKEALL                           |    1 +
>  Makefile                          |    3 +
>  board/keymile/suen3/Makefile      |   51 +++++++++
>  board/keymile/suen3/config.mk     |   25 ++++
>  board/keymile/suen3/sdramregs.txt |   28 +++++
This file will be of no use until we have proposed bin_dep.sh and doimage utility in place. 

>  board/keymile/suen3/suen3.c       |  127 +++++++++++++++++++++
>  include/configs/suen3.h           |  221 
> +++++++++++++++++++++++++++++++++++++
>  8 files changed, 457 insertions(+), 0 deletions(-)  create mode 
> 100644 board/keymile/suen3/Makefile  create mode 100644 
> board/keymile/suen3/config.mk  create mode 100644 
> board/keymile/suen3/sdramregs.txt  create mode 100644 
> board/keymile/suen3/suen3.c  create mode 100644 
> include/configs/suen3.h
> 
> diff --git a/MAINTAINERS b/MAINTAINERS index 705bac5..ce117e1 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -637,6 +637,7 @@ Stefan Roese <sr at denx.de>
>  	ixdpg425	xscale
>  	pdnb3		xscale
>  	scpu		xscale
> +	suen3		ARM926EJS (Kirkwood SoC)
>  
>  Alessandro Rubini <rubini at unipv.it>
>  Nomadik Linux Team <STN_WMM_nomadik_linux at list.st.com>
> diff --git a/MAKEALL b/MAKEALL
> index 41f1445..6c80694 100755
> --- a/MAKEALL
> +++ b/MAKEALL
> @@ -524,6 +524,7 @@ LIST_ARM9="			\
>  	scb9328			\
>  	smdk2400		\
>  	smdk2410		\
> +	suen3			\
>  	trab			\
>  	VCMA9			\
>  	versatile		\
> diff --git a/Makefile b/Makefile
> index 2a06440..3afc4ba 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2925,6 +2925,9 @@ smdk2400_config	:	unconfig
>  smdk2410_config	:	unconfig
>  	@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0
>  
> +suen3_config: unconfig
> +	@$(MKCONFIG) $(@:_config=) arm arm926ejs $(@:_config=) keymile 
> +kirkwood
> +
>  SX1_stdout_serial_config \
>  SX1_config:		unconfig
>  	@mkdir -p $(obj)include
> diff --git a/board/keymile/suen3/Makefile 
> b/board/keymile/suen3/Makefile new file mode 100644 index
> 0000000..de05cc8
> --- /dev/null
> +++ b/board/keymile/suen3/Makefile
> @@ -0,0 +1,51 @@
> +#
> +# (C) Copyright 2009
> +# Marvell Semiconductor <www.marvell.com> # Prafulla Wadaskar 
> +<prafulla at marvell.com> # # See file CREDITS for list of people who 
> +contributed to this # project.
I think you forgot to change these lines :-)

> +#
> +# 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).a
> +
> +COBJS	:= suen3.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/keymile/suen3/config.mk 
> b/board/keymile/suen3/config.mk new file mode 100644 index 
> 0000000..fb29a1b
> --- /dev/null
> +++ b/board/keymile/suen3/config.mk
> @@ -0,0 +1,25 @@
> +#
> +# (C) Copyright 2009
> +# Marvell Semiconductor <www.marvell.com> # Prafulla Wadaskar 
> +<prafulla at marvell.com> # # See file CREDITS for list of people who 
> +contributed to this # project.
Here too

> +#
> +# 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 #
> +
> +TEXT_BASE = 0x00600000
> diff --git a/board/keymile/suen3/sdramregs.txt
> b/board/keymile/suen3/sdramregs.txt
> new file mode 100644
> index 0000000..74abb20
> --- /dev/null
> +++ b/board/keymile/suen3/sdramregs.txt
Under which license?

> @@ -0,0 +1,28 @@
> +0xFFD10000 0x01111111
> +0xFFD10008 0x00001100
> +0xFFD100E0 0x1B1B1B1B
> +0xFFD20134 0xBBBBBBBB
> +0xFFD20138 0x00BBBBBB
> +0xFFD20154 0x00000200
> +0xFFD2014C 0x00001C00
> +0xFFD20148 0x00000001
> +0xFFD01400 0x43000400
> +0xFFD01404 0x36343000
> +0xFFD01408 0x2302544B
> +0xFFD0140C 0x00000032
> +0xFFD01410 0x0000000D
> +0xFFD01414 0x00000000
> +0xFFD01418 0x00000000
> +0xFFD0141C 0x00000642
> +0xFFD01420 0x00000040
> +0xFFD01424 0x0000F07F
> +0xFFD01504 0x07FFFFF1
> +0xFFD01508 0x00000000
> +0xFFD0150C 0x00000000
> +0xFFD01514 0x00000000
> +0xFFD0151C 0x00000000
> +0xFFD01494 0x00000000
> +0xFFD01498 0x00000000
> +0xFFD0149C 0x0000E90F
> +0xFFD01480 0x00000001
> +0x0 0x0
> diff --git a/board/keymile/suen3/suen3.c b/board/keymile/suen3/suen3.c 
> new file mode 100644 index 0000000..231745f
> --- /dev/null
> +++ b/board/keymile/suen3/suen3.c
> @@ -0,0 +1,127 @@
> +/*
> + * (C) Copyright 2009
> + * Marvell Semiconductor <www.marvell.com>
> + * Prafulla Wadaskar <prafulla at marvell.com>
Here too
> + *
> + * (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
> + */
> +
> +#include <common.h>
> +#include <netdev.h>
> +#include <miiphy.h>
> +#include <asm/arch/kirkwood.h>
> +#include <asm/arch/mpp.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +int board_init(void)
> +{
> +	/* Multi-Purpose Pins Functionality configuration */
> +	u32 kwmpp_config[] = {
> +		MPP0_NF_IO2,
> +		MPP1_NF_IO3,
> +		MPP2_NF_IO4,
> +		MPP3_NF_IO5,
> +		MPP4_NF_IO6,
> +		MPP5_NF_IO7,
> +		MPP6_SYSRST_OUTn,
> +		MPP7_PEX_RST_OUTn,
> +		MPP8_TW_SDA,
> +		MPP9_TW_SCK,
> +		MPP10_UART0_TXD,
> +		MPP11_UART0_RXD,
> +		MPP12_GPO,		/* Reserved */
> +		MPP13_UART1_TXD,
> +		MPP14_UART1_RXD,
> +		MPP15_GPIO,		/* Not used */
> +		MPP16_GPIO,		/* Not used */
> +		MPP17_GPIO,		/* Reserved */
> +		MPP18_NF_IO0,
> +		MPP19_NF_IO1,
> +		MPP20_GPIO,
> +		MPP21_GPIO,
> +		MPP22_GPIO,
> +		MPP23_GPIO,
> +		MPP24_GPIO,
> +		MPP25_GPIO,
> +		MPP26_GPIO,
> +		MPP27_GPIO,
> +		MPP28_GPIO,
> +		MPP29_GPIO,
> +		MPP30_GPIO,
> +		MPP31_GPIO,
> +		MPP32_GPIO,
> +		MPP33_GPIO,
> +		MPP34_GPIO,		/* CDL1 (input) */
> +		MPP35_GPIO,		/* CDL2 (input) */
> +		MPP36_GPIO,		/* MAIN_IRQ (input) */
> +		MPP37_GPIO,		/* BOARD_LED */
> +		MPP38_GPIO,		/* Piggy3 LED[1] */
> +		MPP39_GPIO,		/* Piggy3 LED[2] */
> +		MPP40_GPIO,		/* Piggy3 LED[3] */
> +		MPP41_GPIO,		/* Piggy3 LED[4] */
> +		MPP42_GPIO,		/* Piggy3 LED[5] */
> +		MPP43_GPIO,		/* Piggy3 LED[6] */
> +		MPP44_GPIO,		/* Piggy3 LED[7] */
> +		MPP45_GPIO,		/* Piggy3 LED[8] */
> +		MPP46_GPIO,		/* Reserved */
> +		MPP47_GPIO,		/* Reserved */
> +		MPP48_GPIO,		/* Reserved */
> +		MPP49_GPIO,		/* SW_INTOUTn */
> +		0
> +	};
> +
> +	kirkwood_mpp_conf(kwmpp_config);
> +
> +	/*
> +	 * arch number of board
> +	 */
> +	gd->bd->bi_arch_number = MACH_TYPE_SUEN3;
> +
> +	/* address of boot parameters */
> +	gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100;
> +
> +	return 0;
> +}
> +
> +int dram_init(void)
> +{
> +	int i;
> +
> +	for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
> +		gd->bd->bi_dram[i].start = kw_sdram_bar(i);
> +		gd->bd->bi_dram[i].size = kw_sdram_bs(i);
> +	}
> +	return 0;
> +}
> +
> +/* Configure and enable MV88E1118 PHY */ void reset_phy(void) {
If this PHY connected using RGMII then pls check you done need RGMII Tx/Rx delays

Regards..
Prafulla . .


More information about the U-Boot mailing list