07a3ab7f82fbbe74fb9774244da6b604628ea1b7
[platform/kernel/u-boot.git] / board / xilinx / ppc440-generic / xilinx_ppc440_generic.c
1 /*
2  * (C) Copyright 2008
3  * Ricado Ribalda-Universidad Autonoma de Madrid-ricardo.ribalda@gmail.com
4  * This work has been supported by: QTechnology  http://qtec.com/
5  *
6  * SPDX-License-Identifier:     GPL-2.0+
7 */
8
9 #include <config.h>
10 #include <common.h>
11 #include <netdev.h>
12 #include <asm/processor.h>
13
14 DECLARE_GLOBAL_DATA_PTR;
15
16 int checkboard(void)
17 {
18         puts("Xilinx PPC440 Generic Board\n");
19         return 0;
20 }
21
22 int dram_init(void)
23 {
24         gd->ram_size = get_ram_size(XPAR_DDR2_SDRAM_MEM_BASEADDR,
25                             CONFIG_SYS_SDRAM_SIZE_MB * 1024 * 1024);
26
27         return 0;
28 }
29
30 void get_sys_info(sys_info_t *sys_info)
31 {
32         sys_info->freqProcessor = XPAR_CORE_CLOCK_FREQ_HZ;
33         sys_info->freqPLB = XPAR_PLB_CLOCK_FREQ_HZ;
34         sys_info->freqPCI = 0;
35
36         return;
37 }
38
39 int get_serial_clock(void){
40         return XPAR_UARTNS550_0_CLOCK_FREQ_HZ;
41 }
42
43 int board_eth_init(bd_t *bis)
44 {
45         int ret = 0;
46
47         puts("Init xilinx temac\n");
48 #ifdef XPAR_LLTEMAC_0_BASEADDR
49         ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_0_BASEADDR,
50                         XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB,
51                         XPAR_LLTEMAC_0_LLINK_CONNECTED_BASEADDR);
52
53 #endif
54
55 #ifdef XPAR_LLTEMAC_1_BASEADDR
56         ret |= xilinx_ll_temac_eth_init(bis, XPAR_LLTEMAC_1_BASEADDR,
57                         XILINX_LL_TEMAC_M_SDMA_DCR | XILINX_LL_TEMAC_M_SDMA_PLB,
58                         XPAR_LLTEMAC_1_LLINK_CONNECTED_BASEADDR);
59 #endif
60
61         return ret;
62 }