blob: a4283f219a01116fe2d1377ef61c16e10d541cc1 [file] [log] [blame]
# Copyright (c) 2023 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
description: USB Audio Class 2 instance
compatible: "zephyr,uac2"
# Child nodes of "zephyr,uac2" compatibles are supposed to be Audio Control
# entities, i.e. clock sources, input terminals, output terminals, etc.
# After all Audio Control entities, the Audio Streaming interface compatibles
# should follow (as child nodes of "zephyr,uac2").
#
# The only reason for putting Audio Streaming interfaces at the end is because
# Audio Control entities derive their unique ID from child index (+ 1). For most
# cases the order shouldn't really matter, but if there happen to be maximum
# possible number of entities (255) then the Audio Streaming would inadvertently
# "consume" one of the available IDs.
properties:
audio-function:
type: int
required: true
description: |
Constant, indicating the primary use of this audio function, as intended
by the manufacturer. Use Audio Function category codes define from
dt-bindings/usb/audio.h.
interrupt-endpoint:
type: boolean
description: |
Enable to support an optional interrupt endpoint to inform the Host about
dynamic changes that occur on the different addressable entities.
latency-control:
type: string
description: Latency Control capabilities
enum:
- "read-only"
- "host-programmable"