You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
158 lines
4.9 KiB
158 lines
4.9 KiB
# 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;extend-variant-schema: |
|
required: false |
|
type: seq |
|
sequence: |
|
- type: map |
|
mapping: |
|
name: |
|
required: true |
|
type: str |
|
qualifier: |
|
required: true |
|
type: str |
|
|
|
schema;board-schema: |
|
type: map |
|
mapping: |
|
name: |
|
required: false # Note: either name or extend is required, but that is handled in python |
|
type: str |
|
desc: Name of the board |
|
full_name: |
|
required: false |
|
type: str |
|
desc: Full name of the board. Typically set to the commercial name of the board. |
|
extend: |
|
required: false # Note: either name or extend is required, but that is handled in python |
|
type: str |
|
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: false # This field is required when 'format' != 'custom' |
|
type: str |
|
exact: |
|
required: false |
|
type: bool |
|
revisions: |
|
required: false # This field is required when 'format' != 'custom' |
|
type: seq |
|
sequence: |
|
- type: map |
|
mapping: |
|
name: |
|
required: true |
|
type: str |
|
socs: |
|
required: false # Required for name:, but not for extend. |
|
type: seq |
|
sequence: |
|
- type: map |
|
mapping: |
|
name: |
|
required: true |
|
type: str |
|
variants: |
|
include: variant-schema |
|
variants: |
|
include: extend-variant-schema |
|
|
|
type: map |
|
mapping: |
|
board: |
|
include: board-schema |
|
boards: |
|
type: seq |
|
sequence: |
|
- include: board-schema |
|
runners: |
|
type: map |
|
mapping: |
|
priority: |
|
type: int |
|
desc: | |
|
Priority of this flash run once configuration. The highest value data will be used |
|
instead of any with lower priorities. If omitted, will default to 10. |
|
run_once: |
|
type: map |
|
desc: | |
|
Allows for restricting west flash commands when using sysbuild to run once per given |
|
grouping of board targets. This is to allow for future image program cycles to not |
|
erase the flash of a device which has just been programmed by another image. |
|
mapping: |
|
regex;(.*): |
|
type: seq |
|
desc: | |
|
A dictionary of commands which should be limited to running once per invocation |
|
of west flash for a given set of flash runners and board targets. |
|
sequence: |
|
- type: map |
|
mapping: |
|
run: |
|
required: true |
|
type: str |
|
enum: ['first', 'last'] |
|
desc: | |
|
If first, will run this command once when the first image is flashed, if |
|
last, will run this command once when the final image is flashed. |
|
runners: |
|
required: true |
|
type: seq |
|
sequence: |
|
- type: str |
|
desc: | |
|
A list of flash runners that this applies to, can use `all` to apply |
|
to all runners. |
|
groups: |
|
required: true |
|
type: seq |
|
sequence: |
|
- type: map |
|
desc: | |
|
A grouping of board targets which the command should apply to. Can |
|
be used multiple times to have multiple groups. |
|
mapping: |
|
boards: |
|
required: true |
|
type: seq |
|
sequence: |
|
- type: str |
|
desc: | |
|
A board target to match against in regex. Must be one entry |
|
per board target, a single regex entry will not match two |
|
board targets even if they both match.
|
|
|