1/* 2 * am3517crane.c - board file for AM3517 CraneBoard 3 * 4 * Author: Srinath.R <srinath@mistralsolutions.com> 5 * 6 * Based on logicpd/am3517evm/am3517evm.c 7 * 8 * Copyright (C) 2011 Mistral Solutions Pvt Ltd 9 * 10 * SPDX-License-Identifier: GPL-2.0+ 11 */ 12 13#include <common.h> 14#include <asm/io.h> 15#include <asm/arch/mmc_host_def.h> 16#include <asm/arch/mem.h> 17#include <asm/arch/mux.h> 18#include <asm/arch/sys_proto.h> 19#include <asm/mach-types.h> 20#include <i2c.h> 21#include "am3517crane.h" 22 23DECLARE_GLOBAL_DATA_PTR; 24 25/* 26 * Routine: board_init 27 * Description: Early hardware init. 28 */ 29int board_init(void) 30{ 31 gpmc_init(); /* in SRAM or SDRAM, finish GPMC */ 32 /* board id for Linux */ 33 gd->bd->bi_arch_number = MACH_TYPE_CRANEBOARD; 34 /* boot param addr */ 35 gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100); 36 37 return 0; 38} 39 40/* 41 * Routine: misc_init_r 42 * Description: Init i2c, ethernet, etc... (done here so udelay works) 43 */ 44int misc_init_r(void) 45{ 46#ifdef CONFIG_SYS_I2C_OMAP34XX 47 i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); 48#endif 49 50 omap_die_id_display(); 51 52 return 0; 53} 54 55/* 56 * Routine: set_muxconf_regs 57 * Description: Setting up the configuration Mux registers specific to the 58 * hardware. Many pins need to be moved from protect to primary 59 * mode. 60 */ 61void set_muxconf_regs(void) 62{ 63 MUX_AM3517CRANE(); 64} 65 66#if defined(CONFIG_GENERIC_MMC) && !defined(CONFIG_SPL_BUILD) 67int board_mmc_init(bd_t *bis) 68{ 69 return omap_mmc_init(0, 0, 0, -1, -1); 70} 71#endif 72