
On Mon, 2010-03-15 at 05:13 -0700, Prafulla Wadaskar wrote:
-----Original Message----- From: Siddarth Gore [mailto:gores@marvell.com] Sent: Monday, March 15, 2010 4:36 PM To: u-boot@lists.denx.de Cc: Prafulla Wadaskar; Siddarth Gore Subject: [PATCH] Marvell GuruPlug Board Support
GuruPlug Standard: 1 Gb Ethernet, 2 USB 2.0 GuruPlug Plus: 2 Gb Ethernet, 2 USB 2.0, 1 eSATA, 1 uSD slot
Reference: http://plugcomputer.org
Hi Siddarth
Hi Prafulla
http://www.globalscaletechnologies.com/t-guruplugdetails.aspx Will be better reference to explain this board
i thought this link might stop working after some time so wanted to give a more permanent link. i will add both.
This patch is for GuruPlug Plus, but it supports Standard version as well.
Signed-off-by: Siddarth Gore gores@marvell.com
MAINTAINERS | 4 + MAKEALL | 1 + Makefile | 3 + board/Marvell/guruplug/Makefile | 51 +++++++++ board/Marvell/guruplug/config.mk | 28 +++++ board/Marvell/guruplug/guruplug.c | 167 +++++++++++++++++++++++++++++ board/Marvell/guruplug/guruplug.h | 39 +++++++ board/Marvell/guruplug/kwbimage.cfg | 162 ++++++++++++++++++++++++++++ include/configs/guruplug.h | 199 +++++++++++++++++++++++++++++++++++ 9 files changed, 654 insertions(+), 0 deletions(-) create mode 100644 board/Marvell/guruplug/Makefile create mode 100644 board/Marvell/guruplug/config.mk create mode 100644 board/Marvell/guruplug/guruplug.c create mode 100644 board/Marvell/guruplug/guruplug.h create mode 100644 board/Marvell/guruplug/kwbimage.cfg create mode 100644 include/configs/guruplug.h
...snip...
+++ b/board/Marvell/guruplug/guruplug.c @@ -0,0 +1,167 @@ +/*
- (C) Copyright 2009
- Marvell Semiconductor <www.marvell.com>
- Written-by: Siddarth Gore gores@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 <miiphy.h> +#include <asm/arch/kirkwood.h> +#include <asm/arch/mpp.h> +#include "guruplug.h"
+DECLARE_GLOBAL_DATA_PTR;
+int board_init(void) +{
/*
* default gpio configuration
* There are maximum 64 gpios controlled through 2 sets
of registers
* the below configuration configures mainly initial LED status
*/
kw_config_gpio(GURUPLUG_OE_VAL_LOW,
GURUPLUG_OE_VAL_HIGH,
GURUPLUG_OE_LOW, GURUPLUG_OE_HIGH);
/* Multi-Purpose Pins Functionality configuration */
It will be good if you comment out for the MPPs that you are configuring
done
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_GPO,
MPP8_TW_SDA,
MPP9_TW_SCK,
MPP10_UART0_TXD,
MPP11_UART0_RXD,
MPP12_SD_CLK,
MPP13_SD_CMD,
MPP14_SD_D0,
MPP15_SD_D1,
MPP16_SD_D2,
MPP17_SD_D3,
MPP18_NF_IO0,
MPP19_NF_IO1,
MPP20_GE1_0,
MPP21_GE1_1,
MPP22_GE1_2,
MPP23_GE1_3,
MPP24_GE1_4,
MPP25_GE1_5,
MPP26_GE1_6,
MPP27_GE1_7,
MPP28_GE1_8,
MPP29_GE1_9,
MPP30_GE1_10,
MPP31_GE1_11,
MPP32_GE1_12,
MPP33_GE1_13,
MPP34_GE1_14,
MPP35_GE1_15,
MPP36_GPIO,
MPP37_GPIO,
MPP38_GPIO,
MPP39_GPIO,
MPP40_TDM_SPI_SCK,
MPP41_TDM_SPI_MISO,
MPP42_TDM_SPI_MOSI,
MPP43_GPIO,
MPP44_GPIO,
MPP45_GPIO,
MPP46_GPIO,
MPP47_GPIO,
MPP48_GPIO,
MPP49_GPIO,
0
};
kirkwood_mpp_conf(kwmpp_config);
..snip...
+++ b/board/Marvell/guruplug/guruplug.h @@ -0,0 +1,39 @@ +/*
- (C) Copyright 2009
- Marvell Semiconductor <www.marvell.com>
- Written-by: Siddarth Gore gores@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 __GURUPLUG_H +#define __GURUPLUG_H
+#define GURUPLUG_OE_LOW (~(0)) +#define GURUPLUG_OE_HIGH (~(0)) +#define GURUPLUG_OE_VAL_LOW 0 +#define GURUPLUG_OE_VAL_HIGH (0xf << 16) /* LED Pins high */
Same here, pls explain the each bit and associated LED used for
done in the mpp config table
...snip...
+++ b/include/configs/guruplug.h @@ -0,0 +1,199 @@ +/*
- (C) Copyright 2009
- Marvell Semiconductor <www.marvell.com>
- Written-by: Siddarth Gore gores@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_GURUPLUG_H +#define _CONFIG_GURUPLUG_H
...snip...
+/*
- Default environment variables
- */
+#define CONFIG_BOOTCOMMAND "setenv ethact egiga0; " \
"${x_bootcmd_ethernet}; setenv ethact egiga1; " \
"${x_bootcmd_ethernet}; ${x_bootcmd_usb};
${x_bootcmd_kernel}; "\
"setenv bootargs ${x_bootargs} ${x_bootargs_root}; " \
"bootm 0x6400000;"
+#define CONFIG_EXTRA_ENV_SETTINGS "x_bootcmd_ethernet" \
"=ping 192.168.2.1\0" \
It's better if you shift "x_bootcmd_ethernet" to below line to make it more readable
done
..snip..
+#define CONFIG_ENV_OVERWRITE /* ethaddr can be reprogrammed */ +#define CONFIG_RESET_PHY_R /* use reset_phy() to init mv8831116 PHY */
Comments need to be in lined with used PHY
done
Apart from above cosmetic changes, the patch looks okay to me
i will resend the patch with the changes.
-siddarth
Regards.. Prafulla . .