/Linux-v6.1/sound/soc/fsl/ |
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 13 // one FIFO which combines all valid receive slots. We cannot even select 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 */ [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 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() 46 return -EINVAL; in fsl_asoc_get_dma_channel() 52 * the CPU (SSI) device. It's all ugly and hackish, but it works (for in fsl_asoc_get_dma_channel() 55 * dai->platform name should already point to an allocated buffer. in fsl_asoc_get_dma_channel() [all …]
|
D | fsl_dma.c | 1 // SPDX-License-Identifier: GPL-2.0 7 // Copyright 2007-2010 Freescale Semiconductor, Inc. 16 #include <linux/dma-mapping.h> 72 /** fsl_dma_private: p-substream DMA data 74 * Each substream has a 1-to-1 association with a DMA channel. 76 * The link[] array is first because it needs to be aligned on a 32-byte 120 * Since each link descriptor has a 32-bit byte count field, we set 121 * period_bytes_max to the largest 32-bit number. We also have no maximum 125 * limitation in the SSI driver requires the sample rates for playback and 137 .period_bytes_max = (u32) -1, [all …]
|
/Linux-v6.1/sound/soc/sh/ |
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 */ 74 #define SSI_RATES SNDRV_PCM_RATE_8000_48000 /* 8k-44.1kHz */ 85 int fifo_sample_size; /* sample capacity of SSI FIFO */ 97 int (*transfer)(struct rz_ssi_priv *ssi, struct rz_ssi_stream *strm); 116 * The SSI supports full-duplex transmission and reception. 119 * So it is better to use as half-duplex (playing and recording 139 writel(data, (priv->base + reg)); in rz_ssi_reg_writel() 144 return readl(priv->base + reg); in rz_ssi_reg_readl() [all …]
|
/Linux-v6.1/drivers/hsi/controllers/ |
D | omap_ssi_port.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* OMAP SSI port driver. 4 * Copyright (C) 2010 Nokia Corporation. All rights reserved. 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() [all …]
|
D | omap_ssi_core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* OMAP SSI driver. 4 * Copyright (C) 2010 Nokia Corporation. All rights reserved. 17 #include <linux/dma-mapping.h> 40 struct hsi_controller *ssi = m->private; in ssi_regs_show() local 41 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_regs_show() 42 void __iomem *sys = omap_ssi->sys; in ssi_regs_show() 44 pm_runtime_get_sync(ssi->device.parent); in ssi_regs_show() 48 pm_runtime_put(ssi->device.parent); in ssi_regs_show() 55 struct hsi_controller *ssi = m->private; in ssi_gdd_regs_show() local [all …]
|
D | omap_ssi.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* OMAP SSI internal interface. 4 * Copyright (C) 2010 Nokia Corporation. All rights reserved. 23 #define SSI_BYTES_TO_FRAMES(x) ((((x) - 1) >> 2) + 1) 28 * struct omap_ssm_ctx - OMAP synchronous serial module (TX/RX) context 50 * struct omap_ssi_port - OMAP SSI port data 53 * @sst_dma: SSI transmitter physical base address 54 * @ssr_dma: SSI receiver physical base address 55 * @sst_base: SSI transmitter base address 56 * @ssr_base: SSI receiver base address [all …]
|
D | omap_ssi_regs.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* Hardware definitions for SSI. 4 * Copyright (C) 2010 Nokia Corporation. All rights reserved. 13 * SSI SYS registers 48 * SSI SST registers 75 * SSI SSR registers 95 * SSI GDD registers
|
/Linux-v6.1/Documentation/devicetree/bindings/sound/ |
D | renesas,rsnd.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Renesas R-Car Sound Driver 10 - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> 17 - items: 18 - enum: 19 - renesas,rcar_sound-r8a7778 # R-Car M1A 20 - renesas,rcar_sound-r8a7779 # R-Car H1 21 - enum: [all …]
|
D | fsl,ssi.txt | 3 The SSI is a serial device that communicates with audio codecs. It can 4 be programmed in AC97, I2S, left-justified, or right-justified modes. 7 - compatible: Compatible list, should contain one of the following 9 fsl,mpc8610-ssi 10 fsl,imx51-ssi 11 fsl,imx35-ssi 12 fsl,imx21-ssi 13 - cell-index: The SSI, <0> = SSI1, <1> = SSI2, and so on. 14 - reg: Offset and length of the register set for the device. 15 - interrupts: <a b> where a is the interrupt number and b is a [all …]
|
/Linux-v6.1/sound/soc/sh/rcar/ |
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 61 #define EN (1 << 0) /* SSI Module Enable */ 77 #define SSI_NAME "ssi" 101 #define RSND_SSI_NO_BUSIF (1 << 1) /* SSI+DMA without BUSIF */ 107 ((pos) = ((struct rsnd_ssi *)(priv)->ssi + i)); \ 110 #define rsnd_ssi_get(priv, id) ((struct rsnd_ssi *)(priv->ssi) + id) 111 #define rsnd_ssi_nr(priv) ((priv)->ssi_nr) 113 #define rsnd_ssi_is_parent(ssi, io) ((ssi) == rsnd_io_to_mod_ssip(io)) argument [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-v6.1/drivers/hsi/clients/ |
D | ssi_protocol.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Implementation of the SSI McSAAB improved protocol. 7 * Copyright (C) 2010 Nokia Corporation. All rights reserved. 44 #define SSIP_MAX_CMDS 5 /* Number of pre-allocated commands buffers */ 45 #define SSIP_BYTES_TO_FRAMES(x) ((((x) - 1) >> 2) + 1) 48 * SSI protocol command definitions 104 * struct ssi_protocol - SSI protocol (McSAAB) data 114 * @keep_alive: Workaround for SSI HW bug 135 struct timer_list keep_alive; /* wake-up workaround */ 148 /* List of ssi protocol instances */ [all …]
|
/Linux-v6.1/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 */ 60 return !strcmp(dev_name(chan->device->dev), "ipu-core"); in imx_dma_is_ipu() 65 return !strcmp(chan->device->dev->driver->name, "imx-sdma") || in imx_dma_is_general_purpose() 66 !strcmp(chan->device->dev->driver->name, "imx-dma"); in imx_dma_is_general_purpose() 70 * struct sdma_peripheral_config - SDMA config for audio 73 * @stride_fifos_src: FIFO address stride for recording, 0 means all FIFOs are [all …]
|
/Linux-v6.1/arch/arm/boot/dts/ |
D | r8a7793.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree Source for the R-Car M2-N (R8A77930) SoC 5 * Copyright (C) 2014-2015 Renesas Electronics Corporation 8 #include <dt-bindings/clock/r8a7793-cpg-mssr.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/interrupt-controller/irq.h> 11 #include <dt-bindings/power/r8a7793-sysc.h> 15 #address-cells = <2>; 16 #size-cells = <2>; 37 compatible = "fixed-clock"; [all …]
|
D | r8a7794.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree Source for the R-Car E2 (R8A77940) SoC 9 #include <dt-bindings/clock/r8a7794-cpg-mssr.h> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 #include <dt-bindings/interrupt-controller/irq.h> 12 #include <dt-bindings/power/r8a7794-sysc.h> 16 #address-cells = <2>; 17 #size-cells = <2>; 39 compatible = "fixed-clock"; 40 #clock-cells = <0>; [all …]
|
D | r8a7745.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2016-2017 Cogent Embedded Inc. 8 #include <dt-bindings/interrupt-controller/irq.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/clock/r8a7745-cpg-mssr.h> 11 #include <dt-bindings/power/r8a7745-sysc.h> 15 #address-cells = <2>; 16 #size-cells = <2>; 41 compatible = "fixed-clock"; 42 #clock-cells = <0>; [all …]
|
D | r8a7742.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <dt-bindings/clock/r8a7742-cpg-mssr.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/interrupt-controller/irq.h> 11 #include <dt-bindings/power/r8a7742-sysc.h> 15 #address-cells = <2>; 16 #size-cells = <2>; 24 compatible = "fixed-clock"; 25 #clock-cells = <0>; 26 clock-frequency = <0>; [all …]
|
D | r8a7790.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree Source for the R-Car H2 (R8A77900) SoC 6 * Copyright (C) 2013-2014 Renesas Solutions Corp. 10 #include <dt-bindings/clock/r8a7790-cpg-mssr.h> 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 #include <dt-bindings/interrupt-controller/irq.h> 13 #include <dt-bindings/power/r8a7790-sysc.h> 17 #address-cells = <2>; 18 #size-cells = <2>; 46 compatible = "fixed-clock"; [all …]
|
D | r8a7791.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree Source for the R-Car M2-W (R8A77910) SoC 5 * Copyright (C) 2013-2015 Renesas Electronics Corporation 6 * Copyright (C) 2013-2014 Renesas Solutions Corp. 10 #include <dt-bindings/clock/r8a7791-cpg-mssr.h> 11 #include <dt-bindings/interrupt-controller/arm-gic.h> 12 #include <dt-bindings/interrupt-controller/irq.h> 13 #include <dt-bindings/power/r8a7791-sysc.h> 17 #address-cells = <2>; 18 #size-cells = <2>; [all …]
|
D | r8a7743.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2016-2017 Cogent Embedded Inc. 8 #include <dt-bindings/interrupt-controller/irq.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/clock/r8a7743-cpg-mssr.h> 11 #include <dt-bindings/power/r8a7743-sysc.h> 15 #address-cells = <2>; 16 #size-cells = <2>; 24 compatible = "fixed-clock"; 25 #clock-cells = <0>; [all …]
|
D | r8a7744.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <dt-bindings/interrupt-controller/irq.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/clock/r8a7744-cpg-mssr.h> 11 #include <dt-bindings/power/r8a7744-sysc.h> 15 #address-cells = <2>; 16 #size-cells = <2>; 24 compatible = "fixed-clock"; 25 #clock-cells = <0>; 26 clock-frequency = <0>; [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/powerpc/fsl/ |
D | dma.txt | 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 14 - cell-index : controller index. 0 for controller @ 0x8100 15 - interrupts : interrupt specifier for DMA IRQ 17 - DMA channel nodes: 18 - compatible : must include "fsl,elo-dma-channel" 20 - reg : DMA channel specific registers [all …]
|
/Linux-v6.1/arch/arm64/boot/dts/renesas/ |
D | r8a774c0.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2018-2019 Renesas Electronics Corp. 8 #include <dt-bindings/clock/r8a774c0-cpg-mssr.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/power/r8a774c0-sysc.h> 14 #address-cells = <2>; 15 #size-cells = <2>; 23 compatible = "fixed-clock"; 24 #clock-cells = <0>; 25 clock-frequency = <0>; [all …]
|
D | r8a77990.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree Source for the R-Car E3 (R8A77990) SoC 5 * Copyright (C) 2018-2019 Renesas Electronics Corp. 8 #include <dt-bindings/clock/r8a77990-cpg-mssr.h> 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 #include <dt-bindings/power/r8a77990-sysc.h> 14 #address-cells = <2>; 15 #size-cells = <2>; 23 compatible = "fixed-clock"; 24 #clock-cells = <0>; [all …]
|