Nokia RX-51: Remember setup_console_atag option

When variable setup_console_atag is unset then read default value from OMAP
atags which passed NOLO bootloader to U-Boot.

This would allow to boot Maemo Linux kernel from U-Boot with serial console
settings configured in NOLO bootloader (which loads U-Boot).

So serial console needs to be enabled only at one place, globally in NOLO.

Signed-off-by: Pali Rohár <pali@kernel.org>
This commit is contained in:
Pali Rohár 2020-04-01 00:35:14 +02:00 committed by Lokesh Vutla
parent f5cfdbf9c9
commit b5f7cf5017
1 changed files with 19 additions and 4 deletions

View File

@ -87,6 +87,7 @@ static char *boot_reason_ptr;
static char *hw_build_ptr;
static char *nolo_version_ptr;
static char *boot_mode_ptr;
static int serial_was_console_enabled;
/*
* Routine: init_omap_tags
@ -143,6 +144,13 @@ static void reuse_omap_atags(struct tag_omap *t)
strcpy(boot_mode_ptr, version);
}
break;
case OMAP_TAG_UART:
if (!t->u.uart.enabled_uarts)
serial_was_console_enabled = 1;
break;
case OMAP_TAG_SERIAL_CONSOLE:
serial_was_console_enabled = 1;
break;
default:
break;
}
@ -233,10 +241,17 @@ void setup_board_tags(struct tag **in_params)
return;
str = env_get("setup_console_atag");
if (str && str[0] == '1')
setup_console_atag = 1;
else
setup_console_atag = 0;
if (str && str[0]) {
if (str[0] == '1')
setup_console_atag = 1;
else
setup_console_atag = 0;
} else {
if (serial_was_console_enabled)
setup_console_atag = 1;
else
setup_console_atag = 0;
}
setup_boot_reason_atag = env_get("setup_boot_reason_atag");
setup_boot_mode_atag = env_get("setup_boot_mode_atag");