[U-Boot] [U-BOOT] [PATCH 2/6] mv: seperate kirkwood and mmp from common setting

Prafulla Wadaskar prafulla at marvell.com
Wed Jan 5 10:40:25 CET 2011



> -----Original Message-----
> From: Lei Wen [mailto:leiwen at marvell.com]
> Sent: Tuesday, January 04, 2011 8:21 PM
> To: u-boot at lists.denx.de; Prafulla Wadaskar; Yu Tang; Ashish Karkare;
> Prabhanjan Sarnaik; adrian.wenl at gmail.com
> Subject: [U-BOOT] [PATCH 2/6] mv: seperate kirkwood and mmp from common
> setting
> 
> Since there are lots of difference between kirkwood and mmp series,

What is mmp?

> it is better to seperate them but still keep the most common file
> shared by all marvell platform in the mv-common configure file.
> 
> This patch move the kirkwood only driver definitoin in mv-common to
> the kirkwood.h and it is tested with compilation for armada100 and

I think you need to specify config.h instead of Kirkwood.h??

> guruplug.
> 
> Signed-off-by: Lei Wen <leiwen at marvell.com>
> ---
>  arch/arm/include/asm/arch-armada100/config.h |   50 ++++++++
>  arch/arm/include/asm/arch-kirkwood/config.h  |  170
> ++++++++++++++++++++++++++
>  include/configs/aspenite.h                   |    1 +
>  include/configs/mv-common.h                  |  154 +------------------
> -----
>  4 files changed, 223 insertions(+), 152 deletions(-)
>  create mode 100644 arch/arm/include/asm/arch-armada100/config.h
>  create mode 100644 arch/arm/include/asm/arch-kirkwood/config.h
> 
> diff --git a/arch/arm/include/asm/arch-armada100/config.h
> b/arch/arm/include/asm/arch-armada100/config.h
> new file mode 100644
> index 0000000..9c18b1c
> --- /dev/null
> +++ b/arch/arm/include/asm/arch-armada100/config.h
> @@ -0,0 +1,50 @@
> +/*
> + * (C) Copyright 2010
> + * Marvell Semiconductor <www.marvell.com>
> + * Written-by: Lei Wen <leiwen at 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
> + */
> +
> +/*
> + * This file should be included in board config header file.

Should be included to mv-common.h

> + *
> + * It supports common definations for MMP platform

Spell check s/definition/definition/g
What is MMP? Replace it with ARMADA100
 
> + */
> +
> +#ifndef _ARMADA100_H
> +#define _ARMADA100_H

Should be _ARMD1_CONFIG_H

> +
> +#define CONFIG_ARM926EJS	1	/* Basic Architecture */
> +
> +#define CONFIG_SYS_TCLK		(14745600)	/* NS16550 clk config */
> +#define CONFIG_SYS_HZ_CLOCK	(3250000)	/* Timer Freq. 3.25MHZ */
> +#define CONFIG_MARVELL_MFP			/* Enable mvmfp driver */
> +#define MV_MFPR_BASE		ARMD1_MFPR_BASE
> +#define MV_UART_CONSOLE_BASE	ARMD1_UART1_BASE
> +#define CONFIG_SYS_NS16550_IER	(1 << 6)	/* Bit 6 in UART_IER register
> +						represents UART Unit Enable */
> +/*
> + * There is no internal RAM in ARMADA100, using DRAM
> + * TBD: dcache to be used for this
> + */
> +#define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_TEXT_BASE -
> 0x00200000)
> +#define CONFIG_NR_DRAM_BANKS_MAX	2
> +
> +#endif /* _ARMADA100_H */
> diff --git a/arch/arm/include/asm/arch-kirkwood/config.h
> b/arch/arm/include/asm/arch-kirkwood/config.h
> new file mode 100644
> index 0000000..0a15e6b
> --- /dev/null
> +++ b/arch/arm/include/asm/arch-kirkwood/config.h
> @@ -0,0 +1,170 @@
> +/*
> + * (C) Copyright 2010
> + * Marvell Semiconductor <www.marvell.com>
> + * Written-by: Lei Wen <leiwen at 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
> + */
> +
> +/*
> + * This file should be included in board config header file.

Ditto

> + *
> + * It supports common definations for Kirkwood platform

Definitions

> + * TBD: support for Orion5X platforms


This line stands invalid here.

> + */
> +
> +#ifndef _MV_KIRKWOOD_H
> +#define _MV_KIRKWOOD_H

Should be _KW_CONFIG_H

> +
> +#if defined (CONFIG_KW88F6281)
> +#include <asm/arch/kw88f6281.h>
> +#elif defined (CONFIG_KW88F6192)
> +#include <asm/arch/kw88f6192.h>
> +#else
> +#error "SOC Name not defined"
> +#endif /* CONFIG_KW88F6281 */
> +
> +#define CONFIG_ARM926EJS	1	/* Basic Architecture */
> +
> +#define CONFIG_MD5	/* get_random_hex on krikwood needs MD5 support */
> +#define CONFIG_KIRKWOOD_EGIGA_INIT	/* Enable GbePort0/1 for kernel */
> +#define CONFIG_KIRKWOOD_RGMII_PAD_1V8	/* Set RGMII Pad voltage to 1.8V
> */
> +#define CONFIG_KIRKWOOD_PCIE_INIT       /* Enable PCIE Port0 for kernel
> */
> +
> +/*
> + * By default kwbimage.cfg from board specific folder is used
> + * If for some board, different configuration file need to be used,
> + * CONFIG_SYS_KWD_CONFIG should be defined in board specific header
> file
> + */
> +#ifndef CONFIG_SYS_KWD_CONFIG
> +#define	CONFIG_SYS_KWD_CONFIG	$(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage.cfg
> +#endif /* CONFIG_SYS_KWD_CONFIG */
> +
> +/* Kirkwood has 2k of Security SRAM, use it for SP */
> +#define CONFIG_SYS_INIT_SP_ADDR		0xC8012000
> +#define CONFIG_NR_DRAM_BANKS_MAX	2
> +
> +#define CONFIG_I2C_MVTWSI_BASE	KW_TWSI_BASE
> +#define MV_UART_CONSOLE_BASE	KW_UART0_BASE
> +#define MV_SATA_BASE		KW_SATA_BASE
> +#define MV_SATA_PORT0_OFFSET	KW_SATA_PORT0_OFFSET
> +#define MV_SATA_PORT1_OFFSET	KW_SATA_PORT1_OFFSET
> +
> +/*
> + * NAND configuration
> + */
> +#ifdef CONFIG_CMD_NAND
> +#define CONFIG_NAND_KIRKWOOD
> +#define CONFIG_SYS_MAX_NAND_DEVICE	1
> +#define NAND_MAX_CHIPS			1
> +#define CONFIG_SYS_NAND_BASE		0xD8000000	/* MV_DEFADR_NANDF */
> +#define NAND_ALLOW_ERASE_ALL		1
> +#define CONFIG_SYS_64BIT_VSPRINTF	/* needed for nand_util.c */
> +#endif
> +

I think split below makes more sense- overall objective is to avoid code duplication here.

For mv-common.h
+/*
+ * NAND configuration
+ */
+#ifdef CONFIG_CMD_NAND
+#define CONFIG_SYS_MAX_NAND_DEVICE	1
+#define NAND_MAX_CHIPS			1
+#define CONFIG_SYS_64BIT_VSPRINTF	/* needed for nand_util.c */
+#endif

For arch-kirkwood/config.h
+/*
+ * NAND configuration
+ */
+#ifdef CONFIG_CMD_NAND
+#define CONFIG_NAND_KIRKWOOD
+#define CONFIG_SYS_NAND_BASE		0xD8000000	/* MV_DEFADR_NANDF */
+#define NAND_ALLOW_ERASE_ALL		1
+#endif

> +/*
> + * SPI Flash configuration
> + */
> +#ifdef CONFIG_CMD_SF
> +#define CONFIG_SPI_FLASH		1
> +#define CONFIG_HARD_SPI			1
> +#define CONFIG_KIRKWOOD_SPI		1
> +#define CONFIG_SPI_FLASH_MACRONIX	1
> +#define CONFIG_ENV_SPI_BUS		0
> +#define CONFIG_ENV_SPI_CS		0
> +#define CONFIG_ENV_SPI_MAX_HZ		50000000	/*50Mhz */
> +#endif
> +

Same applies for rest of the definitions.
mv-common.h should represent common definitions for Kirkwood,armada100, and future SoCs based boards so that respective boardconfig header file can be thin.

Regards..
Prafulla . .



More information about the U-Boot mailing list