fix duo253M fsbl and opensbi serial ports print baud
This commit is contained in:
@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user