diff mbox series

[master] am62lxx-evm: Override serial console to ttyS0 only

Message ID 20260422062227.4098420-1-y-hegde@ti.com
State Under Review
Delegated to: Ryan Eatmon
Headers show
Series [master] am62lxx-evm: Override serial console to ttyS0 only | expand

Commit Message

Yogesh Hegde April 22, 2026, 6:22 a.m. UTC
The am62lxx-evm board only has ttyS0 available. The k3 default
SERIAL_CONSOLES inherited includes ttyS2, which causes
systemd to wait indefinitely for a console that never appears,
significantly increasing boot time and degrading user experience.

Override SERIAL_CONSOLES to specify only ttyS0, allowing the boot
process to proceed normally without waiting for unavailable consoles.

Signed-off-by: Yogesh Hegde <y-hegde@ti.com>
---

Boot time is increased from 33s to 2m18s.
Boot time is measured from power on to TI LVGL demo
running on HDMI Display. 

Logs: 

root@am62lxx-evm:~# systemd-analyze critical-chain ti-lvgl-demo.service
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.
ti-lvgl-demo.service @1min 32.588s
`-multi-user.target @1min 32.577s
  `-getty.target @1min 32.575s
    `-serial-getty@ttyS0.service @13.002s
      `-systemd-user-sessions.service @10.847s +660ms
        `-network.target @10.582s
          `-systemd-networkd.service @8.748s +1.799s
            `-network-pre.target @8.735s
              `-iptables.service @7.477s +920ms
                `-basic.target @7.363s
                  `-dbus-broker.service @6.661s +466ms
                    `-dbus.socket @6.310s +434us
                      `-sysinit.target @6.263s
                        `-systemd-vconsole-setup.service @18.198s +391ms
                          `-systemd-journald.socket @2.781s +335us
                            `-system.slice @1.282s
                              `--.slice @1.282s

From the time analysis log, `getty.target` takes 1min 32 secs to bootup due to 
serial-getty@ttyS2.service failed. This service fails because there is no 
hardware associated with ttyS2. 

---
 meta-ti-bsp/conf/machine/am62lxx-evm.conf | 2 ++
 1 file changed, 2 insertions(+)

Comments

PRC Automation April 22, 2026, 6:37 a.m. UTC | #1
meta-ti / na / 20260422062227.4098420-1-y-hegde

PRC Results: PASS

=========================================================
  check-yocto-patches: PASS
=========================================================
Patches
----------------------------------------
All patches passed



=========================================================
  apply-yocto-patch: PASS
=========================================================
master
=====================
Summary:
- Patch Series: [master][PATCH] am62lxx-evm: Override serial console to ttyS0 only
- Submitter: From: Yogesh Hegde <y-hegde@ti.com>
- Date: Date: Wed, 22 Apr 2026 11:52:27 +0530
- Num Patches: 1
- Mailing List (public inbox) Commit SHA: 514614d5fc6b092410b41b1b9e5d8610835b3d31

Applied to:
- Repository: lcpd-prc-meta-ti
- Base Branch: master-wip
- Commit Author: Ryan Eatmon <reatmon@ti.com>
- Commit Subject: conf: Add falcon support natively
- Commit SHA: f9937ef9d61a43800eab7b176fa89888721db064

Patches
----------------------------------------
All patches applied



=========================================================
  check-yocto-repo: PASS
=========================================================
master
=====================
PASS



=========================================================
  yocto-check-layers: PASS
=========================================================
master - PASS
=====================
All checks passed
Hari Prasath April 22, 2026, 6:53 a.m. UTC | #2
On 22/04/26 11:52 am, Yogesh Hegde via lists.yoctoproject.org wrote:
> The am62lxx-evm board only has ttyS0 available. The k3 default
> SERIAL_CONSOLES inherited includes ttyS2, which causes
> systemd to wait indefinitely for a console that never appears,
> significantly increasing boot time and degrading user experience.
> 
> Override SERIAL_CONSOLES to specify only ttyS0, allowing the boot
> process to proceed normally without waiting for unavailable consoles.
> 
> Signed-off-by: Yogesh Hegde <y-hegde@ti.com>

Assuming this is only an am62lxx-evm only constraint and not at a SoC 
level, this override in machine conf looks good to me.

Reviewed-by: Hari Prasath Gujulan Elango <gehariprasath@ti.com>


> ---
> 
> Boot time is increased from 33s to 2m18s.
> Boot time is measured from power on to TI LVGL demo
> running on HDMI Display.
> 
> Logs:
> 
> root@am62lxx-evm:~# systemd-analyze critical-chain ti-lvgl-demo.service
> The time when unit became active or started is printed after the "@" character.
> The time the unit took to start is printed after the "+" character.
> ti-lvgl-demo.service @1min 32.588s
> `-multi-user.target @1min 32.577s
>    `-getty.target @1min 32.575s
>      `-serial-getty@ttyS0.service @13.002s
>        `-systemd-user-sessions.service @10.847s +660ms
>          `-network.target @10.582s
>            `-systemd-networkd.service @8.748s +1.799s
>              `-network-pre.target @8.735s
>                `-iptables.service @7.477s +920ms
>                  `-basic.target @7.363s
>                    `-dbus-broker.service @6.661s +466ms
>                      `-dbus.socket @6.310s +434us
>                        `-sysinit.target @6.263s
>                          `-systemd-vconsole-setup.service @18.198s +391ms
>                            `-systemd-journald.socket @2.781s +335us
>                              `-system.slice @1.282s
>                                `--.slice @1.282s
> 
>  From the time analysis log, `getty.target` takes 1min 32 secs to bootup due to
> serial-getty@ttyS2.service failed. This service fails because there is no
> hardware associated with ttyS2.
> 
> ---
>   meta-ti-bsp/conf/machine/am62lxx-evm.conf | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/meta-ti-bsp/conf/machine/am62lxx-evm.conf b/meta-ti-bsp/conf/machine/am62lxx-evm.conf
> index 677d6955..edfb4057 100644
> --- a/meta-ti-bsp/conf/machine/am62lxx-evm.conf
> +++ b/meta-ti-bsp/conf/machine/am62lxx-evm.conf
> @@ -4,6 +4,8 @@
>   
>   require conf/machine/include/am62lxx.inc
>   
> +SERIAL_CONSOLES = "115200;ttyS0"
> +
>   IMAGE_FSTYPES += "ubifs ubi"
>   
>   MKUBIFS_ARGS ?= "-F -m 4096 -e 258048 -c 12000"
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#19862): https://lists.yoctoproject.org/g/meta-ti/message/19862
> Mute This Topic: https://lists.yoctoproject.org/mt/118950880/10119719
> Group Owner: meta-ti+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub [gehariprasath@ti.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Randolph Sapp April 22, 2026, 4:39 p.m. UTC | #3
On Wed Apr 22, 2026 at 1:22 AM CDT, Yogesh Hegde wrote:
> The am62lxx-evm board only has ttyS0 available. The k3 default
> SERIAL_CONSOLES inherited includes ttyS2, which causes
> systemd to wait indefinitely for a console that never appears,
> significantly increasing boot time and degrading user experience.
>
> Override SERIAL_CONSOLES to specify only ttyS0, allowing the boot
> process to proceed normally without waiting for unavailable consoles.
>
> Signed-off-by: Yogesh Hegde <y-hegde@ti.com>
> ---
>
> Boot time is increased from 33s to 2m18s.
> Boot time is measured from power on to TI LVGL demo
> running on HDMI Display. 
>
> Logs: 
>
> root@am62lxx-evm:~# systemd-analyze critical-chain ti-lvgl-demo.service
> The time when unit became active or started is printed after the "@" character.
> The time the unit took to start is printed after the "+" character.
> ti-lvgl-demo.service @1min 32.588s
> `-multi-user.target @1min 32.577s
>   `-getty.target @1min 32.575s
>     `-serial-getty@ttyS0.service @13.002s
>       `-systemd-user-sessions.service @10.847s +660ms
>         `-network.target @10.582s
>           `-systemd-networkd.service @8.748s +1.799s
>             `-network-pre.target @8.735s
>               `-iptables.service @7.477s +920ms
>                 `-basic.target @7.363s
>                   `-dbus-broker.service @6.661s +466ms
>                     `-dbus.socket @6.310s +434us
>                       `-sysinit.target @6.263s
>                         `-systemd-vconsole-setup.service @18.198s +391ms
>                           `-systemd-journald.socket @2.781s +335us
>                             `-system.slice @1.282s
>                               `--.slice @1.282s
>
> From the time analysis log, `getty.target` takes 1min 32 secs to bootup due to 
> serial-getty@ttyS2.service failed. This service fails because there is no 
> hardware associated with ttyS2. 
>
> ---
>  meta-ti-bsp/conf/machine/am62lxx-evm.conf | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/meta-ti-bsp/conf/machine/am62lxx-evm.conf b/meta-ti-bsp/conf/machine/am62lxx-evm.conf
> index 677d6955..edfb4057 100644
> --- a/meta-ti-bsp/conf/machine/am62lxx-evm.conf
> +++ b/meta-ti-bsp/conf/machine/am62lxx-evm.conf
> @@ -4,6 +4,8 @@
>  
>  require conf/machine/include/am62lxx.inc
>  
> +SERIAL_CONSOLES = "115200;ttyS0"
> +
>  IMAGE_FSTYPES += "ubifs ubi"
>  
>  MKUBIFS_ARGS ?= "-F -m 4096 -e 258048 -c 12000"

Systemd's getty generator might still try to grab ttyS0 in other scenarios, but
this at least fixes the default behavior of trying to wait for the kernel serial
console on this board.

Out of curiosity, why did this change for this board? As I recall Andrew and
Nishanth had a debate about this a few years back and the result was to
standardize to ttyS2 for all k3.

Reviewed-by: Randolph Sapp <rs@ti.com>
Andrew Davis April 22, 2026, 5:44 p.m. UTC | #4
On 4/22/26 1:53 AM, Hari Prasath via lists.yoctoproject.org wrote:
> On 22/04/26 11:52 am, Yogesh Hegde via lists.yoctoproject.org wrote:
>> The am62lxx-evm board only has ttyS0 available. The k3 default
>> SERIAL_CONSOLES inherited includes ttyS2, which causes
>> systemd to wait indefinitely for a console that never appears,
>> significantly increasing boot time and degrading user experience.
>>
>> Override SERIAL_CONSOLES to specify only ttyS0, allowing the boot
>> process to proceed normally without waiting for unavailable consoles.
>>
>> Signed-off-by: Yogesh Hegde <y-hegde@ti.com>
> 
> Assuming this is only an am62lxx-evm only constraint and not at a SoC level, this override in machine conf looks good to me.
> 

AM62L does not have ttyS2, so this is needed for all AM62L based boards.

So this might be good to move to include/am62lxx.inc.

Andrew

> Reviewed-by: Hari Prasath Gujulan Elango <gehariprasath@ti.com>
> 
> 
>> ---
>>
>> Boot time is increased from 33s to 2m18s.
>> Boot time is measured from power on to TI LVGL demo
>> running on HDMI Display.
>>
>> Logs:
>>
>> root@am62lxx-evm:~# systemd-analyze critical-chain ti-lvgl-demo.service
>> The time when unit became active or started is printed after the "@" character.
>> The time the unit took to start is printed after the "+" character.
>> ti-lvgl-demo.service @1min 32.588s
>> `-multi-user.target @1min 32.577s
>>    `-getty.target @1min 32.575s
>>      `-serial-getty@ttyS0.service @13.002s
>>        `-systemd-user-sessions.service @10.847s +660ms
>>          `-network.target @10.582s
>>            `-systemd-networkd.service @8.748s +1.799s
>>              `-network-pre.target @8.735s
>>                `-iptables.service @7.477s +920ms
>>                  `-basic.target @7.363s
>>                    `-dbus-broker.service @6.661s +466ms
>>                      `-dbus.socket @6.310s +434us
>>                        `-sysinit.target @6.263s
>>                          `-systemd-vconsole-setup.service @18.198s +391ms
>>                            `-systemd-journald.socket @2.781s +335us
>>                              `-system.slice @1.282s
>>                                `--.slice @1.282s
>>
>>  From the time analysis log, `getty.target` takes 1min 32 secs to bootup due to
>> serial-getty@ttyS2.service failed. This service fails because there is no
>> hardware associated with ttyS2.
>>
>> ---
>>   meta-ti-bsp/conf/machine/am62lxx-evm.conf | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/meta-ti-bsp/conf/machine/am62lxx-evm.conf b/meta-ti-bsp/conf/machine/am62lxx-evm.conf
>> index 677d6955..edfb4057 100644
>> --- a/meta-ti-bsp/conf/machine/am62lxx-evm.conf
>> +++ b/meta-ti-bsp/conf/machine/am62lxx-evm.conf
>> @@ -4,6 +4,8 @@
>>   require conf/machine/include/am62lxx.inc
>> +SERIAL_CONSOLES = "115200;ttyS0"
>> +
>>   IMAGE_FSTYPES += "ubifs ubi"
>>   MKUBIFS_ARGS ?= "-F -m 4096 -e 258048 -c 12000"
>>
>>
>>
>>
>>
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#19864): https://lists.yoctoproject.org/g/meta-ti/message/19864
> Mute This Topic: https://lists.yoctoproject.org/mt/118950880/3619733
> Group Owner: meta-ti+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub [afd@ti.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Andrew Davis April 22, 2026, 5:53 p.m. UTC | #5
On 4/22/26 11:39 AM, Randolph Sapp wrote:
> On Wed Apr 22, 2026 at 1:22 AM CDT, Yogesh Hegde wrote:
>> The am62lxx-evm board only has ttyS0 available. The k3 default
>> SERIAL_CONSOLES inherited includes ttyS2, which causes
>> systemd to wait indefinitely for a console that never appears,
>> significantly increasing boot time and degrading user experience.
>>
>> Override SERIAL_CONSOLES to specify only ttyS0, allowing the boot
>> process to proceed normally without waiting for unavailable consoles.
>>
>> Signed-off-by: Yogesh Hegde <y-hegde@ti.com>
>> ---
>>
>> Boot time is increased from 33s to 2m18s.
>> Boot time is measured from power on to TI LVGL demo
>> running on HDMI Display.
>>
>> Logs:
>>
>> root@am62lxx-evm:~# systemd-analyze critical-chain ti-lvgl-demo.service
>> The time when unit became active or started is printed after the "@" character.
>> The time the unit took to start is printed after the "+" character.
>> ti-lvgl-demo.service @1min 32.588s
>> `-multi-user.target @1min 32.577s
>>    `-getty.target @1min 32.575s
>>      `-serial-getty@ttyS0.service @13.002s
>>        `-systemd-user-sessions.service @10.847s +660ms
>>          `-network.target @10.582s
>>            `-systemd-networkd.service @8.748s +1.799s
>>              `-network-pre.target @8.735s
>>                `-iptables.service @7.477s +920ms
>>                  `-basic.target @7.363s
>>                    `-dbus-broker.service @6.661s +466ms
>>                      `-dbus.socket @6.310s +434us
>>                        `-sysinit.target @6.263s
>>                          `-systemd-vconsole-setup.service @18.198s +391ms
>>                            `-systemd-journald.socket @2.781s +335us
>>                              `-system.slice @1.282s
>>                                `--.slice @1.282s
>>
>>  From the time analysis log, `getty.target` takes 1min 32 secs to bootup due to
>> serial-getty@ttyS2.service failed. This service fails because there is no
>> hardware associated with ttyS2.
>>
>> ---
>>   meta-ti-bsp/conf/machine/am62lxx-evm.conf | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/meta-ti-bsp/conf/machine/am62lxx-evm.conf b/meta-ti-bsp/conf/machine/am62lxx-evm.conf
>> index 677d6955..edfb4057 100644
>> --- a/meta-ti-bsp/conf/machine/am62lxx-evm.conf
>> +++ b/meta-ti-bsp/conf/machine/am62lxx-evm.conf
>> @@ -4,6 +4,8 @@
>>   
>>   require conf/machine/include/am62lxx.inc
>>   
>> +SERIAL_CONSOLES = "115200;ttyS0"
>> +
>>   IMAGE_FSTYPES += "ubifs ubi"
>>   
>>   MKUBIFS_ARGS ?= "-F -m 4096 -e 258048 -c 12000"
> 
> Systemd's getty generator might still try to grab ttyS0 in other scenarios, but
> this at least fixes the default behavior of trying to wait for the kernel serial
> console on this board.
> 
> Out of curiosity, why did this change for this board? As I recall Andrew and
> Nishanth had a debate about this a few years back and the result was to
> standardize to ttyS2 for all k3.
> 

AM62L isn't "K3" in a way, it doesn't have the R5 cores taking up a UART.
While we probably could have aliased the first MAIN domain UART to ttyS2
anyway, this feels like a good time to get back to the more standard
"default UART == ttyS0" that everyone else goes by.

> Reviewed-by: Randolph Sapp <rs@ti.com>
diff mbox series

Patch

diff --git a/meta-ti-bsp/conf/machine/am62lxx-evm.conf b/meta-ti-bsp/conf/machine/am62lxx-evm.conf
index 677d6955..edfb4057 100644
--- a/meta-ti-bsp/conf/machine/am62lxx-evm.conf
+++ b/meta-ti-bsp/conf/machine/am62lxx-evm.conf
@@ -4,6 +4,8 @@ 
 
 require conf/machine/include/am62lxx.inc
 
+SERIAL_CONSOLES = "115200;ttyS0"
+
 IMAGE_FSTYPES += "ubifs ubi"
 
 MKUBIFS_ARGS ?= "-F -m 4096 -e 258048 -c 12000"