| /kernel/linux/linux-5.10/sound/soc/img/ |
| D | img-spdif-in.c | 3 * IMG SPDIF input controller driver 92 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 [all …]
|
| D | img-spdif-out.c | 3 * IMG SPDIF output controller driver 54 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() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/img/ |
| D | img-spdif-in.c | 2 * IMG SPDIF input controller driver 95 struct img_spdif_in *spdif = dev_get_drvdata(dev); in img_spdif_in_runtime_suspend() local 97 clk_disable_unprepare(spdif->clk_sys); in img_spdif_in_runtime_suspend() 104 struct img_spdif_in *spdif = dev_get_drvdata(dev); in img_spdif_in_runtime_resume() local 107 ret = clk_prepare_enable(spdif->clk_sys); in img_spdif_in_runtime_resume() 116 static inline void img_spdif_in_writel(struct img_spdif_in *spdif, in img_spdif_in_writel() argument 119 writel(val, spdif->base + reg); in img_spdif_in_writel() 122 static inline u32 img_spdif_in_readl(struct img_spdif_in *spdif, u32 reg) in img_spdif_in_readl() argument 124 return readl(spdif->base + reg); in img_spdif_in_readl() 127 static inline void img_spdif_in_aclkgen_writel(struct img_spdif_in *spdif, in img_spdif_in_aclkgen_writel() argument [all …]
|
| D | img-spdif-out.c | 2 * IMG SPDIF output controller driver 57 struct img_spdif_out *spdif = dev_get_drvdata(dev); in img_spdif_out_runtime_suspend() local 59 clk_disable_unprepare(spdif->clk_ref); in img_spdif_out_runtime_suspend() 60 clk_disable_unprepare(spdif->clk_sys); in img_spdif_out_runtime_suspend() 67 struct img_spdif_out *spdif = dev_get_drvdata(dev); in img_spdif_out_runtime_resume() local 70 ret = clk_prepare_enable(spdif->clk_sys); in img_spdif_out_runtime_resume() 76 ret = clk_prepare_enable(spdif->clk_ref); in img_spdif_out_runtime_resume() 79 clk_disable_unprepare(spdif->clk_sys); in img_spdif_out_runtime_resume() 86 static inline void img_spdif_out_writel(struct img_spdif_out *spdif, u32 val, in img_spdif_out_writel() argument 89 writel(val, spdif->base + reg); in img_spdif_out_writel() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/samsung/ |
| D | spdif.c | 1 /* sound/soc/samsung/spdif.c 23 #include "spdif.h" 76 * @pclk: The peri-clock pointer for spdif master operation. 104 static void spdif_snd_txctrl(struct samsung_spdif_info *spdif, int on) in spdif_snd_txctrl() argument 106 void __iomem *regs = spdif->regs; in spdif_snd_txctrl() 109 dev_dbg(spdif->dev, "Entered %s\n", __func__); in spdif_snd_txctrl() 121 struct samsung_spdif_info *spdif = to_info(cpu_dai); in spdif_set_sysclk() local 124 dev_dbg(spdif->dev, "Entered %s\n", __func__); in spdif_set_sysclk() 126 clkcon = readl(spdif->regs + CLKCON); in spdif_set_sysclk() 133 writel(clkcon, spdif->regs + CLKCON); in spdif_set_sysclk() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/samsung/ |
| D | spdif.c | 18 #include "spdif.h" 71 * @pclk: The peri-clock pointer for spdif master operation. 105 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() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/adi/ |
| D | axi-spdif.c | 52 struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai); in axi_spdif_trigger() local 70 regmap_update_bits(spdif->regmap, AXI_SPDIF_REG_CTRL, in axi_spdif_trigger() 79 struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai); in axi_spdif_hw_params() local 98 clkdiv = DIV_ROUND_CLOSEST(clk_get_rate(spdif->clk_ref), in axi_spdif_hw_params() 102 regmap_write(spdif->regmap, AXI_SPDIF_REG_STAT, stat); in axi_spdif_hw_params() 103 regmap_update_bits(spdif->regmap, AXI_SPDIF_REG_CTRL, in axi_spdif_hw_params() 111 struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai); in axi_spdif_dai_probe() local 113 snd_soc_dai_init_dma_data(dai, &spdif->dma_data, NULL); in axi_spdif_dai_probe() 121 struct axi_spdif *spdif = snd_soc_dai_get_drvdata(dai); in axi_spdif_startup() local 126 &spdif->rate_constraints); in axi_spdif_startup() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/adi/ |
| D | axi-spdif.c | 51 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 …]
|
| /kernel/linux/linux-4.19/sound/soc/rockchip/ |
| D | rockchip_spdif.c | 48 { .compatible = "rockchip,rk3066-spdif", 50 { .compatible = "rockchip,rk3188-spdif", 52 { .compatible = "rockchip,rk3228-spdif", 54 { .compatible = "rockchip,rk3288-spdif", 56 { .compatible = "rockchip,rk3328-spdif", 58 { .compatible = "rockchip,rk3366-spdif", 60 { .compatible = "rockchip,rk3368-spdif", 62 { .compatible = "rockchip,rk3399-spdif", 70 struct rk_spdif_dev *spdif = dev_get_drvdata(dev); in rk_spdif_runtime_suspend() local 72 regcache_cache_only(spdif->regmap, true); in rk_spdif_runtime_suspend() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/rockchip/ |
| D | rockchip_spdif.c | 45 { .compatible = "rockchip,rk3066-spdif", 47 { .compatible = "rockchip,rk3188-spdif", 49 { .compatible = "rockchip,rk3228-spdif", 51 { .compatible = "rockchip,rk3288-spdif", 53 { .compatible = "rockchip,rk3328-spdif", 55 { .compatible = "rockchip,rk3366-spdif", 57 { .compatible = "rockchip,rk3368-spdif", 59 { .compatible = "rockchip,rk3399-spdif", 67 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() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/sound/ |
| D | rockchip-spdif.yaml | 4 $id: http://devicetree.org/schemas/sound/rockchip-spdif.yaml# 7 title: Rockchip SPDIF transceiver 20 - const: rockchip,rk3066-spdif 21 - const: rockchip,rk3228-spdif 22 - const: rockchip,rk3328-spdif 23 - const: rockchip,rk3366-spdif 24 - const: rockchip,rk3368-spdif 25 - const: rockchip,rk3399-spdif 28 - rockchip,rk3188-spdif 29 - rockchip,rk3288-spdif [all …]
|
| D | allwinner,sun4i-a10-spdif.yaml | 4 $id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-spdif.yaml# 21 - const: allwinner,sun4i-a10-spdif 22 - const: allwinner,sun6i-a31-spdif 23 - const: allwinner,sun8i-h3-spdif 24 - const: allwinner,sun50i-h6-spdif 26 - const: allwinner,sun8i-a83t-spdif 27 - const: allwinner,sun8i-h3-spdif 29 - const: allwinner,sun50i-a64-spdif 30 - const: allwinner,sun8i-h3-spdif 46 - const: spdif [all …]
|
| D | imx-audio-spdif.txt | 5 - 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;
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/sound/ |
| D | rockchip-spdif.txt | 1 * Rockchip SPDIF transceiver 10 - "rockchip,rk3066-spdif" 11 - "rockchip,rk3188-spdif" 12 - "rockchip,rk3228-spdif" 13 - "rockchip,rk3288-spdif" 14 - "rockchip,rk3328-spdif" 15 - "rockchip,rk3366-spdif" 16 - "rockchip,rk3368-spdif" 17 - "rockchip,rk3399-spdif" 20 - interrupts: should contain the SPDIF interrupt. [all …]
|
| D | imx-audio-spdif.txt | 5 - 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;
|
| D | sunxi,sun4i-spdif.txt | 11 - "allwinner,sun4i-a10-spdif": for the Allwinner A10 SoC 12 - "allwinner,sun6i-a31-spdif": for the Allwinner A31 SoC 13 - "allwinner,sun8i-h3-spdif": for the Allwinner H3 SoC 17 - interrupts : Contains the spdif interrupt. 27 "apb" clock for the spdif bus. 28 "spdif" clock for spdif controller. 34 spdif: spdif@1c21000 { 35 compatible = "allwinner,sun4i-a10-spdif"; 39 clock-names = "apb", "spdif";
|
| D | fsl,spdif.txt | 9 - compatible : Compatible list, must contain "fsl,imx35-spdif". 13 - interrupts : Contains the spdif interrupt. 23 "core" The core clock of spdif controller. 26 list connecting to the spdif clock mux in "SPDIF 30 "spba" The spba clock is required when SPDIF is placed as a 44 spdif: spdif@2004000 { 45 compatible = "fsl,imx35-spdif";
|
| /kernel/linux/linux-5.10/sound/soc/tegra/ |
| D | tegra20_spdif.c | 3 * tegra20_spdif.c - Tegra20 SPDIF driver 25 #define DRV_NAME "tegra20-spdif" 29 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() 100 dev_err(dev, "Can't set SPDIF clock rate: %d\n", ret); in tegra20_spdif_hw_params() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/tegra/ |
| D | tegra20_spdif.c | 2 * tegra20_spdif.c - Tegra20 SPDIF driver 39 #define DRV_NAME "tegra20-spdif" 43 struct tegra20_spdif *spdif = dev_get_drvdata(dev); in tegra20_spdif_runtime_suspend() local 45 clk_disable_unprepare(spdif->clk_spdif_out); in tegra20_spdif_runtime_suspend() 52 struct tegra20_spdif *spdif = dev_get_drvdata(dev); in tegra20_spdif_runtime_resume() local 55 ret = clk_prepare_enable(spdif->clk_spdif_out); in tegra20_spdif_runtime_resume() 69 struct tegra20_spdif *spdif = snd_soc_dai_get_drvdata(dai); in tegra20_spdif_hw_params() local 84 regmap_update_bits(spdif->regmap, TEGRA20_SPDIF_CTRL, mask, val); in tegra20_spdif_hw_params() 112 ret = clk_set_rate(spdif->clk_spdif_out, spdifclock); in tegra20_spdif_hw_params() 114 dev_err(dev, "Can't set SPDIF clock rate: %d\n", ret); in tegra20_spdif_hw_params() [all …]
|
| /kernel/linux/linux-5.10/sound/pci/ca0106/ |
| D | ca0106.h | 75 #define IPR_SPDIF_IN_USER 0x00004000 /* SPDIF input user data has 16 more bits */ 76 #define IPR_SPDIF_OUT_USER 0x00002000 /* SPDIF output user data needs 16 more bits */ 77 #define IPR_SPDIF_OUT_FRAME 0x00001000 /* SPDIF frame about to start */ 84 #define IPR_SPDIF_STATUS 0x00000020 /* SPDIF status changed */ 95 #define INTE_SPDIF_IN_USER 0x00004000 /* SPDIF input user data has 16 more bits */ 96 #define INTE_SPDIF_OUT_USER 0x00002000 /* SPDIF output user data needs 16 more bits */ 97 #define INTE_SPDIF_OUT_FRAME 0x00001000 /* SPDIF frame about to start */ 104 #define INTE_SPDIF_STATUS 0x00000020 /* SPDIF status changed */ 117 #define HCFG_CAPTURE_SPDIF_BYPASS 0x04000000 /* 1 = bypass SPDIF input async SRC. */ 136 #define GPIO 0x18 /* Defaults: 005f03a3-Analog, 005f02a2-SPDIF. */ [all …]
|
| /kernel/linux/linux-4.19/sound/pci/ca0106/ |
| D | ca0106.h | 90 #define IPR_SPDIF_IN_USER 0x00004000 /* SPDIF input user data has 16 more bits */ 91 #define IPR_SPDIF_OUT_USER 0x00002000 /* SPDIF output user data needs 16 more bits */ 92 #define IPR_SPDIF_OUT_FRAME 0x00001000 /* SPDIF frame about to start */ 99 #define IPR_SPDIF_STATUS 0x00000020 /* SPDIF status changed */ 110 #define INTE_SPDIF_IN_USER 0x00004000 /* SPDIF input user data has 16 more bits */ 111 #define INTE_SPDIF_OUT_USER 0x00002000 /* SPDIF output user data needs 16 more bits */ 112 #define INTE_SPDIF_OUT_FRAME 0x00001000 /* SPDIF frame about to start */ 119 #define INTE_SPDIF_STATUS 0x00000020 /* SPDIF status changed */ 132 #define HCFG_CAPTURE_SPDIF_BYPASS 0x04000000 /* 1 = bypass SPDIF input async SRC. */ 151 #define GPIO 0x18 /* Defaults: 005f03a3-Analog, 005f02a2-SPDIF. */ [all …]
|
| /kernel/linux/linux-5.10/Documentation/sound/cards/ |
| D | img-spdif-in.rst | 2 Imagination Technologies SPDIF Input Controllers 5 The Imagination Technologies SPDIF Input controller contains the following 15 This control returns the status bits contained within the SPDIF stream that 19 * name='SPDIF In Multi Frequency Acquire',index=0 20 * name='SPDIF In Multi Frequency Acquire',index=1 21 * name='SPDIF In Multi Frequency Acquire',index=2 22 * name='SPDIF In Multi Frequency Acquire',index=3 25 rates. The active rate can be obtained by reading the 'SPDIF In Lock Frequency' 36 * name='SPDIF In Lock Frequency',index=0 41 * name='SPDIF In Lock TRK',index=0 [all …]
|
| /kernel/linux/linux-4.19/Documentation/sound/cards/ |
| D | img-spdif-in.rst | 2 Imagination Technologies SPDIF Input Controllers 5 The Imagination Technologies SPDIF Input controller contains the following 15 This control returns the status bits contained within the SPDIF stream that 19 * name='SPDIF In Multi Frequency Acquire',index=0 20 * name='SPDIF In Multi Frequency Acquire',index=1 21 * name='SPDIF In Multi Frequency Acquire',index=2 22 * name='SPDIF In Multi Frequency Acquire',index=3 25 rates. The active rate can be obtained by reading the 'SPDIF In Lock Frequency' 36 * name='SPDIF In Lock Frequency',index=0 41 * name='SPDIF In Lock TRK',index=0 [all …]
|
| /kernel/linux/linux-5.10/sound/soc/meson/ |
| D | g12a-tohdmitx.c | 83 "SPDIF A", "SPDIF B", 123 SOC_DAPM_ENUM_EXT("SPDIF Source", g12a_tohdmitx_spdif_mux_enum, 136 SND_SOC_DAPM_MUX("SPDIF SRC", SND_SOC_NOPM, 0, 0, 138 SND_SOC_DAPM_SWITCH("SPDIF OUT EN", SND_SOC_NOPM, 0, 0, 195 TOHDMITX_IN("SPDIF IN A", TOHDMITX_SPDIF_IN_A, 197 TOHDMITX_IN("SPDIF IN B", TOHDMITX_SPDIF_IN_B, 199 TOHDMITX_OUT("SPDIF OUT", TOHDMITX_SPDIF_OUT, 216 { "SPDIF SRC", "SPDIF A", "SPDIF IN A Playback" }, 217 { "SPDIF SRC", "SPDIF B", "SPDIF IN B Playback" }, 218 { "SPDIF OUT EN", "Switch", "SPDIF SRC" }, [all …]
|
| D | aiu.c | 22 "SPDIF", "I2S", 30 SOC_DAPM_ENUM("SPDIF Buffer Src", aiu_spdif_encode_sel_enum); 33 SND_SOC_DAPM_MUX("SPDIF SRC SEL", SND_SOC_NOPM, 0, 0, 39 { "SPDIF SRC SEL", "SPDIF", "SPDIF FIFO Playback" }, 40 { "SPDIF SRC SEL", "I2S", "I2S FIFO Playback" }, 41 { "SPDIF Encoder Playback", NULL, "SPDIF SRC SEL" }, 85 /* Required for the SPDIF Source control operation */ in aiu_cpu_component_probe() 126 .name = "SPDIF FIFO", 128 .stream_name = "SPDIF FIFO Playback", 153 .name = "SPDIF Encoder", [all …]
|