diff mbox series

[09/19] clk: at91: sckc: register slow_rc with accuracy option

Message ID 1594812267-6697-10-git-send-email-claudiu.beznea@microchip.com (mailing list archive)
State New, archived
Headers show
Series clk: at91: add sama7g5 clock support | expand

Commit Message

Claudiu Beznea July 15, 2020, 11:24 a.m. UTC
Register slow rc with accuracy option.

Fixes: 04bcc4275e601 ("clk: at91: sckc: add support for SAM9X60")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
 drivers/clk/at91/sckc.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Claudiu Beznea July 15, 2020, 3:39 p.m. UTC | #1
On 15.07.2020 14:24, Claudiu Beznea wrote:
> Register slow rc with accuracy option.
> 
> Fixes: 04bcc4275e601 ("clk: at91: sckc: add support for SAM9X60")
> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
> ---
>  drivers/clk/at91/sckc.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/clk/at91/sckc.c b/drivers/clk/at91/sckc.c
> index 15dc4cd86d76..2d65770d8665 100644
> --- a/drivers/clk/at91/sckc.c
> +++ b/drivers/clk/at91/sckc.c
> @@ -471,8 +471,9 @@ static void __init of_sam9x60_sckc_setup(struct device_node *np)
>  	if (!regbase)
>  		return;
>  
> -	slow_rc = clk_hw_register_fixed_rate(NULL, parent_names[0], NULL, 0,
> -					     32768);
> +	slow_rc = clk_hw_register_fixed_rate_with_accuracy(NULL, parent_names[0],
> +							   NULL, 0, 32768,
> +							   93750000);

I forgot to mention in commit message (I'll do it in v2 once I'll
gather more comments on this series):

Chapter 57.7.5 of SAM9X60 datasheet specifies that the maximum drift of
this oscillator is +- 3KHz. I used that value and the formula at [1]
or the calculator at [2] to compute the PPB value.

[1] https://www.everythingrf.com/rf-calculators/ppm-to-hz-calculator
[2] https://www.changpuak.ch/electronics/ppm_to_Hz_converter.php


Thank you,
Claudiu Beznea

>  	if (IS_ERR(slow_rc))
>  		return;
>  
>
diff mbox series

Patch

diff --git a/drivers/clk/at91/sckc.c b/drivers/clk/at91/sckc.c
index 15dc4cd86d76..2d65770d8665 100644
--- a/drivers/clk/at91/sckc.c
+++ b/drivers/clk/at91/sckc.c
@@ -471,8 +471,9 @@  static void __init of_sam9x60_sckc_setup(struct device_node *np)
 	if (!regbase)
 		return;
 
-	slow_rc = clk_hw_register_fixed_rate(NULL, parent_names[0], NULL, 0,
-					     32768);
+	slow_rc = clk_hw_register_fixed_rate_with_accuracy(NULL, parent_names[0],
+							   NULL, 0, 32768,
+							   93750000);
 	if (IS_ERR(slow_rc))
 		return;