fix duo253M fsbl and opensbi serial ports print baud

This commit is contained in:
yue-xiaomin
2023-12-25 13:45:32 +08:00
parent 3dad3aa6f0
commit 87b4cc272a

View File

@ -46,8 +46,34 @@ int dec_verify_image(const void *image, size_t size, size_t dec_skip, struct fip
}
#endif
// Start of addition
#define UART_DLL 0x04140000
#define UART_DLH 0x04140004
#define UART_LCR 0x0414000C
void set_baudrate()
{
// 14 for 115200, 13 for 128000
int baud_divisor = 14;
// set DLAB to 1 to set dll and dlh
*(volatile uint32_t*)(UART_LCR) |= (uint32_t)0x80;
// set divisor
*(volatile uint32_t*)(UART_DLL) = (uint32_t)(baud_divisor & 0xff);
*(volatile uint32_t*)(UART_DLH) = (uint32_t)((baud_divisor >> 8) & 0xff);
// set DLAB back to 0
*(volatile uint32_t*)(UART_LCR) &= (uint32_t)(~0x80);
}
// End of addition
void bl2_main(void)
{
// Start of addition
set_baudrate();
// End of addition
enum CHIP_CLK_MODE mode;
uint32_t v = p_rom_api_get_boot_src();