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

Vipin KUMAR vipin.kumar at st.com
Mon Mar 29 06:05:25 CEST 2010


On 3/29/2010 4:10 AM, Tom wrote:
> 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

overkill....hmm
actually, there is not clock framework as such that's why had to hard
code the value

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

OK, find the changes in patchset v2

Thanks and Regards
Vipin

> Tom
> 
> 



More information about the U-Boot mailing list