[U-Boot] [PATCH v2 08/17] SPEAr : Network support configured for spear SoCs

Vipin KUMAR vipin.kumar at st.com
Tue May 4 09:15:17 CEST 2010


On 5/3/2010 5:19 AM, Tom Rix wrote:
> Vipin KUMAR wrote:
>> Signed-off-by: Vipin Kumar <vipin.kumar at st.com>
>> ---
>>  arch/arm/include/asm/arch-spear/hardware.h |    1 +
>>  board/spear/spear300/spear300.c            |    6 ++++++
>>  board/spear/spear310/spear310.c            |    6 ++++++
>>  board/spear/spear320/spear320.c            |    6 ++++++
>>  board/spear/spear600/spear600.c            |    6 ++++++
>>  include/configs/spear-common.h             |   10 ++++++++--
>>  include/configs/spear3xx.h                 |    3 +++
>>  7 files changed, 36 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm/include/asm/arch-spear/hardware.h
>> b/arch/arm/include/asm/arch-spear/hardware.h
>> index 818f36c..39d64b6 100644
>> --- a/arch/arm/include/asm/arch-spear/hardware.h
>> +++ b/arch/arm/include/asm/arch-spear/hardware.h
>> @@ -31,6 +31,7 @@
>>  #define CONFIG_SPEAR_SYSCNTLBASE        (0xFCA00000)
>>  #define CONFIG_SPEAR_TIMERBASE            (0xFC800000)
>>  #define CONFIG_SPEAR_MISCBASE            (0xFCA80000)
>> +#define CONFIG_SPEAR_ETHBASE            (0xE0800000)
>>  
>>  #define CONFIG_SYS_NAND_CLE            (1 << 16)
>>  #define CONFIG_SYS_NAND_ALE            (1 << 17)
>> diff --git a/board/spear/spear300/spear300.c
>> b/board/spear/spear300/spear300.c
>> index 60ee544..cd24247 100644
>> --- a/board/spear/spear300/spear300.c
>> +++ b/board/spear/spear300/spear300.c
>> @@ -22,6 +22,7 @@
>>   */
>>  
>>  #include <common.h>
>> +#include <netdev.h>
>>  #include <nand.h>
>>  #include <asm/io.h>
>>  #include <asm/arch/hardware.h>
>> @@ -56,3 +57,8 @@ int board_nand_init(struct nand_chip *nand)
>>  
>>      return -1;
>>  }
>> +
>> +int board_eth_init(bd_t *bis)
>> +{
>> +    return designware_initialize(0, CONFIG_SPEAR_ETHBASE);
>> +}
> 
> The function can be conditionally compiled in based on
> CONFIG_DESIGNWARE_ETH
> 
> board_eth_init may be able to go in the spear/common
> 
OK. I would make the CONFIG_DESIGNWARE_ETH change in patch v3
Since the board/spear/common is compiled for all spear SOCs and 
the network support is different for every SoC, it makes sense to keep 
it in board directory itself

Please see the macb support patch

> Tom
> 
>> diff --git a/board/spear/spear310/spear310.c
>> b/board/spear/spear310/spear310.c
>> index 03dfe16..e8a6552 100644
>> --- a/board/spear/spear310/spear310.c
>> +++ b/board/spear/spear310/spear310.c
>> @@ -23,6 +23,7 @@
>>   */
>>  
>>  #include <common.h>
>> +#include <netdev.h>
>>  #include <nand.h>
>>  #include <asm/io.h>
>>  #include <asm/arch/hardware.h>
>> @@ -57,3 +58,8 @@ int board_nand_init(struct nand_chip *nand)
>>  
>>      return -1;
>>  }
>> +
>> +int board_eth_init(bd_t *bis)
>> +{
>> +    return dw_mii_initialize(0, CONFIG_SPEAR_ETHBASE);
>> +}
>> diff --git a/board/spear/spear320/spear320.c
>> b/board/spear/spear320/spear320.c
>> index 2ba2dbb..72bc9a5 100644
>> --- a/board/spear/spear320/spear320.c
>> +++ b/board/spear/spear320/spear320.c
>> @@ -23,6 +23,7 @@
>>   */
>>  
>>  #include <common.h>
>> +#include <netdev.h>
>>  #include <nand.h>
>>  #include <asm/io.h>
>>  #include <asm/arch/hardware.h>
>> @@ -57,3 +58,8 @@ int board_nand_init(struct nand_chip *nand)
>>  
>>      return -1;
>>  }
>> +
>> +int board_eth_init(bd_t *bis)
>> +{
>> +    return dw_mii_initialize(0, CONFIG_SPEAR_ETHBASE);
>> +}
>> diff --git a/board/spear/spear600/spear600.c
>> b/board/spear/spear600/spear600.c
>> index eef9a37..6d921bd 100644
>> --- a/board/spear/spear600/spear600.c
>> +++ b/board/spear/spear600/spear600.c
>> @@ -22,6 +22,7 @@
>>   */
>>  
>>  #include <common.h>
>> +#include <netdev.h>
>>  #include <nand.h>
>>  #include <asm/io.h>
>>  #include <asm/arch/hardware.h>
>> @@ -51,3 +52,8 @@ int board_nand_init(struct nand_chip *nand)
>>  
>>      return -1;
>>  }
>> +
>> +int board_eth_init(bd_t *bis)
>> +{
>> +    return designware_initialize(0, CONFIG_SPEAR_ETHBASE);
>> +}
>> diff --git a/include/configs/spear-common.h
>> b/include/configs/spear-common.h
>> index 68ba293..ecb1fd1 100644
>> --- a/include/configs/spear-common.h
>> +++ b/include/configs/spear-common.h
>> @@ -27,6 +27,11 @@
>>   * Common configurations used for both spear3xx as well as spear6xx
>>   */
>>  
>> +/* Ethernet driver configuration */
>> +#define CONFIG_DESIGNWARE_ETH
>> +#define CONFIG_NET_MULTI
>> +#define CONFIG_PHY_RESET_DELAY            (10000)        /* in usec */
>> +
>>  /* USBD driver configuration */
>>  #define CONFIG_SPEARUDC
>>  #define CONFIG_USB_DEVICE
>> @@ -98,11 +103,12 @@
>>  #define CONFIG_CMD_MEMORY
>>  #define CONFIG_CMD_RUN
>>  #define CONFIG_CMD_SAVES
>> +#define CONFIG_CMD_NET
>> +#define CONFIG_CMD_PING
>> +#define CONFIG_CMD_DHCP
>>  
>>  /* This must be included AFTER the definition of CONFIG_COMMANDS (if
>> any) */
>>  #include <config_cmd_default.h>
>> -#undef CONFIG_CMD_NET
>> -#undef CONFIG_CMD_NFS
>>  
>>  /*
>>   * Default Environment Varible definitions
>> diff --git a/include/configs/spear3xx.h b/include/configs/spear3xx.h
>> index 0248aba..502c50f 100644
>> --- a/include/configs/spear3xx.h
>> +++ b/include/configs/spear3xx.h
>> @@ -41,6 +41,9 @@
>>  
>>  #include <configs/spear-common.h>
>>  
>> +/* Ethernet driver configuration */
>> +#define CONFIG_DW_ALTDESCRIPTOR            1
>> +
>>  /* Serial Configuration (PL011) */
>>  #define CONFIG_SYS_SERIAL0            0xD0000000
>>  
> 
> 



More information about the U-Boot mailing list