[U-Boot] [PATCH 3/3] Kirkwood: Add support for Ka-Ro TK71

Marek Vasut marex at denx.de
Tue Jun 26 14:45:28 CEST 2012


Dear Prafulla Wadaskar,

> > -----Original Message-----
> > From: Marek Vasut [mailto:marex at denx.de]
> > Sent: 26 June 2012 17:45
> > To: u-boot at lists.denx.de
> > Cc: Marek Vasut; Prafulla Wadaskar; Wolfgang Denk
> > Subject: [PATCH 3/3] Kirkwood: Add support for Ka-Ro TK71
> > 
> > Signed-off-by: Marek Vasut <marex at denx.de>
> > Cc: Prafulla Wadaskar <prafulla at marvell.com>
> > Cc: Wolfgang Denk <wd at denx.de>
> > ---
> > 
> >  board/karo/tk71/Makefile     |   45 +++++++++++
> >  board/karo/tk71/kwbimage.cfg |  174
> > 
> > +++++++++++++++++++++++++++++++++++++++++
> > 
> >  board/karo/tk71/tk71.c       |  178
> > 
> > ++++++++++++++++++++++++++++++++++++++++++
> > 
> >  boards.cfg                   |    1 +
> >  include/configs/tk71.h       |  128 ++++++++++++++++++++++++++++++
> >  5 files changed, 526 insertions(+)
> >  create mode 100644 board/karo/tk71/Makefile
> >  create mode 100644 board/karo/tk71/kwbimage.cfg
> >  create mode 100644 board/karo/tk71/tk71.c
> >  create mode 100644 include/configs/tk71.h
> 
> ...snip...
> 
> > diff --git a/board/karo/tk71/tk71.c b/board/karo/tk71/tk71.c
> > new file mode 100644
> > index 0000000..b2c1a62
> > --- /dev/null
> > +++ b/board/karo/tk71/tk71.c
> > @@ -0,0 +1,178 @@
> > +/*
> > + * Copyright (C) 2012 Marek Vasut <marex at denx.de>
> > + * on behalf of DENX Software Engineering GmbH
> > + *
> > + * 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/cpu.h>
> > +#include <asm/arch/kirkwood.h>
> > +#include <asm/arch/mpp.h>
> > +#include <asm/io.h>
> > +
> > +DECLARE_GLOBAL_DATA_PTR;
> > +
> > +#define TK71_OE_LOW			(~0)
> > +#define TK71_OE_HIGH			(~0)
> > +#define TK71_OE_VAL_LOW			(0)
> > +#define TK71_OE_VAL_HIGH		(0)
> > +
> > +int board_early_init_f(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(TK71_OE_VAL_LOW,
> > +			TK71_OE_VAL_HIGH,
> > +			TK71_OE_LOW, TK71_OE_HIGH);
> > +
> > +	/* 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_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_GPIO,
> > +		MPP29_GPIO,
> > +		MPP30_GE1_10,
> > +		MPP31_GE1_11,
> > +		MPP32_GE1_12,
> > +		MPP33_GE1_13,
> > +		MPP34_GPIO,
> > +		MPP35_GPIO,
> > +		MPP36_GPIO,
> > +		MPP37_GPIO,
> > +		MPP38_GPIO,
> > +		MPP39_GPIO,
> > +		MPP40_GPIO,
> > +		MPP41_GPIO,
> > +		MPP42_GPIO,
> > +		MPP43_GPIO,
> > +		MPP44_GPIO,
> > +		MPP45_GPIO,
> > +		MPP46_GPIO,
> > +		MPP47_GPIO,
> > +		MPP48_GPIO,
> > +		MPP49_GPIO,
> > +		0
> > +	};
> > +	kirkwood_mpp_conf(kwmpp_config);
> > +
> > +	return 0;
> > +}
> > +
> > +int board_init(void)
> > +{
> > +	/*
> > +	 * arch number of board
> > +	 */
> > +	gd->bd->bi_arch_number = CONFIG_MACH_TYPE;
> > +
> > +	/* adress of boot parameters */
> > +	gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100;
> > +
> > +	return 0;
> > +}
> > +
> > +void kw_adjust_dram(void)
> > +{
> > +	unsigned long size = get_ram_size(PHYS_SDRAM_1,
> > PHYS_SDRAM_1_SIZE);
> > +
> > +	/* 256MB module, adjust BAR register */
> > +	if (size == 256 * 1024 * 1024)
> > +		writel(0x0ffffff1, KW_REG_CPUCS_WIN_SZ(0));
> 
> No hard coding please, please use register structures (preferred)

Do we have any such structures defined ?

> > +
> > +	gd->bd->bi_dram[0].size = size;
> > +	gd->ram_size = size;
> > +}
> 
> You have created kwbimage.cfg in this, it makes more sense to set 256MB
> size by default in kwbimage.cfg. Or preferred use any existing
> kwbimage.cfg (preferred)

I don't think I follow. I always believe these are for setting up the platform, 
so at least one per platform is necessary.

> The main idea of having such weak functions is to avoid code duplication
> (kwbimage.cfg) for small manageable changes.

But then, isn't this a bit out of scope of this patchset? Unifying kwbimages I 
mean ...

> Regards..
> Prafulla . . .

Best regards,
Marek Vasut


More information about the U-Boot mailing list