public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] arm, at91: add spi dataflash support for the taurus board
@ 2014-10-01  5:26 Heiko Schocher
  2014-10-01 14:30 ` Jagan Teki
  0 siblings, 1 reply; 3+ messages in thread
From: Heiko Schocher @ 2014-10-01  5:26 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Andreas Bie?mann <andreas.devel@googlemail.com>
Cc: Bo Shen <voice.shen@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			0x22000000
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] arm, at91: add spi dataflash support for the taurus board
  2014-10-01  5:26 [U-Boot] [PATCH] arm, at91: add spi dataflash support for the taurus board Heiko Schocher
@ 2014-10-01 14:30 ` Jagan Teki
  2014-10-02  5:48   ` Heiko Schocher
  0 siblings, 1 reply; 3+ messages in thread
From: Jagan Teki @ 2014-10-01 14:30 UTC (permalink / raw)
  To: u-boot

On 1 October 2014 10:56, Heiko Schocher <hs@denx.de> wrote:
> Signed-off-by: Heiko Schocher <hs@denx.de>
> Cc: Andreas Bie?mann <andreas.devel@googlemail.com>
> Cc: Bo Shen <voice.shen@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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [PATCH] arm, at91: add spi dataflash support for the taurus board
  2014-10-01 14:30 ` Jagan Teki
@ 2014-10-02  5:48   ` Heiko Schocher
  0 siblings, 0 replies; 3+ messages in thread
From: Heiko Schocher @ 2014-10-02  5:48 UTC (permalink / raw)
  To: u-boot

Hello Jagan,

Am 01.10.2014 16:30, schrieb Jagan Teki:
> On 1 October 2014 10:56, Heiko Schocher<hs@denx.de>  wrote:
>> Signed-off-by: Heiko Schocher<hs@denx.de>
>> Cc: Andreas Bie?mann<andreas.devel@googlemail.com>
>> Cc: Bo Shen<voice.shen@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.

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                   0x22000000

Thanks!

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-10-02  5:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-01  5:26 [U-Boot] [PATCH] arm, at91: add spi dataflash support for the taurus board Heiko Schocher
2014-10-01 14:30 ` Jagan Teki
2014-10-02  5:48   ` Heiko Schocher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox