mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
Following changes are pushed as part of this commit: - Update copyright signature as per new format. - Remove references to "_ALT_" in header macros. - Fix copyright year for I2S, DMIC, DSPK, ADMAIF and XBAR drivers. - Fix file name in source header for Machine Utility driver. Bug 2845498 Change-Id: I18b040a9d48a86a33f3ac6b6932d55e81d6414ac Signed-off-by: Sameer Pujar <spujar@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-5.9/+/2354014 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Mohan Kumar D <mkumard@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
56 lines
1.5 KiB
C
56 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* tegra_asoc_machine.h
|
|
*
|
|
* Copyright (c) 2014-2020 NVIDIA CORPORATION. All rights reserved.
|
|
*
|
|
*/
|
|
|
|
#ifndef __TEGRA_ASOC_MACHINE_H__
|
|
#define __TEGRA_ASOC_MACHINE_H__
|
|
|
|
#include "tegra_asoc_utils.h"
|
|
|
|
/*
|
|
* struct tegra_asoc - ASoC topology of dai links and codec confs
|
|
* @codec_confs: Configuration of codecs from xbar and devicetree
|
|
* @dai_links: All DAI links from xbar and device tree
|
|
* @num_links: Total number of DAI links for given card
|
|
* @num_confs: Total number of codec confs for given card
|
|
* @tx_slot: TDM slot for Tx path
|
|
* @rx_slot: TDM slot for Rx path
|
|
*/
|
|
struct tegra_asoc {
|
|
struct snd_soc_codec_conf *codec_confs;
|
|
struct snd_soc_dai_link *dai_links;
|
|
unsigned int num_links;
|
|
unsigned int num_confs;
|
|
unsigned int *tx_slot;
|
|
unsigned int *rx_slot;
|
|
};
|
|
|
|
/* machine structure which holds sound card */
|
|
struct tegra_machine {
|
|
struct tegra_asoc_utils_data audio_clock;
|
|
struct tegra_asoc *asoc;
|
|
unsigned int num_codec_links;
|
|
int rate_via_kcontrol;
|
|
int fmt_via_kcontrol;
|
|
};
|
|
|
|
int tegra_machine_add_i2s_codec_controls(struct snd_soc_card *card);
|
|
int tegra_machine_add_codec_jack_control(struct snd_soc_card *card,
|
|
struct snd_soc_pcm_runtime *rtd,
|
|
struct snd_soc_jack *jack);
|
|
|
|
void release_asoc_phandles(struct tegra_machine *machine);
|
|
|
|
/*
|
|
* new helper functions for parsing all DAI links from DT.
|
|
* Representation of XBAR and codec links would be similar.
|
|
*/
|
|
int parse_card_info(struct snd_soc_card *card, struct snd_soc_ops *pcm_ops,
|
|
struct snd_soc_compr_ops *compr_ops);
|
|
|
|
#endif
|