1 /* 2 * Olimex MX23 Olinuxino board 3 * 4 * Copyright (C) 2013 Marek Vasut <marex@denx.de> 5 * 6 * See file CREDITS for list of people who contributed to this 7 * project. 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation; either version 2 of 12 * the License, or (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this program; if not, write to the Free Software 21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 22 * MA 02111-1307 USA 23 */ 24 25 #include <common.h> 26 #include <asm/io.h> 27 #include <asm/arch/iomux-mx23.h> 28 #include <asm/arch/imx-regs.h> 29 #include <asm/arch/clock.h> 30 #include <asm/arch/sys_proto.h> 31 #ifdef CONFIG_STATUS_LED 32 #include <status_led.h> 33 #endif 34 35 DECLARE_GLOBAL_DATA_PTR; 36 37 /* 38 * Functions 39 */ 40 int board_early_init_f(void) 41 { 42 /* IO0 clock at 480MHz */ 43 mxs_set_ioclk(MXC_IOCLK0, 480000); 44 45 /* SSP0 clock at 96MHz */ 46 mxs_set_sspclk(MXC_SSPCLK0, 96000, 0); 47 48 return 0; 49 } 50 51 int dram_init(void) 52 { 53 return mxs_dram_init(); 54 } 55 56 #ifdef CONFIG_CMD_MMC 57 static int mx23_olx_mmc_cd(int id) 58 { 59 return 1; /* Card always present */ 60 } 61 62 int board_mmc_init(bd_t *bis) 63 { 64 return mxsmmc_initialize(bis, 0, NULL, mx23_olx_mmc_cd); 65 } 66 #endif 67 68 int board_init(void) 69 { 70 /* Adress of boot parameters */ 71 gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100; 72 73 #if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT) 74 status_led_set(STATUS_LED_BOOT, STATUS_LED_STATE); 75 #endif 76 77 return 0; 78 } 79