From mboxrd@z Thu Jan 1 00:00:00 1970 From: Holger Brunck Date: Wed, 13 Jun 2012 14:16:31 +0200 Subject: [U-Boot] [PATCH 02/20] arm/km: use correct kw_gpio function for NAND/SPI switching In-Reply-To: <4FD719F1.1040506@keymile.com> References: <1339063620-8890-1-git-send-email-valentin.longchamp@keymile.com><1339063620-8890-3-git-send-email-valentin.longchamp@keymile.com> <4FD6FFE8.8070504@keymile.com> <4FD719F1.1040506@keymile.com> Message-ID: <4FD8849F.7050209@keymile.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 >>>>> Signed-off-by: Holger Brunck >>>>> cc: Gerlando Falauto >>>>> cc: Prafulla Wadaskar >>>>> --- >>>>> 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