On Thu, Feb 12, 2026 at 04:03:34PM -0600, Andrew Davis via lists.yoctoproject.org wrote: > On 2/12/26 5:42 AM, Vitor Soares wrote: > >On Wed, 2026-02-11 at 18:52 -0600, Andrew Davis wrote: > >>On 2/11/26 11:15 AM, Vitor Soares via lists.yoctoproject.org wrote: > >>>Hi, > >>>While working on our Toradex Aquila AM69 SoM support, we noticed that > >>>k3.inc > >>>defines: > >>>SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS2" > >>> > >>>This caused systemd to enable [email protected] on our board, > >>>where > >>>ttyS0 maps to main_uart4 - a user-facing UART, not a debug/console UART. > >>>The > >>>getty continuously outputs a login prompt, interfering with the interface. > >>> > >>>This made us question whether SERIAL_CONSOLES belongs in SoC-level include > >>>files > >>>at all. Our understanding is that the console getty is already handled > >>>automatically by systemd-getty-generator from the console= kernel command > >>>line argument, which makes SERIAL_CONSOLES potentially redundant for the > >>>console > >>>UART. Any additional UARTs beyond the console are board-specific and > >>>arguably > >>>belong in each machine config rather than a shared SoC include. > >>> > >>>We are not 100% certain about this reasoning and would love to hear the > >>>rationale behind the current approach. Are we missing something? Would it > >>>make > >>>sense to either remove SERIAL_CONSOLES from the SoC includes or at minimum > >>>use > >>> a weak assignment (?=) to allow boards to override cleanly? > >> > >>We simply noticed almost all our EVM boards used the same console UARTs and > >>so > >>refactored the definition into a more common place. But yes you are correct > >>that a file like k3.inc seems like it should contain only items common to > >>all > >>users of the K3 SoC family, and not simply common to TI EVM boards. Changing > >>the assignment in k3.inc to a weak one seem reasonable (although I think you > >>can still just override regular assignments after you include k3.conf in > >>your board conf) > >> > > > > > >You're right we can override it in our board configs, but I wanted to share > >why > >we think this is worth reconsidering. > > > >The issue is that SERIAL_CONSOLES in k3.inc mixes SoC capabilities with > >board- > >specific UART usage. > > > >The K3 SoC provides the UART peripherals, but doesn't determine which ones > >are > >used for console, user interfaces, or other purposes - that's decided at the > >board level. > > > >Different boards use UARTs differently. On TI EVMs, ttyS2 or ttyS0 might be > >the > >debug console. On our Aquila AM69, ttyS2 is the console but ttyS0 is a user- > >facing UART. Same SoC, different UART assignments. > > > >SERIAL_CONSOLES creates getty login prompts on listed UARTs, which is a > >board/system integration concern. > > > > I think the same could be said about `IMAGE_FSTYPES` which is also in `k3.inc` > but really should depend on the type of media on a board. > > >If TI's EVM boards share the same UART configuration, would it make sense to > >have a ti-evm-common.inc instead of putting it in the SoC include? > > > >Happy to help with refactoring if you think this direction makes sense. > > > > This directions makes sense to me, I'd have no issue with a ti-evm-common.inc.
This seems like an overkill for a single variable that can be easily resolved with a weak assignment. Moreover, this can quickly get out of hand with SKs and Beagles and how those sometimes have convoluted mixed ownership... > Or even since it is just 1 or 2 lines that would need to be moved out, might > be easier to just move those lines back out to the different board configs. > If you want to send the patch then up to you. Isn't it how it used to be originally? The idea of a generic setting getting weakly assigned with a sane default is specifically to make it easy for downstream layers to change, while keep things maintainable upstream. We've been slowly trying to unify, cleanup and consolidate such settings in the past. To that extent, I keep reminding Ryan and others to avoid using :append override, which is hard to undo downstream, as well as use weak += instead of = for assigning SoC and machine settings. We've seen instances where a sane generic default works for most of the cases, but for a couple of cases need to be changed in more specific location. That's why we have hierarchical include structure from most generic to most specific: ti-soc.inc -> k3.inc -> j784s4.inc -> j784s4-evm.conf On the other hand, specifying U-boot defconfig (UBOOT_MACHINE/UBOOT_CONFIG) is almost always done in corresponding specific machine configs, simply becasue there's no generic default... -- Denys
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#19516): https://lists.yoctoproject.org/g/meta-ti/message/19516 Mute This Topic: https://lists.yoctoproject.org/mt/117760181/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
