On Tue, Jun 25, 2013 at 06:49:04PM +0200, Frederic Leroy wrote: > From: Frédéric Leroy <fr...@starox.org>
Hi Frédéric, > > The LaCie CloudBox device is a Kirkwood based nas : > > - SoC: Marvell 88F6700 1000Mhz 88F6702 > - SDRAM memory: 256MB DDR2 400Mhz > - Gigabit ethernet: PHY Marvell 88E1318 > - Flash memory: SPI NOR 512KB (Macronix MX25L4005A) > - 1 push button > - 1 reset switch > - 1 SATA port > - 1 LED (bi-color, blue and red) > > Signed-off-by: Frédéric Leroy <fr...@starox.org> > --- > board/LaCie/cloudbox/Makefile | 46 +++++++++++ > board/LaCie/cloudbox/cloudbox.c | 104 ++++++++++++++++++++++++ > board/LaCie/cloudbox/cloudbox.h | 36 ++++++++ > board/LaCie/cloudbox/kwbimage.cfg | 167 > ++++++++++++++++++++++++++++++++++++++ > boards.cfg | 1 + > include/configs/lacie_kw.h | 8 +- > 6 files changed, 361 insertions(+), 1 deletion(-) > create mode 100644 board/LaCie/cloudbox/Makefile > create mode 100644 board/LaCie/cloudbox/cloudbox.c > create mode 100644 board/LaCie/cloudbox/cloudbox.h > create mode 100644 board/LaCie/cloudbox/kwbimage.cfg > > diff --git a/board/LaCie/cloudbox/Makefile b/board/LaCie/cloudbox/Makefile > new file mode 100644 > index 0000000..d656951 > --- /dev/null > +++ b/board/LaCie/cloudbox/Makefile > @@ -0,0 +1,46 @@ > +# > +# Copyright (C) 2013 Frederic Leroy <fr...@starox.org> > +# > +# Based on Kirkwood support: > +# (C) Copyright 2009 > +# Marvell Semiconductor <www.marvell.com> > +# Written-by: Prafulla Wadaskar <prafu...@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. > +# > + > +include $(TOPDIR)/config.mk > +ifneq ($(OBJTREE),$(SRCTREE)) > +$(shell mkdir -p $(obj)../common) > +endif > + > +LIB = $(obj)lib$(BOARD).o > + > +COBJS := $(BOARD).o ../common/common.o > + > +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) > +OBJS := $(addprefix $(obj),$(COBJS)) > +SOBJS := $(addprefix $(obj),$(SOBJS)) > + > +$(LIB): $(obj).depend $(OBJS) $(SOBJS) > + $(call cmd_link_o_target, $(OBJS) $(SOBJS)) > + > +######################################################################### > + > +# defines $(obj).depend target > +include $(SRCTREE)/rules.mk > + > +sinclude $(obj).depend > + > +######################################################################### > diff --git a/board/LaCie/cloudbox/cloudbox.c b/board/LaCie/cloudbox/cloudbox.c > new file mode 100644 > index 0000000..6604a3c > --- /dev/null > +++ b/board/LaCie/cloudbox/cloudbox.c > @@ -0,0 +1,104 @@ > +/* > + * Copyright (C) 2013 Frederic Leroy <fr...@starox.org> > + * > + * Based on Kirkwood support: > + * (C) Copyright 2009 > + * Marvell Semiconductor <www.marvell.com> > + * Written-by: Prafulla Wadaskar <prafu...@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. > + */ > + > +#include <common.h> > +#include <command.h> > +#include <asm/arch/cpu.h> > +#include <asm/arch/kirkwood.h> > +#include <asm/arch/mpp.h> > +#include <asm/arch/gpio.h> > + > +#include "cloudbox.h" > +#include "../common/common.h" > + > +DECLARE_GLOBAL_DATA_PTR; > + > +int board_early_init_f(void) > +{ > + /* Gpio configuration */ > + kw_config_gpio(CLOUDBOX_OE_VAL_LOW, CLOUDBOX_OE_VAL_HIGH, > + CLOUDBOX_OE_LOW, CLOUDBOX_OE_HIGH); > + > + /* Multi-Purpose Pins Functionality configuration */ > + static const u32 kwmpp_config[] = { > + MPP0_SPI_SCn, > + MPP1_SPI_MOSI, > + MPP2_SPI_SCK, > + MPP3_SPI_MISO, > + MPP4_GPIO, /* hard disk power */ > + MPP5_GPO, > + MPP6_SYSRST_OUTn, > + MPP7_GPO, > + MPP8_TW_SDA, > + MPP9_TW_SCK, > + MPP10_UART0_TXD, > + MPP11_UART0_RXD, > + MPP12_GPO, > + MPP14_GPIO, /* LED red control */ > + MPP15_SATA0_ACTn, /* LED blue control */ > + MPP16_GPIO, /* power push buton */ > + MPP17_GPIO, /* board power off */ > + MPP20_GPIO, /* Ethernet PHY interrupt (WoL) */ > + MPP28_GPIO, /* board revision (LSB) */ > + MPP29_GPIO, /* board revision */ > + MPP30_GPIO, /* board revision */ > + MPP31_GPIO, /* board revision */ > + MPP32_GPIO, /* board revision (MSB) */ > + 0 The MPPs 5, 7 and 12 are not used. Please drop their configuration. Moreover, AFAIK, the board revision GPIOs are not used. I am not even sure they hold a coherent value. > + }; > + kirkwood_mpp_conf(kwmpp_config, NULL); > + > + return 0; > +} > + > +int board_init(void) > +{ > + /* Nothing to do with fdt */ > + return 0; In addition, can we also set the machine ID ? Without breaking the DT boot ? It would be nice to support the two Linux booting methods: DT and legacy (machine ID, ATAGs). Note that the Linux kernel provided by the LaCie stock firmware is not DT compliant. > +} > + > +#if defined(CONFIG_MISC_INIT_R) > +int misc_init_r(void) > +{ > + return 0; > +} > +#endif /* CONFIG_MISC_INIT_R */ Maybe you could simply undef CONFIG_MISC_INIT_R ? Except the points above, the whole patch looks good to me. Thanks, Simon
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot