diff options
author | Wolfgang Denk <wd@denx.de> | 2010-04-08 00:06:31 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2010-04-08 00:06:31 +0200 |
commit | 6a1f7e54c2dd8888dbc118e8de372dec29a0a9c5 (patch) | |
tree | df5b6d67be790d75e60f8fcd97360fc1f179ab0d /board/samsung/smdkc100 | |
parent | d8bc0a2889700ba063598de6d4e7d135360b537e (diff) | |
parent | b5045cdda556c73e2697cd1d3ea6563315cbf490 (diff) | |
download | u-boot-imx-6a1f7e54c2dd8888dbc118e8de372dec29a0a9c5.zip u-boot-imx-6a1f7e54c2dd8888dbc118e8de372dec29a0a9c5.tar.gz u-boot-imx-6a1f7e54c2dd8888dbc118e8de372dec29a0a9c5.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'board/samsung/smdkc100')
-rw-r--r-- | board/samsung/smdkc100/smdkc100.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/board/samsung/smdkc100/smdkc100.c b/board/samsung/smdkc100/smdkc100.c index 15a1a27..fb466c6 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> +#include <netdev.h> + DECLARE_GLOBAL_DATA_PTR; +/* + * Miscellaneous platform dependent initialisations + */ +static void smc9115_pre_init(void) +{ + 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) + | 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; +} |