public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: marc.zyngier@arm•com (Marc Zyngier)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCHv2 8/8] ARM: dts: Add device tree sources for Exynos3250
Date: Wed, 16 Apr 2014 09:34:17 +0100	[thread overview]
Message-ID: <534E4089.9070804@arm.com> (raw)
In-Reply-To: <534E3DC0.40502@samsung.com>

On 16/04/14 09:22, Chanwoo Choi wrote:
> Hi Marc,
> 
> On 04/15/2014 06:24 PM, Marc Zyngier wrote:
>> On 15/04/14 10:19, Chanwoo Choi wrote:
>>> On 04/15/2014 06:13 PM, Marc Zyngier wrote:
>>>> On 15/04/14 09:27, Chanwoo Choi wrote:
>>>>> Hi,
>>>>>
>>>>> On 04/15/2014 05:15 PM, Marc Zyngier wrote:
>>>>>> On 15/04/14 02:59, Chanwoo Choi wrote:
>>>>>>> From: Tomasz Figa <t.figa@samsung•com>
>>>>>>>
>>>>>>> This patch add new exynos3250.dtsi to support Exynos3250 SoC based on Cortex-A7
>>>>>>> dual core and includes following dt nodes:
>>>>>>>
>>>>>>> - GIC interrupt controller
>>>>>>> - Pinctrl to control GPIOs
>>>>>>> - Clock controller
>>>>>>> - CPU information (Cortex-A7 dual core)
>>>>>>> - UART to support serial port
>>>>>>> - MCT (Multi Core Timer)
>>>>>>> - ADC (Analog Digital Converter)
>>>>>>> - I2C/SPI bus
>>>>>>> - Power domain
>>>>>>> - PMU (Performance Monitoring Unit)
>>>>>>> - MSHC (Mobile Storage Host Controller)
>>>>>>> - PWM (Pluse Width Modulation)
>>>>>>> - AMBA bus
>>>>>>
>>>>>> [...]
>>>>>>
>>>>>> Where is the arch timer node?
>>>>>
>>>>> Exynos3250 uses MCT (Multi Core Timer) instead of ARM_ARCH_TIMER.
>>>>> - in drivers/clocksource/exynos_mct.c
>>>>
>>>> Don't you have a Cortex-A7? If so, you have the arch timer.
>>>
>>> Do you means that 'arch timer" is ARM_ARCH_TIMER?
>>
>> Yes.
>>
>>> As I knew, ARM_ARCH_TIMER is clocksource driver for system timer.
>>> But, Exynos SoC used MCT clocksource for system timer.
>>>
>>> Exynos dts file didn't include arch timer node but only include mct node.
>>
>> Well, it is a bug, and a recurrent one. A Cortex-A7 has the arch timers
>> implemented. Always.
>>
>> http://infocenter.arm.com/help/topic/com.arm.doc.ddi0464f/BABFEBJJ.html
>>
>> All Cortex-A7 have it, and so do A12, A15, A17, A53, A57.
> 
> I tested 'arch_timer'(drivers/clocksource/arm_arch_timer.c) on Exynos3250 based on Cortex-A7.
> 
> To test arch timer, I used the clocksource of arch_timer for timekeeping instead of clocksource
> of Exynos MCT. But, I faced with issue. The following function return only same value(zero)
> as following kernel log:
> - arch_counter_get_cntvct() in arch/arm/include/asm/arch_timer.h
> 
> Uncompressing Linux... done, booting the kernel.
> [    0.000000] Booting Linux on physical CPU 0x0
> [    0.000000] Initializing cgroup subsys cpuset
> [    0.000000] Initializing cgroup subsys cpu
> [    0.000000] Initializing cgroup subsys cpuacct
> [    0.000000] Linux version 3.15.0-rc1-00020-gf452826-dirty ...
> [    0.000000] CPU: ARMv7 Processor ...
> ...
> [    0.000000] Architected cp15 timer(s) running at 24.00MHz (virt).
> [    0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 2863311519744ns
> ...
> 
> Could you give me a solution to resolve this issue or a expected cause?

My guess is that you need to enable some clock for the timer to tick.
Ask your HW guys how they have wired this clock.

Also, I cannot help but notice that you are entering your kernel at SVC
instead of HYP. I suggest you fix your bootloader/firmware to allow all
CPUs to enter the kernel in HYP.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

  reply	other threads:[~2014-04-16  8:34 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-15  1:59 [PATCHv2 0/8] Support new Exynos3250 SoC based on Cortex-A7 dual core Chanwoo Choi
2014-04-15  1:59 ` [PATCHv2 1/8] ARM: EXYNOS: Add Exynos3250 SoC ID Chanwoo Choi
2014-04-15  1:59 ` [PATCHv2 2/8] ARM: EXYNOS: Add IO mapping for non-secure SYSRAM of Exynos3250 Chanwoo Choi
2014-04-15  1:59 ` [PATCHv2 3/8] ARM: EXYNOS: Add IO mapping for PMU " Chanwoo Choi
2014-04-15  8:11   ` Arnd Bergmann
2014-04-15  8:32     ` Chanwoo Choi
2014-04-15  8:39       ` Vikas Sajjan
2014-04-15  8:41         ` Chanwoo Choi
2014-04-15  8:46       ` Arnd Bergmann
2014-04-15  8:51         ` Chanwoo Choi
2014-04-15  1:59 ` [PATCHv2 4/8] ARM: EXYNOS: Support secondary CPU boot of Exynos4212 Chanwoo Choi
2014-04-15  1:59 ` [PATCHv2 5/8] ARM: EXYNOS: Support secondary CPU boot of Exynos3250 Chanwoo Choi
2014-04-15  5:09   ` Tushar Behera
2014-04-17 10:15     ` Chanwoo Choi
2014-04-16 14:28   ` Tomasz Figa
2014-04-17  8:04     ` Chanwoo Choi
2014-04-15  1:59 ` [PATCHv2 6/8] ARM: EXYNOS: Enter a15 lowpower mode for Exynos3250 based on Cortex-a7 Chanwoo Choi
2014-04-16 14:35   ` Tomasz Figa
2014-04-16 14:39     ` Chanwoo Choi
2014-04-15  1:59 ` [PATCHv2 7/8] clk: samsung: exynos3250: Add clocks using common clock framework Chanwoo Choi
2014-04-15  1:59 ` [PATCHv2 8/8] ARM: dts: Add device tree sources for Exynos3250 Chanwoo Choi
2014-04-15  8:15   ` Marc Zyngier
2014-04-15  8:27     ` Chanwoo Choi
2014-04-15  9:13       ` Marc Zyngier
2014-04-15  9:19         ` Chanwoo Choi
2014-04-15  9:24           ` Marc Zyngier
2014-04-16  8:22             ` Chanwoo Choi
2014-04-16  8:34               ` Marc Zyngier [this message]
2014-04-16  8:45                 ` Chanwoo Choi
2014-04-16 10:23                 ` Chanwoo Choi

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=534E4089.9070804@arm.com \
    --to=marc.zyngier@arm$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox