Home
last modified time | relevance | path

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/
Damlogic,axg-tdm-iface.yaml1 # 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/
Daxg-tdm-interface.c1 // 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 …]
Daxg-tdmin.c1 // 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 …]
Daxg-card.c1 // 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 …]
Daxg-tdm-formatter.c1 // 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 …]
Daxg-tdmout.c1 // 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/
Dmeson-g12.dtsi1 // 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 …]
Dmeson-sm1.dtsi1 // 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 …]
Dmeson-axg.dtsi1 // 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 …]