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

FengHua fenghua at phytium.com.cn
Tue Sep 3 11:01:28 CEST 2013




> -----原始邮件-----
> 发件人: "Bhupesh Sharma" <bhupesh.sharma at freescale.com>
> 发送时间: 2013年9月4日 星期三
> 收件人: u-boot at lists.denx.de
> 抄送: trini at ti.com, fenghua at phytium.com.cn, "Bhupesh Sharma" <bhupesh.sharma at 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 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
> 
> 

That's great!







More information about the U-Boot mailing list