blob: a6a688ccca769aad32cb4a59b26ff9e03db87853 [file] [log] [blame]
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
*/
#ifndef __AML_AUDIO_LOOPBACK_H__
#define __AML_AUDIO_LOOPBACK_H__
#include <sound/soc.h>
#include <sound/tlv.h>
/* datain src
* [4]: pdmin;
* [3]: spdifin;
* [2]: tdmin_c;
* [1]: tdmin_b;
* [0]: tdmin_a;
*/
enum datain_src {
DATAIN_TDMA = 0,
DATAIN_TDMB,
DATAIN_TDMC,
DATAIN_SPDIF,
DATAIN_PDM,
DATAIN_LOOPBACK,
DATAIN_TDMD,
DATAIN_PDMB,
DATAIN_MAX
};
/* datalb src
* /tdmin_lb src
* [0]: tdmoutA
* [1]: tdmoutB
* [2]: tdmoutC
* [3]: PAD_tdminA
* [4]: PAD_tdminB
* [5]: PAD_tdminC
* /spdifin_lb src
* spdifout_a
* spdifout_b
*/
enum datalb_src {
TDMINLB_TDMOUTA = 0,
TDMINLB_TDMOUTB,
TDMINLB_TDMOUTC,
TDMINLB_TDMOUTD,
TDMINLB_PAD_TDMINA,
TDMINLB_PAD_TDMINB,
TDMINLB_PAD_TDMINC,
TDMINLB_PAD_TDMIND,
TDMINLB_PAD_TDMINA_D,
TDMINLB_PAD_TDMINB_D,
TDMINLB_PAD_TDMINC_D,
TDMINLB_HDMIRX,
TDMINLB_ACODEC,
SPDIFINLB_SPDIFOUTA,
SPDIFINLB_SPDIFOUTB,
TDMINLB_SRC_MAX
};
unsigned int loopback_get_lb_channel(int id);
#endif