
On 06/12/2012 06:39 AM, Prafulla Wadaskar wrote:
-----Original Message----- From: Valentin Longchamp [mailto:valentin.longchamp@keymile.com] Sent: 07 June 2012 15:37 To: prafulla@mavell.com Cc: Valentin Longchamp; holger.brunck@keymile.com; u- boot@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@keymile.com Signed-off-by: Holger Brunck holger.brunck@keymile.com cc: Gerlando Falauto gerlando.falauto@keymile.com cc: Prafulla Wadaskar prafulla@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...
Regards Holger