Re: [PATCH] arm: mvebu: a38x: Define supported UART baudrates

2021-09-01 Thread Stefan Roese

On 11.08.21 10:08, Pali Rohár wrote:

Define all standard baudrates plus 3 non-standard high speed:
3125000 400 515

3125000 matches divisor 5 with 250 MHz TCLK and divisor 4 with 200 MHz TCLK.
400 is the rounded value for divisor 4 with 250 MHz TCLK (3906250) and
divisor 3 with 200 MHz TCLK (416).

515 is the rounded value (5208333) for divisor 3 with 250 MHz TCLK.
Testing showed that rounded value is more stable then exactly calculated.
And it is the highest possible baudrate which is stable on A38x platform.

Any other baudrate values above 250 are unstable, which is reason why
e.g. standard value 300 is not defined, and it is needed to use
non-standard value 3125000.

Tested all defined UART baudrates on Turris Omnia (A38x with 250 MHz TCLK).

Signed-off-by: Pali Rohár 


Applied to u-boot-marvell/master

Thanks,
Stefan


---
  include/configs/mv-common.h | 9 +
  1 file changed, 9 insertions(+)

diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
index d61c90a43156..53d7acbb1034 100644
--- a/include/configs/mv-common.h
+++ b/include/configs/mv-common.h
@@ -39,6 +39,15 @@
  #define CONFIG_SYS_NS16550_COM1   MV_UART_CONSOLE_BASE
  #endif
  
+#if defined(CONFIG_ARMADA_38X) && !defined(CONFIG_SYS_BAUDRATE_TABLE)

+#define CONFIG_SYS_BAUDRATE_TABLE  { 300, 600, 1200, 1800, 2400, 4800, \
+ 9600, 19200, 38400, 57600, 115200, \
+ 230400, 460800, 50, 576000, \
+ 921600, 100, 1152000, 150, \
+ 200, 250, 3125000, 400, \
+ 515 }
+#endif
+
  /* auto boot */
  
  /*





Viele Grüße,
Stefan

--
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: s...@denx.de


Re: [PATCH] arm: mvebu: a38x: Define supported UART baudrates

2021-08-11 Thread Stefan Roese

On 11.08.21 10:08, Pali Rohár wrote:

Define all standard baudrates plus 3 non-standard high speed:
3125000 400 515

3125000 matches divisor 5 with 250 MHz TCLK and divisor 4 with 200 MHz TCLK.
400 is the rounded value for divisor 4 with 250 MHz TCLK (3906250) and
divisor 3 with 200 MHz TCLK (416).

515 is the rounded value (5208333) for divisor 3 with 250 MHz TCLK.
Testing showed that rounded value is more stable then exactly calculated.
And it is the highest possible baudrate which is stable on A38x platform.

Any other baudrate values above 250 are unstable, which is reason why
e.g. standard value 300 is not defined, and it is needed to use
non-standard value 3125000.

Tested all defined UART baudrates on Turris Omnia (A38x with 250 MHz TCLK).

Signed-off-by: Pali Rohár 


Reviewed-by: Stefan Roese 

Thanks,
Stefan


---
  include/configs/mv-common.h | 9 +
  1 file changed, 9 insertions(+)

diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
index d61c90a43156..53d7acbb1034 100644
--- a/include/configs/mv-common.h
+++ b/include/configs/mv-common.h
@@ -39,6 +39,15 @@
  #define CONFIG_SYS_NS16550_COM1   MV_UART_CONSOLE_BASE
  #endif
  
+#if defined(CONFIG_ARMADA_38X) && !defined(CONFIG_SYS_BAUDRATE_TABLE)

+#define CONFIG_SYS_BAUDRATE_TABLE  { 300, 600, 1200, 1800, 2400, 4800, \
+ 9600, 19200, 38400, 57600, 115200, \
+ 230400, 460800, 50, 576000, \
+ 921600, 100, 1152000, 150, \
+ 200, 250, 3125000, 400, \
+ 515 }
+#endif
+
  /* auto boot */
  
  /*





Viele Grüße,
Stefan

--
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: s...@denx.de


Re: [PATCH] arm: mvebu: a38x: Define supported UART baudrates

2021-08-11 Thread Marek Behun
Reviewed-by: Marek Behún