-
Notifications
You must be signed in to change notification settings - Fork 6.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduction of board and SoC scheme v2. #50305
Introduction of board and SoC scheme v2. #50305
Commits on Dec 22, 2023
-
build: board/ soc: introduce hw model v2 scheme
Hw model v2 scheme offers SoC and maintainers the possibility to define promptless SoCs settings which must be selected by the board Kconfig. Having a board doing `select SOC_<name>` is a much cleaner approach then selecting the SoC in a configuration file. It furthermore removes the need to present all SoCs in choice groups, as the SoC is now an internal setting to Kconfig. This further has the benefit of not presenting users, especially new-comers to Zephyr, with SoC selection options in menuconfig which has potential to cause confusion. It moves the SOC, SOC_SERIES, and SOC_FAMILY from arch/Kconfig into the soc Kconfig tree, where they rightfully belongs. With hw model v2, BOARD name is now passed from the build system to Kconfig which ensures that the board name used in CMake is always in sync with the board name used in Kconfig for hw model v2. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for f197e32 - Browse repository at this point
Copy the full SHA f197e32View commit details -
scripts: introduce list_hardware.py for listing of architectures and …
…SoCs The list_hardware.py script parses archs.yml in all <arch-root>/arch folders and soc.yml in all <soc-root>/soc sub-folders. The archs.yml and soc.yml are introduced with hw model v2. Hw model v2 removes the need for architecture knowledge of the SoCs, and as part of this makes multi-arch and multi-core SoCs possible. Hw model v2 also allows for greater flexibility in arch and SoC organization as they can be organized freely. As example SoCs can be organized by vendors, architecture, or any other way as the socs.yml contains the path to the location of the SoC, instead of relying on a specific arch. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for 8089e59 - Browse repository at this point
Copy the full SHA 8089e59View commit details -
arch: add existing archs to archs.yml for HWMv2 support
Existing Zephyr architectures are already self-contained and thereby HWMv2 compliant. Add all existing architectures to archs.yml. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for 3d14d31 - Browse repository at this point
Copy the full SHA 3d14d31View commit details -
cmake: introduce arch and soc cmake modules for hw model v2
Introduce dedicated arch and soc hw model v2 CMake module files. Rename existing arch and soc cmake file to have a `_v1` post fix. This help to identify the purpose of each of those files and thus a cleaner implementation. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for 791486b - Browse repository at this point
Copy the full SHA 791486bView commit details -
boards: extend list_boards.py and update boards CMake module
Extend list_boards.py and update boards CMake module to handle HWMv2. list_boards.py is extended to support board.yml file in each board folder with various information related to the board, such as vendor, soc, cpucluster, variants, revisions. The HWMv2 removes the requirement for a _defconfig file. It also unifies how board revisions, cpusets, etc is defined which again provides an option for cleaner build system implementation for handling of boards and their integration to the build system. The CMake boards.cmake module is updated to take advantage of the improved design. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for 65cdf97 - Browse repository at this point
Copy the full SHA 65cdf97View commit details -
twister: update twister testplan.py to handle HWMv2 boards
This commit updates twister testplan.py to handle HWMv2 boards. It does so by switching to use list_boards.py to obtain a list of folders containing <board>.yaml files for processing instead of a global globbing of sub-folders under boards. With HWMv2, boards can be organized more freely, meaning that a fixed glob hierarchy is no longer safe. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for 75391bf - Browse repository at this point
Copy the full SHA 75391bfView commit details -
scripts: extend kconfig compliance to verify board / SoC scheme v2
This commit extends compliance check to include a KconfigBoardV2 check. This check verifies that a v2 scheme board / SoC does not contain references outside the Kconfig trees. The check is invoked as: `check_compliance.py -m KconfigBoardV2` Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for 370502f - Browse repository at this point
Copy the full SHA 370502fView commit details -
cmake: support hw model v2 in arch/Kconfig tree
This commit introduces support for Zephyr hw model v2 in the arch Kconfig tree. The hw model v2 requires Kconfig trees to be self-contained, meaning that the have no Kconfig references outside the tree itself. For hw model v2, the architecture of a board / SoC is not known until the Kconfig tree and config file has been parsed. There provide a new arch/Kconfig.v2 file to support loading of all arch Kconfigs. Hw model v1 is now placed in arch/Kconfig.v1 and includes only the arch Kconfig files determined by the arch of the board. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for 1d0f932 - Browse repository at this point
Copy the full SHA 1d0f932View commit details -
soc: use HWMv2 for renesas_rzt2m SoC
This commit move the renesas_rzt2m SoC to soc/v2 and adopt HWMv2. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for 392beaf - Browse repository at this point
Copy the full SHA 392beafView commit details -
boards: update Renesas Starter Kit+ for RZ/T2M board to HWMv2 scheme
This commit updates Renesas Starter Kit+ for RZ/T2M board to use HWMv2. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for dbfff1f - Browse repository at this point
Copy the full SHA dbfff1fView commit details -
soc: use HWMv2 for arm mps3 SoC
This commit move the arm mps3 SoC to soc/v2 and adopt HWMv2. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for e38983f - Browse repository at this point
Copy the full SHA e38983fView commit details -
boards: update arm mps3 an547 board to HWMv2 scheme
This commit updates arm mps3 an547 board to use HWMv2. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for fcd119d - Browse repository at this point
Copy the full SHA fcd119dView commit details -
twister: update testcase.yaml and sample.yaml to mps3/an547 identifier
This commit updates testcase.yaml and sample.yaml to use mps3/an547 identifier which replaces former mps3_an547 board name. Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
Configuration menu - View commit details
-
Copy full SHA for 5b103a3 - Browse repository at this point
Copy the full SHA 5b103a3View commit details