1*81ca8409SOtavio Salvador /* 2*81ca8409SOtavio Salvador * Freescale MX23EVK board 3*81ca8409SOtavio Salvador * 4*81ca8409SOtavio Salvador * (C) Copyright 2013 O.S. Systems Software LTDA. 5*81ca8409SOtavio Salvador * 6*81ca8409SOtavio Salvador * Author: Otavio Salvador <otavio@ossystems.com.br> 7*81ca8409SOtavio Salvador * 8*81ca8409SOtavio Salvador * Based on m28evk.c: 9*81ca8409SOtavio Salvador * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com> 10*81ca8409SOtavio Salvador * on behalf of DENX Software Engineering GmbH 11*81ca8409SOtavio Salvador * 12*81ca8409SOtavio Salvador * See file CREDITS for list of people who contributed to this 13*81ca8409SOtavio Salvador * project. 14*81ca8409SOtavio Salvador * 15*81ca8409SOtavio Salvador * This program is free software; you can redistribute it and/or 16*81ca8409SOtavio Salvador * modify it under the terms of the GNU General Public License as 17*81ca8409SOtavio Salvador * published by the Free Software Foundation; either version 2 of 18*81ca8409SOtavio Salvador * the License, or (at your option) any later version. 19*81ca8409SOtavio Salvador * 20*81ca8409SOtavio Salvador * This program is distributed in the hope that it will be useful, 21*81ca8409SOtavio Salvador * but WITHOUT ANY WARRANTY; without even the implied warranty of 22*81ca8409SOtavio Salvador * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23*81ca8409SOtavio Salvador * GNU General Public License for more details. 24*81ca8409SOtavio Salvador */ 25*81ca8409SOtavio Salvador 26*81ca8409SOtavio Salvador #include <common.h> 27*81ca8409SOtavio Salvador #include <asm/gpio.h> 28*81ca8409SOtavio Salvador #include <asm/arch/imx-regs.h> 29*81ca8409SOtavio Salvador #include <asm/arch/clock.h> 30*81ca8409SOtavio Salvador #include <asm/arch/iomux-mx23.h> 31*81ca8409SOtavio Salvador #include <asm/arch/sys_proto.h> 32*81ca8409SOtavio Salvador 33*81ca8409SOtavio Salvador DECLARE_GLOBAL_DATA_PTR; 34*81ca8409SOtavio Salvador 35*81ca8409SOtavio Salvador /* 36*81ca8409SOtavio Salvador * Functions 37*81ca8409SOtavio Salvador */ 38*81ca8409SOtavio Salvador int board_early_init_f(void) 39*81ca8409SOtavio Salvador { 40*81ca8409SOtavio Salvador /* IO0 clock at 480MHz */ 41*81ca8409SOtavio Salvador mxs_set_ioclk(MXC_IOCLK0, 480000); 42*81ca8409SOtavio Salvador 43*81ca8409SOtavio Salvador /* SSP0 clock at 96MHz */ 44*81ca8409SOtavio Salvador mxs_set_sspclk(MXC_SSPCLK0, 96000, 0); 45*81ca8409SOtavio Salvador 46*81ca8409SOtavio Salvador return 0; 47*81ca8409SOtavio Salvador } 48*81ca8409SOtavio Salvador 49*81ca8409SOtavio Salvador int dram_init(void) 50*81ca8409SOtavio Salvador { 51*81ca8409SOtavio Salvador return mxs_dram_init(); 52*81ca8409SOtavio Salvador } 53*81ca8409SOtavio Salvador 54*81ca8409SOtavio Salvador int board_init(void) 55*81ca8409SOtavio Salvador { 56*81ca8409SOtavio Salvador /* Adress of boot parameters */ 57*81ca8409SOtavio Salvador gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100; 58*81ca8409SOtavio Salvador 59*81ca8409SOtavio Salvador return 0; 60*81ca8409SOtavio Salvador } 61*81ca8409SOtavio Salvador 62*81ca8409SOtavio Salvador #ifdef CONFIG_CMD_MMC 63*81ca8409SOtavio Salvador static int mx23evk_mmc_wp(int id) 64*81ca8409SOtavio Salvador { 65*81ca8409SOtavio Salvador if (id != 0) { 66*81ca8409SOtavio Salvador printf("MXS MMC: Invalid card selected (card id = %d)\n", id); 67*81ca8409SOtavio Salvador return 1; 68*81ca8409SOtavio Salvador } 69*81ca8409SOtavio Salvador 70*81ca8409SOtavio Salvador return gpio_get_value(MX23_PAD_PWM4__GPIO_1_30); 71*81ca8409SOtavio Salvador } 72*81ca8409SOtavio Salvador 73*81ca8409SOtavio Salvador int board_mmc_init(bd_t *bis) 74*81ca8409SOtavio Salvador { 75*81ca8409SOtavio Salvador /* Configure WP as input */ 76*81ca8409SOtavio Salvador gpio_direction_input(MX23_PAD_PWM4__GPIO_1_30); 77*81ca8409SOtavio Salvador 78*81ca8409SOtavio Salvador /* Configure MMC0 Power Enable */ 79*81ca8409SOtavio Salvador gpio_direction_output(MX23_PAD_PWM3__GPIO_1_29, 0); 80*81ca8409SOtavio Salvador 81*81ca8409SOtavio Salvador return mxsmmc_initialize(bis, 0, mx23evk_mmc_wp, NULL); 82*81ca8409SOtavio Salvador } 83*81ca8409SOtavio Salvador #endif 84