uboot/board/samsung/smdkc100/smdkc100.c
<<
>>
Prefs
   1/*
   2 *  Copyright (C) 2008-2009 Samsung Electronics
   3 *  Minkyu Kang <mk7.kang@samsung.com>
   4 *  Kyungmin Park <kyungmin.park@samsung.com>
   5 *
   6 * SPDX-License-Identifier:     GPL-2.0+
   7 */
   8
   9#include <common.h>
  10#include <asm/gpio.h>
  11#include <asm/io.h>
  12#include <asm/arch/sromc.h>
  13#include <netdev.h>
  14#include <asm/mach-types.h>
  15
  16DECLARE_GLOBAL_DATA_PTR;
  17
  18/*
  19 * Miscellaneous platform dependent initialisations
  20 */
  21static void smc9115_pre_init(void)
  22{
  23        u32 smc_bw_conf, smc_bc_conf;
  24
  25        /* gpio configuration GPK0CON */
  26        gpio_cfg_pin(S5PC100_GPIO_K00 + CONFIG_ENV_SROM_BANK, S5P_GPIO_FUNC(2));
  27
  28        /* Ethernet needs bus width of 16 bits */
  29        smc_bw_conf = SMC_DATA16_WIDTH(CONFIG_ENV_SROM_BANK);
  30        smc_bc_conf = SMC_BC_TACS(0x0) | SMC_BC_TCOS(0x4) | SMC_BC_TACC(0xe)
  31                        | SMC_BC_TCOH(0x1) | SMC_BC_TAH(0x4)
  32                        | SMC_BC_TACP(0x6) | SMC_BC_PMC(0x0);
  33
  34        /* Select and configure the SROMC bank */
  35        s5p_config_sromc(CONFIG_ENV_SROM_BANK, smc_bw_conf, smc_bc_conf);
  36}
  37
  38int board_init(void)
  39{
  40        smc9115_pre_init();
  41
  42        gd->bd->bi_arch_number = MACH_TYPE_SMDKC100;
  43        gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
  44
  45        return 0;
  46}
  47
  48int dram_init(void)
  49{
  50        gd->ram_size = get_ram_size((long *)PHYS_SDRAM_1, PHYS_SDRAM_1_SIZE);
  51
  52        return 0;
  53}
  54
  55int dram_init_banksize(void)
  56{
  57        gd->bd->bi_dram[0].start = PHYS_SDRAM_1;
  58        gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE;
  59
  60        return 0;
  61}
  62
  63#ifdef CONFIG_DISPLAY_BOARDINFO
  64int checkboard(void)
  65{
  66        printf("Board:\tSMDKC100\n");
  67        return 0;
  68}
  69#endif
  70
  71int board_eth_init(bd_t *bis)
  72{
  73        int rc = 0;
  74#ifdef CONFIG_SMC911X
  75        rc = smc911x_initialize(0, CONFIG_SMC911X_BASE);
  76#endif
  77        return rc;
  78}
  79