[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