diff mbox

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

Message ID 1378226278-31939-1-git-send-email-bhupesh.sharma@freescale.com
State Superseded
Delegated to: Albert ARIBAUD
Headers show

Commit Message

Bhupesh Sharma Sept. 3, 2013, 4:37 p.m. UTC
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@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(+)

Comments

fenghua@phytium.com.cn Sept. 3, 2013, 9:01 a.m. UTC | #1
> -----原始邮件-----
> 发件人: "Bhupesh Sharma" <bhupesh.sharma@freescale.com>
> 发送时间: 2013年9月4日 星期三
> 收件人: u-boot@lists.denx.de
> 抄送: trini@ti.com, fenghua@phytium.com.cn, "Bhupesh Sharma" <bhupesh.sharma@freescale.com>
> 主题: [PATCH] vexpress/v8: Add support for SMSC91C111 integrated MAC and PHY module
> 
> 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@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
> 
> 

That's great!
fenghua@phytium.com.cn Sept. 11, 2013, 4:35 a.m. UTC | #2
hi Bhupesh,
       I want to incoporate this patch to the arm64 patch so that it is more complete.  My I have your authorization?
 
Best Regards,
 David

> -----原始邮件-----
> 发件人: "Bhupesh Sharma" <bhupesh.sharma@freescale.com>
> 发送时间: 2013年9月4日 星期三
> 收件人: u-boot@lists.denx.de
> 抄送: trini@ti.com, fenghua@phytium.com.cn, "Bhupesh Sharma" <bhupesh.sharma@freescale.com>
> 主题: [PATCH] vexpress/v8: Add support for SMSC91C111 integrated MAC and PHY module
> 
> 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@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
> 
>
diff mbox

Patch

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