arm64: dts: arm: juno: Fix UART frequency
diff mbox series

Message ID 20191119120331.28243-1-andre.przywara@arm.com
State Mainlined
Commit 39a1a8941b27c37f79508426e27a2ec29829d66c
Headers show
Series
  • arm64: dts: arm: juno: Fix UART frequency
Related show

Commit Message

Andre Przywara Nov. 19, 2019, 12:03 p.m. UTC
Older versions of the Juno *SoC* TRM [1] recommended that the UART clock
source should be 7.2738 MHz, whereas the *system* TRM [2] stated a more
correct value of 7.3728 MHz. Somehow the wrong value managed to end up in
our DT.
Doing a prime factorisation, a modulo divide by 115200 and trying
to buy a 7.2738 MHz crystal at your favourite electronics dealer suggest
that the old value was actually a typo. The actual UART clock is driven
by a PLL, configured via a parameter in some board.txt file in the
firmware, which reads 7.37 MHz (sic!).

Fix this to correct the baud rate divisor calculation on the Juno board.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>

[1] http://infocenter.arm.com/help/topic/com.arm.doc.ddi0515b.b/DDI0515B_b_juno_arm_development_platform_soc_trm.pdf
[2] http://infocenter.arm.com/help/topic/com.arm.doc.100113_0000_07_en/arm_versatile_express_juno_development_platform_(v2m_juno)_technical_reference_manual_100113_0000_07_en.pdf
---
 arch/arm64/boot/dts/arm/juno-clocks.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Liviu Dudau Nov. 19, 2019, 12:16 p.m. UTC | #1
On Tue, Nov 19, 2019 at 12:03:31PM +0000, Andre Przywara wrote:
> Older versions of the Juno *SoC* TRM [1] recommended that the UART clock
> source should be 7.2738 MHz, whereas the *system* TRM [2] stated a more
> correct value of 7.3728 MHz. Somehow the wrong value managed to end up in
> our DT.
> Doing a prime factorisation, a modulo divide by 115200 and trying
> to buy a 7.2738 MHz crystal at your favourite electronics dealer suggest
> that the old value was actually a typo. The actual UART clock is driven
> by a PLL, configured via a parameter in some board.txt file in the
> firmware, which reads 7.37 MHz (sic!).
> 
> Fix this to correct the baud rate divisor calculation on the Juno board.
> 
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> 
> [1] http://infocenter.arm.com/help/topic/com.arm.doc.ddi0515b.b/DDI0515B_b_juno_arm_development_platform_soc_trm.pdf
> [2] http://infocenter.arm.com/help/topic/com.arm.doc.100113_0000_07_en/arm_versatile_express_juno_development_platform_(v2m_juno)_technical_reference_manual_100113_0000_07_en.pdf

Acked-by: Liviu Dudau <liviu.dudau@arm.com>

Best regards,
Liviu

> ---
>  arch/arm64/boot/dts/arm/juno-clocks.dtsi | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/arm/juno-clocks.dtsi b/arch/arm64/boot/dts/arm/juno-clocks.dtsi
> index e5e265dfa902..2870b5eeb198 100644
> --- a/arch/arm64/boot/dts/arm/juno-clocks.dtsi
> +++ b/arch/arm64/boot/dts/arm/juno-clocks.dtsi
> @@ -8,10 +8,10 @@
>   */
>  / {
>  	/* SoC fixed clocks */
> -	soc_uartclk: refclk7273800hz {
> +	soc_uartclk: refclk7372800hz {
>  		compatible = "fixed-clock";
>  		#clock-cells = <0>;
> -		clock-frequency = <7273800>;
> +		clock-frequency = <7372800>;
>  		clock-output-names = "juno:uartclk";
>  	};
>  
> -- 
> 2.17.1
>
Sudeep Holla Nov. 25, 2019, 5:43 p.m. UTC | #2
On Tue, Nov 19, 2019 at 12:03:31PM +0000, Andre Przywara wrote:
> Older versions of the Juno *SoC* TRM [1] recommended that the UART clock
> source should be 7.2738 MHz, whereas the *system* TRM [2] stated a more
> correct value of 7.3728 MHz. Somehow the wrong value managed to end up in
> our DT.
> Doing a prime factorisation, a modulo divide by 115200 and trying
> to buy a 7.2738 MHz crystal at your favourite electronics dealer suggest
> that the old value was actually a typo. The actual UART clock is driven
> by a PLL, configured via a parameter in some board.txt file in the
> firmware, which reads 7.37 MHz (sic!).
> 
> Fix this to correct the baud rate divisor calculation on the Juno board.
> 
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> 

Do we need fixes tag here ? Unless someone objects I will add and apply
this patch:

Fixes: 71f867ec130e ("arm64: Add Juno board device tree.")

--
Regards,
Sudeep

Patch
diff mbox series

diff --git a/arch/arm64/boot/dts/arm/juno-clocks.dtsi b/arch/arm64/boot/dts/arm/juno-clocks.dtsi
index e5e265dfa902..2870b5eeb198 100644
--- a/arch/arm64/boot/dts/arm/juno-clocks.dtsi
+++ b/arch/arm64/boot/dts/arm/juno-clocks.dtsi
@@ -8,10 +8,10 @@ 
  */
 / {
 	/* SoC fixed clocks */
-	soc_uartclk: refclk7273800hz {
+	soc_uartclk: refclk7372800hz {
 		compatible = "fixed-clock";
 		#clock-cells = <0>;
-		clock-frequency = <7273800>;
+		clock-frequency = <7372800>;
 		clock-output-names = "juno:uartclk";
 	};