124 lines
3.7 KiB
YAML
124 lines
3.7 KiB
YAML
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Copyright (c) 2023, Nordic Semiconductor ASA
|
|
|
|
## A pykwalify schema for basic validation of the structure of a SoC
|
|
## metadata YAML file.
|
|
##
|
|
# The soc.yml file is a simple list of key value pairs containing SoCs
|
|
# located and the current structure level.
|
|
schema;cpucluster-schema:
|
|
required: false
|
|
type: seq
|
|
sequence:
|
|
- type: map
|
|
mapping:
|
|
name:
|
|
required: true
|
|
type: str
|
|
|
|
schema;soc-schema:
|
|
required: false
|
|
type: seq
|
|
sequence:
|
|
- type: map
|
|
mapping:
|
|
name:
|
|
required: true
|
|
type: str
|
|
cpuclusters:
|
|
include: cpucluster-schema
|
|
|
|
schema;series-schema:
|
|
required: false
|
|
type: seq
|
|
sequence:
|
|
- type: map
|
|
mapping:
|
|
name:
|
|
required: true
|
|
type: str
|
|
socs:
|
|
required: false
|
|
include: soc-schema
|
|
|
|
type: map
|
|
mapping:
|
|
family:
|
|
required: false
|
|
type: seq
|
|
sequence:
|
|
- type: map
|
|
mapping:
|
|
name:
|
|
required: true
|
|
type: str
|
|
series:
|
|
include: series-schema
|
|
socs:
|
|
include: soc-schema
|
|
series:
|
|
include: series-schema
|
|
socs:
|
|
include: soc-schema
|
|
vendor:
|
|
required: false
|
|
type: str
|
|
desc: SoC series of the SoC.
|
|
This field is of informational use and can be used for filtering of SoCs.
|
|
comment:
|
|
required: false
|
|
type: str
|
|
desc: Free form comment with extra information regarding the SoC.
|
|
runners:
|
|
type: map
|
|
mapping:
|
|
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:
|
|
qualifiers:
|
|
required: true
|
|
type: seq
|
|
sequence:
|
|
- type: str
|
|
desc: |
|
|
A board qualifier to match against in regex form. Must be one
|
|
entry per board target, a single regex entry will not match
|
|
two board targets even if they both match.
|