Dear Naveen Krishna CH, On 19 February 2010 19:26, <ch.nav...@samsung.com> wrote: > From: Naveen Krishna CH <ch.nav...@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.nav...@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@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot > Thanks Minkyu Kang -- from. prom. www.promsoft.net _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot