Searched +full:axg +full:- +full:tdm +full:- +full:iface (Results 1 – 9 of 9) sorted by relevance
/linux-6.12.1/Documentation/devicetree/bindings/sound/ |
D | amlogic,axg-tdm-iface.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/amlogic,axg-tdm-iface.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Amlogic Audio TDM Interfaces 10 - Jerome Brunet <jbrunet@baylibre.com> 13 - $ref: dai-common.yaml# 17 const: amlogic,axg-tdm-iface 19 "#sound-dai-cells": 25 - description: Bit clock [all …]
|
/linux-6.12.1/sound/soc/meson/ |
D | axg-tdm-interface.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 11 #include <sound/soc-dai.h> 13 #include "axg-tdm.h" 42 struct axg_tdm_iface *iface = snd_soc_dai_get_drvdata(dai); in axg_tdm_set_tdm_slots() local 53 dev_err(dai->dev, "interface has no slot\n"); in axg_tdm_set_tdm_slots() 54 return -EINVAL; in axg_tdm_set_tdm_slots() 57 iface->slots = slots; in axg_tdm_set_tdm_slots() 77 dev_err(dai->dev, "unsupported slot width: %d\n", slot_width); in axg_tdm_set_tdm_slots() 78 return -EINVAL; in axg_tdm_set_tdm_slots() 81 iface->slot_width = slot_width; in axg_tdm_set_tdm_slots() [all …]
|
D | axg-tdmin.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 10 #include <sound/soc-dai.h> 12 #include "axg-tdm-formatter.h" 64 if (!p->connect) in axg_tdmin_get_be() 67 if (p->source->id == snd_soc_dapm_dai_out) in axg_tdmin_get_be() 68 return (struct snd_soc_dai *)p->source->priv; in axg_tdmin_get_be() 70 be = axg_tdmin_get_be(p->source); in axg_tdmin_get_be() 115 unsigned int val, skew = quirks->skew_offset; in axg_tdmin_prepare() 118 switch (ts->iface->fmt & SND_SOC_DAIFMT_FORMAT_MASK) { in axg_tdmin_prepare() 130 ts->iface->fmt & SND_SOC_DAIFMT_FORMAT_MASK); in axg_tdmin_prepare() [all …]
|
D | axg-card.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 9 #include <sound/soc-dai.h> 11 #include "axg-tdm.h" 12 #include "meson-card.h" 30 * Those will be over-written by the CPU side of the link 44 struct meson_card *priv = snd_soc_card_get_drvdata(rtd->card); in axg_card_tdm_be_hw_params() 46 (struct axg_dai_link_tdm_data *)priv->link_data[rtd->num]; in axg_card_tdm_be_hw_params() 48 return meson_card_i2s_set_sysclk(substream, params, be->mclk_fs); in axg_card_tdm_be_hw_params() 57 struct meson_card *priv = snd_soc_card_get_drvdata(rtd->card); in axg_card_tdm_dai_init() 59 (struct axg_dai_link_tdm_data *)priv->link_data[rtd->num]; in axg_card_tdm_dai_init() [all …]
|
D | axg-tdm-formatter.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 13 #include "axg-tdm-formatter.h" 33 unsigned int ch = ts->channels; in axg_tdm_formatter_set_channel_masks() 46 * of each TDM lane. We need to go over the 32 slots ... in axg_tdm_formatter_set_channel_masks() 53 if ((BIT(i + k) & ts->mask[j]) && ch) { in axg_tdm_formatter_set_channel_masks() 55 ch -= 1; in axg_tdm_formatter_set_channel_masks() 68 return -EINVAL; in axg_tdm_formatter_set_channel_masks() 82 struct axg_tdm_stream *ts = formatter->stream; in axg_tdm_formatter_enable() 87 if (formatter->enabled) in axg_tdm_formatter_enable() 104 ret = reset_control_reset(formatter->reset); in axg_tdm_formatter_enable() [all …]
|
D | axg-tdmout.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 10 #include <sound/soc-dai.h> 12 #include "axg-tdm-formatter.h" 62 if (!p->connect) in axg_tdmout_get_be() 65 if (p->sink->id == snd_soc_dapm_dai_in) in axg_tdmout_get_be() 66 return (struct snd_soc_dai *)p->sink->priv; in axg_tdmout_get_be() 68 be = axg_tdmout_get_be(p->sink); in axg_tdmout_get_be() 113 unsigned int val, skew = quirks->skew_offset; in axg_tdmout_prepare() 116 switch (ts->iface->fmt & SND_SOC_DAIFMT_FORMAT_MASK) { in axg_tdmout_prepare() 128 ts->iface->fmt & SND_SOC_DAIFMT_FORMAT_MASK); in axg_tdmout_prepare() [all …]
|
/linux-6.12.1/arch/arm64/boot/dts/amlogic/ |
D | meson-g12.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 #include "meson-g12-common.dtsi" 8 #include <dt-bindings/clock/axg-audio-clkc.h> 9 #include <dt-bindings/power/meson-g12a-power.h> 10 #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h> 11 #include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h> 14 tdmif_a: audio-controller-0 { 15 compatible = "amlogic,axg-tdm-iface"; 16 #sound-dai-cells = <0>; 17 sound-name-prefix = "TDM_A"; [all …]
|
D | meson-sm1.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 #include "meson-g12-common.dtsi" 8 #include <dt-bindings/clock/axg-audio-clkc.h> 9 #include <dt-bindings/power/meson-sm1-power.h> 10 #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h> 11 #include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h> 16 tdmif_a: audio-controller-0 { 17 compatible = "amlogic,axg-tdm-iface"; 18 #sound-dai-cells = <0>; 19 sound-name-prefix = "TDM_A"; [all …]
|
D | meson-axg.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 #include <dt-bindings/clock/axg-aoclkc.h> 7 #include <dt-bindings/clock/axg-audio-clkc.h> 8 #include <dt-bindings/clock/axg-clkc.h> 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/gpio/meson-axg-gpio.h> 11 #include <dt-bindings/interrupt-controller/irq.h> 12 #include <dt-bindings/interrupt-controller/arm-gic.h> 13 #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h> 14 #include <dt-bindings/reset/amlogic,meson-axg-reset.h> [all …]
|