# 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: full-speed: type: boolean description: | True if this instance is allowed to operate at Full-Speed. high-speed: type: boolean description: | True if this instance is allowed to operate at High-Speed. 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"