Merge tag 'u-boot-imx-20200121' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
[oweals/u-boot.git] / arch / arm / mach-zynqmp / clk.c
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * (C) Copyright 2014 - 2015 Xilinx, Inc.
4  * Michal Simek <michal.simek@xilinx.com>
5  */
6
7 #include <common.h>
8 #include <time.h>
9 #include <asm/arch/clk.h>
10 #include <asm/arch/hardware.h>
11 #include <asm/arch/sys_proto.h>
12
13 DECLARE_GLOBAL_DATA_PTR;
14
15 unsigned long zynqmp_get_system_timer_freq(void)
16 {
17         u32 ver = zynqmp_get_silicon_version();
18
19         switch (ver) {
20         case ZYNQMP_CSU_VERSION_QEMU:
21                 return 50000000;
22         }
23
24         return 100000000;
25 }
26
27 #ifdef CONFIG_CLOCKS
28 /**
29  * set_cpu_clk_info() - Initialize clock framework
30  * Always returns zero.
31  *
32  * This function is called from common code after relocation and sets up the
33  * clock framework. The framework must not be used before this function had been
34  * called.
35  */
36 int set_cpu_clk_info(void)
37 {
38         gd->cpu_clk = get_tbclk();
39
40         gd->bd->bi_arm_freq = gd->cpu_clk / 1000000;
41
42         gd->bd->bi_dsp_freq = 0;
43
44         return 0;
45 }
46 #endif