1 /* 2 * Copyright (C) 2011-2012 3 * Gerald Kerma <dreagle@doukki.net> 4 * Luka Perkov <luka@openwrt.org> 5 * Simon Baatz <gmbnomis@gmail.com> 6 * 7 * See file CREDITS for list of people who contributed to this 8 * project. 9 * 10 * This program is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU General Public License as 12 * published by the Free Software Foundation; either version 2 of 13 * the License, or (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program. If not, see <http://www.gnu.org/licenses/>. 22 */ 23 24 #include <common.h> 25 #include <miiphy.h> 26 #include <asm/io.h> 27 #include <asm/arch/cpu.h> 28 #include <asm/arch/kirkwood.h> 29 #include <asm/arch/mpp.h> 30 #include "ib62x0.h" 31 32 DECLARE_GLOBAL_DATA_PTR; 33 34 int board_early_init_f(void) 35 { 36 /* 37 * default gpio configuration 38 * There are maximum 64 gpios controlled through 2 sets of registers 39 * the below configuration configures mainly initial LED status 40 */ 41 kw_config_gpio(IB62x0_OE_VAL_LOW, 42 IB62x0_OE_VAL_HIGH, 43 IB62x0_OE_LOW, IB62x0_OE_HIGH); 44 45 /* Set SATA activity LEDs to default off */ 46 writel(MVSATAHC_LED_POLARITY_CTRL, MVSATAHC_LED_CONF_REG); 47 /* Multi-Purpose Pins Functionality configuration */ 48 static const u32 kwmpp_config[] = { 49 MPP0_NF_IO2, 50 MPP1_NF_IO3, 51 MPP2_NF_IO4, 52 MPP3_NF_IO5, 53 MPP4_NF_IO6, 54 MPP5_NF_IO7, 55 MPP6_SYSRST_OUTn, 56 MPP8_TW_SDA, 57 MPP9_TW_SCK, 58 MPP10_UART0_TXD, 59 MPP11_UART0_RXD, 60 MPP18_NF_IO0, 61 MPP19_NF_IO1, 62 MPP20_SATA1_ACTn, 63 MPP21_SATA0_ACTn, 64 MPP22_GPIO, /* Power LED red */ 65 MPP24_GPIO, /* Power off device */ 66 MPP25_GPIO, /* Power LED green */ 67 MPP27_GPIO, /* USB transfer LED */ 68 MPP28_GPIO, /* Reset button */ 69 MPP29_GPIO, /* USB Copy button */ 70 0 71 }; 72 kirkwood_mpp_conf(kwmpp_config, NULL); 73 return 0; 74 } 75 76 int board_init(void) 77 { 78 /* adress of boot parameters */ 79 gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100; 80 81 return 0; 82 } 83