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

2014-10-01 Thread Jagan Teki
On 1 October 2014 10:56, Heiko Schocher h...@denx.de wrote:
 Signed-off-by: Heiko Schocher h...@denx.de
 Cc: Andreas Bießmann andreas.de...@googlemail.com
 Cc: Bo Shen voice.s...@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   0x2200

 --
 1.8.3.1

 ___
 U-Boot mailing list
 U-Boot@lists.denx.de
 http://lists.denx.de/mailman/listinfo/u-boot

thanks!
-- 
Jagan.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


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

2014-10-01 Thread Heiko Schocher

Hello Jagan,

Am 01.10.2014 16:30, schrieb Jagan Teki:

On 1 October 2014 10:56, Heiko Schocherh...@denx.de  wrote:

Signed-off-by: Heiko Schocherh...@denx.de
Cc: Andreas Bießmannandreas.de...@googlemail.com
Cc: Bo Shenvoice.s...@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 @@
  #includeasm/arch/gpio.h
  #includeasm/arch/at91sam9_sdramc.h
  #includeatmel_mci.h
+#includeasm/arch/at91_spi.h
+#includespi.h

  #includenet.h
  #includenetdev.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.


Heh, good catch ... I did this like the

board/calao/tny_a9260/spi.c
board/calao/sbc35_a9g20/spi.c

boards ... I greped for this function, and it turned out, I did
not need it! So, I remove it in v2 thanks!


  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.


Ah, I see, this is defined in more than 10 at91 board config files,
and all with the same value ... Ok, I add in drivers/spi/atmel_spi.h

#if !defined(CONFIG_SYS_SPI_WRITE_TOUT)
#define CONFIG_SYS_SPI_WRITE_TOUT (5 * CONFIG_SYS_HZ)
#endif

and remove this define from the board files ...


+#define TAURUS_SPI_MASK (1  4)
+#define TAURUS_SPI_CS_PIN  AT91_PIN_PA3
+
  /* load address */
  #define CONFIG_SYS_LOAD_ADDR   0x2200


Thanks!

bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


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

2014-09-30 Thread Heiko Schocher
Signed-off-by: Heiko Schocher h...@denx.de
Cc: Andreas Bießmann andreas.de...@googlemail.com
Cc: Bo Shen voice.s...@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 */
+}
 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)
+#define TAURUS_SPI_MASK (1  4)
+#define TAURUS_SPI_CS_PIN  AT91_PIN_PA3
+
 /* load address */
 #define CONFIG_SYS_LOAD_ADDR   0x2200
 
-- 
1.8.3.1

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot