From mboxrd@z Thu Jan 1 00:00:00 1970 From: Holger Brunck Date: Tue, 12 Jun 2012 10:38:00 +0200 Subject: [U-Boot] [PATCH 02/20] arm/km: use correct kw_gpio function for NAND/SPI switching In-Reply-To: References: <1339063620-8890-1-git-send-email-valentin.longchamp@keymile.com><1339063620-8890-3-git-send-email-valentin.longchamp@keymile.com> Message-ID: <4FD6FFE8.8070504@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 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... Regards Holger