Browse Source
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>pull/69687/head
9 changed files with 459 additions and 61 deletions
@ -0,0 +1,82 @@
@@ -0,0 +1,82 @@
|
||||
# SPDX-License-Identifier: Apache-2.0 |
||||
# |
||||
# Copyright (c) 2023, Nordic Semiconductor ASA |
||||
|
||||
## A pykwalify schema for basic validation of the structure of a |
||||
## board metadata YAML file. |
||||
## |
||||
# The board.yml file is a simple list of key value pairs containing board |
||||
# information like: name, vendor, socs, variants. |
||||
schema;variant-schema: |
||||
required: false |
||||
type: seq |
||||
sequence: |
||||
- type: map |
||||
mapping: |
||||
name: |
||||
required: true |
||||
type: str |
||||
cpucluster: |
||||
required: false |
||||
type: str |
||||
variants: |
||||
required: false |
||||
include: variant-schema |
||||
|
||||
schema;board-schema: |
||||
type: map |
||||
mapping: |
||||
name: |
||||
required: true |
||||
type: str |
||||
desc: Name of the board |
||||
vendor: |
||||
required: false |
||||
type: str |
||||
desc: SoC family of the SoC on the board. |
||||
revision: |
||||
required: false |
||||
type: map |
||||
mapping: |
||||
format: |
||||
required: true |
||||
type: str |
||||
enum: |
||||
["major.minor.patch", "letter", "number", "custom"] |
||||
default: |
||||
required: true |
||||
type: str |
||||
exact: |
||||
required: false |
||||
type: bool |
||||
revisions: |
||||
required: true |
||||
type: seq |
||||
sequence: |
||||
- type: map |
||||
mapping: |
||||
name: |
||||
required: true |
||||
type: str |
||||
socs: |
||||
required: false |
||||
type: seq |
||||
sequence: |
||||
- type: map |
||||
mapping: |
||||
name: |
||||
required: true |
||||
type: str |
||||
variants: |
||||
include: variant-schema |
||||
variants: |
||||
include: variant-schema |
||||
|
||||
type: map |
||||
mapping: |
||||
board: |
||||
include: board-schema |
||||
boards: |
||||
type: seq |
||||
sequence: |
||||
- include: board-schema |
Loading…
Reference in new issue