Skip to content
Snippets Groups Projects
ib62x0.c 2.04 KiB
Newer Older
  • Learn to ignore specific revisions
  • /*
     * Copyright (C) 2011-2012
     * Gerald Kerma <dreagle@doukki.net>
     * Luka Perkov <uboot@lukaperkov.net>
     * Simon Baatz <gmbnomis@gmail.com>
     *
     * See file CREDITS for list of people who contributed to this
     * project.
     *
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU General Public License as
     * published by the Free Software Foundation; either version 2 of
     * the License, or (at your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     * GNU General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License
     * along with this program. If not, see <http://www.gnu.org/licenses/>.
     */
    
    #include <common.h>
    #include <miiphy.h>
    #include <asm/arch/cpu.h>
    #include <asm/arch/kirkwood.h>
    #include <asm/arch/mpp.h>
    #include "ib62x0.h"
    
    DECLARE_GLOBAL_DATA_PTR;
    
    int board_early_init_f(void)
    {
    	/*
    	 * default gpio configuration
    	 * There are maximum 64 gpios controlled through 2 sets of registers
    	 * the below configuration configures mainly initial LED status
    	 */
    	kw_config_gpio(IB62x0_OE_VAL_LOW,
    			IB62x0_OE_VAL_HIGH,
    			IB62x0_OE_LOW, IB62x0_OE_HIGH);
    
    	/* Multi-Purpose Pins Functionality configuration */
    	u32 kwmpp_config[] = {
    		MPP0_NF_IO2,
    		MPP1_NF_IO3,
    		MPP2_NF_IO4,
    		MPP3_NF_IO5,
    		MPP4_NF_IO6,
    		MPP5_NF_IO7,
    		MPP6_SYSRST_OUTn,
    		MPP8_TW_SDA,
    		MPP9_TW_SCK,
    		MPP10_UART0_TXD,
    		MPP11_UART0_RXD,
    		MPP18_NF_IO0,
    		MPP19_NF_IO1,
    		MPP20_SATA1_ACTn,
    		MPP21_SATA0_ACTn,
    		MPP22_GPIO,     /* Power LED red */
    		MPP24_GPIO,     /* Power off device */
    		MPP25_GPIO,     /* Power LED green */
    		MPP27_GPIO,     /* USB transfer LED */
    		MPP28_GPIO,     /* Reset button */
    		MPP29_GPIO,     /* USB Copy button */
    		0
    	};
    
    	kirkwood_mpp_conf(kwmpp_config, NULL);
    
    	return 0;
    }
    
    int board_init(void)
    {
    	/* adress of boot parameters */
    	gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100;
    
    	return 0;
    }