Home
last modified time | relevance | path

Searched +full:ssi +full:- +full:all (Results 1 – 25 of 184) sorted by relevance

12345678

/openbmc/linux/sound/soc/fsl/
H A 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
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 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
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 Dfsl_dma.c1 // 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 Drenesas,rsnd.yaml1 # 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 Dfsl,ssi.txt3 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 Domap_ssi_port.c1 // 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 Domap_ssi_core.c1 // 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 Domap_ssi.h1 /* 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 Domap_ssi_regs.h1 /* 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 Drz-ssi.c1 // 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 Dssi.c1 // 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 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 …]
/openbmc/linux/drivers/hsi/clients/
H A Dssi_protocol.c1 // 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 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 */
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 Dstm32f2xx_spi.h14 * 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 Dibex_spi_host.h16 * 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 Dmss-spi.h14 * all copies or substantial portions of the Software.
29 #include "hw/ssi/ssi.h"
33 #define TYPE_MSS_SPI "mss-spi"
H A Dpnv_spi.h6 * 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 Ddma.txt4 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 Dr8a7793.dtsi1 // 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 Dr8a7794.dtsi1 // 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 Dr8a7793.dtsi1 // 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 Dr8a7794.dtsi1 // 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 Dr8a7791.dtsi1 // 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 Dstm32f2xx_spi.c14 * 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 …]

12345678