From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/4] arm: add basic support for Mediatek MT6589 boards
Date: Tue, 15 Apr 2014 17:40:38 +0100 [thread overview]
Message-ID: <534D6106.1070005@arm.com> (raw)
In-Reply-To: <CABuKBeLLC2xApUMpT=u5nq4kxp9f4AotQCdk0nRU=aREM6Bwkg@mail.gmail.com>
On 15/04/14 17:09, Matthias Brugger wrote:
> 2014-04-11 11:43 GMT+02:00 Marc Zyngier <marc.zyngier@arm.com>:
>> On 11/04/14 10:11, Matthias Brugger wrote:
>>> 2014-04-10 11:01 GMT+02:00 Marc Zyngier <marc.zyngier@arm.com>:
>>>> A couple of things on top of Rob's comments:
>>>>
>>>> On Wed, Apr 09 2014 at 10:50:33 pm BST, Rob Herring <robherring2@gmail.com> wrote:
>>>>> On Wed, Apr 9, 2014 at 2:45 PM, Matthias Brugger <matthias.bgg@gmail.com> wrote:
>>>>>> This adds a generic devicetree board file and a dtsi for boards
>>>>>> based on the MT6589 SoCs from Mediatek.
>>>>>>
>>>>>> Apart from the generic parts (gic, clocks) the only component
>>>>>> currently supported are the timers.
>>>>>>
>>>>>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>>>
>>>> [...]
>>>>
>>>>>> diff --git a/arch/arm/mach-mediatek/Kconfig b/arch/arm/mach-mediatek/Kconfig
>>>>>> new file mode 100644
>>>>>> index 0000000..c0139ca
>>>>>> --- /dev/null
>>>>>> +++ b/arch/arm/mach-mediatek/Kconfig
>>>>>> @@ -0,0 +1,14 @@
>>>>>> +config ARCH_MEDIATEK
>>>>>> + bool "Mediatek MT6589 SoC" if ARCH_MULTI_V7
>>>>>> + select ARCH_REQUIRE_GPIOLIB
>>>>>
>>>>> Then where is your GPIO driver?
>>>>>
>>>>>> + select ARM_GIC
>>>>>> + select CACHE_L2X0
>>>>>> + select HAVE_ARM_TWD if LOCAL_TIMERS
>>>>
>>>> Hell no! ;-) ARM_ARCH_TIMER is the way (please also add the missing
>>>> node).
>>>
>>> I considered this, but the timer wasn't able to get it's clock frequency:
>>> "Architected timer frequency not available
>>> Division by zero in kernel."
>>
>> This is because your bootloader/firmware is utterly broken, and doesn't
>> set CNTFRQ (it must be set on all CPUs, from secure mode). As a
>> *workaround*, you can set the timer frequency in the timer node, but
>> that's just a hack, and will prevent virtual machines from running on
>> such hardware.
>
> The last days I tried to get the ARM_ARCH_TIMER working, but I wasn't
> able to do so.
> I set the frequency in the DT node.
> But reading CNTP_TVAL at the end of arch_timer_init, it always returns
> the same value.
> When reading CNTPCT at the same place, returns zero.
> As far as I understand CNTPCT will be always incremented, am I right?
>
> Consequently, when calling mdelay in arch_timer_init the system hangs.
>
> So can it be, that the timers are not working due to a screwed up chip
> design? Or do I miss something here?
That would indicate that the clock that feeds into the timer is gated.
Other SoC vendors have done the same thing. Do you have access to
documentation describing the clock tree?
Of course, a broken design is always possible, but let's not think of
the worse just yet... ;-)
Thanks,
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2014-04-15 16:40 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-09 19:45 [PATCH 0/4] arm: Add basic support for Mediatek Cortex-A7 SoCs Matthias Brugger
2014-04-09 19:45 ` [PATCH 1/4] clocksource: Add support for the Mediatek SoCs Matthias Brugger
2014-04-09 20:58 ` Stephen Boyd
2014-04-09 21:08 ` Gregory CLEMENT
2014-04-09 21:52 ` Olof Johansson
2014-04-11 9:07 ` Matthias Brugger
2014-04-11 9:21 ` Arnd Bergmann
2014-04-09 19:45 ` [PATCH 2/4] dt-bindings: add mtk-timer bindings Matthias Brugger
2014-04-09 20:56 ` Gregory CLEMENT
2014-04-09 19:45 ` [PATCH 3/4] arm: add basic support for Mediatek MT6589 boards Matthias Brugger
2014-04-09 20:26 ` Gregory CLEMENT
2014-04-10 8:29 ` Matthias Brugger
2014-04-10 8:46 ` Gregory CLEMENT
2014-04-10 9:34 ` Heiko Stübner
2014-04-10 9:36 ` Arnd Bergmann
2014-04-09 21:50 ` Rob Herring
2014-04-10 9:01 ` Marc Zyngier
2014-04-11 9:11 ` Matthias Brugger
2014-04-11 9:43 ` Marc Zyngier
2014-04-11 9:53 ` Maxime Ripard
2014-04-15 16:09 ` Matthias Brugger
2014-04-15 16:40 ` Marc Zyngier [this message]
2014-05-04 12:50 ` Matthias Brugger
2014-04-10 7:36 ` Arnd Bergmann
2014-04-10 9:15 ` Matthias Brugger
2014-04-09 19:45 ` [PATCH 4/4] arm: mediatek: Add earlyprintk support for MT6589 Matthias Brugger
2014-04-09 20:54 ` Gregory CLEMENT
2014-04-09 21:39 ` Rob Herring
2014-04-10 8:22 ` Matthias Brugger
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=534D6106.1070005@arm.com \
--to=marc.zyngier@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).