/*
 * Copyright (c) 2023 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <dt-bindings/usb/audio.h>

/ {
	uac2_headset: usb_audio2 {
		compatible = "zephyr,uac2";
		status = "okay";
		audio-function = <AUDIO_FUNCTION_HEADSET>;

		uac_aclk: aclk {
			compatible = "zephyr,uac2-clock-source";
			clock-type = "internal-programmable";
			frequency-control = "host-programmable";
			sampling-frequencies = <48000>;
		};

		out_terminal: out_terminal {
			compatible = "zephyr,uac2-input-terminal";
			clock-source = <&uac_aclk>;
			terminal-type = <USB_TERMINAL_STREAMING>;
			front-left;
			front-right;
		};

		headphones_output: headphones {
			compatible = "zephyr,uac2-output-terminal";
			data-source = <&out_terminal>;
			clock-source = <&uac_aclk>;
			terminal-type = <BIDIRECTIONAL_TERMINAL_HEADSET>;
			assoc-terminal = <&mic_input>;
		};

		mic_input: microphone {
			compatible = "zephyr,uac2-input-terminal";
			clock-source = <&uac_aclk>;
			terminal-type = <BIDIRECTIONAL_TERMINAL_HEADSET>;
			/* Circular reference, macros will figure it out and
                         * provide correct associated terminal ID because the
                         * terminals associations are always 1-to-1.
                         *
                         * assoc-terminal = <&headphones_output>;
                         */
			front-left;
		};

		in_terminal: in_terminal {
			compatible = "zephyr,uac2-output-terminal";
			data-source = <&mic_input>;
			clock-source = <&uac_aclk>;
			terminal-type = <USB_TERMINAL_STREAMING>;
		};

		as_iso_out: out_interface {
			compatible = "zephyr,uac2-audio-streaming";
			linked-terminal = <&out_terminal>;
			implicit-feedback;
			subslot-size = <2>;
			bit-resolution = <16>;
		};

		as_iso_in: in_interface {
			compatible = "zephyr,uac2-audio-streaming";
			linked-terminal = <&in_terminal>;
			implicit-feedback;
			subslot-size = <2>;
			bit-resolution = <16>;
		};
	};
};
