From: Mark Rutland <mark.rutland@arm.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 04/28] armv8/ls2085a: Fix generic timer clock source
Date: Fri, 20 Mar 2015 18:21:36 +0000 [thread overview]
Message-ID: <20150320182136.GA24455@leverpostej> (raw)
In-Reply-To: <550C5D11.4010704@freescale.com>
> >> +int timer_init(void)
> >> +{
> >> + u32 __iomem *cntcr = (u32 *)CONFIG_SYS_FSL_TIMER_ADDR;
> >> + u32 __iomem *cltbenr = (u32 *)CONFIG_SYS_FSL_PMU_CLTBENR;
> >> +#ifdef COUNTER_FREQUENCY_REAL
> >> + unsigned long cntfrq = COUNTER_FREQUENCY_REAL;
> >> +
> >> + /* Update with accurate clock frequency */
> >> + asm volatile("msr cntfrq_el0, %0" : : "r" (cntfrq) : "memory");
> >
> > The commit message says that this can only be determined at runtime, but
> > this looks like we're writing a compile-time static value.
> >
>
> The macro COUNTER_FREQUENCY_REA is (CONFIG_SYS_CLK_FREQ/4), where
> CONFIG_SYS_CLK_FREQ is a function call get_board_sys_clk().
Ah, that sounds fine to me then.
> >> + __real_cntfrq = cntfrq; /* update for secondary cores */
> >
> > Do we need anything in the way or barriers and/or cache flushing to
> > ensure that this is visible to the secondary CPUs? Or is the MMU off at
> > this point?
>
> It is flushed before booting secondary cores. But I am relying on the trick of
> enabling cache on flash. It may not be as reliable if someone decide to disable
> the cache to begin with. I will move the code to somewhere safe in next version.
Ok.
> >> + .global __real_cntfrq
> >> +__real_cntfrq:
> >> + .quad 0x17d7840 /* 25MHz */
> >
> > I think this would be better as COUNTER_FREQUENCY, so as to avoid
> > duplicating the value.
>
> Good idea. Will fix in next version.
Great!
Mark.
prev parent reply other threads:[~2015-03-20 18:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-19 20:34 [U-Boot] [PATCH v2 04/28] armv8/ls2085a: Fix generic timer clock source York Sun
2015-03-20 17:34 ` Mark Rutland
2015-03-20 17:46 ` York Sun
2015-03-20 18:21 ` Mark Rutland [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150320182136.GA24455@leverpostej \
--to=mark.rutland@arm.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.