From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Frank.Li@freescale.com
Cc: lznuaa@gmail.com, shawn.guo@linaro.org, linus.walleij@linaro.org,
robh+dt@kernel.org, linux-gpio@vger.kernel.org,
Anson Huang <b20788@freescale.com>,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v4 08/11] ARM: imx: add gpt system timer support for imx7d
Date: Tue, 21 Apr 2015 11:02:40 +0100 [thread overview]
Message-ID: <20150421100240.GR12732@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <1429563933-3129-9-git-send-email-Frank.Li@freescale.com>
On Tue, Apr 21, 2015 at 05:05:30AM +0800, Frank.Li@freescale.com wrote:
> From: Frank Li <Frank.Li@freescale.com>
>
> Add GPT system timer support for i.MX7D, it has same hardware
> as i.MX6DL.
>
> Signed-off-by: Frank Li <Frank.Li@freescale.com>
> Signed-off-by: Anson Huang <b20788@freescale.com>
> ---
> arch/arm/mach-imx/time.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-imx/time.c b/arch/arm/mach-imx/time.c
> index 15d18e1..7c1d8a3 100644
> --- a/arch/arm/mach-imx/time.c
> +++ b/arch/arm/mach-imx/time.c
> @@ -321,7 +321,7 @@ static void __init _mxc_timer_init(int irq,
> tctl_val = V2_TCTL_FRR | V2_TCTL_WAITEN | MXC_TCTL_TEN;
> if (clk_get_rate(clk_per) == V2_TIMER_RATE_OSC_DIV8) {
> tctl_val |= V2_TCTL_CLK_OSC_DIV8;
> - if (cpu_is_imx6dl() || cpu_is_imx6sx()) {
> + if (cpu_is_imx6dl() || cpu_is_imx6sx() || cpu_is_imx7d()) {
> /* 24 / 8 = 3 MHz */
> __raw_writel(7 << V2_TPRER_PRE24M,
> timer_base + MXC_TPRER);
> @@ -383,3 +383,4 @@ CLOCKSOURCE_OF_DECLARE(mx53_timer, "fsl,imx53-gpt", mxc_timer_init_dt);
> CLOCKSOURCE_OF_DECLARE(mx6q_timer, "fsl,imx6q-gpt", mxc_timer_init_dt);
> CLOCKSOURCE_OF_DECLARE(mx6sl_timer, "fsl,imx6sl-gpt", mxc_timer_init_dt);
> CLOCKSOURCE_OF_DECLARE(mx6sx_timer, "fsl,imx6sx-gpt", mxc_timer_init_dt);
> +CLOCKSOURCE_OF_DECLARE(mx7d_timer, "fsl,imx7d-gpt", mxc_timer_init_dt);
Hmm, this suggests to me that something is very wrong here, especially
those cpu_is_imx*() things.
Several questions crop up:
* Shouldn't the code be split between a timer v1 and timer v2 driver,
and the appropriate one be selected via the DT compatible?
* Shouldn't the clock source for the v2 timer be determined from DT?
(It looks to me like the v2 timer can be clocked by the perclk or
by a 24MHz clock with a built-in prescaler.)
* Shouldn't the prescaler for the timer be calculated in the driver and
the associated divisor automatically set, or specified via DT?
Had these been fixed, you probably wouldn't need to modify the driver to
add iMX7 support here - which is really what DT is supposed to be about.
I'm not expecting you to fix them - but it would be good to get this
properly sorted out so that when iMX8 comes along, the same process
doesn't happen again.
--
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
next prev parent reply other threads:[~2015-04-21 10:02 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-20 21:05 [PATCH v4 00/11] Add Freescale i.mx7d support Frank.Li
2015-04-20 21:05 ` [PATCH v4 01/11] ARM: dts: add pinfunc include file to support imx7d Frank.Li
2015-04-20 21:05 ` [PATCH v4 02/11] ARM: dts: add pinfunc include file gpio1 " Frank.Li
2015-04-20 21:05 ` [PATCH v4 03/11] ARM: dts: add clock include file " Frank.Li
2015-04-20 21:05 ` [PATCH v4 04/11] Document: dt: binding: imx: update document for imx7d support Frank.Li
2015-04-21 20:40 ` Rob Herring
2015-04-20 21:05 ` [PATCH v4 05/11] ARM: dts: add imx7d soc dtsi file Frank.Li
2015-04-21 20:37 ` Rob Herring
2015-04-21 20:47 ` Zhi Li
2015-04-23 10:35 ` Fabio Estevam
2015-04-20 21:05 ` [PATCH v4 06/11] pinctrl: add imx7d support Frank.Li
2015-04-20 21:05 ` [PATCH v4 07/11] ARM: imx: add msl support for imx7d Frank.Li
2015-04-21 9:55 ` Russell King - ARM Linux
2015-04-20 21:05 ` [PATCH v4 08/11] ARM: imx: add gpt system timer " Frank.Li
2015-04-21 10:02 ` Russell King - ARM Linux [this message]
2015-04-21 14:17 ` Zhi Li
2015-04-20 21:05 ` [PATCH v4 09/11] ARM: imx: add imx7d clk tree support Frank.Li
2015-04-21 10:22 ` Sascha Hauer
2015-04-21 14:15 ` Zhi Li
2015-04-21 14:27 ` Sascha Hauer
2015-04-20 21:05 ` [PATCH v4 10/11] arm: dts: add imx7d-sdb support Frank.Li
2015-04-20 21:05 ` [PATCH v4 11/11] ARM: config: imx_v6_v7_defconfig add imx7d support Frank.Li
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=20150421100240.GR12732@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=Frank.Li@freescale.com \
--cc=b20788@freescale.com \
--cc=devicetree@vger.kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=lznuaa@gmail.com \
--cc=robh+dt@kernel.org \
--cc=shawn.guo@linaro.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).