[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