diff options
| -rw-r--r-- | board/keymile/km_arm/km_arm.c | 44 | ||||
| -rw-r--r-- | include/configs/km/km_arm.h | 9 | 
2 files changed, 13 insertions, 40 deletions
| diff --git a/board/keymile/km_arm/km_arm.c b/board/keymile/km_arm/km_arm.c index ed12b5c5d..cb3402b8f 100644 --- a/board/keymile/km_arm/km_arm.c +++ b/board/keymile/km_arm/km_arm.c @@ -33,6 +33,7 @@  #include <nand.h>  #include <netdev.h>  #include <miiphy.h> +#include <spi.h>  #include <asm/io.h>  #include <asm/arch/cpu.h>  #include <asm/arch/kirkwood.h> @@ -284,48 +285,17 @@ int board_init(void)  	return 0;  } -#if defined(CONFIG_CMD_SF) -int do_spi_toggle(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +int board_spi_claim_bus(struct spi_slave *slave)  { -	u32 tmp; -	if (argc < 2) -		return cmd_usage(cmdtp); - -	if ((strcmp(argv[1], "off") == 0)) { -		printf("SPI FLASH disabled, NAND enabled\n"); -		/* Multi-Purpose Pins Functionality configuration */ -		kwmpp_config[0] = MPP0_NF_IO2; -		kwmpp_config[1] = MPP1_NF_IO3; -		kwmpp_config[2] = MPP2_NF_IO4; -		kwmpp_config[3] = MPP3_NF_IO5; - -		kirkwood_mpp_conf(kwmpp_config, NULL); -		tmp = readl(KW_GPIO0_BASE); -		writel(tmp | FLASH_GPIO_PIN , KW_GPIO0_BASE); -	} else if ((strcmp(argv[1], "on") == 0)) { -		printf("SPI FLASH enabled, NAND disabled\n"); -		/* Multi-Purpose Pins Functionality configuration */ -		kwmpp_config[0] = MPP0_SPI_SCn; -		kwmpp_config[1] = MPP1_SPI_MOSI; -		kwmpp_config[2] = MPP2_SPI_SCK; -		kwmpp_config[3] = MPP3_SPI_MISO; - -		kirkwood_mpp_conf(kwmpp_config, NULL); -		tmp = readl(KW_GPIO0_BASE); -		writel(tmp & (~FLASH_GPIO_PIN) , KW_GPIO0_BASE); -	} else { -		return cmd_usage(cmdtp); -	} +	kw_gpio_set_value(KM_FLASH_GPIO_PIN, 0);  	return 0;  } -U_BOOT_CMD( -	spitoggle,	2,	0,	do_spi_toggle, -	"En-/disable SPI FLASH access", -	"<on|off> - Enable (on) or disable (off) SPI FLASH access\n" -	); -#endif +void board_spi_release_bus(struct spi_slave *slave) +{ +	kw_gpio_set_value(KM_FLASH_GPIO_PIN, 1); +}  int dram_init(void)  { diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h index 4a0b80e29..b14093f4f 100644 --- a/include/configs/km/km_arm.h +++ b/include/configs/km/km_arm.h @@ -227,7 +227,11 @@ int get_scl(void);  #define CONFIG_SPI_FLASH  #define CONFIG_SPI_FLASH_STMICRO +/* SPI bus claim MPP configuration */ +#define CONFIG_SYS_KW_SPI_MPP	0x0 +  #define FLASH_GPIO_PIN			0x00010000 +#define KM_FLASH_GPIO_PIN	16  #ifndef MTDIDS_DEFAULT  # define MTDIDS_DEFAULT		"nand0=orion_nand" @@ -241,9 +245,8 @@ int get_scl(void);  #define	CONFIG_KM_UPDATE_UBOOT						\  	"update="							\ -		"spi on;sf probe 0;sf erase 0 +${filesize};"		\ -		"sf write ${load_addr_r} 0 ${filesize};"		\ -		"spi off\0" +		"sf probe 0;sf erase 0 +${filesize};"			\ +		"sf write ${load_addr_r} 0 ${filesize};\0"  /*   * Default environment variables |