[U-Boot] [PATCH] arm, at91: add spi dataflash support for the taurus board

Jagan Teki jagannadh.teki at gmail.com
Wed Oct 1 16:30:40 CEST 2014


On 1 October 2014 10:56, Heiko Schocher <hs at denx.de> wrote:
> Signed-off-by: Heiko Schocher <hs at denx.de>
> Cc: Andreas Bießmann <andreas.devel at googlemail.com>
> Cc: Bo Shen <voice.shen at atmel.com>
> ---
>  board/siemens/taurus/taurus.c | 22 ++++++++++++++++++++++
>  include/configs/taurus.h      | 11 +++++++++++
>  2 files changed, 33 insertions(+)
>
> diff --git a/board/siemens/taurus/taurus.c b/board/siemens/taurus/taurus.c
> index 673b302..98ce441 100644
> --- a/board/siemens/taurus/taurus.c
> +++ b/board/siemens/taurus/taurus.c
> @@ -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,25 @@ 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);
> +}
> +
> +void spi_init_f(void)
> +{
> +       /* everything done in board_init */
> +}

Please don't hold spi variant calls on board files, I guess most of
the atmel boards does
the same but try to add them on driver itself.

>  int board_init(void)
>  {
>         /* adress of boot parameters */
> @@ -139,6 +160,7 @@ int board_init(void)
>  #ifdef CONFIG_MACB
>         taurus_macb_hw_init();
>  #endif
> +       at91_spi0_hw_init(TAURUS_SPI_MASK);
>
>         return 0;
>  }
> diff --git a/include/configs/taurus.h b/include/configs/taurus.h
> index aadf4cd..e30542d 100644
> --- a/include/configs/taurus.h
> +++ b/include/configs/taurus.h
> @@ -127,6 +127,17 @@
>  #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 CONFIG_SYS_SPI_WRITE_TOUT              (5 * CONFIG_SYS_HZ)

Don't make this as a config option instead define it on driver file.

> +#define TAURUS_SPI_MASK (1 << 4)
> +#define TAURUS_SPI_CS_PIN      AT91_PIN_PA3
> +
>  /* load address */
>  #define CONFIG_SYS_LOAD_ADDR                   0x22000000
>
> --
> 1.8.3.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot

thanks!
-- 
Jagan.


More information about the U-Boot mailing list