Beispiel #1
0
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;
}
Beispiel #2
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();
}