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 23 DECLARE_GLOBAL_DATA_PTR; 24 25 /* 26 * Routine: board_init 27 * Description: Early hardware init. 28 */ 29 int 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 */ 44 int 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 */ 61 void set_muxconf_regs(void) 62 { 63 MUX_AM3517CRANE(); 64 } 65 66 #if defined(CONFIG_GENERIC_MMC) && !defined(CONFIG_SPL_BUILD) 67 int board_mmc_init(bd_t *bis) 68 { 69 return omap_mmc_init(0, 0, 0, -1, -1); 70 } 71 #endif 72