[U-Boot] [PATCH 4/4] SPEAr : macb driver support added for spear310 and spear320

Tom Tom.Rix at windriver.com
Mon Mar 29 00:40:51 CEST 2010


Vipin KUMAR wrote:
> Signed-off-by: Vipin Kumar <vipin.kumar at st.com>
> ---
>  board/spear/spear310/spear310.c  |    9 ++++++++-
>  board/spear/spear320/spear320.c  |    6 +++++-
>  include/asm-arm/arch-spear/clk.h |   27 +++++++++++++++++++++++++++
>  include/configs/spear3xx.h       |   21 +++++++++++++++++++++
>  4 files changed, 61 insertions(+), 2 deletions(-)
>  create mode 100644 include/asm-arm/arch-spear/clk.h
> 
> diff --git a/board/spear/spear310/spear310.c b/board/spear/spear310/spear310.c
> index 2c35a55..6f5c52a 100755
> --- a/board/spear/spear310/spear310.c
> +++ b/board/spear/spear310/spear310.c
> @@ -61,5 +61,12 @@ int board_nand_init(struct nand_chip *nand)
>  
>  int board_eth_init(bd_t *bis)
>  {
> -	return spear_mii_initialize(0);
> +	spear_mii_initialize(0);
> +
> +	macb_eth_initialize(0, (void *)SPR310_MACB0_BASE, SPR310_MACB0_PHY);
> +	macb_eth_initialize(1, (void *)SPR310_MACB1_BASE, SPR310_MACB1_PHY);
> +	macb_eth_initialize(2, (void *)SPR310_MACB2_BASE, SPR310_MACB2_PHY);
> +	macb_eth_initialize(3, (void *)SPR310_MACB3_BASE, SPR310_MACB3_PHY);
> +
> +	return 0;
>  }
> diff --git a/board/spear/spear320/spear320.c b/board/spear/spear320/spear320.c
> index a804123..e9d8f9f 100755
> --- a/board/spear/spear320/spear320.c
> +++ b/board/spear/spear320/spear320.c
> @@ -61,5 +61,9 @@ int board_nand_init(struct nand_chip *nand)
>  
>  int board_eth_init(bd_t *bis)
>  {
> -	return spear_mii_initialize(0);
> +	spear_mii_initialize(0);
> +
> +	macb_eth_initialize(0, (void *)SPR320_MACB0_BASE, SPR320_MACB0_PHY);
> +
> +	return 0;
>  }
> diff --git a/include/asm-arm/arch-spear/clk.h b/include/asm-arm/arch-spear/clk.h
> new file mode 100644
> index 0000000..343c6ce
> --- /dev/null
> +++ b/include/asm-arm/arch-spear/clk.h
> @@ -0,0 +1,27 @@
> +/*
> + * (C) Copyright 2009
> + * Vipin Kumar, STMicroelectronics, <vipin.kumar at st.com>
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +static inline unsigned long get_macb_pclk_rate(unsigned int dev_id)
> +{
> +	return 83000000;
> +}
These seems like overkill but supports the macb driver..
Ok
> diff --git a/include/configs/spear3xx.h b/include/configs/spear3xx.h
> index b69e734..3bf01b5 100755
> --- a/include/configs/spear3xx.h
> +++ b/include/configs/spear3xx.h
> @@ -44,6 +44,27 @@
>  /* Ethernet configuration */
>  #define CONFIG_SPEAR_ALTDESC
>  
> +#if defined(CONFIG_SPEAR310)
> +#define CONFIG_MACB				1
> +#define CONFIG_MACB_SEARCH_PHY			1
> +
> +#define SPR310_MACB0_BASE			0xB0000000
> +#define SPR310_MACB1_BASE			0xB0800000
> +#define SPR310_MACB2_BASE			0xB1000000
> +#define SPR310_MACB3_BASE			0xB1800000
> +#define SPR310_MACB0_PHY			0x01
> +#define SPR310_MACB1_PHY			0x03
> +#define SPR310_MACB2_PHY			0x05
> +#define SPR310_MACB3_PHY			0x07
> +
> +#elif defined(CONFIG_SPEAR320)
> +#define CONFIG_MACB				1
> +#define CONFIG_MACB_SEARCH_PHY			1
> +
> +#define SPR320_MACB0_BASE			0xAA000000
> +#define SPR320_MACB0_PHY			0x01
> +#endif
> +
>  /* Serial Configuration (PL011) */
>  #define CONFIG_SYS_SERIAL0			0xD0000000
>  
The non CONFIG_* #defines should be in asm/arch-spear/hardware.h or
another appropriate arch *.h

Tom



More information about the U-Boot mailing list