]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
x86: tsc: Rename X86_TSC_TIMER_EARLY_FREQ to X86_TSC_TIMER_FREQ
authorBin Meng <bmeng.cn@gmail.com>
Wed, 28 Jul 2021 04:00:22 +0000 (12:00 +0800)
committerBin Meng <bmeng.cn@gmail.com>
Mon, 2 Aug 2021 07:11:40 +0000 (15:11 +0800)
Currently there are two places to specify the x86 TSC timer frequency
with one in Kconfig used for early timer and the other one in device
tree used when the frequency cannot be determined from hardware.

This may potentially create an inconsistent config where the 2 values
do not match. Let's use the one specified in Kconfig in the device
tree as well.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/x86/cpu/quark/Kconfig
arch/x86/dts/galileo.dts
drivers/timer/Kconfig
drivers/timer/tsc_timer.c

index 430cce184d42129779150f4d6d2c3da284ab60fe..61bb5792c86868c9ea096cc87bd76a0516d59419 100644 (file)
@@ -130,8 +130,8 @@ config SYS_CAR_SIZE
          Space in bytes in eSRAM used as Cache-As-ARM (CAR).
          Note this size must not exceed eSRAM's total size.
 
-config X86_TSC_TIMER_EARLY_FREQ
+config X86_TSC_TIMER_FREQ
        int
-       default 400
+       default 400000000
 
 endif
index 501047124ee1186a41af63441178d3525e83e800..b5ba1181ddb7430e1b7a9002329e87087ad89190 100644 (file)
@@ -42,7 +42,7 @@
        };
 
        tsc-timer {
-               clock-frequency = <400000000>;
+               clock-frequency = <CONFIG_X86_TSC_TIMER_FREQ>;
        };
 
        mrc {
index ee81dfa7768c4099c7f65114835f21f41b959453..891314265425ba6504dfd44343a7e17ca26283bd 100644 (file)
@@ -124,12 +124,12 @@ config RENESAS_OSTM_TIMER
          Enables support for the Renesas OSTM Timer driver.
          This timer is present on Renesas RZ/A1 R7S72100 SoCs.
 
-config X86_TSC_TIMER_EARLY_FREQ
-       int "x86 TSC timer frequency in MHz when used as the early timer"
+config X86_TSC_TIMER_FREQ
+       int "x86 TSC timer frequency in Hz"
        depends on X86_TSC_TIMER
-       default 1000
+       default 1000000000
        help
-         Sets the estimated CPU frequency in MHz when TSC is used as the
+         Sets the estimated CPU frequency in Hz when TSC is used as the
          early timer and the frequency can neither be calibrated via some
          hardware ways, nor got from device tree at the time when device
          tree is not available yet.
index 7d19a99622b554c0f59ff026726066f81ca1014c..adef50c37440dacbeebe4e954f6a906405eb457a 100644 (file)
@@ -425,12 +425,13 @@ static void tsc_timer_ensure_setup(bool early)
                        goto done;
 
                if (early)
-                       fast_calibrate = CONFIG_X86_TSC_TIMER_EARLY_FREQ;
+                       gd->arch.clock_rate = CONFIG_X86_TSC_TIMER_FREQ;
                else
                        return;
 
 done:
-               gd->arch.clock_rate = fast_calibrate * 1000000;
+               if (!gd->arch.clock_rate)
+                       gd->arch.clock_rate = fast_calibrate * 1000000;
        }
        gd->arch.tsc_inited = true;
 }