All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vipin KUMAR <vipin.kumar@st.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 07/28] SPEAr : macb driver support added for spear310 and spear320
Date: Wed, 14 Jul 2010 10:39:43 +0530	[thread overview]
Message-ID: <1279084204-3263-8-git-send-email-vipin.kumar@st.com> (raw)
In-Reply-To: <1279084204-3263-7-git-send-email-vipin.kumar@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>
---
 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 39d64b6..9f1e154 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_SPEAR_FSMCBASE			(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 f25eedf..96f1e00 100644
--- a/board/spear/spear310/spear310.c
+++ b/board/spear/spear310/spear310.c
@@ -61,9 +61,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 1ed05aa..c3208e2 100644
--- a/board/spear/spear320/spear320.c
+++ b/board/spear/spear320/spear320.c
@@ -61,9 +61,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 502c50f..689d914 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.6.0.2

  reply	other threads:[~2010-07-14  5:09 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-14  5:09 [U-Boot] [PATCH 00/28] Support for SPEAr13xx boards added Vipin KUMAR
2010-07-14  5:09 ` [U-Boot] [PATCH 01/28] change_bit routine defined Vipin KUMAR
2010-07-14  5:09   ` [U-Boot] [PATCH 02/28] SPEAr : SMI erase and write timeouts increased Vipin KUMAR
2010-07-14  5:09     ` [U-Boot] [PATCH 03/28] SPEAr : Placing ethaddr write and read within CONFIG_CMD_NET Vipin KUMAR
2010-07-14  5:09       ` [U-Boot] [PATCH 04/28] SPEAr : Reducing the max RAM size to 128MB Vipin KUMAR
2010-07-14  5:09         ` [U-Boot] [PATCH 05/28] SPEAr : Basic arch related support added for SPEAr SoCs Vipin KUMAR
2010-07-14  5:09           ` [U-Boot] [PATCH 06/28] SPEAr : Network support configured for spear SoCs Vipin KUMAR
2010-07-14  5:09             ` Vipin KUMAR [this message]
2010-07-14  5:09               ` [U-Boot] [PATCH 08/28] SPEAr : FSMC driver support added Vipin KUMAR
2010-07-14  5:09                 ` [U-Boot] [PATCH 09/28] SPEAr : Configuring FSMC driver for NAND interface Vipin KUMAR
2010-07-14  5:09                   ` [U-Boot] [PATCH 10/28] SPEAr : i2c driver moved completely into drivers/i2c Vipin KUMAR
2010-07-14  5:09                     ` [U-Boot] [PATCH 11/28] SPEAr : smi driver moved completely into drivers/mtd Vipin KUMAR
2010-07-14  5:09                       ` [U-Boot] [PATCH 12/28] SPEAr : USB Device Controller driver support added Vipin KUMAR
2010-07-14  5:09                         ` [U-Boot] [PATCH 13/28] SPEAr : Supporting various configurations for spear3xx and spear6xx boards Vipin KUMAR
2010-07-14  5:09                           ` [U-Boot] [PATCH 14/28] SPEAr : Basic spear1300 architecture support added Vipin KUMAR
2010-07-14  5:09                             ` [U-Boot] [PATCH 15/28] SPEAr : spear1300 SoC " Vipin KUMAR
2010-07-14  5:09                               ` [U-Boot] [PATCH 16/28] SPEAr : Removing extraneous code Vipin KUMAR
2010-07-14  5:09                                 ` [U-Boot] [PATCH 17/28] SPEAr : USB device controller bugfixes Vipin KUMAR
2010-07-14  5:09                                   ` [U-Boot] [PATCH 18/28] SPEAr : Network driver fixes Vipin KUMAR
2010-07-14  5:09                                     ` [U-Boot] [PATCH 19/28] SPEAr : Changing the default environment variable bootargs Vipin KUMAR
2010-07-14  5:09                                       ` [U-Boot] [PATCH 20/28] SPEAr1300: Workaround the UHC problem (issue #101435) Vipin KUMAR
2010-07-14  5:09                                         ` [U-Boot] [PATCH 21/28] Enable high speed support for usb device framework and usbtty Vipin KUMAR
2010-07-14  5:09                                           ` [U-Boot] [PATCH 22/28] SPEAr : High speed support for designware peripheral Vipin KUMAR
2010-07-14  5:09                                             ` [U-Boot] [PATCH 23/28] SPEAr : Enable usb device high speed support Vipin KUMAR
2010-07-14  5:10                                               ` [U-Boot] [PATCH 24/28] SPEAr : Network support configuration Vipin KUMAR
2010-07-14  5:10                                                 ` [U-Boot] [PATCH 25/28] SPEAr : Enabling GPT clock explicitly Vipin KUMAR
2010-07-14  5:10                                                   ` [U-Boot] [PATCH 26/28] SPEAr : smi_init moved to board_init Vipin KUMAR
2010-07-14  5:10                                                     ` [U-Boot] [PATCH 27/28] SPEAr : Ethernet issue workaround is not needed when uboot is acting as flashing Vipin KUMAR
2010-07-14  5:10                                                       ` [U-Boot] [PATCH 28/28] SPEAr1310 : spear1310 support added Vipin KUMAR
2010-07-15 22:14                                                         ` Wolfgang Denk
2010-07-15 22:12                                                       ` [U-Boot] [PATCH 27/28] SPEAr : Ethernet issue workaround is not needed when uboot is acting as flashing Wolfgang Denk
2010-07-15 22:10                                                   ` [U-Boot] [PATCH 25/28] SPEAr : Enabling GPT clock explicitly Wolfgang Denk
2010-07-15 22:09                                                 ` [U-Boot] [PATCH 24/28] SPEAr : Network support configuration Wolfgang Denk
2010-08-01 11:06                                             ` [U-Boot] [PATCH 22/28] SPEAr : High speed support for designware peripheral Remy Bohmer
2010-07-15 22:08                                           ` [U-Boot] [PATCH 21/28] Enable high speed support for usb device framework and usbtty Wolfgang Denk
2010-08-01 11:11                                   ` [U-Boot] [PATCH 17/28] SPEAr : USB device controller bugfixes Remy Bohmer
2010-07-15 22:04                               ` [U-Boot] [PATCH 15/28] SPEAr : spear1300 SoC support added Wolfgang Denk
2010-07-16  4:45                                 ` Vipin KUMAR
2010-07-15 22:01                             ` [U-Boot] [PATCH 14/28] SPEAr : Basic spear1300 architecture " Wolfgang Denk
2010-07-15 21:55                           ` [U-Boot] [PATCH 13/28] SPEAr : Supporting various configurations for spear3xx and spear6xx boards Wolfgang Denk
2010-07-16 11:24                             ` Wolfgang Denk
2010-07-16 11:41                               ` Reinhard Meyer
2010-07-19  3:41                               ` Vipin KUMAR
2010-08-01 11:08                         ` [U-Boot] [PATCH 12/28] SPEAr : USB Device Controller driver support added Remy Bohmer
2010-07-15 21:41                 ` [U-Boot] [PATCH 08/28] SPEAr : FSMC " Wolfgang Denk
2010-07-15 21:38               ` [U-Boot] [PATCH 07/28] SPEAr : macb driver support added for spear310 and spear320 Wolfgang Denk

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=1279084204-3263-8-git-send-email-vipin.kumar@st.com \
    --to=vipin.kumar@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.