blob: acf5c2998f3b1d46e74150a6c14847fa160df0a9 [file] [log] [blame]
Kyungmin Park751b9b52008-01-17 16:43:25 +09001/*
2 * (C) Copyright 2005-2008 Samsung Electronics
3 * Kyungmin Park <kyungmin.park@samsung.com>
4 *
5 * See file CREDITS for list of people who contributed to this
6 * project.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 * MA 02111-1307 USA
22 */
23#include <common.h>
24#include <asm/arch/mux.h>
25
26#define write_config_reg(reg, value) \
27do { \
28 writeb(value, reg); \
29} while (0)
30
31/*****************************************
32 * Routine: board_init
33 * Description: Early hardware init.
34 *****************************************/
35int board_init(void)
36{
37 return 0;
38}
39
40#ifdef CFG_PRINTF
41/* Pin Muxing registers used for UART1 */
42/****************************************
43 * Routine: muxSetupUART1 (ostboot)
44 * Description: Set up uart1 muxing
45 *****************************************/
46static void muxSetupUART1(void)
47{
48 /* UART1_CTS pin configuration, PIN = D21 */
49 write_config_reg(CONTROL_PADCONF_UART1_CTS, 0);
50 /* UART1_RTS pin configuration, PIN = H21 */
51 write_config_reg(CONTROL_PADCONF_UART1_RTS, 0);
52 /* UART1_TX pin configuration, PIN = L20 */
53 write_config_reg(CONTROL_PADCONF_UART1_TX, 0);
54 /* UART1_RX pin configuration, PIN = T21 */
55 write_config_reg(CONTROL_PADCONF_UART1_RX, 0);
56}
57#endif
58
59/**********************************************************
60 * Routine: s_init
61 * Description: Does early system init of muxing and clocks.
62 * - Called at time when only stack is available.
63 **********************************************************/
64int s_init(int skip)
65{
66#ifdef CFG_PRINTF
67 muxSetupUART1();
68#endif
69 return 0;
70}