/openbmc/linux/sound/soc/fsl/ |
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
/openbmc/linux/Documentation/devicetree/bindings/sound/ |
H A 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> 13 port-def: 14 $ref: audio-graph-port.yaml#/definitions/port-base 17 "^endpoint(@[0-9a-f]+)?": 18 $ref: audio-graph-port.yaml#/definitions/endpoint-base 21 $ref: /schemas/types.yaml#/definitions/phandle-array [all …]
|
H A 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 …]
|
/openbmc/linux/drivers/hsi/controllers/ |
H A 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 …]
|
H A 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> 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 [all …]
|
H A 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 …]
|
H A 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
|
/openbmc/linux/sound/soc/sh/ |
H A 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); 117 * The SSI supports full-duplex transmission and reception. 120 * So it is better to use as half-duplex (playing and recording 140 writel(data, (priv->base + reg)); in rz_ssi_reg_writel() 145 return readl(priv->base + reg); in rz_ssi_reg_readl() [all …]
|
/openbmc/linux/sound/soc/sh/rcar/ |
H A 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 …]
|
H A 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 …]
|
/openbmc/linux/drivers/hsi/clients/ |
H A 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. 42 #define SSIP_MAX_CMDS 5 /* Number of pre-allocated commands buffers */ 43 #define SSIP_BYTES_TO_FRAMES(x) ((((x) - 1) >> 2) + 1) 46 * SSI protocol command definitions 102 * struct ssi_protocol - SSI protocol (McSAAB) data 112 * @keep_alive: Workaround for SSI HW bug 133 struct timer_list keep_alive; /* wake-up workaround */ 146 /* List of ssi protocol instances */ [all …]
|
/openbmc/linux/include/linux/dma/ |
H A 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 */ 61 return !strcmp(dev_name(chan->device->dev), "ipu-core"); in imx_dma_is_ipu() 66 return !strcmp(chan->device->dev->driver->name, "imx-sdma") || in imx_dma_is_general_purpose() 67 !strcmp(chan->device->dev->driver->name, "imx-dma"); in imx_dma_is_general_purpose() 71 * struct sdma_peripheral_config - SDMA config for audio 74 * @stride_fifos_src: FIFO address stride for recording, 0 means all FIFOs are [all …]
|
/openbmc/qemu/include/hw/ssi/ |
H A D | stm32f2xx_spi.h | 14 * all copies or substantial portions of the Software. 29 #include "hw/ssi/ssi.h" 47 #define TYPE_STM32F2XX_SPI "stm32f2xx-spi" 68 SSIBus *ssi; member
|
H A D | ibex_spi_host.h | 16 * all copies or substantial portions of the Software. 31 #include "hw/ssi/ssi.h" 36 #define TYPE_IBEX_SPI_HOST "ibex-spi" 76 /* Multi-reg that sets config opts per CS */ 86 SSIBus *ssi; member
|
H A D | mss-spi.h | 14 * all copies or substantial portions of the Software. 29 #include "hw/ssi/ssi.h" 33 #define TYPE_MSS_SPI "mss-spi"
|
H A D | pnv_spi.h | 6 * SPDX-License-Identifier: GPL-2.0-or-later 12 * All SPI function control is mapped into the SPI register space to enable 16 * performs serialization and de-serialization according to the control by 24 #include "hw/ssi/ssi.h" 27 #define TYPE_PNV_SPI "pnv-spi" 33 #define TYPE_PNV_SPI_BUS "pnv-spi-bus"
|
/openbmc/linux/Documentation/devicetree/bindings/powerpc/fsl/ |
H A 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 …]
|
/openbmc/linux/arch/arm/boot/dts/renesas/ |
H A 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 …]
|
H A 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 …]
|
/openbmc/u-boot/arch/arm/dts/ |
H A D | r8a7793.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 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"; 38 #clock-cells = <0>; [all …]
|
H A D | r8a7794.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 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>; 41 clock-frequency = <0>; [all …]
|
H A D | r8a7791.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 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>; 45 compatible = "fixed-clock"; [all …]
|
/openbmc/qemu/hw/ssi/ |
H A D | stm32f2xx_spi.c | 14 * all copies or substantial portions of the Software. 28 #include "hw/ssi/stm32f2xx_spi.h" 47 s->spi_cr1 = 0x00000000; in stm32f2xx_spi_reset() 48 s->spi_cr2 = 0x00000000; in stm32f2xx_spi_reset() 49 s->spi_sr = 0x0000000A; in stm32f2xx_spi_reset() 50 s->spi_dr = 0x0000000C; in stm32f2xx_spi_reset() 51 s->spi_crcpr = 0x00000007; in stm32f2xx_spi_reset() 52 s->spi_rxcrcr = 0x00000000; in stm32f2xx_spi_reset() 53 s->spi_txcrcr = 0x00000000; in stm32f2xx_spi_reset() 54 s->spi_i2scfgr = 0x00000000; in stm32f2xx_spi_reset() [all …]
|