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

Holger Brunck holger.brunck at keymile.com
Wed Jun 13 14:16:31 CEST 2012


On 06/12/2012 12:29 PM, Holger Brunck wrote:
> On 06/12/2012 11:32 AM, Prafulla Wadaskar wrote:
>>
>>
>>> -----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
>>
> 
> ok I see what you mean. We make use of it later on:
> [PATCH 18/20] arm/km: implement weak function board_spi_clam_bus/release
> I'll squash this one together with 02/20 then it is more clear.
> 

ok  I'll send an update of the SPI feature update soon as a standalone patch.
I'll squash

[PATCH 01/20] arm/km: enable spi claim bus
[PATCH 02/20] arm/km: use correct kw_gpio function for NAND/SPI switching
[PATCH 18/20] arm/km: implement weak function board_spi_clam_bus/release
[PATCH 19/20] arm/km: remove spi toggle command

into it and then it is much more clear what the patch does.

Updates with your inputs of the remaining patches will also follow.

Regards
Holger


More information about the U-Boot mailing list