Subject: [RESEND PATCH v3] clocksource: exynos_mct: Add the support for Exynos 64bit SoC

From: [email-masked] (Mark Rutland)
Date: Thu, 15 Jan 2015 13:34:04 +0000

On Thu, Jan 15, 2015 at 12:52:38PM +0000, Chanwoo Choi wrote:
> On Thu, Jan 15, 2015 at 9:46 PM, Chanwoo Choi <[email-masked]> wrote:
> > Hi Mark,
> >
> > On Thu, Jan 15, 2015 at 8:29 PM, Mark Rutland <[email-masked]> wrote:
> >> On Wed, Jan 14, 2015 at 11:57:00PM +0000, Chanwoo Choi wrote:
> >>> Hi Kukjin,
> >>>
> >>> On 01/15/2015 01:02 AM, Daniel Lezcano wrote:
> >>> > On 01/14/2015 04:51 PM, Kukjin Kim wrote:
> >>> >> On 01/14/15 14:33, Chanwoo Choi wrote:
> >>> >>
> >>> >> Hi,
> >>> >>
> >>> >> + Doug, Olof
> >>> >>
> >>> >>> This patch adds the support for Exynos 64bit SoC. The delay_timer is only used
> >>> >>> for Exynos 32bit SoC.
> >>> >>>
> >>> >> Yes, the Exynos MCT(Multi-Core Timer) is 64bit timer and it is available
> >>> >> on 64bit exynos SoC such as exynos7. But basically ARMv8 architecture is
> >>> >> including ARM ARCH timer (ARM Generic Timer) and exynos7 also has
> >>> >> implemented it and additionally its access is faster than using memory
> >>> >> mapped register called SFR for MCT...so Doug submitted patch to use MCT
> >>> >> on 32bit exynos SoCs before.
> >>>
> >>> I know arch_timer. As you comment, ARCH timer would be used for system timer for ARMv8.
> >>> But, Exynos5433/Exynos7 (ARMv8) include MCT (Multi-Core Timer) IP. I checked it on
> >>> Exynos5433/EXynos7 User-manaual and tested it.
> >>>
> >>> I think that exynos_mct.c should support the Exynos 64-bit SoC
> >>> because Exynos5433/Exynos7 include already MCT (Multi-Core Timer) IP.
> >>>
> >>> Also, I have a problem to verify ARCH timer on Exynos SoC. Exynos User-manual never includes
> >>> the detailed information about for ARCH timer(e.g, clock for ARCH timer). I knew that
> >>> I can get the document of ARCH timer for ARM official site but I think it is insufficient
> >>> to implement ARCH timer on Exynos SoC.
> >>
> >> What do you mean by "insufficient to implement ARCH timer"?
> >
> > As I knew, timer must need the source clock. The clock for ARCH timer
> > has dependency on Exynos SoC, But I cannot find
> 
> I'm so sorry about this mistake. I pressed the send button before
> completing reply.
> 
> As I knew, timer must need the source clock. The clock for ARCH timer
> has dependency on Exynos SoC, But I cannot find the clock information
> for ARCH timer on Exynos SoC user-manual.
> 
> When I tried to use ARCH timer on Exynos3250, It is not working. We
> can check this ARCH timer issue of Exynos3250
> on following patch[1]:
> [1] http://www.spinics.net/lists/arm-kernel/msg322943.html

Hmm. That is annoying. Your boot code should have been initialising this
already.

> >> The architected timer is mandatory in ARMv8, and required by the arm64
> >> kernel.
> >>
> >> Additional timers may be requried if you want to put all CPUs into low
> >> power states where the timer logic may be disabled and/or lose state,
> >> but regardless the architected timers are necessary.
> 
> I agree that ARCH timer is mandatory.
> 
> I just think that existing exynos-mct.c driver should support the Exynos5/7 SoC
> because released Exynos5/7 SoC includes already MCT IP for system timer.

I'm not opposed to the MCT. My only concern is that a configured and
enabled architected timer is mandated by the boot protocol, and is a
prerequisite for a functioning kernel. Your initial response made it
sound like you expected the MCT alone to be sufficient.

Thanks,
Mark.