1*2c2a9f3aSSRICHARAN R /* 2*2c2a9f3aSSRICHARAN R * (C) Copyright 2010 3*2c2a9f3aSSRICHARAN R * Texas Instruments Incorporated, <www.ti.com> 4*2c2a9f3aSSRICHARAN R * Aneesh V <aneesh@ti.com> 5*2c2a9f3aSSRICHARAN R * Steve Sakoman <steve@sakoman.com> 6*2c2a9f3aSSRICHARAN R * 7*2c2a9f3aSSRICHARAN R * See file CREDITS for list of people who contributed to this 8*2c2a9f3aSSRICHARAN R * project. 9*2c2a9f3aSSRICHARAN R * 10*2c2a9f3aSSRICHARAN R * This program is free software; you can redistribute it and/or 11*2c2a9f3aSSRICHARAN R * modify it under the terms of the GNU General Public License as 12*2c2a9f3aSSRICHARAN R * published by the Free Software Foundation; either version 2 of 13*2c2a9f3aSSRICHARAN R * the License, or (at your option) any later version. 14*2c2a9f3aSSRICHARAN R * 15*2c2a9f3aSSRICHARAN R * This program is distributed in the hope that it will be useful, 16*2c2a9f3aSSRICHARAN R * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*2c2a9f3aSSRICHARAN R * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*2c2a9f3aSSRICHARAN R * GNU General Public License for more details. 19*2c2a9f3aSSRICHARAN R * 20*2c2a9f3aSSRICHARAN R * You should have received a copy of the GNU General Public License 21*2c2a9f3aSSRICHARAN R * along with this program; if not, write to the Free Software 22*2c2a9f3aSSRICHARAN R * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 23*2c2a9f3aSSRICHARAN R * MA 02111-1307 USA 24*2c2a9f3aSSRICHARAN R */ 25*2c2a9f3aSSRICHARAN R #include <common.h> 26*2c2a9f3aSSRICHARAN R #include <twl6035.h> 27*2c2a9f3aSSRICHARAN R #include <asm/arch/sys_proto.h> 28*2c2a9f3aSSRICHARAN R #include <asm/arch/mmc_host_def.h> 29*2c2a9f3aSSRICHARAN R 30*2c2a9f3aSSRICHARAN R #include "mux_data.h" 31*2c2a9f3aSSRICHARAN R 32*2c2a9f3aSSRICHARAN R DECLARE_GLOBAL_DATA_PTR; 33*2c2a9f3aSSRICHARAN R 34*2c2a9f3aSSRICHARAN R const struct omap_sysinfo sysinfo = { 35*2c2a9f3aSSRICHARAN R "Board: OMAP5430 EVM\n" 36*2c2a9f3aSSRICHARAN R }; 37*2c2a9f3aSSRICHARAN R 38*2c2a9f3aSSRICHARAN R /** 39*2c2a9f3aSSRICHARAN R * @brief board_init 40*2c2a9f3aSSRICHARAN R * 41*2c2a9f3aSSRICHARAN R * @return 0 42*2c2a9f3aSSRICHARAN R */ 43*2c2a9f3aSSRICHARAN R int board_init(void) 44*2c2a9f3aSSRICHARAN R { 45*2c2a9f3aSSRICHARAN R gpmc_init(); 46*2c2a9f3aSSRICHARAN R gd->bd->bi_arch_number = MACH_TYPE_OMAP5_SEVM; 47*2c2a9f3aSSRICHARAN R gd->bd->bi_boot_params = (0x80000000 + 0x100); /* boot param addr */ 48*2c2a9f3aSSRICHARAN R 49*2c2a9f3aSSRICHARAN R return 0; 50*2c2a9f3aSSRICHARAN R } 51*2c2a9f3aSSRICHARAN R 52*2c2a9f3aSSRICHARAN R int board_eth_init(bd_t *bis) 53*2c2a9f3aSSRICHARAN R { 54*2c2a9f3aSSRICHARAN R return 0; 55*2c2a9f3aSSRICHARAN R } 56*2c2a9f3aSSRICHARAN R 57*2c2a9f3aSSRICHARAN R /** 58*2c2a9f3aSSRICHARAN R * @brief misc_init_r - Configure EVM board specific configurations 59*2c2a9f3aSSRICHARAN R * such as power configurations, ethernet initialization as phase2 of 60*2c2a9f3aSSRICHARAN R * boot sequence 61*2c2a9f3aSSRICHARAN R * 62*2c2a9f3aSSRICHARAN R * @return 0 63*2c2a9f3aSSRICHARAN R */ 64*2c2a9f3aSSRICHARAN R int misc_init_r(void) 65*2c2a9f3aSSRICHARAN R { 66*2c2a9f3aSSRICHARAN R #ifdef CONFIG_TWL6035_POWER 67*2c2a9f3aSSRICHARAN R twl6035_init_settings(); 68*2c2a9f3aSSRICHARAN R #endif 69*2c2a9f3aSSRICHARAN R return 0; 70*2c2a9f3aSSRICHARAN R } 71*2c2a9f3aSSRICHARAN R 72*2c2a9f3aSSRICHARAN R void set_muxconf_regs_essential(void) 73*2c2a9f3aSSRICHARAN R { 74*2c2a9f3aSSRICHARAN R do_set_mux(CONTROL_PADCONF_CORE, core_padconf_array_essential, 75*2c2a9f3aSSRICHARAN R sizeof(core_padconf_array_essential) / 76*2c2a9f3aSSRICHARAN R sizeof(struct pad_conf_entry)); 77*2c2a9f3aSSRICHARAN R 78*2c2a9f3aSSRICHARAN R do_set_mux(CONTROL_PADCONF_WKUP, wkup_padconf_array_essential, 79*2c2a9f3aSSRICHARAN R sizeof(wkup_padconf_array_essential) / 80*2c2a9f3aSSRICHARAN R sizeof(struct pad_conf_entry)); 81*2c2a9f3aSSRICHARAN R } 82*2c2a9f3aSSRICHARAN R 83*2c2a9f3aSSRICHARAN R void set_muxconf_regs_non_essential(void) 84*2c2a9f3aSSRICHARAN R { 85*2c2a9f3aSSRICHARAN R do_set_mux(CONTROL_PADCONF_CORE, core_padconf_array_non_essential, 86*2c2a9f3aSSRICHARAN R sizeof(core_padconf_array_non_essential) / 87*2c2a9f3aSSRICHARAN R sizeof(struct pad_conf_entry)); 88*2c2a9f3aSSRICHARAN R 89*2c2a9f3aSSRICHARAN R do_set_mux(CONTROL_PADCONF_WKUP, wkup_padconf_array_non_essential, 90*2c2a9f3aSSRICHARAN R sizeof(wkup_padconf_array_non_essential) / 91*2c2a9f3aSSRICHARAN R sizeof(struct pad_conf_entry)); 92*2c2a9f3aSSRICHARAN R } 93*2c2a9f3aSSRICHARAN R 94*2c2a9f3aSSRICHARAN R #if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_GENERIC_MMC) 95*2c2a9f3aSSRICHARAN R int board_mmc_init(bd_t *bis) 96*2c2a9f3aSSRICHARAN R { 97*2c2a9f3aSSRICHARAN R omap_mmc_init(0, 0, 0, -1, -1); 98*2c2a9f3aSSRICHARAN R omap_mmc_init(1, 0, 0, -1, -1); 99*2c2a9f3aSSRICHARAN R return 0; 100*2c2a9f3aSSRICHARAN R } 101*2c2a9f3aSSRICHARAN R #endif 102