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

Attachment: signature.asc
Description: Digital signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to