Home
last modified time | relevance | path

Searched refs:spdif (Results 1 – 25 of 216) sorted by relevance

123456789

/kernel/linux/linux-5.10/sound/soc/img/
Dimg-spdif-in.c92 struct img_spdif_in *spdif = dev_get_drvdata(dev); in img_spdif_in_runtime_suspend() local
94 clk_disable_unprepare(spdif->clk_sys); in img_spdif_in_runtime_suspend()
101 struct img_spdif_in *spdif = dev_get_drvdata(dev); in img_spdif_in_runtime_resume() local
104 ret = clk_prepare_enable(spdif->clk_sys); in img_spdif_in_runtime_resume()
113 static inline void img_spdif_in_writel(struct img_spdif_in *spdif, in img_spdif_in_writel() argument
116 writel(val, spdif->base + reg); in img_spdif_in_writel()
119 static inline u32 img_spdif_in_readl(struct img_spdif_in *spdif, u32 reg) in img_spdif_in_readl() argument
121 return readl(spdif->base + reg); in img_spdif_in_readl()
124 static inline void img_spdif_in_aclkgen_writel(struct img_spdif_in *spdif, in img_spdif_in_aclkgen_writel() argument
127 img_spdif_in_writel(spdif, spdif->aclkgen_regs[index], in img_spdif_in_aclkgen_writel()
[all …]
Dimg-spdif-out.c54 struct img_spdif_out *spdif = dev_get_drvdata(dev); in img_spdif_out_runtime_suspend() local
56 clk_disable_unprepare(spdif->clk_ref); in img_spdif_out_runtime_suspend()
57 clk_disable_unprepare(spdif->clk_sys); in img_spdif_out_runtime_suspend()
64 struct img_spdif_out *spdif = dev_get_drvdata(dev); in img_spdif_out_runtime_resume() local
67 ret = clk_prepare_enable(spdif->clk_sys); in img_spdif_out_runtime_resume()
73 ret = clk_prepare_enable(spdif->clk_ref); in img_spdif_out_runtime_resume()
76 clk_disable_unprepare(spdif->clk_sys); in img_spdif_out_runtime_resume()
83 static inline void img_spdif_out_writel(struct img_spdif_out *spdif, u32 val, in img_spdif_out_writel() argument
86 writel(val, spdif->base + reg); in img_spdif_out_writel()
89 static inline u32 img_spdif_out_readl(struct img_spdif_out *spdif, u32 reg) in img_spdif_out_readl() argument
[all …]
/kernel/linux/linux-5.10/sound/soc/samsung/
Dspdif.c105 static void spdif_snd_txctrl(struct samsung_spdif_info *spdif, int on) in spdif_snd_txctrl() argument
107 void __iomem *regs = spdif->regs; in spdif_snd_txctrl()
110 dev_dbg(spdif->dev, "Entered %s\n", __func__); in spdif_snd_txctrl()
122 struct samsung_spdif_info *spdif = to_info(cpu_dai); in spdif_set_sysclk() local
125 dev_dbg(spdif->dev, "Entered %s\n", __func__); in spdif_set_sysclk()
127 clkcon = readl(spdif->regs + CLKCON); in spdif_set_sysclk()
134 writel(clkcon, spdif->regs + CLKCON); in spdif_set_sysclk()
136 spdif->clk_rate = freq; in spdif_set_sysclk()
145 struct samsung_spdif_info *spdif = to_info(asoc_rtd_to_cpu(rtd, 0)); in spdif_trigger() local
148 dev_dbg(spdif->dev, "Entered %s\n", __func__); in spdif_trigger()
[all …]
/kernel/linux/linux-5.10/sound/soc/adi/
Daxi-spdif.c51 struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai); in axi_spdif_trigger() local
69 regmap_update_bits(spdif->regmap, AXI_SPDIF_REG_CTRL, in axi_spdif_trigger()
78 struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai); in axi_spdif_hw_params() local
97 clkdiv = DIV_ROUND_CLOSEST(clk_get_rate(spdif->clk_ref), in axi_spdif_hw_params()
101 regmap_write(spdif->regmap, AXI_SPDIF_REG_STAT, stat); in axi_spdif_hw_params()
102 regmap_update_bits(spdif->regmap, AXI_SPDIF_REG_CTRL, in axi_spdif_hw_params()
110 struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai); in axi_spdif_dai_probe() local
112 snd_soc_dai_init_dma_data(dai, &spdif->dma_data, NULL); in axi_spdif_dai_probe()
120 struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai); in axi_spdif_startup() local
125 &spdif->rate_constraints); in axi_spdif_startup()
[all …]
DMakefile3 snd-soc-adi-axi-spdif-objs := axi-spdif.o
6 obj-$(CONFIG_SND_SOC_ADI_AXI_SPDIF) += snd-soc-adi-axi-spdif.o
/kernel/linux/linux-5.10/sound/soc/rockchip/
Drockchip_spdif.c67 struct rk_spdif_dev *spdif = dev_get_drvdata(dev); in rk_spdif_runtime_suspend() local
69 regcache_cache_only(spdif->regmap, true); in rk_spdif_runtime_suspend()
70 clk_disable_unprepare(spdif->mclk); in rk_spdif_runtime_suspend()
71 clk_disable_unprepare(spdif->hclk); in rk_spdif_runtime_suspend()
78 struct rk_spdif_dev *spdif = dev_get_drvdata(dev); in rk_spdif_runtime_resume() local
81 ret = clk_prepare_enable(spdif->mclk); in rk_spdif_runtime_resume()
83 dev_err(spdif->dev, "mclk clock enable failed %d\n", ret); in rk_spdif_runtime_resume()
87 ret = clk_prepare_enable(spdif->hclk); in rk_spdif_runtime_resume()
89 dev_err(spdif->dev, "hclk clock enable failed %d\n", ret); in rk_spdif_runtime_resume()
93 regcache_cache_only(spdif->regmap, false); in rk_spdif_runtime_resume()
[all …]
/kernel/linux/linux-5.10/sound/soc/tegra/
Dtegra20_spdif.c29 struct tegra20_spdif *spdif = dev_get_drvdata(dev); in tegra20_spdif_runtime_suspend() local
31 clk_disable_unprepare(spdif->clk_spdif_out); in tegra20_spdif_runtime_suspend()
38 struct tegra20_spdif *spdif = dev_get_drvdata(dev); in tegra20_spdif_runtime_resume() local
41 ret = clk_prepare_enable(spdif->clk_spdif_out); in tegra20_spdif_runtime_resume()
55 struct tegra20_spdif *spdif = snd_soc_dai_get_drvdata(dai); in tegra20_spdif_hw_params() local
70 regmap_update_bits(spdif->regmap, TEGRA20_SPDIF_CTRL, mask, val); in tegra20_spdif_hw_params()
98 ret = clk_set_rate(spdif->clk_spdif_out, spdifclock); in tegra20_spdif_hw_params()
107 static void tegra20_spdif_start_playback(struct tegra20_spdif *spdif) in tegra20_spdif_start_playback() argument
109 regmap_update_bits(spdif->regmap, TEGRA20_SPDIF_CTRL, in tegra20_spdif_start_playback()
114 static void tegra20_spdif_stop_playback(struct tegra20_spdif *spdif) in tegra20_spdif_stop_playback() argument
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/sound/
Dimx-audio-spdif.txt5 - compatible : "fsl,imx-audio-spdif"
9 - spdif-controller : The phandle of the i.MX S/PDIF controller
14 - spdif-out : This is a boolean property. If present, the
21 - spdif-in : This is a boolean property. If present, the receiving
30 sound-spdif {
31 compatible = "fsl,imx-audio-spdif";
32 model = "imx-spdif";
33 spdif-controller = <&spdif>;
34 spdif-out;
35 spdif-in;
Dspdif-receiver.txt1 Device-Tree bindings for dummy spdif receiver
4 - compatible: should be "linux,spdif-dir".
8 codec: spdif-receiver {
9 compatible = "linux,spdif-dir";
Dspdif-transmitter.txt1 Device-Tree bindings for dummy spdif transmitter
4 - compatible: should be "linux,spdif-dit".
8 codec: spdif-transmitter {
9 compatible = "linux,spdif-dit";
Dxlnx,spdif.txt6 - compatible: "xlnx,spdif-2.0"
13 - xlnx,spdif-mode: 0 :- receiver mode
18 spdif_0: spdif@80010000 {
21 compatible = "xlnx,spdif-2.0";
26 xlnx,spdif-mode = <1>;
Dimg,spdif-in.txt5 - compatible : Compatible list, must contain "img,spdif-in"
23 - resets: Should contain a phandle to the spdif in reset signal, if any
28 - interrupts : Contains the spdif in interrupt, if present
32 spdif_in: spdif-in@18100e00 {
33 compatible = "img,spdif-in";
Dimg,spdif-out.txt5 - compatible : Compatible list, must contain "img,spdif-out"
22 - resets: Contains a phandle to the spdif out reset signal
32 spdif_out: spdif-out@18100d00 {
33 compatible = "img,spdif-out";
Dadi,axi-spdif-tx.txt4 - compatible : Must be "adi,axi-spdif-tx-1.00.a"
23 spdif: spdif@77400000 {
24 compatible = "adi,axi-spdif-tx-1.00.a";
Damlogic,axg-spdifin.txt7 - interrupts: interrupt specifier for the spdif input.
11 * "refclk" : spdif input reference clock
15 - resets: phandle to the dedicated reset line of the spdif input.
/kernel/linux/linux-5.10/sound/soc/spear/
DMakefile4 snd-soc-spear-spdif-in-objs := spdif_in.o
5 snd-soc-spear-spdif-out-objs := spdif_out.o
8 obj-$(CONFIG_SND_SPEAR_SPDIF_IN) += snd-soc-spear-spdif-in.o
9 obj-$(CONFIG_SND_SPEAR_SPDIF_OUT) += snd-soc-spear-spdif-out.o
/kernel/linux/linux-5.10/sound/pci/ice1712/
Ddelta.c199 snd_cs8403_decode_spdif_bits(&ucontrol->value.iec958, ice->spdif.cs8403_bits); in delta_spdif_default_get()
209 change = ice->spdif.cs8403_bits != val; in delta_spdif_default_put()
210 ice->spdif.cs8403_bits = val; in delta_spdif_default_put()
222 snd_cs8403_decode_spdif_bits(&ucontrol->value.iec958, ice->spdif.cs8403_stream_bits); in delta_spdif_stream_get()
232 change = ice->spdif.cs8403_stream_bits != val; in delta_spdif_stream_put()
233 ice->spdif.cs8403_stream_bits = val; in delta_spdif_stream_put()
376 ice->spdif.cs8403_stream_bits = ice->spdif.cs8403_bits; in delta_open_spdif()
387 tmp = ice->spdif.cs8403_stream_bits; in delta_setup_spdif()
396 change = ice->spdif.cs8403_stream_bits != tmp; in delta_setup_spdif()
397 ice->spdif.cs8403_stream_bits = tmp; in delta_setup_spdif()
[all …]
Dews.c254 snd_cs8404_decode_spdif_bits(&ucontrol->value.iec958, ice->spdif.cs8403_bits); in ews88_spdif_default_get()
264 change = ice->spdif.cs8403_bits != val; in ews88_spdif_default_put()
265 ice->spdif.cs8403_bits = val; in ews88_spdif_default_put()
277 snd_cs8404_decode_spdif_bits(&ucontrol->value.iec958, ice->spdif.cs8403_stream_bits); in ews88_spdif_stream_get()
287 change = ice->spdif.cs8403_stream_bits != val; in ews88_spdif_stream_put()
288 ice->spdif.cs8403_stream_bits = val; in ews88_spdif_stream_put()
302 ice->spdif.cs8403_stream_bits = ice->spdif.cs8403_bits; in ews88_open_spdif()
313 tmp = ice->spdif.cs8403_stream_bits; in ews88_setup_spdif()
322 change = ice->spdif.cs8403_stream_bits != tmp; in ews88_setup_spdif()
323 ice->spdif.cs8403_stream_bits = tmp; in ews88_setup_spdif()
[all …]
/kernel/linux/linux-5.10/sound/soc/meson/
Daiu-encoder-spdif.c144 ret = clk_set_rate(aiu->spdif.clks[MCLK].clk, mrate); in aiu_encoder_spdif_hw_params()
183 ret = clk_set_parent(aiu->spdif.clks[MCLK].clk, in aiu_encoder_spdif_startup()
188 ret = clk_bulk_prepare_enable(aiu->spdif.clk_num, aiu->spdif.clks); in aiu_encoder_spdif_startup()
200 clk_bulk_disable_unprepare(aiu->spdif.clk_num, aiu->spdif.clks); in aiu_encoder_spdif_shutdown()
/kernel/linux/linux-5.10/arch/arm/boot/dts/
Duniphier-pxs2-vodka.dts42 spdif-out {
43 compatible = "linux,spdif-dit";
53 comp-spdif-out {
54 compatible = "linux,spdif-dit";
Dimx6qdl-wandboard.dtsi29 sound-spdif {
30 compatible = "fsl,imx-audio-spdif";
31 model = "imx-spdif";
32 spdif-controller = <&spdif>;
33 spdif-out;
311 &spdif {
Dsun5i-gr8.dtsi66 spdif: spdif@1c21000 { label
68 compatible = "allwinner,sun4i-a10-spdif";
72 clock-names = "apb", "spdif";
116 spdif_tx_pin: spdif-tx-pin {
118 function = "spdif";
/kernel/linux/linux-5.10/drivers/staging/vc04_services/bcm2835-audio/
Dbcm2835-pcm.c86 struct snd_pcm_substream *substream, int spdif) in snd_bcm2835_playback_open_generic() argument
97 if (spdif && chip->opened) { in snd_bcm2835_playback_open_generic()
100 } else if (!spdif && (chip->opened & (1 << idx))) { in snd_bcm2835_playback_open_generic()
130 if (spdif) { in snd_bcm2835_playback_open_generic()
326 u32 numchannels, bool spdif) in snd_bcm2835_new_pcm() argument
338 if (!spdif) { in snd_bcm2835_new_pcm()
345 spdif ? &snd_bcm2835_playback_spdif_ops : in snd_bcm2835_new_pcm()
351 if (spdif) in snd_bcm2835_new_pcm()
/kernel/linux/linux-5.10/sound/pci/hda/
Dhda_codec.c2227 struct hda_spdif_out *spdif; in snd_hda_spdif_default_get() local
2232 spdif = snd_array_elem(&codec->spdif_out, idx); in snd_hda_spdif_default_get()
2233 ucontrol->value.iec958.status[0] = spdif->status & 0xff; in snd_hda_spdif_default_get()
2234 ucontrol->value.iec958.status[1] = (spdif->status >> 8) & 0xff; in snd_hda_spdif_default_get()
2235 ucontrol->value.iec958.status[2] = (spdif->status >> 16) & 0xff; in snd_hda_spdif_default_get()
2236 ucontrol->value.iec958.status[3] = (spdif->status >> 24) & 0xff; in snd_hda_spdif_default_get()
2333 struct hda_spdif_out *spdif; in snd_hda_spdif_default_put() local
2341 spdif = snd_array_elem(&codec->spdif_out, idx); in snd_hda_spdif_default_put()
2342 nid = spdif->nid; in snd_hda_spdif_default_put()
2343 spdif->status = ucontrol->value.iec958.status[0] | in snd_hda_spdif_default_put()
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/rockchip/
Dcdn-dp-rockchip.txt12 Required elements: "core-clk" "pclk" "spdif" "grf"
16 Required elements: "apb", "core", "dptx", "spdif"
43 clock-names = "core-clk", "pclk", "spdif", "grf";
49 reset-names = "spdif";

123456789