# 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:
                    - 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.
                        Deprecated since M94 (b/187778952).
                      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.
                    bmpblk: *firmware_build_target
                    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
            keyboard:
              type: object
              description: Contains details about the model's keyboard.
              properties:
                numpad:
                  type: boolean
                  description: Specifies the existence of numpad.
                backlight:
                  type: boolean
                  description: Specifies the existence of backlight.
            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
                handwriting-recognition-web-platform-api:
                  description: Whether the handwriting recognition web platform API
                    is supported.
                  type: boolean
                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]+"
                attach-apn-required:
                  description: Try to explicitly setup an attach APN when
                    registering to the LTE network.
                  type: boolean
              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
