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.sha...@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


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to