[coreboot-gerrit] New patch to review for coreboot: RISCV: set up nexsys4 uart parameters.

Ronald G. Minnich (rminnich@gmail.com) gerrit at coreboot.org
Sun Oct 9 20:08:00 CEST 2016


Ronald G. Minnich (rminnich at gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16956

-gerrit

commit 4ee5b47fe9ca23ed49800c9090ed29a5c3d74489
Author: Ronald G. Minnich <rminnich at gmail.com>
Date:   Sun Oct 9 11:06:32 2016 -0700

    RISCV: set up nexsys4 uart parameters.
    
    Change-Id: I3f2573855678e162fd7d1c05f2fdab4bfb600815
    Signed-off-by: Ronald G. Minnich <rminnich at gmail.com>
---
 src/mainboard/lowrisc/nexys4ddr/Kconfig |  2 ++
 src/mainboard/lowrisc/nexys4ddr/uart.c  | 13 +++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/src/mainboard/lowrisc/nexys4ddr/Kconfig b/src/mainboard/lowrisc/nexys4ddr/Kconfig
index 4ce04fb..8283ecf 100644
--- a/src/mainboard/lowrisc/nexys4ddr/Kconfig
+++ b/src/mainboard/lowrisc/nexys4ddr/Kconfig
@@ -24,6 +24,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select ARCH_BOOTBLOCK_RISCV
 	select DRIVERS_UART_8250MEM
 	select BOOT_DEVICE_NOT_SPI_FLASH
+	select UART_OVERRIDE_REFCLK
+	select UART_OVERRIDE_INPUT_CLOCK_DIVIDER
 
 config MAINBOARD_DIR
 	string
diff --git a/src/mainboard/lowrisc/nexys4ddr/uart.c b/src/mainboard/lowrisc/nexys4ddr/uart.c
index cf0ac6e..9551b20 100644
--- a/src/mainboard/lowrisc/nexys4ddr/uart.c
+++ b/src/mainboard/lowrisc/nexys4ddr/uart.c
@@ -23,3 +23,16 @@ uintptr_t uart_platform_base(int idx)
 {
 	return (uintptr_t) 0x42000000;
 }
+
+// divisor = clk_freq / (16 * Baud)
+unsigned int uart_input_clock_divider(void)
+{
+	return (25*1000*1000u / (16u * 115200u)) % 0x100;
+}
+
+// System clock 25 MHz, 115200 baud rate
+unsigned int uart_platform_refclk(void)
+{
+	return (25*1000*1000u / (16u * 115200u)) >> 8;
+}
+



More information about the coreboot-gerrit mailing list