blob: 6a9262bf8f5ec0ef1a7b5dd285c2dd874288774f [file] [log] [blame]
# 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: 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: true
type: seq
sequence:
- type: map
mapping:
name:
required: true
type: str
variants:
include: variant-schema
type: map
mapping:
board:
include: board-schema
boards:
type: seq
sequence:
- include: board-schema