[U-Boot] [PATCH] env: ti: boot: Use ttyS2 instead of ttyO2

Andrew F. Davis afd at ti.com
Tue Jul 16 13:33:06 UTC 2019


On 7/16/19 9:15 AM, Sam Protsenko wrote:
> Hi Andrew,
> 
> On Mon, Jul 15, 2019 at 10:15 PM Andrew F. Davis <afd at ti.com> wrote:
>>
>> 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_8250_Driver
>>>
>>> Signed-off-by: Sam Protsenko <semen.protsenko at 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)
>>
> 
> It's not that simple. Please look at commits [1,2]. Seems like that
> #if selector you mentioned was implemented for a reason and serves the
> purpose of using uart3, chosen via menuconfig, for UART boot mode. I
> suggest we keep this patch as is, I really want it to be an atomical
> change, as it's a big change as it is. If you still want to remove
> that #if and only leave ttyS0, it can be done in the separate patch,
> mentioning [1,2] and explaining, why do we want to get rid of UART
> boot feature for DRA7.
> 
> So if you are ok with my reasoning, please add your R-b tag here.

A DRA7x EVM using UART2 doesn't exist, no reason to support it anymore
than a AM57x with UART5 wired out.

But it can be a separate patch, this patch as-is:

Reviewed-by: Andrew F. Davis <afd at ti.com>

> 
> Thanks!
> 
> [1] https://gitlab.denx.de/u-boot/u-boot/commit/a13cbf5f208b59797d08199604f2701b6c3b9f64
> [2] https://gitlab.denx.de/u-boot/u-boot/commit/cfd921f7cc8cb54320e2b2ac4dc9ec13fc4f96c3
> 
>> 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)
>>>


More information about the U-Boot mailing list