int main(int i, char **c) { char buffer[64]; brd_desc = get_board_desc(); /* Check for double baud rate */ if(brd_desc != NULL) { if(CSR_GPIO_IN & GPIO_DIP2) CSR_UART_DIVISOR = brd_desc->clk_frequency/230400/16; } /* Display a banner as soon as possible to show that the system is alive */ putsnonl(banner); crcbios(); display_board(); display_capabilities(); boot_sequence(); splash_showerr(); while(1) { putsnonl("\e[1mBIOS>\e[0m "); readstr(buffer, 64); do_command(buffer); } return 0; }
void brd_init() { int rev; char soc_version[13]; brd_desc = get_board_desc(); if(brd_desc == NULL) { printf("BRD: Running on unknown board (ID=0x%08x), startup aborted.\n", CSR_SYSTEM_ID); while(1); } rev = get_pcb_revision(); get_soc_version_formatted(soc_version); printf("BRD: SoC %s on %s (PCB revision %d)\n", soc_version, brd_desc->name, rev); if(strcmp(soc_version, VERSION) != 0) printf("BRD: SoC and HAL versions do not match!\n"); if(rev > 2) printf("BRD: Unsupported PCB revision, please upgrade!\n"); display_capabilities(); }