[U-Boot] [PATCH] vexpress/v8: Add support for SMSC91C111 integrated MAC and PHY module

Bhupesh Sharma bhupesh.sharma at freescale.com
Tue Sep 3 18:37:58 CEST 2013


This patch enables ethernet support in ARMv8 foundation model. The ARMv8
foundation model supports a SMSC91C111 integrated MAC and PHY module
which is present at base address 0x01A000000.

The patch has been tested on ARMv8 foundation model by running ping/tftp
between the foundation model and the host PC via a bridged network.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma at freescale.com>
---
This patch is based on the ARMv8 support related patches sent out
by David Feng. The V5 of this patchset from David can be found here:
http://u-boot.10912.n7.nabble.com/PATCH-v5-0-4-arm64-patch-td161939.html

To test the ethernet functionality on a ARMv8 foundation model:

- Launch the model with BRIDGED networking option:
	--network=bridged

- This will create an ethernet interface (eth0) inside the model and
  an interface ARM0 on the Host PC.

- Assign appropriate IP addresses:
  	~ On Host:
		$ ifconfig ARM0 10.10.10.11
	~ On foundation model:
		VExpress# setenv ipaddr 10.10.10.10
		VExpress# setenv gatewayip 10.10.10.11
		VExpress# setenv serverip 10.10.10.11

- Now try out ping/tftp tests.

 board/armltd/vexpress64/vexpress64.c |   14 ++++++++++++++
 include/configs/vexpress_aemv8a.h    |    4 ++++
 2 files changed, 18 insertions(+)

diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
index 4febece..3bebdbd 100644
--- a/board/armltd/vexpress64/vexpress64.c
+++ b/board/armltd/vexpress64/vexpress64.c
@@ -77,3 +77,17 @@ void __gpio_request(unsigned gpio, const char *label)
 }
 void gpio_request(unsigned gpio, const char *label)
 	__attribute__((weak, alias("__gpio_request")));
+
+/*
+ * Board specific ethernet initialization routine.
+ */
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+
+#ifdef CONFIG_SMC91111
+	rc = smc91111_initialize(0, CONFIG_SMC91111_BASE);
+#endif
+
+	return rc;
+}
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
index d207d00..8e309b3 100644
--- a/include/configs/vexpress_aemv8a.h
+++ b/include/configs/vexpress_aemv8a.h
@@ -118,6 +118,10 @@
 /* Size of malloc() pool */
 #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 128 * 1024)
 
+/* SMSC91C111 Ethernet Configuration */
+#define CONFIG_SMC91111			1
+#define CONFIG_SMC91111_BASE		(0x01A000000)
+
 /* PL011 Serial Configuration */
 #define CONFIG_PL011_SERIAL
 #define CONFIG_PL011_CLOCK		24000000
-- 
1.7.10.4




More information about the U-Boot mailing list