blob: 4badd9e9abeec36c68c3b5fe78a8d18273293657 [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.
imports:
- "power_manager_prefs_schema.yaml"
"$schema": http://json-schema.org/draft-07/schema#
typeDefs:
bcs-file-name: &bcs_file_name
type: string
build-only-element: true
description: Name of the file located in BCS under the respective bcs-overlay.
deprecated_string: &deprecated_string
type: string
description: A deprecated string property to be removed after migration.
firmware-build-target: &firmware_build_target
type: string
description: Build target that will be considered dirty when building/testing
locally.
proximity-sensor-items: &proximity_sensor_items
type: object
properties:
channel:
description: Proximity sensor channel.
type: string
pattern: "^[a-zA-Z0-9_]+$"
hardwaregain:
description: Proximity sensor hardware gain.
type: string
pattern: "^[0-9.]+$"
sampling-frequency:
description: Proximity sensor sampling frequency.
type: string
pattern: "^[0-9.]+$"
thresh-rising:
description: Proximity sensor rising threshold.
type: string
pattern: "^[0-9.]+$"
thresh-falling:
description: Proximity sensor falling threshold.
type: string
pattern: "^[0-9.]+$"
thresh-falling-period:
description: Proximity sensor falling threshold period (debounce).
type: string
pattern: "^[0-9.]+$"
thresh-rising-period:
description: Proximity sensor rising threshold period (debounce).
type: string
pattern: "^[0-9.]+$"
thresh-falling-hysteresis:
description: Proximity sensor falling hysteresis.
type: string
pattern: "^[0-9.]+$"
thresh-rising-hysteresis:
description: Proximity sensor rising hysteresis.
type: string
pattern: "^[0-9.]+$"
additionalProperties: false
# TODO(shapiroc): Migrate to use system-file-v2 instead
system-file: &system_file
type: object
properties:
source:
description: Source of the file relative to the build system.
type: string
destination:
description: Installation path for the file on the system image.
type: string
additionalProperties: false
# V2 exists because system-file targets were poorly named, so they couldn't
# be logically shared for build-time and run-time usage.
system-file-v2: &system_file_v2
type: object
properties:
build-path:
description: Source of the file relative to the build system.
build-only-element: true
type: string
system-path:
description: Installation path for the file on the system image.
type: string
additionalProperties: false
required:
- build-path
- system-path
firmware-file: &firmware_file
type: object
properties:
source:
description: Source of the file relative to the build system ${FILESDIR}
type: string
destination:
description: Installation path for the file on the system image.
type: string
symlink:
description: Symlink file that will be installed pointing to the destination.
type: string
additionalProperties: false
sku-id: &sku_id
description: SKU/Board strapping pins [configured during board manufacturing](https://chromium.googlesource.com/chromiumos/docs/+/HEAD/design_docs/cros_board_info.md#SKU_ID). Leaving this value unset will cause the config to match any SKU ID.
type: integer
minimum: -1
maximum: 0x7FFFFFFF
whitelabel-tag: &whitelabel_tag
description: "'whitelabel_tag' value set in the VPD, to add Whitelabel branding over an unbranded base model."
type: string
customization-id: &customization_id
description: "'customization_id' value set in the VPD for non-unibuild Zergs and Whitelabels. Deprecated for use in new products since 2017/07/26."
type: string
platform-name: &platform_name
description: "Defines the name of the mosys platform used. Mosys is the only software which is allowed to used this value."
type: string
stylus-category: &stylus-category
description: "Denotes the category of stylus this device contains."
type: string
enum:
- none
- internal
- external
psu-type: &psu-type
description: |
Type of PSU the device has:
- battery: the device has a battery intended for primary use
- AC_primary: the device has a battery, but it is not intended for primary use
- AC_only: the device has no battery
- no_power: the device does not receive power in any direct manner (e.g., it is virtualized)
type: string
enum:
- battery
- AC_primary
- AC_only
- no_power
display-type: &display-type
description: "Denotes the type of display this device contains."
type: string
enum:
- default
- old
form-factor: &form-factor
description: "Denotes the form factor of the device."
type: string
enum:
- CHROMEBASE
- CHROMEBIT
- CHROMEBOOK
- CHROMEBOX
ath10k-wifi-transmit-power-chain: &ath10k-wifi-transmit-power-chain
description: "[ath10k] WiFi power chain for use with QCA ath10k drivers. Limits
in units of 0.25 dBm. 5g band power limit applies to all 5g bands."
type: object
properties:
limit-2g:
description: "2G band power limit (0.25dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
limit-5g:
description: "5G band power limit (0.25dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
additionalProperties: false
rtw-wifi-transmit-power-chain: &rtw-wifi-transmit-power-chain
description: "[rtw] WiFi power chain for use with Realtek rtw88 drivers. Limits
in units of 0.125 dBm. 5g band 2 (channels 5.35G-5.47G) power limit is not supported."
type: object
properties:
limit-2g:
description: "2G band power limit: All 2G band channels. (0.125 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
limit-5g-1:
description: "5G band 1 power limit: 5.15G-5.35G channels. (0.125 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
limit-5g-3:
description: "5G band 3 power limit: 5.47G-5.725G channels. (0.125 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
limit-5g-4:
description: "5G band 4 power limit: 5.725G-5.95G channels. (0.125 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
additionalProperties: false
wifi-geo-offsets: &wifi-geo-offsets
description: "Offsets which are applied to WiFi power limits depending on the
current regulatory domain. Offsets in units of 0.125 dBm. The sum of a geo
offset and any power limit to which it applies cannot exceed 255.
When the current regulatory domain is unknown or has yet to be determined,
the base transmit power limits are used without any geo offsets applied.
'geo-offsets-fcc' is used for regulatory domains which follow FCC guidelines,
'geo-offsets-eu' is used for regulatory domains which follow ETSI guidelines, and
'geo-offsets-rest-of-world' is used for regulatory domains which don't follow
FCC or ETSI guidelines."
type: object
properties:
offset-2g:
description: "Value to be added to the 2.4GHz WiFi band. (0.125 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
offset-5g:
description: "Value to be added to all 5GHz WiFi bands. (0.125 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
additionalProperties: false
mtk-wifi-transmit-power-chain: &mtk-wifi-transmit-power-chain
description: "[mtk] WiFi power chain for use with MediaTek mt7921 driver. Limits
in units of 0.25 dBm."
type: object
properties:
limit-2g:
description: "2G band power limit. (0.25 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
limit-5g-1:
description: "5G band 1 power limit: 5.15G-5.35G frequency. (0.25 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
limit-5g-2:
description: "5G band 2 power limit: 5.35G-5.47G frequency. (0.25 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
limit-5g-3:
description: "5G band 3 power limit: 5.47G-5.725G frequency. (0.25 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
limit-5g-4:
description: "5G band 4 power limit: 5.725G-5.95G frequency. (0.25 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
additionalProperties: false
mtk-wifi-geo-transmit-power-chain: &mtk-wifi-geo-transmit-power-chain
description: "[mtk] WiFi power chain of regulatory domain for use with MediaTek mt7921 driver.
Limits in units of 0.25 dBm, Offset in units of 0.25 dBm"
type: object
properties:
limit-2g:
description: "2G band geo power limit. (0.25 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
limit-5g:
description: "5G band geo power limit. (0.25 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
offset-2g:
description: "Value to be added to the 2.4GHz WiFi band. (0.25 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
offset-5g:
description: "Value to be added to all 5GHz WiFi bands. (0.25 dBm)"
type: integer
minimum: 0x0
maximum: 0xFF
additionalProperties: false
type: object
properties:
chromeos:
type: object
properties:
configs:
type: array
items:
type: object
properties:
arc:
type: object
required:
- build-properties
properties:
build-properties:
type: object
required:
- first-api-level
- product
- device
- metrics-tag
properties:
product:
description: Product name to report in 'ro.product.name'.
This may be the device name, or it can be something else, to allow
several devices to be grouped into one product.
type: string
device:
description: Device name to report in 'ro.product.device'. This
is often '{product}_cheets' but it can be something else if
desired.
type: string
oem:
description: Original Equipment Manufacturer for this model. This
generally means the OEM name printed on the device.
type: string
marketing-name:
description: Name of this model as it is called in the
market, reported in 'ro.product.model'. This often starts
with '{oem}'.
type: string
metrics-tag:
description: Tag to use to track metrics for this model.
The tag can be shared across many devices if desired, but
this will result in larger granularity for metrics
reporting. Ideally the metrics system should support
collation of metrics with different tags into groups, but if
this is not supported, this tag can be used to achieve the
same end. This is reported in 'ro.product.metrics.tag'.
type: string
first-api-level:
description: |
The first Android API level that this model shipped with.
type: string
pai-regions:
description: |
(Optional) Comma-separated allow list of region codes
that can be appended to 'ro.oem.key1' for the purpose of
targeting Play Auto Install applications by region. The
value(s) should match the values that would be returned
by `cros_region_data region_code` for the relevant
region(s). If the device's region code is not in the
allow list, or if there is no allow list, 'ro.oem.key1'
will not include the region code. The allow list can
also be a single '*' character to indicate that the
region code should always be appended.
type: string
pattern: "(^([a-zA-Z0-9\\.\\-]+,)*[a-zA-Z0-9\\.\\-]+$)|(^\\*$)"
additionalProperties: false
hardware-features:
<<: *system_file_v2
description: |
Defines hardware_features.xml file provided to ARC during
initialization.
media-profiles:
<<: *system_file_v2
description: |
Defines media_profiles.xml file provided to ARC during
initialization.
scale:
type: integer
description: The screen density value in dpi that will be used
for ARC apps. This value should be from the list of DPIs in
android cdd.
enum:
- 280
additionalProperties: false
nnpalm:
type: object
properties:
touch-compatible:
description: Optional - false by default but should be true for compatible devices.
type: boolean
radius-polynomial:
description: Optional - empty by default.
type: string
additionalProperties: false
audio:
type: object
properties:
main:
type: object
properties:
cras-config-dir:
description: Subdirectory for model-specific configuration.
type: string
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
sound-card-init-conf:
description: Optional model specific config filename for sound_card_init.
type: string
files:
type: array
build-only-element: true
items: *system_file
additionalProperties: false
required:
- cras-config-dir
additionalProperties: false
required:
- main
bluetooth:
type: object
properties:
flags:
type: object
properties:
enable-suspend-management:
description: Enable powerd suspend management callbacks.
type: boolean
# TODO(abhishekpandit) - Remove once no longer used
stop-on-suspend:
description: Stop the bluetooth adapter on suspend and start it on resume.
type: boolean
reset-on-resume:
description: Expect bluetooth chip to have reset on resume.
type: boolean
additionalProperties: false
additionalProperties: false
wifi:
type: object
description: Sets limits on maximum WiFi transmit power for tablet and non-tablet
device configurations. This config must contain properties for ath10k wifi driver,
rtw88 wifi driver, mtk driver, or intel driver. Note that configs for the intel driver are
delivered as encoded wifi sar hex files.
oneOf:
- properties:
tablet-mode-power-table-ath10k: *ath10k-wifi-transmit-power-chain
non-tablet-mode-power-table-ath10k: *ath10k-wifi-transmit-power-chain
additionalProperties: false
- properties:
tablet-mode-power-table-rtw: *rtw-wifi-transmit-power-chain
non-tablet-mode-power-table-rtw: *rtw-wifi-transmit-power-chain
geo-offsets-fcc: *wifi-geo-offsets
geo-offsets-eu: *wifi-geo-offsets
geo-offsets-rest-of-world: *wifi-geo-offsets
additionalProperties: false
- properties:
tablet-mode-power-table-mtk: *mtk-wifi-transmit-power-chain
non-tablet-mode-power-table-mtk: *mtk-wifi-transmit-power-chain
fcc-power-table-mtk: *mtk-wifi-geo-transmit-power-chain
eu-power-table-mtk: *mtk-wifi-geo-transmit-power-chain
rest-of-world-power-table-mtk: *mtk-wifi-geo-transmit-power-chain
additionalProperties: false
- properties:
sar-file: *system_file_v2
build-only-element: true
additionalProperties: false
brand-code:
description: Brand code of the model (also called RLZ code).
type: string
camera:
type: object
properties:
count:
type: integer
description: Specified the number of cameras on the model.
config-file:
<<: *system_file_v2
description: Defines the camera configuration file.
clock:
type: string
description: Specified the camera clock on the model.
enum:
- monotonic
- boottime
legacy-usb:
type: boolean
description: Indicates if the device has legacy usb cameras.
zsl-lookback:
type: integer
description: Specifies the duration to look back for
Zero-Shutter Lag (ZSL) in milliseconds.
devices:
type: array
description: List of camera devices on the model. Newly
created models should use this property to define camera
configuration.
items:
type: object
properties:
has-privacy-switch:
type: boolean
description: The camera has a privacy switch that
can disable the output when enabled.
interface:
type: string
description: The interface type of the camera device.
enum:
- usb
- mipi
facing:
type: string
description: Direction the camera faces relative to
device screen.
enum:
- front
- back
orientation:
type: integer
description: Clockwise angle through which the output
image needs to be rotated to be upright on the device
screen in its native orientation.
enum:
- 0
- 90
- 180
- 270
flags:
type: object
description: Bit flags representing camera capabilities
of this device. A camera module can be mounted on this
slot only if all the flags match.
properties:
support-1080p:
type: boolean
description: Supports 1920x1080 resolution.
support-autofocus:
type: boolean
description: Supports auto-focus.
required:
- support-1080p
- support-autofocus
additionalProperties: false
ids:
type: array
description: List of strings each identifies a possible
camera module on this slot. An empty list means this
information is not available.
items:
type: string
description: An identifier string of camera module.
For USB cameras this must be 4-digit hexadecimal VID
and PID separated by a colon, e.g. 0123:abcd. For
MIPI cameras it depends on vendor software usage.
if:
properties:
interface:
const: usb
then:
properties:
ids:
items:
pattern: "[0-9a-f]{4}:[0-9a-f]{4}"
required:
- interface
- facing
- orientation
- flags
additionalProperties: false
additionalProperties: false
fingerprint:
type: object
description: Contains details about the model's fingerprint implementation.
properties:
board:
type: string
description: Specifies the fingerprint board in use.
sensor-location:
description: Specifies the location of the fingerprint sensor.
type: string
enum:
- none # Explicitly not supported.
- power-button-top-left
- keyboard-bottom-left
- keyboard-bottom-right
- keyboard-top-right
- right-side
- left-side
fingerprint-sensor-type:
description: Type of FP sensor. Currently describes whether FP
is overlapped on the power button or not.
type: string
enum:
- stand-alone
- on-power-button
ro-version:
description: RO version for the fingerprint firmware for the
FPMCU specified by the "board" property. If not specified,
the default RO version for the FPMCU is used.
type: string
build-only-element: true
additionalProperties: false
dependencies:
ro-version:
- board
firmware:
type: object
properties:
bcs-overlay:
description: BCS overlay path used to determine BCS file path for binary
firmware downloads.
type: string
build-only-element: true
build-targets:
type: object
build-only-element: true
properties:
base:
description: Build target of the base EC firmware for a detachable device,
that will be considered dirty when building/testing
type: string
ec_extras:
type: array
items:
type: string
description: Extra EC build targets to build within chromeos-ec.
coreboot: *firmware_build_target
gsc: *firmware_build_target
depthcharge: *firmware_build_target
ec: *firmware_build_target
ish: *firmware_build_target
libpayload: *firmware_build_target
u-boot: *firmware_build_target
zephyr-ec:
type: string
description: Specifies the list of Zephyr-based firmware
targets to build.
additionalProperties: false
ec-ro-image: *bcs_file_name
pd-ro-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
build-only-element: true
main-ro-image: *bcs_file_name
main-rw-image: *bcs_file_name
name:
description: This is a human-recognizable name used to refer to the firmware.
It will be used when generating the shellball via firmware packer.
Mainly, this is only for compatibility testing with device tree (since DT
allowed firmwares to be named).
type: string
build-only-element: true
image-name:
description: The name of the firmware image used by the
firmware updater. Typically the device name, but can differ
when a device may have two or more different firmware
images.
type: string
build-only-element: false
no-firmware:
description: Does nothing and pending removal. Do not set.
([Bug](https://crbug.com/1072007))
type: boolean
build-only-element: true
firmware-config:
description: The firmware config bitmap to be flashed to the CBI. This field is
used in the factory.
type: integer
build-only-element: false
additionalProperties: false
firmware-signing:
type: object
build-only-element: true
properties:
key-id:
description: Key ID from the signer key set that is used to sign the
given firmware image.
type: string
signature-id:
description: ID used to generate keys/keyblocks in the firmware
signing output.
type: string
sig-id-in-customization-id:
description: Indicates that this model cannot be decoded by the mapping table.
Instead the model is stored in the VPD (Vital Product Data) region in the
customization_id property. This allows us to determine the
model to use in the factory during the finalization stage. Note
that if the VPD is wiped then the model will be lost. This may
mean that the device will revert back to a generic model, or
may not work. It is not possible in general to test whether the
model in the VPD is correct at run-time. We simply assume that
it is. The advantage of using this property is that no hardware
changes are needed to change one model into another. For example
we can create 20 different whitelabel boards, all with the same
hardware, just by changing the customization_id that is written
into SPI flash.
type: boolean
required:
- key-id
- signature-id
additionalProperties: false
detachable-base:
type: object
description: "Contains the configuration for the hammerd which
is used to update the detachable base firmware."
properties:
ec-image-name:
description: "The target EC binary name which is placed under
/lib/firmware."
type: string
touch-image-name:
description: "The touchpad binary name which is placed under
/lib/firmware. This is only needed if the detachable base
contains touchpad."
type: string
vendor-id:
description: "The Vendor ID of the detachable base. This
value can be queried by command 'lsusb'.
By taking this as an example:
Bus 001 Device 032: ID 18d1:503c Google Inc.
the vendor-id is 6353(=0x18d1)."
type: integer
product-id:
description: "The Product ID of the detachable base. This
value can be queried by command 'lsusb'.
By taking this as an example:
Bus 001 Device 032: ID 18d1:503c Google Inc.
the product-id is 20540(=0x503c)."
type: integer
usb-path:
description: "Searches and finds the idVendor and idProduct
under sysfs /sys/bus/usb/devices/* which matches the
vendor-id and product-id. By taking this as an example:
'/sys/bus/usb/devices/1-1.1'
The usb-path is '1-1.1'."
type: string
files:
type: array
build-only-element: true
items: *firmware_file
additionalProperties: false
identity:
type: object
description: Defines attributes that are used by cros_config to detect the identity
of the platform and which corresponding config should be used.
This tuple must either contain x86 properties only or ARM properties only.
anyOf:
- properties:
smbios-name-match:
description: "[x86] Firmware name built into the firmware and reflected back
out in the SMBIOS tables. Leaving this value unset will cause the config
to match any SMBIOS product name."
type: string
sku-id: *sku_id
platform-name: *platform_name
customization-id: *customization_id
whitelabel-tag: *whitelabel_tag
additionalProperties: false
- properties:
device-tree-compatible-match:
description: "[ARM] String pattern (partial) that is matched against the
contents of /proc/device-tree/compatible on ARM devices."
type: string
sku-id: *sku_id
platform-name: *platform_name
customization-id: *customization_id
whitelabel-tag: *whitelabel_tag
additionalProperties: false
name:
type: string
pattern: "^[_a-zA-Z0-9]{3,}"
description: Google code name for the given model. While it is OK to use this string
for human-display purposes (such as in a debug log or help dialog), or for a
searchable-key in metrics collection, it is not recommended to use this property
for creating model-specific behaviors. In this case, add a property to the schema
which describes your behavior and use that instead.
power:
description: Defines settings that control power management functions.
This mostly defines power_manager preferences, but there are a few
other power related settings included.
For details about each power_manager preference, see -
src/platform2/power_manager/common/power_constants.h/cc
For examples on setting these properties (including multiline examples), see
the power config example in libcros_config/test.yaml
type: object
properties:
<<: *powerd_prefs
allow-ambient-eq:
description: Enable (1) or disable (0) Ambient EQ.
type: string
pattern: "^[01]$"
autobrightness:
type: object
properties:
config-file: *system_file_v2
additionalProperties: false
required:
- config-file
touchpad-wakeup:
description: Enable (1) or disable (0) wake from touchpad. If not set, default to enable. When set to enable, on many devices, firmware is in charge of controlling whether to wake from touchpad. This flag is reserved for older devices without firmware support (Nami and Coral) and please do not set for new devices.
type: string
pattern: "^[01]$"
additionalProperties: false
proximity-sensor:
description: Defines the proximity sensor settings for devices such as /dev/proximity-wifi and /dev/proximity-wifi-lte typically used for SAR.
type: object
properties:
lte: *proximity_sensor_items
wifi: *proximity_sensor_items
wifi-lte: *proximity_sensor_items
additionalProperties: false
test-label:
description: Test alias (model) label that will be applied in Autotest and
reported for test results.
type: string
thermal:
type: object
properties:
dptf-dv:
description: System image path to the .dv file containing DPTF (Dynamic Platform
and Thermal Framework) settings.
type: string
files:
type: array
build-only-element: true
items: *system_file
additionalProperties: false
required:
- files
touch:
type: object
properties:
files:
type: array
build-only-element: true
items: *firmware_file
additionalProperties: false
wallpaper:
description: Base filename of the default wallpaper to show on this device.
type: string
demo-mode:
type: object
description: Properties related to the ChromeOS Demo Mode, defining the user
experience when the device is used in retail.
additionalProperties: false
properties:
highlights-extension-id:
description: The Chrome extension ID of the highlights app used during demo mode.
type: string
screensaver-extension-id:
description: The Chrome extension ID of the attract loop played during demo mode.
type: string
regulatory-label:
description: Base name of the directory containing the regulatory label
files to show on this device.
type: string
ui:
type: object
properties:
power-button:
type: object
properties:
edge:
type: string
enum:
- left
- right
- top
- bottom
position:
type: string
additionalProperties: false
side-volume-button:
description: Defines the position of the side volume button. `region` indicates
whether the button is at the side of the "screen" or "keyboard" of the device.
`side` indicates which edge the button is anchored to while the device in
landscape primary screen orientation. It can be "left", "right", "top",
"bottom".
type: object
properties:
region:
type: string
enum:
- keyboard
- screen
side:
type: string
enum:
- left
- right
- top
- bottom
additionalProperties: false
extra-ash-flags:
type: array
build-only-element: true
items:
type: string
pattern: "^--[a-zA-Z][a-zA-Z-]*(=.+)?$"
description: Switches passed to the Ash window manager and
system UI. Each entry should be a string of the form
--<key>=<value>, or --<key> for boolean switches. If this
property is not set, flags will be determined by other
cros_config properties. Serialized to a null byte
separated string when written to configfs.img
help-content-id:
description: Identifier passed to the Showoff app to identify
any device-specific help content to be displayed.
type: string
apps:
type: object
properties:
extra-web-apps-dir:
type: string
build-only-element: true
description: Subdirectory of external web apps directory
(/usr/share/google-chrome/extensions/web_apps) containing
additional apps which should be installed on the device.
additionalProperties: false
additionalProperties: false
auto-night-light:
description: Whether the auto-night-light feature is enabled on the device, which
sets the schedule for Night light automatically to sunset-to-sunrise.
type: boolean
oem-id:
description: |
Some projects store SKU ID, OEM ID and Board Revision in an
EEPROM and only SKU ID can be updated in the factory and RMA
flow but others should be pre-flashed in the chip level. In
this case, we would like to validate whether oem-id here from
the updated SKU ID matches the one in the EEPROM so we can
prevent this device from being updated to another OEM's devices.
type: string
pattern: "[0-9]+"
modem:
type: object
properties:
firmware-variant:
description: Variant of the modem firmware to be used. This
value is read by modemfwd to match against the variant field
of a firmware entry in a firmware manifest. In most cases,
we simply use the model name as the value.
type: string
wedge-reboot-delay-ms:
description: Delay in milliseconds after which we pulse the
modem reset GPIO if it hasn't appeared on the USB bus.
This value is used by modemfwd and defaults to 5 minutes
if not defined.
type: string
pattern: "[0-9]+"
additionalProperties: false
cross-device:
type: object
description: Contains properties to configure cross-device features
between ChromeOS devices and other devices, such as Instant
Tethering and Smart Lock.
properties:
instant-tethering:
type: object
description: Contains properties to configure the Instant Tethering
cross-device feature.
properties:
disable-instant-tethering:
description: Disables the Instant Tethering feature.
false by default
type: boolean
additionalProperties: false
additionalProperties: false
hardware-properties:
type: object
description: Contains boolean flags or enums for hardware properties
of this board, for example if it's convertible, has a touchscreen,
has a camera, etc. This information is used to auto-generate C
code that is consumed by the EC build process in order to do
run-time configuration. If a value is defined within a config
file, but not for a specific model, that value will be assumed
to be false for that model. If a value is an enum and is not
specified for a specific model, it will default to "none".
All properties must be booleans or enums. If non-boolean
properties are desired, the generation code in
cros_config_schema.py must be updated to support them.
properties:
is-lid-convertible:
description: Can the lid be rotated 360 degrees.
type: boolean
has-lid-accelerometer:
description: Is there an accelerometer in the lid of the
device.
type: boolean
has-base-accelerometer:
description: Is there an accelerometer in the base of the
device.
type: boolean
has-lid-gyroscope:
description: Is there a gyroscope in the lid of the device.
type: boolean
has-base-gyroscope:
description: Is there a gyroscope in the base of the device.
type: boolean
has-lid-magnetometer:
description: Is there a magnetometer in the lid of the device.
type: boolean
has-base-magnetometer:
description: Is there a magnetometer in the base of the device.
type: boolean
has-base-light-sensor:
description: Is there a light sensor in the base of the device.
type: boolean
has-lid-light-sensor:
description: Is there a light sensor in the lid of the device.
type: boolean
has-touchscreen:
description: Does the device have a touchscreen.
type: boolean
has-backlight:
description: Does the device have a backlight.
type: boolean
display-type: *display-type
stylus-category: *stylus-category
psu-type: *psu-type
form-factor: *form-factor
additionalProperties: false
cros-healthd:
type: object
description: Contains properties used by cros_healthd for
model-specific telemetry. Each property represents a category of
information and contains boolean properties that indicate
whether a device supports a particular telemetry item. See
cros_healthd_probe.mojom for descriptions of each property.
properties:
battery:
type: object
properties:
has-smart-battery-info:
type: boolean
additionalProperties: false
cached-vpd:
type: object
properties:
has-sku-number:
type: boolean
additionalProperties: false
additionalProperties: false
scheduler-tune:
type: object
description: ChromeOS scheduler's tunable values.
properties:
boost-urgent:
type: integer
description: (Optional) Scheduler's boost value(%) for urgent
tasks. When an urgent thread is created, chrome applies
this value to scheduler attribute. Tasks with higher
boost value are more likely to have higher operating
power point even when the system is low utilized.
minimum: 0
maximum: 100
input-boost:
type: integer
description: (Optional) chromium kernel has a cpu-boost
feature, which boosts CPUs for a short duration when
user intraction is detected from input devices.
This value specifies how much CPUs will be boosted.
minimum: 0
maximum: 100
cpuset-nonurgent:
type: string
pattern: "^[0-9]+(-[0-9]+|(,[0-9]+)+)$"
description: (Optional) non-urgent task are only allowed
to use given CPUs.
additionalProperties: false
additionalProperties: false
required:
- name
additionalProperties: false
required:
- configs