Is your enhancement proposal related to a problem? Please describe.
As one of the additions of hwmv2, it was added the possibility to factorize configuration (dts overlays, Kconfig fragments) for a given soc under a new application folder named soc/.
This new folder provide the same functionality of boards/ folder, but allows to put all configuration that depends on a soc into a single file, hence sparing the need to replicate these configurations in various boards that uses the same soc version.
This new possibility is likely pretty useful in down stream projects (see related golioth blog post as example).
Though, in zephyr tree, the possibility of usages of socs/ folder is relatively limited because this is not often that several boards share the exact same soc, and even if it happens, within in tree applications (samples, tests), we usually want to have one board for each soc but not more. Sometime even, we just want to have one board per whole soc series as aim is to maximize test coverage at series level while minimizing the CI load.
Describe the solution you'd like
In the same vein as socs\ folders, add series\ and families\ application folders.
Using these folder, it would be easy to provide application specific configuration at the right level while minimizing the number of files to maintain, limit CI load and ensure tests and samples compatibility with the maximum of boards.
About CI load, one of the major issues in CI load is the frequent use of filter that impose to prebuild board configurations before being able to apply the filters. series/ and families folder could help reducing the usage of those filters as well.
could be replaced by families/stm32.conf and families/stm32.overlay, with the additional benefit that this configuration would apply also when running west, not only when running twister.
Describe alternatives you've considered
Introduce Kconfig.defconfig files in samples and tests (if that's even doable).
Is your enhancement proposal related to a problem? Please describe. As one of the additions of hwmv2, it was added the possibility to factorize configuration (dts overlays, Kconfig fragments) for a given soc under a new application folder named
soc/
. This new folder provide the same functionality ofboards/
folder, but allows to put all configuration that depends on a soc into a single file, hence sparing the need to replicate these configurations in various boards that uses the same soc version.This new possibility is likely pretty useful in down stream projects (see related golioth blog post as example).
Though, in zephyr tree, the possibility of usages of
socs/
folder is relatively limited because this is not often that several boards share the exact same soc, and even if it happens, within in tree applications (samples, tests), we usually want to have one board for each soc but not more. Sometime even, we just want to have one board per whole soc series as aim is to maximize test coverage at series level while minimizing the CI load.Describe the solution you'd like In the same vein as
socs\
folders, addseries\
andfamilies\
application folders. Using these folder, it would be easy to provide application specific configuration at the right level while minimizing the number of files to maintain, limit CI load and ensure tests and samples compatibility with the maximum of boards.For instance: Replace
with
About CI load, one of the major issues in CI load is the frequent use of filter that impose to prebuild board configurations before being able to apply the filters.
series/
andfamilies
folder could help reducing the usage of those filters as well.For instance:
could be replaced by
families/stm32.conf
andfamilies/stm32.overlay
, with the additional benefit that this configuration would apply also when runningwest
, not only when running twister.Describe alternatives you've considered Introduce
Kconfig.defconfig
files in samples and tests (if that's even doable).