1915162daSSrinath /* 2915162daSSrinath * am3517crane.c - board file for AM3517 CraneBoard 3915162daSSrinath * 4915162daSSrinath * Author: Srinath.R <srinath@mistralsolutions.com> 5915162daSSrinath * 6915162daSSrinath * Based on logicpd/am3517evm/am3517evm.c 7915162daSSrinath * 8915162daSSrinath * Copyright (C) 2011 Mistral Solutions Pvt Ltd 9915162daSSrinath * 101a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 11915162daSSrinath */ 12915162daSSrinath 13915162daSSrinath #include <common.h> 14915162daSSrinath #include <asm/io.h> 15a5a8821cSTom Rini #include <asm/arch/mmc_host_def.h> 16915162daSSrinath #include <asm/arch/mem.h> 17915162daSSrinath #include <asm/arch/mux.h> 18915162daSSrinath #include <asm/arch/sys_proto.h> 19915162daSSrinath #include <asm/mach-types.h> 20915162daSSrinath #include <i2c.h> 21915162daSSrinath #include "am3517crane.h" 22915162daSSrinath 23915162daSSrinath DECLARE_GLOBAL_DATA_PTR; 24915162daSSrinath 25915162daSSrinath /* 26915162daSSrinath * Routine: board_init 27915162daSSrinath * Description: Early hardware init. 28915162daSSrinath */ board_init(void)29915162daSSrinathint board_init(void) 30915162daSSrinath { 31915162daSSrinath gpmc_init(); /* in SRAM or SDRAM, finish GPMC */ 32915162daSSrinath /* board id for Linux */ 33915162daSSrinath gd->bd->bi_arch_number = MACH_TYPE_CRANEBOARD; 34915162daSSrinath /* boot param addr */ 35915162daSSrinath gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100); 36915162daSSrinath 37915162daSSrinath return 0; 38915162daSSrinath } 39915162daSSrinath 40915162daSSrinath /* 41915162daSSrinath * Routine: misc_init_r 42915162daSSrinath * Description: Init i2c, ethernet, etc... (done here so udelay works) 43915162daSSrinath */ misc_init_r(void)44915162daSSrinathint misc_init_r(void) 45915162daSSrinath { 46*94d50bedSAdam Ford #ifdef CONFIG_SYS_I2C_OMAP24XX 476789e84eSHeiko Schocher i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); 48915162daSSrinath #endif 49915162daSSrinath 50679f82c3SPaul Kocialkowski omap_die_id_display(); 51915162daSSrinath 52915162daSSrinath return 0; 53915162daSSrinath } 54915162daSSrinath 55915162daSSrinath /* 56915162daSSrinath * Routine: set_muxconf_regs 57915162daSSrinath * Description: Setting up the configuration Mux registers specific to the 58915162daSSrinath * hardware. Many pins need to be moved from protect to primary 59915162daSSrinath * mode. 60915162daSSrinath */ set_muxconf_regs(void)61915162daSSrinathvoid set_muxconf_regs(void) 62915162daSSrinath { 63915162daSSrinath MUX_AM3517CRANE(); 64915162daSSrinath } 65a5a8821cSTom Rini 664aa2ba3aSMasahiro Yamada #if defined(CONFIG_MMC) board_mmc_init(bd_t * bis)67a5a8821cSTom Riniint board_mmc_init(bd_t *bis) 68a5a8821cSTom Rini { 69e3913f56SNikita Kiryanov return omap_mmc_init(0, 0, 0, -1, -1); 70a5a8821cSTom Rini } 71a5a8821cSTom Rini #endif 72