| /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-6.6/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-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-6.6/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-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-6.6/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-6.6/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", 61 { .compatible = "rockchip,rk3568-spdif", 69 struct rk_spdif_dev *spdif = dev_get_drvdata(dev); in rk_spdif_runtime_suspend() local [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-6.6/sound/soc/tegra/ |
| D | tegra20_spdif.c | 3 * tegra20_spdif.c - Tegra20 SPDIF driver 30 struct tegra20_spdif *spdif = dev_get_drvdata(dev); in tegra20_spdif_runtime_suspend() local 32 regcache_cache_only(spdif->regmap, true); in tegra20_spdif_runtime_suspend() 34 clk_disable_unprepare(spdif->clk_spdif_out); in tegra20_spdif_runtime_suspend() 41 struct tegra20_spdif *spdif = dev_get_drvdata(dev); in tegra20_spdif_runtime_resume() local 44 ret = reset_control_assert(spdif->reset); in tegra20_spdif_runtime_resume() 48 ret = clk_prepare_enable(spdif->clk_spdif_out); in tegra20_spdif_runtime_resume() 56 ret = reset_control_deassert(spdif->reset); in tegra20_spdif_runtime_resume() 60 regcache_cache_only(spdif->regmap, false); in tegra20_spdif_runtime_resume() 61 regcache_mark_dirty(spdif->regmap); in tegra20_spdif_runtime_resume() [all …]
|
| /kernel/linux/linux-6.6/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 26 - const: rockchip,rk3568-spdif 29 - rockchip,rk3128-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;
|
| D | fsl,spdif.yaml | 4 $id: http://devicetree.org/schemas/sound/fsl,spdif.yaml# 20 - fsl,imx35-spdif 21 - fsl,vf610-spdif 22 - fsl,imx6sx-spdif 23 - fsl,imx8qm-spdif 24 - fsl,imx8qxp-spdif 25 - fsl,imx8mq-spdif 26 - fsl,imx8mm-spdif 27 - fsl,imx8mn-spdif 28 - fsl,imx8ulp-spdif [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-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-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-6.6/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 CA0106_GPIO 0x18 /* Defaults: 005f03a3-Analog, 005f02a2-SPDIF. */ [all …]
|
| /kernel/linux/linux-6.6/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/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-6.6/sound/soc/meson/ |
| 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", 150 .name = "SPDIF Encoder", [all …]
|
| /kernel/linux/linux-6.6/sound/soc/fsl/ |
| D | fsl_spdif.h | 18 #define REG_SPDIF_SCR 0x0 /* SPDIF Configuration Register */ 39 #define REG_SPDIF_SRCCA_31_0 0x60 /* SPDIF receive C channel register, bits 31-0 */ 40 #define REG_SPDIF_SRCCA_63_32 0x64 /* SPDIF receive C channel register, bits 63-32 */ 41 #define REG_SPDIF_SRCCA_95_64 0x68 /* SPDIF receive C channel register, bits 95-64 */ 42 #define REG_SPDIF_SRCCA_127_96 0x6C /* SPDIF receive C channel register, bits 127-96 */ 43 #define REG_SPDIF_SRCCA_159_128 0x70 /* SPDIF receive C channel register, bits 159-128 */ 44 #define REG_SPDIF_SRCCA_191_160 0x74 /* SPDIF receive C channel register, bits 191-160 */ 45 #define REG_SPDIF_STCCA_31_0 0x78 /* SPDIF transmit C channel register, bits 31-0 */ 46 #define REG_SPDIF_STCCA_63_32 0x7C /* SPDIF transmit C channel register, bits 63-32 */ 47 #define REG_SPDIF_STCCA_95_64 0x80 /* SPDIF transmit C channel register, bits 95-64 */ [all …]
|