uboot/board/logicpd/zoom1/zoom1.c
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2004-2008
   3 * Texas Instruments, <www.ti.com>
   4 *
   5 * Author :
   6 *      Nishanth Menon <nm@ti.com>
   7 *
   8 * Derived from Beagle Board and 3430 SDP code by
   9 *      Sunil Kumar <sunilsaini05@gmail.com>
  10 *      Shashi Ranjan <shashiranjanmca05@gmail.com>
  11 *      Richard Woodruff <r-woodruff2@ti.com>
  12 *      Syed Mohammed Khasim <khasim@ti.com>
  13 *
  14 *
  15 * See file CREDITS for list of people who contributed to this
  16 * project.
  17 *
  18 * This program is free software; you can redistribute it and/or
  19 * modify it under the terms of the GNU General Public License as
  20 * published by the Free Software Foundation; either version 2 of
  21 * the License, or (at your option) any later version.
  22 *
  23 * This program is distributed in the hope that it will be useful,
  24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  26 * GNU General Public License for more details.
  27 *
  28 * You should have received a copy of the GNU General Public License
  29 * along with this program; if not, write to the Free Software
  30 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  31 * MA 02111-1307 USA
  32 */
  33#include <common.h>
  34#include <netdev.h>
  35#include <twl4030.h>
  36#include <asm/io.h>
  37#include <asm/arch/mmc_host_def.h>
  38#include <asm/arch/mux.h>
  39#include <asm/arch/sys_proto.h>
  40#include <asm/mach-types.h>
  41#include "zoom1.h"
  42
  43DECLARE_GLOBAL_DATA_PTR;
  44
  45/*
  46 * Routine: board_init
  47 * Description: Early hardware init.
  48 */
  49int board_init(void)
  50{
  51        gpmc_init(); /* in SRAM or SDRAM, finish GPMC */
  52        /* board id for Linux */
  53        gd->bd->bi_arch_number = MACH_TYPE_OMAP_LDP;
  54        /* boot param addr */
  55        gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
  56
  57        return 0;
  58}
  59
  60/*
  61 * Routine: misc_init_r
  62 * Description: Configure zoom board specific configurations
  63 */
  64int misc_init_r(void)
  65{
  66        twl4030_power_init();
  67        twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
  68        dieid_num_r();
  69
  70        /*
  71         * Board Reset
  72         * The board is reset by holding the red button on the
  73         * top right front face for eight seconds.
  74         */
  75        twl4030_power_reset_init();
  76
  77        return 0;
  78}
  79
  80/*
  81 * Routine: set_muxconf_regs
  82 * Description: Setting up the configuration Mux registers specific to the
  83 *              hardware. Many pins need to be moved from protect to primary
  84 *              mode.
  85 */
  86void set_muxconf_regs(void)
  87{
  88        /* platform specific muxes */
  89        MUX_ZOOM1_MDK();
  90}
  91
  92#ifdef CONFIG_GENERIC_MMC
  93int board_mmc_init(bd_t *bis)
  94{
  95        omap_mmc_init(0);
  96        return 0;
  97}
  98#endif
  99
 100#ifdef CONFIG_CMD_NET
 101int board_eth_init(bd_t *bis)
 102{
 103        int rc = 0;
 104#ifdef CONFIG_LAN91C96
 105        rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
 106#endif
 107        return rc;
 108}
 109#endif
 110