diff --git a/lib/utils/serial/fdt_serial_uart8250.c b/lib/utils/serial/fdt_serial_uart8250.c old mode 100644 new mode 100755 index 918193ae..c72eeeb8 --- a/lib/utils/serial/fdt_serial_uart8250.c +++ b/lib/utils/serial/fdt_serial_uart8250.c @@ -26,6 +26,7 @@ static int serial_uart8250_init(void *fdt, int nodeoff, } static const struct fdt_match serial_uart8250_match[] = { + { .compatible = "snps,dw-apb-uart" }, { .compatible = "ns16550" }, { .compatible = "ns16550a" }, { }, diff --git a/lib/utils/serial/uart8250.c b/lib/utils/serial/uart8250.c index 1cf6624d..ccc7aa09 100644 --- a/lib/utils/serial/uart8250.c +++ b/lib/utils/serial/uart8250.c @@ -101,7 +101,7 @@ int uart8250_init(unsigned long base, u32 in_freq, u32 baudrate, u32 reg_shift, uart8250_in_freq = in_freq; uart8250_baudrate = baudrate; - bdiv = uart8250_in_freq / (16 * uart8250_baudrate); + bdiv = (uart8250_in_freq + 8 * uart8250_baudrate) / (16 * uart8250_baudrate); /* Disable all interrupts */ set_reg(UART_IER_OFFSET, 0x00); diff --git a/platform/generic/config.mk b/platform/generic/config.mk index 8151974f..6e09f333 100644 --- a/platform/generic/config.mk +++ b/platform/generic/config.mk @@ -28,7 +28,8 @@ else # This needs to be 2MB aligned for 64-bit system FW_JUMP_ADDR=$(shell printf "0x%X" $$(($(FW_TEXT_START) + 0x200000))) endif -FW_JUMP_FDT_ADDR=$(shell printf "0x%X" $$(($(FW_TEXT_START) + 0x2200000))) +#set FDT_ADDR 0xB0000000 +FW_JUMP_FDT_ADDR=$(shell printf "0x%X" $$(($(FW_TEXT_START) + 0x30000000))) FW_PAYLOAD=y ifeq ($(PLATFORM_RISCV_XLEN), 32) # This needs to be 4MB aligned for 32-bit system