uboot/board/AndesTech/adp-ag102/adp-ag102.c
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2011 Andes Technology Corporation
   3 * Shawn Lin, Andes Technology Corporation <nobuhiro@andestech.com>
   4 * Macpaul Lin, Andes Technology Corporation <macpaul@andestech.com>
   5 *
   6 * SPDX-License-Identifier:     GPL-2.0+
   7 */
   8
   9#include <common.h>
  10#include <netdev.h>
  11#include <asm/io.h>
  12
  13#include <faraday/ftpci100.h>
  14#include <faraday/ftsdc010.h>
  15#ifdef CONFIG_FTSMC020
  16#include <faraday/ftsmc020.h>
  17#endif
  18
  19DECLARE_GLOBAL_DATA_PTR;
  20
  21/*
  22 * Miscellaneous platform dependent initializations
  23 */
  24
  25int board_init(void)
  26{
  27        /*
  28         * refer to BOOT_PARAMETER_PA_BASE within
  29         * "linux/arch/nds32/include/asm/misc_spec.h"
  30         */
  31        gd->bd->bi_arch_number = MACH_TYPE_ADPAG102;
  32        gd->bd->bi_boot_params = PHYS_SDRAM_0 + 0x400;
  33
  34#if !defined(CONFIG_SYS_NO_FLASH)
  35        ftsmc020_init();        /* initialize Flash */
  36#endif /* CONFIG_SYS_NO_FLASH */
  37        return 0;
  38}
  39
  40int dram_init(void)
  41{
  42        unsigned long sdram_base = PHYS_SDRAM_0;
  43        unsigned long expected_size = PHYS_SDRAM_0_SIZE;
  44        unsigned long actual_size;
  45
  46        actual_size = get_ram_size((void *)sdram_base, expected_size);
  47
  48        gd->ram_size = actual_size;
  49
  50        if (expected_size != actual_size) {
  51                printf("Warning: Only %lu of %lu MiB SDRAM is working\n",
  52                                actual_size >> 20, expected_size >> 20);
  53        }
  54
  55        return 0;
  56}
  57
  58int board_eth_init(bd_t *bd)
  59{
  60        return ftgmac100_initialize(bd);
  61}
  62
  63#if !defined(CONFIG_SYS_NO_FLASH)
  64ulong board_flash_get_legacy(ulong base, int banknum, flash_info_t *info)
  65{
  66        if (banknum == 0) {     /* non-CFI boot flash */
  67                info->portwidth = FLASH_CFI_8BIT;
  68                info->chipwidth = FLASH_CFI_BY8;
  69                info->interface = FLASH_CFI_X8;
  70                return 1;
  71        } else {
  72                return 0;
  73        }
  74}
  75#endif /* CONFIG_SYS_NO_FLASH */
  76
  77#if defined(CONFIG_CMD_PCI) || defined(CONFIG_PCI)
  78void pci_init_board(void)
  79{
  80        /* should be pci_ftpci100_init() */
  81        pci_ftpci_init();
  82}
  83#endif
  84
  85#ifdef CONFIG_GENERIC_MMC
  86int board_mmc_init(bd_t *bis)
  87{
  88        ftsdc010_mmc_init(0);
  89        return 0;
  90}
  91#endif
  92