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

Ben Warren biggerbadderben at gmail.com
Sat Jun 5 16:42:45 CEST 2010


On Thu, Jun 3, 2010 at 4:50 AM, Vipin KUMAR <vipin.kumar at st.com> wrote:

> From: Vipin KUMAR <vipin.kumar at st.com>
>
> Signed-off-by: Vipin Kumar <vipin.kumar at st.com>
>
Acked-by:  Ben Warren <biggerbadderben at gmail.com>

> ---
>  arch/arm/include/asm/arch-spear/hardware.h |    1 +
>  board/spear/spear300/spear300.c            |   11 +++++++++++
>  board/spear/spear310/spear310.c            |   11 +++++++++++
>  board/spear/spear320/spear320.c            |   11 +++++++++++
>  board/spear/spear600/spear600.c            |   11 +++++++++++
>  include/configs/spear-common.h             |   14 ++++++++++++--
>  include/configs/spear3xx.h                 |    3 +++
>  7 files changed, 60 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..744a17b 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,13 @@ int board_nand_init(struct nand_chip *nand)
>
>        return -1;
>  }
> +
> +int board_eth_init(bd_t *bis)
> +{
> +       int ret = 0;
> +#if defined(CONFIG_DESIGNWARE_ETH)
> +       if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY)
> >= 0)
> +               ret++;
> +#endif
> +       return ret;
> +}
> diff --git a/board/spear/spear310/spear310.c
> b/board/spear/spear310/spear310.c
> index 03dfe16..666ed48 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,13 @@ int board_nand_init(struct nand_chip *nand)
>
>        return -1;
>  }
> +
> +int board_eth_init(bd_t *bis)
> +{
> +       int ret = 0;
> +#if defined(CONFIG_DESIGNWARE_ETH)
> +       if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY)
> >= 0)
> +               ret++;
> +#endif
> +       return ret;
> +}
> diff --git a/board/spear/spear320/spear320.c
> b/board/spear/spear320/spear320.c
> index 2ba2dbb..89b074a 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,13 @@ int board_nand_init(struct nand_chip *nand)
>
>        return -1;
>  }
> +
> +int board_eth_init(bd_t *bis)
> +{
> +       int ret = 0;
> +#if defined(CONFIG_DESIGNWARE_ETH)
> +       if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY)
> >= 0)
> +               ret++;
> +#endif
> +       return ret;
> +}
> diff --git a/board/spear/spear600/spear600.c
> b/board/spear/spear600/spear600.c
> index eef9a37..759b4fa 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,13 @@ int board_nand_init(struct nand_chip *nand)
>
>        return -1;
>  }
> +
> +int board_eth_init(bd_t *bis)
> +{
> +       int ret = 0;
> +#if defined(CONFIG_DESIGNWARE_ETH)
> +       if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY)
> >= 0)
> +               ret++;
> +#endif
> +       return ret;
> +}
> diff --git a/include/configs/spear-common.h
> b/include/configs/spear-common.h
> index 10beef7..1398837 100644
> --- a/include/configs/spear-common.h
> +++ b/include/configs/spear-common.h
> @@ -27,6 +27,14 @@
>  * Common configurations used for both spear3xx as well as spear6xx
>  */
>
> +/* Ethernet driver configuration */
> +#define CONFIG_MII
> +#define CONFIG_DESIGNWARE_ETH
> +#define CONFIG_DW_SEARCH_PHY
> +#define CONFIG_DW0_PHY                         1
> +#define CONFIG_NET_MULTI
> +#define CONFIG_PHY_RESET_DELAY                 (10000)         /* in usec
> */
> +
>  /* USBD driver configuration */
>  #define CONFIG_SPEARUDC
>  #define CONFIG_USB_DEVICE
> @@ -99,11 +107,13 @@
>  #define CONFIG_CMD_MEMORY
>  #define CONFIG_CMD_RUN
>  #define CONFIG_CMD_SAVES
> +#define CONFIG_CMD_NET
> +#define CONFIG_CMD_MII
> +#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
>
> --
> 1.6.0.2
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>


More information about the U-Boot mailing list