[U-Boot] [PATCH 3/3 v3] SAMSUNG: SMDKC100: Adds ethernet support.

Minkyu Kang promsoft at gmail.com
Tue Feb 23 09:33:37 CET 2010


Dear Naveen Krishna CH,

On 19 February 2010 19:26,  <ch.naveen at samsung.com> wrote:
> From: Naveen Krishna CH <ch.naveen at samsung.com>
>
> Add setup for ethernet on SMDKC100, allowing kernel/ramdisk to be
> loaded over tftp.
>
> The preinit function will configure GPIO (GPK0CON) & SROMC to look
> for environment in SROM Bank 3.
>
> Signed-off-by: Naveen Krishna Ch <ch.naveen at samsung.com>
> ---
> Changes since V1:
>
> 1. The CONFIG_BOOTP* and Net config Macros are removed from config header.
> Comments from Ben Warren are fixed
> 2. The GPIO configuration is modified & Macro and Function are renamed.
> Comments from Minkyu Kang are fixedChanges since V2
>
> Changes since V2:
> 1. GPIO configurations function has been implemented.
>
>  board/samsung/smdkc100/smdkc100.c |   39 +++++++++++++++++++++++++++++++++++++
>  include/configs/smdkc100.h        |   13 +++++++++++-
>  2 files changed, 51 insertions(+), 1 deletions(-)
>
> diff --git a/board/samsung/smdkc100/smdkc100.c b/board/samsung/smdkc100/smdkc100.c
> index 15a1a27..946f7af 100644
> --- a/board/samsung/smdkc100/smdkc100.c
> +++ b/board/samsung/smdkc100/smdkc100.c
> @@ -23,10 +23,40 @@
>  */
>
>  #include <common.h>
> +#include <asm/io.h>
> +#include <asm/arch/smc.h>
> +#include <asm/arch/gpio.h>
> +
>  DECLARE_GLOBAL_DATA_PTR;
>
> +/*
> + * Miscellaneous platform dependent initialisations
> + */
> +static void smc9115_pre_init(void)
> +{
> +       u32 tmp;
> +       u32 smc_bw_conf, smc_bc_conf;
> +
> +       struct s5pc100_gpio *const gpio =
> +               (struct s5pc100_gpio *)S5PC100_GPIO_BASE;
> +
> +       /* gpio configuration GPK0CON */
> +       gpio_cfg_pin(&gpio->gpio_k0, CONFIG_ENV_SROM_BANK, GPIO_FUNC(2));
> +
> +       /* Ethernet needs bus width of 16 bits */
> +       smc_bw_conf = SMC_DATA16_WIDTH(CONFIG_ENV_SROM_BANK);
> +       smc_bc_conf = SMC_BC_TACS(0x0) | SMC_BC_TCOS(0x4) | SMC_BC_TACC(0xe) \

\ is no need.

> +                       | SMC_BC_TCOH(0x1) | SMC_BC_TAH(0x4)
> +                       | SMC_BC_TACP(0x6) | SMC_BC_PMC(0x0);
> +
> +       /* Select and configure the SROMC bank */
> +       s5pc1xx_config_sromc(CONFIG_ENV_SROM_BANK, smc_bw_conf, smc_bc_conf);
> +}
> +
>  int board_init(void)
>  {
> +       smc9115_pre_init();
> +
>        gd->bd->bi_arch_number = MACH_TYPE_SMDKC100;
>        gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
>
> @@ -49,3 +79,12 @@ int checkboard(void)
>        return 0;
>  }
>  #endif
> +
> +int board_eth_init(bd_t *bis)
> +{
> +       int rc = 0;
> +#ifdef CONFIG_SMC911X
> +       rc = smc911x_initialize(0, CONFIG_SMC911X_BASE);
> +#endif
> +       return rc;
> +}
> diff --git a/include/configs/smdkc100.h b/include/configs/smdkc100.h
> index f12fea3..22e8e95 100644
> --- a/include/configs/smdkc100.h
> +++ b/include/configs/smdkc100.h
> @@ -83,7 +83,7 @@
>  #undef CONFIG_CMD_FLASH
>  #undef CONFIG_CMD_IMLS
>  #undef CONFIG_CMD_NAND
> -#undef CONFIG_CMD_NET
> +#define CONFIG_CMD_NET         /* bootp, tftpboot, rarpboot */

CMD_NET is already defined config_cmd_default.h.
Just remove the undef line.

>
>  #define CONFIG_CMD_CACHE
>  #define CONFIG_CMD_REGINFO
> @@ -235,4 +235,15 @@
>
>  #define CONFIG_DOS_PARTITION           1
>
> +/*
> + * Ethernet Contoller driver
> + */
> +#ifdef CONFIG_CMD_NET
> +#define CONFIG_NET_MULTI
> +#define CONFIG_SMC911X         1       /* we have a SMC9115 on-board   */
> +#define CONFIG_SMC911X_16_BIT  1       /* SMC911X_16_BIT Mode          */
> +#define CONFIG_SMC911X_BASE    0x98800300      /* SMC911X Drive Base   */
> +#define CONFIG_ENV_SROM_BANK   3       /* Select SROM Bank-3 for Ethernet*/
> +#endif /* CONFIG_CMD_NET */
> +
>  #endif /* __CONFIG_H */
> --
> 1.6.6
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>

Thanks
Minkyu Kang
-- 
from. prom.
www.promsoft.net


More information about the U-Boot mailing list