iot_dk: Save CPU clock value to gd->cpu_clk
authorAlexey Brodkin <abrodkin@synopsys.com>
Wed, 10 Oct 2018 13:15:20 +0000 (16:15 +0300)
committerAlexey Brodkin <abrodkin@synopsys.com>
Fri, 12 Oct 2018 12:14:41 +0000 (15:14 +0300)
Since gd->cpu_clk is a global item we may once populate it from .dtb
ans use it then in other places like for printing CPU info etc.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
board/synopsys/iot_devkit/iot_devkit.c

index 04e003c31f93583ec8ef1793319ca66ff8e61b34..40c29e79ba1c1b5692df937085ac01fa6b618356 100644 (file)
@@ -108,7 +108,7 @@ extern u8 __ram_end[];
  */
 int mach_cpu_init(void)
 {
-       int offset, freq;
+       int offset;
 
        /* Don't relocate U-Boot */
        gd->flags |= GD_FLG_SKIP_RELOC;
@@ -129,12 +129,12 @@ int mach_cpu_init(void)
        if (offset < 0)
                return offset;
 
-       freq = fdtdec_get_int(gd->fdt_blob, offset, "clock-frequency", 0);
-       if (!freq)
+       gd->cpu_clk = fdtdec_get_int(gd->fdt_blob, offset, "clock-frequency", 0);
+       if (!gd->cpu_clk)
                return -EINVAL;
 
        /* If CPU freq > 100 MHz, divide eFLASH clock by 2 */
-       if (freq > 100000000) {
+       if (gd->cpu_clk > 100000000) {
                u32 reg = readl(AHBCKDIV);
 
                reg &= ~(0xF << 8);
@@ -142,7 +142,7 @@ int mach_cpu_init(void)
                writel(reg, AHBCKDIV);
        }
 
-       return set_cpu_freq(freq);
+       return set_cpu_freq(gd->cpu_clk);
 }
 
 #define ARC_PERIPHERAL_BASE    0xF0000000
@@ -186,7 +186,9 @@ int checkboard(void)
 #ifdef CONFIG_DISPLAY_CPUINFO
 int print_cpuinfo(void)
 {
-       printf("CPU:   ARC EM9D\n");
+       char mhz[8];
+
+       printf("CPU:   ARC EM9D at %s MHz\n", strmhz(mhz, gd->cpu_clk));
        return 0;
 }
 #endif /* CONFIG_DISPLAY_CPUINFO */