]>
Commit | Line | Data |
---|---|---|
746f985a ST |
1 | /** |
2 | * (C) Copyright 2014, Cavium Inc. | |
3 | * | |
4 | * SPDX-License-Identifier: GPL-2.0+ | |
5 | **/ | |
6 | ||
7 | #include <common.h> | |
8 | #include <malloc.h> | |
9 | #include <errno.h> | |
10 | #include <linux/compiler.h> | |
11 | ||
3ed2ece5 ST |
12 | #include <cavium/atf.h> |
13 | ||
746f985a ST |
14 | #if !CONFIG_IS_ENABLED(OF_CONTROL) |
15 | #include <dm/platdata.h> | |
16 | #include <dm/platform_data/serial_pl01x.h> | |
17 | ||
18 | static const struct pl01x_serial_platdata serial0 = { | |
19 | .base = CONFIG_SYS_SERIAL0, | |
20 | .type = TYPE_PL011, | |
21 | .clock = 0, | |
22 | .skip_init = true, | |
23 | }; | |
24 | ||
25 | U_BOOT_DEVICE(thunderx_serial0) = { | |
26 | .name = "serial_pl01x", | |
27 | .platdata = &serial0, | |
28 | }; | |
29 | ||
30 | static const struct pl01x_serial_platdata serial1 = { | |
31 | .base = CONFIG_SYS_SERIAL1, | |
32 | .type = TYPE_PL011, | |
33 | .clock = 0, | |
34 | .skip_init = true, | |
35 | }; | |
36 | ||
37 | U_BOOT_DEVICE(thunderx_serial1) = { | |
38 | .name = "serial_pl01x", | |
39 | .platdata = &serial1, | |
40 | }; | |
41 | #endif | |
42 | ||
43 | DECLARE_GLOBAL_DATA_PTR; | |
44 | ||
45 | int board_init(void) | |
46 | { | |
47 | return 0; | |
48 | } | |
49 | ||
50 | int timer_init(void) | |
51 | { | |
52 | return 0; | |
53 | } | |
54 | ||
3ed2ece5 ST |
55 | int dram_init(void) |
56 | { | |
57 | ssize_t node_count = atf_node_count(); | |
58 | ssize_t dram_size; | |
59 | int node; | |
60 | ||
61 | printf("Initializing\nNodes in system: %zd\n", node_count); | |
62 | ||
63 | gd->ram_size = 0; | |
64 | ||
65 | for (node = 0; node < node_count; node++) { | |
66 | dram_size = atf_dram_size(node); | |
67 | printf("Node %d: %zd MBytes of DRAM\n", node, dram_size >> 20); | |
68 | gd->ram_size += dram_size; | |
69 | } | |
70 | ||
71 | gd->ram_size -= MEM_BASE; | |
72 | ||
73 | *(unsigned long *)CPU_RELEASE_ADDR = 0; | |
74 | ||
75 | puts("DRAM size:"); | |
76 | ||
77 | return 0; | |
78 | } | |
79 | ||
746f985a ST |
80 | /* |
81 | * Board specific reset that is system reset. | |
82 | */ | |
83 | void reset_cpu(ulong addr) | |
84 | { | |
85 | } | |
86 | ||
87 | /* | |
88 | * Board specific ethernet initialization routine. | |
89 | */ | |
90 | int board_eth_init(bd_t *bis) | |
91 | { | |
92 | int rc = 0; | |
93 | ||
94 | return rc; | |
95 | } | |
96 | ||
97 | #ifdef CONFIG_PCI | |
98 | void pci_init_board(void) | |
99 | { | |
100 | printf("DEBUG: PCI Init TODO *****\n"); | |
101 | } | |
102 | #endif |