blob: cf4ca51fcb479405cff2996a7ab0b853498517d5 [file] [log] [blame]
Luka Perkov2a3ce882012-04-17 09:22:17 +00001/*
2 * Copyright (C) 2011-2012
3 * Gerald Kerma <dreagle@doukki.net>
Luka Perkove91505d2012-12-03 03:24:15 +00004 * Luka Perkov <luka@openwrt.org>
Luka Perkov2a3ce882012-04-17 09:22:17 +00005 * 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>
Simon Baatz50135dd2012-07-20 09:59:14 +000026#include <asm/io.h>
Luka Perkov2a3ce882012-04-17 09:22:17 +000027#include <asm/arch/cpu.h>
28#include <asm/arch/kirkwood.h>
29#include <asm/arch/mpp.h>
30#include "ib62x0.h"
31
32DECLARE_GLOBAL_DATA_PTR;
33
34int 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
Simon Baatz50135dd2012-07-20 09:59:14 +000045 /* Set SATA activity LEDs to default off */
46 writel(MVSATAHC_LED_POLARITY_CTRL, MVSATAHC_LED_CONF_REG);
Luka Perkov2a3ce882012-04-17 09:22:17 +000047 /* Multi-Purpose Pins Functionality configuration */
Albert ARIBAUD4d424312012-11-26 11:27:36 +000048 static const u32 kwmpp_config[] = {
Luka Perkov2a3ce882012-04-17 09:22:17 +000049 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 };
Valentin Longchamp7d0d5022012-06-01 01:31:00 +000072 kirkwood_mpp_conf(kwmpp_config, NULL);
Luka Perkov2a3ce882012-04-17 09:22:17 +000073 return 0;
74}
75
76int 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}