]> git.sur5r.net Git - u-boot/blob - board/samsung/arndale/arndale.c
exynos5250: Add arndale board support
[u-boot] / board / samsung / arndale / arndale.c
1 /*
2  * Copyright (C) 2013 Samsung Electronics
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 #include <common.h>
8 #include <asm/arch/pinmux.h>
9 #include <asm/arch/power.h>
10
11 DECLARE_GLOBAL_DATA_PTR;
12
13 int board_init(void)
14 {
15         gd->bd->bi_boot_params = (PHYS_SDRAM_1 + 0x100UL);
16         return 0;
17 }
18
19 int dram_init(void)
20 {
21         int i;
22         u32 addr;
23
24         for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
25                 addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
26                 gd->ram_size += get_ram_size((long *)addr, SDRAM_BANK_SIZE);
27         }
28         return 0;
29 }
30
31 int power_init_board(void)
32 {
33         set_ps_hold_ctrl();
34         return 0;
35 }
36
37 void dram_init_banksize(void)
38 {
39         int i;
40         u32 addr, size;
41
42         for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
43                 addr = CONFIG_SYS_SDRAM_BASE + (i * SDRAM_BANK_SIZE);
44                 size = get_ram_size((long *)addr, SDRAM_BANK_SIZE);
45
46                 gd->bd->bi_dram[i].start = addr;
47                 gd->bd->bi_dram[i].size = size;
48         }
49 }
50
51 static int board_uart_init(void)
52 {
53         int err = 0, uart_id;
54
55         for (uart_id = PERIPH_ID_UART0; uart_id <= PERIPH_ID_UART3; uart_id++) {
56                 err = exynos_pinmux_config(uart_id, PINMUX_FLAG_NONE);
57                 if (err) {
58                         debug("UART%d not configured\n",
59                               (uart_id - PERIPH_ID_UART0));
60                         return err;
61                 }
62         }
63         return err;
64 }
65
66 #ifdef CONFIG_BOARD_EARLY_INIT_F
67 int board_early_init_f(void)
68 {
69         int err;
70
71         err = board_uart_init();
72         if (err) {
73                 debug("UART init failed\n");
74                 return err;
75         }
76         return err;
77 }
78 #endif
79
80 #ifdef CONFIG_DISPLAY_BOARDINFO
81 int checkboard(void)
82 {
83         printf("\nBoard: Arndale\n");
84
85         return 0;
86 }
87 #endif