/* 
 | 
 * am3517crane.c - board file for AM3517 CraneBoard 
 | 
 * 
 | 
 * Author: Srinath.R <srinath@mistralsolutions.com> 
 | 
 * 
 | 
 * Based on logicpd/am3517evm/am3517evm.c 
 | 
 * 
 | 
 * Copyright (C) 2011 Mistral Solutions Pvt Ltd 
 | 
 * 
 | 
 * SPDX-License-Identifier:    GPL-2.0+ 
 | 
 */ 
 | 
  
 | 
#include <common.h> 
 | 
#include <asm/io.h> 
 | 
#include <asm/arch/mmc_host_def.h> 
 | 
#include <asm/arch/mem.h> 
 | 
#include <asm/arch/mux.h> 
 | 
#include <asm/arch/sys_proto.h> 
 | 
#include <asm/mach-types.h> 
 | 
#include <i2c.h> 
 | 
#include "am3517crane.h" 
 | 
  
 | 
DECLARE_GLOBAL_DATA_PTR; 
 | 
  
 | 
/* 
 | 
 * Routine: board_init 
 | 
 * Description: Early hardware init. 
 | 
 */ 
 | 
int board_init(void) 
 | 
{ 
 | 
    gpmc_init(); /* in SRAM or SDRAM, finish GPMC */ 
 | 
    /* board id for Linux */ 
 | 
    gd->bd->bi_arch_number = MACH_TYPE_CRANEBOARD; 
 | 
    /* boot param addr */ 
 | 
    gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100); 
 | 
  
 | 
    return 0; 
 | 
} 
 | 
  
 | 
/* 
 | 
 * Routine: misc_init_r 
 | 
 * Description: Init i2c, ethernet, etc... (done here so udelay works) 
 | 
 */ 
 | 
int misc_init_r(void) 
 | 
{ 
 | 
#ifdef CONFIG_SYS_I2C_OMAP24XX 
 | 
    i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); 
 | 
#endif 
 | 
  
 | 
    omap_die_id_display(); 
 | 
  
 | 
    return 0; 
 | 
} 
 | 
  
 | 
/* 
 | 
 * Routine: set_muxconf_regs 
 | 
 * Description: Setting up the configuration Mux registers specific to the 
 | 
 *        hardware. Many pins need to be moved from protect to primary 
 | 
 *        mode. 
 | 
 */ 
 | 
void set_muxconf_regs(void) 
 | 
{ 
 | 
    MUX_AM3517CRANE(); 
 | 
} 
 | 
  
 | 
#if defined(CONFIG_MMC) 
 | 
int board_mmc_init(bd_t *bis) 
 | 
{ 
 | 
    return omap_mmc_init(0, 0, 0, -1, -1); 
 | 
} 
 | 
#endif 
 |