
On 7/12/19 1:38 PM, Sam Protsenko wrote:
ttyO2 console enables legacy CONFIG_SERIAL_OMAP driver in kernel. Nowadays it's preferred to use the generic CONFIG_SERIAL_8250_OMAP driver, which being enabled via ttyS2 console. Both drivers are enabled in multi_v7_defconfig and in omap2plus_defconfig, for compatibility reasons. Let's switch to ttyS2 console, to be sure that standard 8250 serial driver is used.
Similar behavior can be also achieved by enabling CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP option in kernel, but it's better not to rely on that, as it can be disabled or removed after transitional period.
Right now on DRA7/AM57x platforms the 8250-omap driver is being probed first, and omap-serial driver is only probed if the first one failed. It can be seen from uart3 definition in arch/arm/boot/dts/dra7-l4.dtsi:
compatible = "ti,dra742-uart", "ti,omap4-uart";
So the kernel already uses 8250 driver. This change basically allows kernel developers to throw away the omap-serial driver and associated compatibility options. Similar discussions [1,2] have started several years ago, so it should be safe to do that now.
[1] https://patchwork.kernel.org/patch/6198471/ [2] http://processors.wiki.ti.com/index.php/Sitara_Linux_UART_-_Switching_to_825...
Signed-off-by: Sam Protsenko semen.protsenko@linaro.org
Changes in v2:
- use ttyS also in AM57x EVM and in DRA7xx EVM configs
include/configs/am57xx_evm.h | 2 +- include/configs/dra7xx_evm.h | 4 ++-- include/environment/ti/boot.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h index 45fd21878c..e181b30564 100644 --- a/include/configs/am57xx_evm.h +++ b/include/configs/am57xx_evm.h @@ -24,7 +24,7 @@
#define CONFIG_SYS_BOOTM_LEN SZ_64M
-#define CONSOLEDEV "ttyO2" +#define CONSOLEDEV "ttyS2" #define CONFIG_SYS_NS16550_COM1 UART1_BASE /* Base EVM has UART0 */ #define CONFIG_SYS_NS16550_COM2 UART2_BASE /* UART2 */ #define CONFIG_SYS_NS16550_COM3 UART3_BASE /* UART3 */ diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h index 9c8141de2e..7ec6e691c7 100644 --- a/include/configs/dra7xx_evm.h +++ b/include/configs/dra7xx_evm.h @@ -26,9 +26,9 @@ #endif
#if (CONFIG_CONS_INDEX == 1)
This CONFIG_CONS_INDEX is not enabled for this platform, meaning the non-default console is chosen by default, it's not caused by this patch but while you are here could you fix that up?
Just set:
#define CONSOLEDEV "ttyS0"
and drop all the #ifdef stuff, makes things a bit more clean. (and prevents a conflict with a patch I was going to send for the same)
Andrew
-#define CONSOLEDEV "ttyO0" +#define CONSOLEDEV "ttyS0" #elif (CONFIG_CONS_INDEX == 3) -#define CONSOLEDEV "ttyO2" +#define CONSOLEDEV "ttyS2" #endif #define CONFIG_SYS_NS16550_COM1 UART1_BASE /* Base EVM has UART0 */ #define CONFIG_SYS_NS16550_COM2 UART2_BASE /* UART2 */ diff --git a/include/environment/ti/boot.h b/include/environment/ti/boot.h index 01b2981c5b..22206b9467 100644 --- a/include/environment/ti/boot.h +++ b/include/environment/ti/boot.h @@ -10,7 +10,7 @@ #define __TI_BOOT_H
#ifndef CONSOLEDEV -#define CONSOLEDEV "ttyO2" +#define CONSOLEDEV "ttyS2" #endif
#define VBMETA_PART_SIZE (64 * 1024)