/linux-6.14.4/Documentation/devicetree/bindings/sound/ |
D | fsl,ssi.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/fsl,ssi.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Shengjiu Wang <[email protected]> 13 Notes on fsl,playback-dma and fsl,capture-dma 14 On SOCs that have an SSI, specific DMA channels are hard-wired for playback 15 and capture. On the MPC8610, for example, SSI1 must use DMA channel 0 for 16 playback and DMA channel 1 for capture. SSI2 must use DMA channel 2 for 17 playback and DMA channel 3 for capture. The developer can choose which [all …]
|
D | renesas,rsnd.txt | 1 Renesas R-Car sound 7 Renesas R-Car and RZ/G sound is constructed from below modules 11 - SRC : Sampling Rate Converter 12 - CMD 13 - CTU : Channel Transfer Unit 14 - MIX : Mixer 15 - DVC : Digital Volume and Mute Function 17 SSI : Serial Sound Interface 22 * Multi channel 25 Multi channel is supported by Multi-SSI, or TDM-SSI. [all …]
|
/linux-6.14.4/sound/soc/fsl/ |
D | fsl_dma.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Freescale DMA ALSA SoC PCM driver 7 // Copyright 2007-2010 Freescale Semiconductor, Inc. 9 // This driver implements ASoC support for the Elo DMA controller, which is 10 // the DMA controller on Freescale 83xx, 85xx, and 86xx SOCs. In ALSA terms, 11 // the PCM driver is what handles the DMA buffer. 16 #include <linux/dma-mapping.h> 39 * The formats that the DMA controller supports, which is anything 61 struct ccsr_dma_channel __iomem *channel; member 67 * The number of DMA links to use. Two is the bare minimum, but if you [all …]
|
D | p1022_rdk.c | 1 // SPDX-License-Identifier: GPL-2.0 28 /* P1022-specific PMUXCR and DMUXCR bit definitions */ 37 #define CCSR_GUTS_DMUXCR_PAD 1 /* DMA controller/channel set to pad */ 38 #define CCSR_GUTS_DMUXCR_SSI 2 /* DMA controller/channel set to SSI */ 44 * channel on each DMA controller. Rather than have a bunch of repetitive 49 * co: The DMA controller (0 or 1) 50 * ch: The channel on the DMA controller (0, 1, 2, or 3) 56 unsigned int shift = 16 + (8 * (1 - co) + 2 * (3 - ch)); in guts_set_dmuxcr() 58 clrsetbits_be32(&guts->dmuxcr, 3 << shift, device << shift); in guts_set_dmuxcr() 65 * machine_data: machine-specific ASoC device data [all …]
|
D | fsl_ssi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Freescale SSI ALSA SoC Digital Audio Interface (DAI) driver 7 // Copyright 2007-2010 Freescale Semiconductor, Inc. 9 // Some notes why imx-pcm-fiq is used instead of DMA on some boards: 11 // The i.MX SSI core has some nasty limitations in AC97 mode. While most 16 // we receive in our (PCM-) data stream. The only chance we have is to 43 #include <linux/dma/imx-dma.h> 53 #include "imx-pcm.h" 55 /* Define RX and TX to index ssi->regvals array; Can be 0 or 1 only */ 60 * FSLSSI_I2S_FORMATS: audio formats supported by the SSI [all …]
|
D | fsl_utils.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <linux/clk-provider.h> 18 * fsl_asoc_get_dma_channel - determine the dma channel for a SSI node 20 * @ssi_np: pointer to the SSI device tree node 21 * @name: name of the phandle pointing to the dma channel 23 * @dma_channel_id: dma channel id to be returned 24 * @dma_id: dma id to be returned 26 * This function determines the dma and channel id for given SSI node. It 42 return -EINVAL; in fsl_asoc_get_dma_channel() 44 if (!of_device_is_compatible(dma_channel_np, "fsl,ssi-dma-channel")) { in fsl_asoc_get_dma_channel() [all …]
|
D | p1022_ds.c | 1 // SPDX-License-Identifier: GPL-2.0 21 /* P1022-specific PMUXCR and DMUXCR bit definitions */ 30 #define CCSR_GUTS_DMUXCR_PAD 1 /* DMA controller/channel set to pad */ 31 #define CCSR_GUTS_DMUXCR_SSI 2 /* DMA controller/channel set to SSI */ 37 * channel on each DMA controller. Rather than have a bunch of repetitive 42 * co: The DMA controller (0 or 1) 43 * ch: The channel on the DMA controller (0, 1, 2, or 3) 49 unsigned int shift = 16 + (8 * (1 - co) + 2 * (3 - ch)); in guts_set_dmuxcr() 51 clrsetbits_be32(&guts->dmuxcr, 3 << shift, device << shift); in guts_set_dmuxcr() 58 * machine_data: machine-specific ASoC device data [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/powerpc/fsl/ |
D | dma.txt | 1 * Freescale DMA Controllers 3 ** Freescale Elo DMA Controller 4 This is a little-endian 4-channel DMA controller, used in Freescale mpc83xx 9 - compatible : must include "fsl,elo-dma" 10 - reg : DMA General Status Register, i.e. DGSR which contains 11 status for all the 4 DMA channels 12 - ranges : describes the mapping between the address space of the 13 DMA channels and the address space of the DMA controller 14 - cell-index : controller index. 0 for controller @ 0x8100 15 - interrupts : interrupt specifier for DMA IRQ [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/spi/ |
D | snps,dw-apb-ssi.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/spi/snps,dw-apb-ssi.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Mark Brown <[email protected]> 13 - $ref: spi-controller.yaml# 14 - if: 19 - mscc,ocelot-spi 20 - mscc,jaguar2-spi 25 - if: [all …]
|
/linux-6.14.4/arch/arm64/boot/dts/renesas/ |
D | r9a08g045.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 9 #include <dt-bindings/clock/r9a08g045-cpg.h> 10 #include <dt-bindings/clock/renesas,r9a08g045-vbattb.h> 14 #address-cells = <2>; 15 #size-cells = <2>; 17 audio_clk1: audio1-clk { 18 compatible = "fixed-clock"; 19 #clock-cells = <0>; 21 clock-frequency = <0>; [all …]
|
D | r9a07g054.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 9 #include <dt-bindings/clock/r9a07g054-cpg.h> 13 #address-cells = <2>; 14 #size-cells = <2>; 16 audio_clk1: audio1-clk { 17 compatible = "fixed-clock"; 18 #clock-cells = <0>; 20 clock-frequency = <0>; 23 audio_clk2: audio2-clk { [all …]
|
D | r9a07g044.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 9 #include <dt-bindings/clock/r9a07g044-cpg.h> 13 #address-cells = <2>; 14 #size-cells = <2>; 16 audio_clk1: audio1-clk { 17 compatible = "fixed-clock"; 18 #clock-cells = <0>; 20 clock-frequency = <0>; 23 audio_clk2: audio2-clk { [all …]
|
D | r9a07g043.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 8 #include <dt-bindings/clock/r9a07g043-cpg.h> 12 #address-cells = <2>; 13 #size-cells = <2>; 15 audio_clk1: audio1-clk { 16 compatible = "fixed-clock"; 17 #clock-cells = <0>; 19 clock-frequency = <0>; 22 audio_clk2: audio2-clk { 23 compatible = "fixed-clock"; [all …]
|
/linux-6.14.4/drivers/hsi/controllers/ |
D | omap_ssi_port.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* OMAP SSI port driver. 12 #include <linux/dma-mapping.h> 36 return gpiod_get_value(omap_port->wake_gpio); in ssi_wakein() 44 debugfs_remove_recursive(omap_port->dir); in ssi_debug_remove_port() 49 struct hsi_port *port = m->private; in ssi_port_regs_show() 51 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_port_regs_show() local 52 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_port_regs_show() 53 void __iomem *base = omap_ssi->sys; in ssi_port_regs_show() 56 pm_runtime_get_sync(omap_port->pdev); in ssi_port_regs_show() [all …]
|
D | omap_ssi_core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* OMAP SSI driver. 17 #include <linux/dma-mapping.h> 42 struct hsi_controller *ssi = m->private; in ssi_regs_show() local 43 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_regs_show() 44 void __iomem *sys = omap_ssi->sys; in ssi_regs_show() 46 pm_runtime_get_sync(ssi->device.parent); in ssi_regs_show() 50 pm_runtime_put(ssi->device.parent); in ssi_regs_show() 57 struct hsi_controller *ssi = m->private; in ssi_gdd_regs_show() local 58 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_gdd_regs_show() [all …]
|
/linux-6.14.4/include/linux/dma/ |
D | imx-dma.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright 2004-2009 Freescale Semiconductor, Inc. All Rights Reserved. 17 IMX_DMATYPE_SSI, /* MCU domain SSI */ 18 IMX_DMATYPE_SSI_SP, /* Shared SSI */ 39 IMX_DMATYPE_SSI_DUAL, /* SSI Dual FIFO */ 54 int dma_request; /* DMA request line */ 55 int dma_request2; /* secondary DMA request line */ 62 return !strcmp(dev_name(chan->device->dev), "ipu-core"); in imx_dma_is_ipu() 67 return !strcmp(chan->device->dev->driver->name, "imx-sdma") || in imx_dma_is_general_purpose() 68 !strcmp(chan->device->dev->driver->name, "imx-dma"); in imx_dma_is_general_purpose() [all …]
|
/linux-6.14.4/arch/powerpc/boot/dts/fsl/ |
D | p1022si-post.dtsi | 36 #address-cells = <2>; 37 #size-cells = <1>; 39 * The localbus on the P1022 is not a simple-bus because of the eLBC 42 compatible = "fsl,p1022-elbc", "fsl,elbc"; 49 compatible = "fsl,mpc8548-pcie"; 51 #size-cells = <2>; 52 #address-cells = <3>; 53 bus-range = <0 255>; 54 clock-frequency = <33333333>; 59 #interrupt-cells = <1>; [all …]
|
/linux-6.14.4/sound/soc/renesas/rcar/ |
D | dma.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Renesas R-Car Audio DMAC support 42 } dma; member 52 #define rsnd_priv_to_dmac(p) ((struct rsnd_dma_ctrl *)(p)->dma) 54 #define rsnd_dma_to_dmaen(dma) (&(dma)->dma.en) argument 55 #define rsnd_dma_to_dmapp(dma) (&(dma)->dma.pp) argument 86 return snd_dmaengine_pcm_trigger(io->substream, SNDRV_PCM_TRIGGER_STOP); in rsnd_dmaen_stop() 93 struct rsnd_dma *dma = rsnd_mod_to_dma(mod); in rsnd_dmaen_cleanup() local 94 struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma); in rsnd_dmaen_cleanup() 101 if (dmaen->chan) in rsnd_dmaen_cleanup() [all …]
|
D | ssi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Renesas R-Car SSIU/SSI support 13 * SSI interrupt status debug message when debugging 30 #define DMEN (1u << 28) /* DMA Enable */ 63 #define EN (1 << 0) /* SSI Module Enable */ 79 #define SSI_NAME "ssi" 103 #define RSND_SSI_NO_BUSIF (1 << 1) /* SSI+DMA without BUSIF */ 109 ((pos) = ((struct rsnd_ssi *)(priv)->ssi + i)); \ 112 #define rsnd_ssi_get(priv, id) ((struct rsnd_ssi *)(priv->ssi) + id) 113 #define rsnd_ssi_nr(priv) ((priv)->ssi_nr) [all …]
|
D | core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Renesas R-Car SRU/SCU/SSIU/SSI support 12 * Renesas R-Car sound device structure 17 * - SRC : Sampling Rate Converter 18 * - CMD 19 * - CTU : Channel Count Conversion Unit 20 * - MIX : Mixer 21 * - DVC : Digital Volume and Mute Function 22 * - SSI : Serial Sound Interface 27 * - SRC : Sampling Rate Converter [all …]
|
/linux-6.14.4/drivers/spi/ |
D | spi-dw-dma.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Special handling for DW DMA core 9 #include <linux/dma-mapping.h> 15 #include <linux/platform_data/dma-dw.h> 19 #include "spi-dw.h" 30 if (s->dma_dev != chan->device->dev) in dw_spi_dma_chan_filter() 33 chan->private = s; in dw_spi_dma_chan_filter() 43 def_burst = dws->fifo_len / 2; in dw_spi_dma_maxburst_init() 45 ret = dma_get_slave_caps(dws->rxchan, &caps); in dw_spi_dma_maxburst_init() 51 dws->rxburst = min(max_burst, def_burst); in dw_spi_dma_maxburst_init() [all …]
|
/linux-6.14.4/arch/riscv/boot/dts/sophgo/ |
D | cv18xx.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 7 #include <dt-bindings/clock/sophgo,cv1800.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/interrupt-controller/irq.h> 12 #address-cells = <1>; 13 #size-cells = <1>; 16 #address-cells = <1>; 17 #size-cells = <0>; 18 timebase-frequency = <25000000>; 24 d-cache-block-size = <64>; [all …]
|
/linux-6.14.4/sound/soc/renesas/ |
D | rz-ssi.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Renesas RZ/G2L ASoC Serial Sound Interface (SSIF-2) Driver 28 /* SSI REGISTER BITS */ 75 #define SSI_RATES SNDRV_PCM_RATE_8000_48000 /* 8k-48kHz */ 86 int fifo_sample_size; /* sample capacity of SSI FIFO */ 87 int dma_buffer_pos; /* The address for the next DMA descriptor */ 98 int (*transfer)(struct rz_ssi_priv *ssi, struct rz_ssi_stream *strm); 117 * The SSI supports full-duplex transmission and reception. 118 * However, if an error occurs, channel reset (both transmission 120 * So it is better to use as half-duplex (playing and recording [all …]
|
/linux-6.14.4/arch/sh/kernel/cpu/sh4a/ |
D | setup-sh7780.c | 1 // SPDX-License-Identifier: GPL-2.0 15 #include <cpu/dma-register.h> 30 .name = "sh-sci", 51 .name = "sh-sci", 72 .name = "sh-tmu", 93 .name = "sh-tmu", 105 .end = 0xffe80000 + 0x58 - 1, 116 .name = "sh-rtc", 117 .id = -1, 122 /* DMA */ [all …]
|
/linux-6.14.4/arch/arm/boot/dts/nxp/imx/ |
D | imx53.dtsi | 1 // SPDX-License-Identifier: GPL-2.0+ 6 #include "imx53-pinfunc.h" 7 #include <dt-bindings/clock/imx5-clock.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/interrupt-controller/irq.h> 13 #address-cells = <1>; 14 #size-cells = <1>; 17 * pre-existing /chosen node to be available to insert the 50 #address-cells = <1>; [all …]
|