All of lore.kernel.org
 help / color / mirror / Atom feed
From: Amit Virdi <amit.virdi@st.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 05/25] SPEAr: Add macb driver support for spear310 and spear320
Date: Wed, 7 Mar 2012 17:33:54 +0530	[thread overview]
Message-ID: <1331121854-20494-6-git-send-email-amit.virdi@st.com> (raw)
In-Reply-To: <1331121854-20494-1-git-send-email-amit.virdi@st.com>

From: Vipin KUMAR <vipin.kumar@st.com>

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>
---
 arch/arm/include/asm/arch-spear/clk.h      |   27 +++++++++++++++++++++++++++
 arch/arm/include/asm/arch-spear/hardware.h |    7 +++++++
 board/spear/spear310/spear310.c            |   25 ++++++++++++++++++++++---
 board/spear/spear320/spear320.c            |   12 +++++++++---
 include/configs/spear3xx.h                 |   13 +++++++++++++
 5 files changed, 78 insertions(+), 6 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-spear/clk.h

diff --git a/arch/arm/include/asm/arch-spear/clk.h b/arch/arm/include/asm/arch-spear/clk.h
new file mode 100644
index 0000000..a45ec18
--- /dev/null
+++ b/arch/arm/include/asm/arch-spear/clk.h
@@ -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;
+}
diff --git a/arch/arm/include/asm/arch-spear/hardware.h b/arch/arm/include/asm/arch-spear/hardware.h
index 2b9cb0e..421f33f 100644
--- a/arch/arm/include/asm/arch-spear/hardware.h
+++ b/arch/arm/include/asm/arch-spear/hardware.h
@@ -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 */
diff --git a/board/spear/spear310/spear310.c b/board/spear/spear310/spear310.c
index 8c5b5ba..f74bbac 100644
--- a/board/spear/spear310/spear310.c
+++ b/board/spear/spear310/spear310.c
@@ -62,9 +62,28 @@ int board_nand_init(struct nand_chip *nand)
 
 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;
 }
diff --git a/board/spear/spear320/spear320.c b/board/spear/spear320/spear320.c
index b60acc2..adddfd1 100644
--- a/board/spear/spear320/spear320.c
+++ b/board/spear/spear320/spear320.c
@@ -62,9 +62,15 @@ int board_nand_init(struct nand_chip *nand)
 
 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;
 }
diff --git a/include/configs/spear3xx.h b/include/configs/spear3xx.h
index 035b321..f3e3354 100644
--- a/include/configs/spear3xx.h
+++ b/include/configs/spear3xx.h
@@ -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
 
-- 
1.7.2.2

  parent reply	other threads:[~2012-03-07 12:03 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-07 12:03 [U-Boot] [PATCH 00/25] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
2012-03-07 12:03 ` [U-Boot] [PATCH 01/25] SPEAr: Fix ARM relocation support Amit Virdi
2012-03-07 13:11   ` Stefan Roese
2012-03-07 12:03 ` [U-Boot] [PATCH 02/25] SPEAr: Eliminate dependency on Xloader table Amit Virdi
2012-03-07 13:16   ` Stefan Roese
2012-03-07 12:03 ` [U-Boot] [PATCH 03/25] SPEAr: Place ethaddr write and read within CONFIG_CMD_NET Amit Virdi
2012-03-07 13:21   ` Stefan Roese
2012-03-07 13:29     ` Mike Frysinger
2012-03-26 11:23     ` Amit Virdi
2012-03-26 13:15       ` Wolfgang Denk
2012-03-07 12:03 ` [U-Boot] [PATCH 04/25] SPEAr: Configure network support for spear SoCs Amit Virdi
2012-03-07 13:29   ` Stefan Roese
2012-03-26 11:41     ` Amit Virdi
2012-03-26 11:51       ` Stefan Roese
2012-03-07 12:03 ` Amit Virdi [this message]
2012-03-07 12:03 ` [U-Boot] [PATCH 06/25] SPEAr: Add interface information in initialization Amit Virdi
2012-03-07 12:03 ` [U-Boot] [PATCH 07/25] SPEAr: Add basic arch related support for SPEAr SoCs Amit Virdi
2012-03-07 13:49   ` Stefan Roese
2012-03-12 12:30     ` Amit Virdi
2012-03-07 12:03 ` [U-Boot] [PATCH 08/25] SPEAr: Add configuration options for spear3xx and spear6xx boards Amit Virdi
2012-03-07 13:54   ` Stefan Roese
2012-03-26 12:10     ` Amit Virdi
2012-03-26 12:30       ` Stefan Roese
2012-03-27  5:59         ` Amit Virdi
2012-03-07 12:03 ` [U-Boot] [PATCH 09/25] SPEAr: Remove unused flag (CONFIG_SYS_HZ_CLOCK) Amit Virdi
2012-03-07 13:56   ` Stefan Roese
2012-03-07 12:03 ` [U-Boot] [PATCH 10/25] SPEAr: Change the default environment variables Amit Virdi
2012-03-07 14:03   ` Stefan Roese
2012-03-12 12:38     ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 11/25] SPEAr: Initialize SNOR in early_board_init_f Amit Virdi
2012-03-07 14:06   ` Stefan Roese
2012-03-07 12:04 ` [U-Boot] [PATCH 12/25] SPEAr: Enable usb device high speed support Amit Virdi
2012-03-07 14:07   ` Stefan Roese
2012-03-12 12:39     ` Amit Virdi
2012-03-26 12:15       ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 13/25] SPEAr: spear usbtty configuration does not use ethernet device Amit Virdi
2012-03-07 14:14   ` Stefan Roese
2012-03-12 13:12     ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 14/25] SPEAr: Enable udc and usb-console support only for usbtty configuration Amit Virdi
2012-03-07 14:15   ` Stefan Roese
2012-03-07 12:04 ` [U-Boot] [PATCH 15/25] SPEAr: Enable autoneg for ethernet Amit Virdi
2012-03-07 14:18   ` Stefan Roese
2012-03-27  9:02     ` Amit Virdi
2012-03-27  9:20       ` Stefan Roese
2012-03-27  9:24         ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 16/25] SPEAr: Enable dcache for fast file transfer Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 17/25] SPEAr: Enable CONFIG_SYS_FLASH_PROTECTION Amit Virdi
2012-03-07 14:25   ` Stefan Roese
2012-03-27  6:39     ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 18/25] SPEAr: Correct the definition of CONFIG_SYS_MONITOR_BASE Amit Virdi
2012-03-07 14:31   ` Stefan Roese
2012-03-27  6:38     ` Amit Virdi
2012-03-27  7:05       ` Stefan Roese
2012-03-27  7:42         ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 19/25] SPEAr: Enable CONFIG_SYS_FLASH_EMPTY_INFO macro Amit Virdi
2012-03-07 14:32   ` Stefan Roese
2012-03-27  6:11     ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 20/25] SPEAr: Enable ONFI nand flash detection for spear3xx and 6xx and evb Amit Virdi
2012-03-07 14:34   ` Stefan Roese
2012-03-27  6:09     ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 21/25] SPEAr: explicitly select clk src for UART Amit Virdi
2012-03-07 14:36   ` Stefan Roese
2012-03-07 12:04 ` [U-Boot] [PATCH 22/25] SPEAr: Correct SoC ID offset in misc configuration space Amit Virdi
2012-03-07 14:36   ` Stefan Roese
2012-03-07 12:04 ` [U-Boot] [PATCH 23/25] SPEAr: Use separate config flags for 3xx and 6xx board files Amit Virdi
2012-03-07 14:38   ` Stefan Roese
2012-03-12 13:57     ` Amit Virdi
2012-03-12 14:17       ` Stefan Roese
2012-03-07 12:04 ` [U-Boot] [PATCH 24/25] cleanup/SPEAr: Remove unnecessary parenthesis Amit Virdi
2012-03-07 14:41   ` Stefan Roese
2012-03-07 14:46     ` Stefan Roese
2012-03-12 13:52       ` Amit Virdi
2012-03-07 12:04 ` [U-Boot] [PATCH 25/25] cleanup/SPEAr: Define configuration flags more elegantly Amit Virdi
2012-03-07 14:42   ` Stefan Roese
2012-03-07 13:15 ` [U-Boot] [PATCH 00/25] SPEAr: Update platform support for SPEAr3xx/6xx Stefan Roese
2012-03-07 13:56   ` Amit Virdi
2012-03-09  7:29   ` Vipin Kumar
2012-03-09  7:47     ` Stefan Roese
2012-03-09  8:47       ` Vipin Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1331121854-20494-6-git-send-email-amit.virdi@st.com \
    --to=amit.virdi@st.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.