Home
last modified time | relevance | path

Searched +full:ssi +full:- +full:dma +full:- +full:channel (Results 1 – 25 of 39) sorted by relevance

12

/linux-6.14.4/Documentation/devicetree/bindings/sound/
Dfsl,ssi.yaml1 # 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 …]
Drenesas,rsnd.txt1 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/
Dfsl_dma.c1 // 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 …]
Dp1022_rdk.c1 // 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 …]
Dfsl_ssi.c1 // 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 …]
Dfsl_utils.c1 // 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 …]
Dp1022_ds.c1 // 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/
Ddma.txt1 * 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/
Dsnps,dw-apb-ssi.yaml1 # 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/
Dr9a08g045.dtsi1 // 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 …]
Dr9a07g054.dtsi1 // 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 …]
Dr9a07g044.dtsi1 // 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 …]
Dr9a07g043.dtsi1 // 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/
Domap_ssi_port.c1 // 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 …]
Domap_ssi_core.c1 // 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/
Dimx-dma.h1 /* 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/
Dp1022si-post.dtsi36 #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/
Ddma.c1 // 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 …]
Dssi.c1 // 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 …]
Dcore.c1 // 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/
Dspi-dw-dma.c1 // 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/
Dcv18xx.dtsi1 // 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/
Drz-ssi.c1 // 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/
Dsetup-sh7780.c1 // 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/
Dimx53.dtsi1 // 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 …]

12