[PATCH 04/16] mips: add an option to support customized get_tbclk()
Daniel Schwierzeck
daniel.schwierzeck at gmail.com
Wed Jan 8 15:32:38 CET 2020
Am 08.01.20 um 04:01 schrieb Weijie Gao:
> Some systems boot up at a very low CPU frequency and set up a higher CPU
> frequency in lowlevel initialization.
>
> Currently get_tbclk() uses a fixed value (CONFIG_SYS_MIPS_TIMER_FREQ)
> for MIPS architercture, and CONFIG_SYS_MIPS_TIMER_FREQ is usually related
> to the higher CPU frequency. If udelay() is used before setting up CPU
> frequency, it will be very inaccurate.
>
> This patch adds an option to allow a mach to define its own get_tbclk().
>
> Signed-off-by: Weijie Gao <weijie.gao at mediatek.com>
> ---
> arch/mips/Kconfig | 8 ++++++++
> arch/mips/cpu/time.c | 2 ++
> 2 files changed, 10 insertions(+)
>
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 4688717593..52afbf79c5 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -502,6 +502,14 @@ config MIPS_BOOT_CONFIG_WORD1
> help
> Value which is inserted as boot config word 1.
>
> +config MIPS_OVERRIDE_GET_TBCLK
> + bool
> + default n
> + help
> + Select this if you want to override the default get_tbclk() for your
> + system. This usually means the timer frequency of your system may
> + change in different boot stage.
> +
> endif
>
> endmenu
> diff --git a/arch/mips/cpu/time.c b/arch/mips/cpu/time.c
> index af324f77ce..61d1cd9ec0 100644
> --- a/arch/mips/cpu/time.c
> +++ b/arch/mips/cpu/time.c
> @@ -12,7 +12,9 @@ unsigned long notrace timer_read_counter(void)
> return read_c0_count();
> }
>
> +#ifndef CONFIG_MIPS_OVERRIDE_GET_TBCLK
> ulong notrace get_tbclk(void)
> {
> return CONFIG_SYS_MIPS_TIMER_FREQ;
> }
> +#endif
>
you can drop this patch. I already applied [1] because there was another
request to make this function weak.
[1] https://patchwork.ozlabs.org/patch/1215073/
--
- Daniel
More information about the U-Boot
mailing list