blob: 1e5eb1b6392c867379b28cddbc91eb15193383a2 [file] [log] [blame]
# Copyright 2016 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"$schema": http://json-schema.org/draft-04/schema#
typeDefs:
bcs-file-name: &bcs_file_name
type: string
description: Name of the file located in BCS under the respective bcs-overlay.
firmware-build-target: &firmware_build_target
type: string
description: Build target that will be considered dirty when building/testing
locally.
touch-firmware: &touch_firmware
type: object
properties:
overlay:
description: Name of overlay to download from
type: string
package:
description: Package subdirectory to download from
type: string
ebuild-version:
description: 'Tarfile version to download. This corresponds to the ebuild
version prior to unibuild, but can be any suitable string.'
type: string
tarball:
description: 'Template for tarball to download. This can maybe one day
include {package} and {version}.'
type: string
firmware-bin:
description: Path to the firmware binary for the touch firmware.
type: string
firmware-symlink:
description: Name of the firmware symlink file.
type: string
additionalProperties: true
type: object
properties:
chromeos:
type: object
properties:
models:
type: array
items:
type: object
properties:
audio:
type: object
properties:
main:
type: object
properties:
card:
description: Name of the card.
type: string
cras-config-dir:
description: Subdirectory for model-specific configuration.
type: string
pattern: "^[_a-z0-9]*$"
disable-profile:
description: Optional --disable_profile parameter for CRAS deamon.
type: string
ucm-suffix:
description: Optional UCM suffix used to determine model specific
config.
type: string
topology-bin:
description: Optional topology firmware filename.
type: string
additionalProperties: true
required:
- cras-config-dir
additionalProperties: false
required:
- main
brand-code:
description: Brand code of the model (also called RLZ code).
type: string
pattern: "^[A-Z]{4}$"
firmware:
type: object
properties:
bcs-overlay:
description: BCS overlay path used to determine BCS file path for binary
firmware downloads.
type: string
bcs-uris:
description: Fully qualified paths to all of the BCS files for download
type: array
items:
type: string
build-targets:
type: object
properties:
coreboot: *firmware_build_target
cr50: *firmware_build_target
depthcharge: *firmware_build_target
ec: *firmware_build_target
libpayload: *firmware_build_target
additionalProperties: false
ec-image: *bcs_file_name
pd-image: *bcs_file_name
key-id:
description: Key ID from the signer key set that is used to sign the
given firmware image.
type: string
pattern: "^[A-Z|_|0-9]*$"
main-image: *bcs_file_name
main-rw-image: *bcs_file_name
additionalProperties: true
identity:
type: object
properties:
customization-id:
description: Customization ID set in the VPD during manufacturing.
type: string
pattern: "^[A-Z|_]*$"
sku-id:
description: SKU/Board strapping pins configured during board manufacturing.
type: integer
platform-name:
description: Indicates the platform name for this platform.
This is reported by 'mosys platform name'. It is
typically the family name with the first letter capitalized.
type: string
smbios-name-match:
description: Firmware name built into the firmware and reflected back
out in the SMBIOS tables.
type: string
additionalProperties: false
name:
type: string
pattern: "^[_a-zA-Z0-9]{3,}"
description: Unique name for the given model.
powerd-prefs:
description: Powerd config that should be used.
type: string
test-alias:
description: Test alias (model) label that will be applied in Autotest and
reported for test results.
type: string
touch:
type: object
properties:
present:
description: Whether touch is present or needs to be probed for.
type: string
enum:
# Put these in quotes to avoid them meaning True / False
- "yes"
- "no"
- probe
probe-regex:
description: If probe is set, the regex used to look for touch.
type: string
stylus: *touch_firmware
touchpad: *touch_firmware
touchscreen: *touch_firmware
touchscreen@0: *touch_firmware
touchscreen@1: *touch_firmware
additionalProperties: false
additionalProperties: true
required:
- firmware
- name
additionalProperties: false
required:
- models