SPEAr: Add macb driver support for spear310 and spear320
SPEAr310 and SPEAr320 SoCs have an extra ethernet controller. The driver for this device is already supported by u-boot, so configuring board configuration file and defining base addresses etc to make use of the common driver Signed-off-by: Vipin Kumar <vipin.kumar@st.com> Signed-off-by: Amit Virdi <amit.virdi@st.com> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
deb0056227
commit
8eb0ee6a64
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* (C) Copyright 2010
|
||||
* Vipin Kumar, STMicroelectronics, <vipin.kumar@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;
|
||||
}
|
|
@ -56,6 +56,11 @@
|
|||
#define CONFIG_SPEAR_EMIBASE (0x4F000000)
|
||||
#define CONFIG_SPEAR_RASBASE (0xB4000000)
|
||||
|
||||
#define CONFIG_SYS_MACB0_BASE 0xB0000000
|
||||
#define CONFIG_SYS_MACB1_BASE 0xB0800000
|
||||
#define CONFIG_SYS_MACB2_BASE 0xB1000000
|
||||
#define CONFIG_SYS_MACB3_BASE 0xB1800000
|
||||
|
||||
#elif defined(CONFIG_SPEAR320)
|
||||
#define CONFIG_SYS_I2C_BASE (0xD0180000)
|
||||
#define CONFIG_SYS_FSMC_BASE (0x4C000000)
|
||||
|
@ -63,5 +68,7 @@
|
|||
#define CONFIG_SPEAR_EMIBASE (0x40000000)
|
||||
#define CONFIG_SPEAR_RASBASE (0xB3000000)
|
||||
|
||||
#define CONFIG_SYS_MACB0_BASE 0xAA000000
|
||||
|
||||
#endif
|
||||
#endif /* _ASM_ARCH_HARDWARE_H */
|
||||
|
|
|
@ -65,9 +65,28 @@ void board_nand_init()
|
|||
|
||||
int board_eth_init(bd_t *bis)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
#if defined(CONFIG_DESIGNWARE_ETH)
|
||||
return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY);
|
||||
#else
|
||||
return -1;
|
||||
if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY) < 0)
|
||||
ret += -1;
|
||||
#endif
|
||||
#if defined(CONFIG_MACB)
|
||||
if (macb_eth_initialize(0, (void *)CONFIG_SYS_MACB0_BASE,
|
||||
CONFIG_MACB0_PHY) < 0)
|
||||
ret += -1;
|
||||
|
||||
if (macb_eth_initialize(1, (void *)CONFIG_SYS_MACB1_BASE,
|
||||
CONFIG_MACB1_PHY) < 0)
|
||||
ret += -1;
|
||||
|
||||
if (macb_eth_initialize(2, (void *)CONFIG_SYS_MACB2_BASE,
|
||||
CONFIG_MACB2_PHY) < 0)
|
||||
ret += -1;
|
||||
|
||||
if (macb_eth_initialize(3, (void *)CONFIG_SYS_MACB3_BASE,
|
||||
CONFIG_MACB3_PHY) < 0)
|
||||
ret += -1;
|
||||
#endif
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -66,9 +66,15 @@ void board_nand_init()
|
|||
|
||||
int board_eth_init(bd_t *bis)
|
||||
{
|
||||
int ret = 0;
|
||||
#if defined(CONFIG_DESIGNWARE_ETH)
|
||||
return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY);
|
||||
#else
|
||||
return -1;
|
||||
if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY) < 0)
|
||||
ret += -1;
|
||||
#endif
|
||||
#if defined(CONFIG_MACB)
|
||||
if (macb_eth_initialize(0, (void *)CONFIG_SYS_MACB0_BASE,
|
||||
CONFIG_MACB0_PHY) < 0)
|
||||
ret += -1;
|
||||
#endif
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -44,6 +44,19 @@
|
|||
/* Ethernet driver configuration */
|
||||
#define CONFIG_DW_ALTDESCRIPTOR 1
|
||||
|
||||
#if defined(CONFIG_SPEAR310)
|
||||
#define CONFIG_MACB 1
|
||||
#define CONFIG_MACB0_PHY 0x01
|
||||
#define CONFIG_MACB1_PHY 0x03
|
||||
#define CONFIG_MACB2_PHY 0x05
|
||||
#define CONFIG_MACB3_PHY 0x07
|
||||
|
||||
#elif defined(CONFIG_SPEAR320)
|
||||
#define CONFIG_MACB 1
|
||||
#define CONFIG_MACB0_PHY 0x01
|
||||
|
||||
#endif
|
||||
|
||||
/* Serial Configuration (PL011) */
|
||||
#define CONFIG_SYS_SERIAL0 0xD0000000
|
||||
|
||||
|
|
Loading…
Reference in New Issue