From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vipin KUMAR Date: Mon, 29 Mar 2010 09:35:25 +0530 Subject: [U-Boot] [PATCH 4/4] SPEAr : macb driver support added for spear310 and spear320 In-Reply-To: <4BAFDAF3.6000103@windriver.com> References: <1269333012-17821-1-git-send-email-vipin.kumar@st.com> <1269333012-17821-2-git-send-email-vipin.kumar@st.com> <1269333012-17821-3-git-send-email-vipin.kumar@st.com> <1269333012-17821-4-git-send-email-vipin.kumar@st.com> <1269333012-17821-5-git-send-email-vipin.kumar@st.com> <4BAFDAF3.6000103@windriver.com> Message-ID: <4BB02705.1010501@st.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 3/29/2010 4:10 AM, Tom wrote: > Vipin KUMAR wrote: >> Signed-off-by: Vipin Kumar >> --- >> 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, >> + * >> + * 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 > >