]> git.ipfire.org Git - people/ms/u-boot.git/blame - board/omap3/beagle/beagle.c
OMAP3: Add common power code, README, and BeagleBoard
[people/ms/u-boot.git] / board / omap3 / beagle / beagle.c
CommitLineData
f904cdbb
DB
1/*
2 * (C) Copyright 2004-2008
3 * Texas Instruments, <www.ti.com>
4 *
5 * Author :
6 * Sunil Kumar <sunilsaini05@gmail.com>
7 * Shashi Ranjan <shashiranjanmca05@gmail.com>
8 *
9 * Derived from Beagle Board and 3430 SDP code by
10 * Richard Woodruff <r-woodruff2@ti.com>
11 * Syed Mohammed Khasim <khasim@ti.com>
12 *
13 *
14 * See file CREDITS for list of people who contributed to this
15 * project.
16 *
17 * This program is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU General Public License as
19 * published by the Free Software Foundation; either version 2 of
20 * the License, or (at your option) any later version.
21 *
22 * This program is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * GNU General Public License for more details.
26 *
27 * You should have received a copy of the GNU General Public License
28 * along with this program; if not, write to the Free Software
29 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
30 * MA 02111-1307 USA
31 */
32#include <common.h>
33#include <asm/io.h>
34#include <asm/arch/mux.h>
35#include <asm/arch/sys_proto.h>
36#include <asm/mach-types.h>
37#include "beagle.h"
38
39/******************************************************************************
40 * Routine: board_init
41 * Description: Early hardware init.
42 *****************************************************************************/
43int board_init(void)
44{
45 DECLARE_GLOBAL_DATA_PTR;
46
47 gpmc_init(); /* in SRAM or SDRAM, finish GPMC */
48 /* board id for Linux */
49 gd->bd->bi_arch_number = MACH_TYPE_OMAP3_BEAGLE;
50 /* boot param addr */
51 gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
52
53 return 0;
54}
55
56/******************************************************************************
57 * Routine: misc_init_r
58 * Description: Configure board specific parts
59 *****************************************************************************/
60int misc_init_r(void)
61{
62 gpio_t *gpio5_base = (gpio_t *)OMAP34XX_GPIO5_BASE;
63 gpio_t *gpio6_base = (gpio_t *)OMAP34XX_GPIO6_BASE;
64
65 power_init_r();
66
67 /* Configure GPIOs to output */
68 writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
69 writel(~(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
70 GPIO15 | GPIO14 | GPIO13 | GPIO12), &gpio5_base->oe);
71
72 /* Set GPIOs */
73 writel(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1,
74 &gpio6_base->setdataout);
75 writel(GPIO31 | GPIO30 | GPIO29 | GPIO28 | GPIO22 | GPIO21 |
76 GPIO15 | GPIO14 | GPIO13 | GPIO12, &gpio5_base->setdataout);
77
78 return 0;
79}
80
81/******************************************************************************
82 * Routine: set_muxconf_regs
83 * Description: Setting up the configuration Mux registers specific to the
84 * hardware. Many pins need to be moved from protect to primary
85 * mode.
86 *****************************************************************************/
87void set_muxconf_regs(void)
88{
89 MUX_BEAGLE();
90}