uart8250: Fix and unify baudrate divisor calculation
Divisor is a function of requested baudrate, platform-specific reference clock and amount of oversampling done on the UART reference. Calculate this parameter with divisor rounded to nearest integer. When building without option_table or when there is no entry for baud_rate, CONFIG_TTYS0_BAUD is used for default baudrate. For OxPCIe use of 4 MHz for reference was arbitrary giving correct divisor for 115200 but somewhat inaccurate for lower baudrates. Actual hardware is 62500000 with 16 times oversampling. FIXME: Field for baudrate in lb_tables is still incorrect. Change-Id: I68539738469af780fadd3392263dd9b3d5964d2d Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/5229 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
6
src/drivers/uart/Makefile.inc
Normal file
6
src/drivers/uart/Makefile.inc
Normal file
@@ -0,0 +1,6 @@
|
||||
ifeq ($(CONFIG_CONSOLE_SERIAL),y)
|
||||
romstage-y += util.c
|
||||
ramstage-y += util.c
|
||||
bootblock-y += util.c
|
||||
smm-y += util.c
|
||||
endif
|
Reference in New Issue
Block a user