[U-Boot] [PATCH 02/20] arm/km: use correct kw_gpio function for NAND/SPI switching

Prafulla Wadaskar prafulla at marvell.com
Tue Jun 12 11:32:41 CEST 2012



> -----Original Message-----
> From: Holger Brunck [mailto:holger.brunck at keymile.com]
> Sent: 12 June 2012 14:08
> To: Prafulla Wadaskar
> Cc: Valentin Longchamp; prafulla at mavell.com; u-boot at lists.denx.de;
> Gerlando Falauto
> Subject: Re: [PATCH 02/20] arm/km: use correct kw_gpio function for
> NAND/SPI switching
> 
> On 06/12/2012 06:39 AM, Prafulla Wadaskar wrote:
> >
> >
> >> -----Original Message-----
> >> From: Valentin Longchamp [mailto:valentin.longchamp at keymile.com]
> >> Sent: 07 June 2012 15:37
> >> To: prafulla at mavell.com
> >> Cc: Valentin Longchamp; holger.brunck at keymile.com; u-
> >> boot at lists.denx.de; Gerlando Falauto; Prafulla Wadaskar
> >> Subject: [PATCH 02/20] arm/km: use correct kw_gpio function for
> >> NAND/SPI switching
> >>
> >> This used to be done with registers direct access, which is not
> clear
> >> and optimal.
> >>
> >> Signed-off-by: Valentin Longchamp <valentin.longchamp at keymile.com>
> >> Signed-off-by: Holger Brunck <holger.brunck at keymile.com>
> >> cc: Gerlando Falauto <gerlando.falauto at keymile.com>
> >> cc: Prafulla Wadaskar <prafulla at marvell.com>
> >> ---
> >>  board/keymile/km_arm/km_arm.c |   53 +++++++++++++++++++++--------
> ---
> >> --------
> >>  include/configs/km/km_arm.h   |    1 +
> >>  2 files changed, 29 insertions(+), 25 deletions(-)
> >>
> >> diff --git a/board/keymile/km_arm/km_arm.c
> >> b/board/keymile/km_arm/km_arm.c
> >> index ed12b5c..e4ae1fb 100644
> >> --- a/board/keymile/km_arm/km_arm.c
> >> +++ b/board/keymile/km_arm/km_arm.c
> >> @@ -247,15 +247,12 @@ int board_early_init_f(void)
> >>  	kirkwood_mpp_conf(kwmpp_config, NULL);
> >>
> >>  	/*
> >> -	 * The FLASH_GPIO_PIN switches between using a
> >> +	 * The KM_FLASH_GPIO_PIN switches between using a
> >>  	 * NAND or a SPI FLASH. Set this pin on start
> >>  	 * to NAND mode.
> >>  	 */
> >> -	tmp = readl(KW_GPIO0_BASE);
> >> -	writel(tmp | FLASH_GPIO_PIN , KW_GPIO0_BASE);
> >> -	tmp = readl(KW_GPIO0_BASE + 4);
> >> -	writel(tmp & (~FLASH_GPIO_PIN) , KW_GPIO0_BASE + 4);
> >> -
> >> +	kw_gpio_set_valid(KM_FLASH_GPIO_PIN, 1);
> >> +	kw_gpio_direction_output(KM_FLASH_GPIO_PIN, 1);
> >>  #if defined(CONFIG_SOFT_I2C)
> >>  	/* init the GPIO for I2C Bitbang driver */
> >>  	kw_gpio_set_valid(KM_KIRKWOOD_SDA_PIN, 1);
> >> @@ -284,35 +281,41 @@ int board_init(void)
> >>  	return 0;
> >>  }
> >>
> >> +int km_hw_spi_bus_claim(int on)
> >> +{
> >> +	int gpio_value = !on;
> >> +
> >> +	if (on) {
> >> +		kwmpp_config[0] = MPP0_SPI_SCn;
> >> +		kwmpp_config[1] = MPP1_SPI_MOSI;
> >> +		kwmpp_config[2] = MPP2_SPI_SCK;
> >> +		kwmpp_config[3] = MPP3_SPI_MISO;
> >> +	} else {
> >> +		kwmpp_config[0] = MPP0_NF_IO2;
> >> +		kwmpp_config[1] = MPP1_NF_IO3;
> >> +		kwmpp_config[2] = MPP2_NF_IO4;
> >> +		kwmpp_config[3] = MPP3_NF_IO5;
> >> +	}
> >
> > NACK...
> >
> 
> Could you please be a bit more verbose. Why do you NACK this? This
> code is only
> related to our boards...

Dear Holger
We have already patches for Kirkwood-spi in place that address this.
So we have to use this framework.

Ref: http://lists.denx.de/pipermail/u-boot/2012-June/125574.html

Regards..
Prafulla . . .


More information about the U-Boot mailing list