arm, at91: add spi dataflash support for the taurus board
authorHeiko Schocher <hs@denx.de>
Fri, 31 Oct 2014 07:30:56 +0000 (08:30 +0100)
committerTom Rini <trini@ti.com>
Mon, 17 Nov 2014 13:47:16 +0000 (08:47 -0500)
Signed-off-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Bo Shen <voice.shen@atmel.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
board/siemens/taurus/taurus.c
include/configs/taurus.h

index 673b3029a66f9e4bcaa8e953ef5bc9be2a057d27..76609c7d04f5f1d4513bf5331bf3a5abc416383e 100644 (file)
@@ -22,6 +22,8 @@
 #include <asm/arch/gpio.h>
 #include <asm/arch/at91sam9_sdramc.h>
 #include <atmel_mci.h>
+#include <asm/arch/at91_spi.h>
+#include <spi.h>
 
 #include <net.h>
 #include <netdev.h>
@@ -127,6 +129,21 @@ int board_early_init_f(void)
        return 0;
 }
 
+int spi_cs_is_valid(unsigned int bus, unsigned int cs)
+{
+       return bus == 0 && cs == 0;
+}
+
+void spi_cs_activate(struct spi_slave *slave)
+{
+       at91_set_gpio_value(TAURUS_SPI_CS_PIN, 0);
+}
+
+void spi_cs_deactivate(struct spi_slave *slave)
+{
+       at91_set_gpio_value(TAURUS_SPI_CS_PIN, 1);
+}
+
 int board_init(void)
 {
        /* adress of boot parameters */
@@ -139,6 +156,7 @@ int board_init(void)
 #ifdef CONFIG_MACB
        taurus_macb_hw_init();
 #endif
+       at91_spi0_hw_init(TAURUS_SPI_MASK);
 
        return 0;
 }
index aadf4cd2f8907356ec533261f33fac02b578fe6f..ba9496fe5f0c7278b17f03685d3da430b6c55c82 100644 (file)
 #define CONFIG_USB_STORAGE
 #endif
 
+/* SPI EEPROM */
+#define CONFIG_SPI
+#define CONFIG_CMD_SPI
+#define CONFIG_CMD_SF
+#define CONFIG_SPI_FLASH
+#define CONFIG_ATMEL_SPI
+#define CONFIG_SPI_FLASH_STMICRO
+#define TAURUS_SPI_MASK (1 << 4)
+#define TAURUS_SPI_CS_PIN      AT91_PIN_PA3
+
 /* load address */
 #define CONFIG_SYS_LOAD_ADDR                   0x22000000