From mboxrd@z Thu Jan 1 00:00:00 1970 From: Weijie Gao Date: Thu, 9 Jan 2020 16:30:22 +0800 Subject: [PATCH 04/16] mips: add an option to support customized get_tbclk() In-Reply-To: <75f88fb4-9fb7-659d-f12d-0ba8b23fddf4@gmail.com> References: <1578452469-6831-1-git-send-email-weijie.gao@mediatek.com> <75f88fb4-9fb7-659d-f12d-0ba8b23fddf4@gmail.com> Message-ID: <1578558622.5535.13.camel@mcddlt001> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, 2020-01-08 at 15:32 +0100, Daniel Schwierzeck wrote: > > 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 > > --- > > 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/ > OK