# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

# Specific fields for USB audio headset.

description: USB Audio headset specific fields.

compatible: "usb-audio-hs"

include: usb-audio.yaml

properties:
  mic-resolution:
    type: int
    default: 16
    enum:
     - 8
     - 16
     - 24
     - 32
  mic-sync-type:
    default: "Synchronous"
    type: string
    description: |
      Type of endpoint synchronization for IN devices.
      Default value is Sychronous.
      Adaptive is not supported.
    enum:
     - "No Synchronization"
     - "Asynchronous"
     - "Adaptive"
     - "Synchronous"
  hp-resolution:
    type: int
    default: 16
    enum:
     - 8
     - 16
     - 24
     - 32
# microphone channel configuration options
  mic-channel-l:
    type: boolean
    description: Enable (l) channel.
  mic-channel-r:
    type: boolean
    description: Enable (r) channel.
  mic-channel-c:
    type: boolean
    description: Enable (c) channel.
  mic-channel-lfe:
    type: boolean
    description: Enable (lfe) channel.
  mic-channel-ls:
    type: boolean
    description: Enable (ls) channel.
  mic-channel-rs:
    type: boolean
    description: Enable (rs) channel.
  mic-channel-lc:
    type: boolean
    description: Enable (lc) channel.
  mic-channel-rc:
    type: boolean
    description: Enable (rc) channel.
  mic-channel-s:
    type: boolean
    description: Enable (s) channel.
  mic-channel-sl:
    type: boolean
    description: Enable (sl) channel.
  mic-channel-sr:
    type: boolean
    description: Enable (sr) channel.
  mic-channel-t:
    type: boolean
    description: Enable (t) channel.
  mic-channel-cfg:
    type: boolean
    description: Enable (cfg) channel.
# microphone feature unit configuration options
  mic-feature-mute:
    type: boolean
    required: true
    description: Enable Mute feature.
  mic-feature-volume:
    type: boolean
    description: |
      Enable Volume feature.
      Currently not supported.
  mic-feature-tone-control:
    type: boolean
    description: |
      Enable Tone Control (Bass, Mid, Treble) feature.
      Currently not supported.
  mic-feature-graphic-equalizer:
    type: boolean
    description: |
      Enable  Graphic Equalizer feature.
      Currently not supported.
  mic-feature-automatic-gain-control:
    type: boolean
    description: |
      Enable Autoamtic Gain Control feature.
      Currently not supported.
  mic-feature-delay:
    type: boolean
    description: |
      Enable Delay feature.
      Currently not supported.
  mic-feature-bass-boost:
    type: boolean
    description: |
      Enable Bass Boost feature.
      Currently not supported.
  mic-feature-loudness:
    type: boolean
    description: |
      Enable Loudness feature.
      Currently not supported.
# headphones channel configuration options
  hp-channel-l:
    type: boolean
    description: Enable (l) channel.
  hp-channel-r:
    type: boolean
    description: Enable (r) channel.
  hp-channel-c:
    type: boolean
    description: Enable (c) channel.
  hp-channel-lfe:
    type: boolean
    description: Enable (lfe) channel.
  hp-channel-ls:
    type: boolean
    description: Enable (ls) channel.
  hp-channel-rs:
    type: boolean
    description: Enable (rs) channel.
  hp-channel-lc:
    type: boolean
    description: Enable (lc) channel.
  hp-channel-rc:
    type: boolean
    description: Enable (rc) channel.
  hp-channel-s:
    type: boolean
    description: Enable (s) channel.
  hp-channel-sl:
    type: boolean
    description: Enable (sl) channel.
  hp-channel-sr:
    type: boolean
    description: Enable (sr) channel.
  hp-channel-t:
    type: boolean
    description: Enable (t) channel.
  hp-channel-cfg:
    type: boolean
    description: Enable (cfg) channel.
# headphones feature unit configuration options
  hp-feature-mute:
    type: boolean
    required: true
    description: Enable Mute feature.
  hp-feature-volume:
    type: boolean
    description: |
      Enable Volume feature.
      Currently not supported.
  hp-feature-tone-control:
    type: boolean
    description: |
      Enable Tone Control (Bass, Mid, Treble) feature.
      Currently not supported.
  hp-feature-graphic-equalizer:
    type: boolean
    description: |
      Enable  Graphic Equalizer feature.
      Currently not supported.
  hp-feature-automatic-gain-control:
    type: boolean
    description: |
      Enable Autoamtic Gain Control feature.
      Currently not supported.
  hp-feature-delay:
    type: boolean
    description: |
      Enable Delay feature.
      Currently not supported.
  hp-feature-bass-boost:
    type: boolean
    description: |
      Enable Bass Boost feature.
      Currently not supported.
  hp-feature-loudness:
    type: boolean
    description: |
      Enable Loudness feature.
      Currently not supported.
