From: Alexandre Belloni <alexandre.belloni@bootlin.com> To: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Thomas Gleixner <tglx@linutronix.de>, Nicolas Ferre <nicolas.ferre@microchip.com>, Sebastian Andrzej Siewior <bigeasy@linutronix.de>, kamel.bouhara@bootlin.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Alexandre Belloni <alexandre.belloni@bootlin.com> Subject: [PATCH v6 9/9] clocksource/drivers/timer-atmel-tcb: add sama5d2 support Date: Sat, 11 Jul 2020 01:08:13 +0200 [thread overview] Message-ID: <20200710230813.1005150-10-alexandre.belloni@bootlin.com> (raw) In-Reply-To: <20200710230813.1005150-1-alexandre.belloni@bootlin.com> The first divisor for the sama5d2 is actually the gclk selector. Because the currently remaining divisors are fitting the use case, currently ensure it is skipped. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> --- drivers/clocksource/timer-atmel-tcb.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/clocksource/timer-atmel-tcb.c b/drivers/clocksource/timer-atmel-tcb.c index 7fea134650fc..787dbebbb432 100644 --- a/drivers/clocksource/timer-atmel-tcb.c +++ b/drivers/clocksource/timer-atmel-tcb.c @@ -359,9 +359,15 @@ static struct atmel_tcb_config tcb_sam9x5_config = { .counter_width = 32, }; +static struct atmel_tcb_config tcb_sama5d2_config = { + .counter_width = 32, + .has_gclk = 1, +}; + static const struct of_device_id atmel_tcb_of_match[] = { { .compatible = "atmel,at91rm9200-tcb", .data = &tcb_rm9200_config, }, { .compatible = "atmel,at91sam9x5-tcb", .data = &tcb_sam9x5_config, }, + { .compatible = "atmel,sama5d2-tcb", .data = &tcb_sama5d2_config, }, { /* sentinel */ } }; @@ -426,7 +432,10 @@ static int __init tcb_clksrc_init(struct device_node *node) /* How fast will we be counting? Pick something over 5 MHz. */ rate = (u32) clk_get_rate(t0_clk); - for (i = 0; i < ARRAY_SIZE(atmel_tcb_divisors); i++) { + i = 0; + if (tc.tcb_config->has_gclk) + i = 1; + for (; i < ARRAY_SIZE(atmel_tcb_divisors); i++) { unsigned divisor = atmel_tcb_divisors[i]; unsigned tmp; -- 2.26.2
WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Belloni <alexandre.belloni@bootlin.com> To: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: kamel.bouhara@bootlin.com, Alexandre Belloni <alexandre.belloni@bootlin.com>, Sebastian Andrzej Siewior <bigeasy@linutronix.de>, linux-kernel@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>, linux-arm-kernel@lists.infradead.org Subject: [PATCH v6 9/9] clocksource/drivers/timer-atmel-tcb: add sama5d2 support Date: Sat, 11 Jul 2020 01:08:13 +0200 [thread overview] Message-ID: <20200710230813.1005150-10-alexandre.belloni@bootlin.com> (raw) In-Reply-To: <20200710230813.1005150-1-alexandre.belloni@bootlin.com> The first divisor for the sama5d2 is actually the gclk selector. Because the currently remaining divisors are fitting the use case, currently ensure it is skipped. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> --- drivers/clocksource/timer-atmel-tcb.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/clocksource/timer-atmel-tcb.c b/drivers/clocksource/timer-atmel-tcb.c index 7fea134650fc..787dbebbb432 100644 --- a/drivers/clocksource/timer-atmel-tcb.c +++ b/drivers/clocksource/timer-atmel-tcb.c @@ -359,9 +359,15 @@ static struct atmel_tcb_config tcb_sam9x5_config = { .counter_width = 32, }; +static struct atmel_tcb_config tcb_sama5d2_config = { + .counter_width = 32, + .has_gclk = 1, +}; + static const struct of_device_id atmel_tcb_of_match[] = { { .compatible = "atmel,at91rm9200-tcb", .data = &tcb_rm9200_config, }, { .compatible = "atmel,at91sam9x5-tcb", .data = &tcb_sam9x5_config, }, + { .compatible = "atmel,sama5d2-tcb", .data = &tcb_sama5d2_config, }, { /* sentinel */ } }; @@ -426,7 +432,10 @@ static int __init tcb_clksrc_init(struct device_node *node) /* How fast will we be counting? Pick something over 5 MHz. */ rate = (u32) clk_get_rate(t0_clk); - for (i = 0; i < ARRAY_SIZE(atmel_tcb_divisors); i++) { + i = 0; + if (tc.tcb_config->has_gclk) + i = 1; + for (; i < ARRAY_SIZE(atmel_tcb_divisors); i++) { unsigned divisor = atmel_tcb_divisors[i]; unsigned tmp; -- 2.26.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-07-10 23:08 UTC|newest] Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-10 23:08 [PATCH v6 0/9] clocksource/drivers/timer-atmel-tcb: add sama5d2 support Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 1/9] dt-bindings: atmel-tcb: convert bindings to json-schema Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 2/9] dt-bindings: microchip: atmel,at91rm9200-tcb: add sama5d2 compatible Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 2/9] dt-bindings: microchip: atmel, at91rm9200-tcb: " Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] dt-bindings: microchip: atmel,at91rm9200-tcb: " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 3/9] ARM: dts: at91: sama5d2: add TCB GCLK Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 4/9] ARM: at91: add atmel tcb capabilities Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] " tip-bot2 for Kamel Bouhara 2020-07-10 23:08 ` [PATCH v6 5/9] clocksource/drivers/timer-atmel-tcb: rework 32khz clock selection Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] clocksource/drivers/timer-atmel-tcb: Rework " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 6/9] clocksource/drivers/timer-atmel-tcb: fill tcb_config Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] clocksource/drivers/timer-atmel-tcb: Fill tcb_config tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 7/9] clocksource/drivers/timer-atmel-tcb: stop using the 32kHz for clockevents Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] clocksource/drivers/timer-atmel-tcb: Stop " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` [PATCH v6 8/9] clocksource/drivers/timer-atmel-tcb: allow selecting first divider Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] clocksource/drivers/timer-atmel-tcb: Allow " tip-bot2 for Alexandre Belloni 2020-07-10 23:08 ` Alexandre Belloni [this message] 2020-07-10 23:08 ` [PATCH v6 9/9] clocksource/drivers/timer-atmel-tcb: add sama5d2 support Alexandre Belloni 2020-07-23 19:09 ` [tip: timers/core] clocksource/drivers/timer-atmel-tcb: Add " tip-bot2 for Alexandre Belloni 2020-07-17 4:11 ` [PATCH v6 0/9] clocksource/drivers/timer-atmel-tcb: add " Daniel Lezcano 2020-07-17 4:11 ` Daniel Lezcano
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=20200710230813.1005150-10-alexandre.belloni@bootlin.com \ --to=alexandre.belloni@bootlin.com \ --cc=bigeasy@linutronix.de \ --cc=daniel.lezcano@linaro.org \ --cc=kamel.bouhara@bootlin.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=nicolas.ferre@microchip.com \ --cc=tglx@linutronix.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: linkBe 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.