|
|
@@ -148,6 +148,13 @@ int __init acpi_parse_spcr(bool enable_earlycon, bool enable_console)
|
|
|
}
|
|
|
|
|
|
switch (table->baud_rate) {
|
|
|
+ case 0:
|
|
|
+ /*
|
|
|
+ * SPCR 1.04 defines 0 as a preconfigured state of UART.
|
|
|
+ * Assume firmware or bootloader configures console correctly.
|
|
|
+ */
|
|
|
+ baud_rate = 0;
|
|
|
+ break;
|
|
|
case 3:
|
|
|
baud_rate = 9600;
|
|
|
break;
|
|
|
@@ -196,6 +203,10 @@ int __init acpi_parse_spcr(bool enable_earlycon, bool enable_console)
|
|
|
* UART so don't attempt to change to the baud rate state
|
|
|
* in the table because driver cannot calculate the dividers
|
|
|
*/
|
|
|
+ baud_rate = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!baud_rate) {
|
|
|
snprintf(opts, sizeof(opts), "%s,%s,0x%llx", uart, iotype,
|
|
|
table->serial_port.address);
|
|
|
} else {
|