Home
last modified time | relevance | path

Searched full:ssi (Results 1 – 25 of 282) sorted by relevance

12345678910>>...12

/Linux-v6.1/drivers/hsi/clients/
Dssi_protocol.c5 * Implementation of the SSI McSAAB improved protocol.
48 * SSI protocol command definitions
104 * struct ssi_protocol - SSI protocol (McSAAB) data
114 * @keep_alive: Workaround for SSI HW bug
148 /* List of ssi protocol instances */
201 static struct hsi_msg *ssip_alloc_data(struct ssi_protocol *ssi, in ssip_alloc_data() argument
211 msg->channel = ssi->channel_id_data; in ssip_alloc_data()
219 struct ssi_protocol *ssi = hsi_client_drvdata(msg->cl); in ssip_release_cmd() local
222 spin_lock_bh(&ssi->lock); in ssip_release_cmd()
223 list_add_tail(&msg->link, &ssi->cmdqueue); in ssip_release_cmd()
[all …]
DKconfig28 tristate "SSI protocol"
31 If you say Y here, you will enable the SSI protocol aka McSAAB.
36 tristate "HSI/SSI character driver"
39 If you say Y here, you will enable the HSI/SSI character driver.
41 serial communication with the cellular modem over HSI/SSI bus.
/Linux-v6.1/sound/soc/sh/
Drz-ssi.c28 /* SSI REGISTER BITS */
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.
165 static inline bool rz_ssi_stream_is_play(struct rz_ssi_priv *ssi, in rz_ssi_stream_is_play() argument
172 rz_ssi_stream_get(struct rz_ssi_priv *ssi, struct snd_pcm_substream *substream) in rz_ssi_stream_get() argument
174 struct rz_ssi_stream *stream = &ssi->playback; in rz_ssi_stream_get()
177 stream = &ssi->capture; in rz_ssi_stream_get()
182 static inline bool rz_ssi_is_dma_enabled(struct rz_ssi_priv *ssi) in rz_ssi_is_dma_enabled() argument
184 return (ssi->playback.dma_ch && (ssi->dma_rt || ssi->capture.dma_ch)); in rz_ssi_is_dma_enabled()
[all …]
Dssi.c8 // enable SSI output pins!
12 * The SSI unit has only one physical data line, so full duplex is
14 * other SSI unit for recording; however the SH7780 has only 1 SSI
18 * The SSI features "compressed mode": in this mode it continuously
57 #define CR_MUTE (1 << 3) /* SSI mute */
60 #define CR_EN (1 << 0) /* enable SSI */
62 #define SSIREG(reg) (*(unsigned long *)(ssi->mmio + (reg)))
86 * track usage of the SSI; it is simplex-only so prevent attempts of
92 struct ssi_priv *ssi = &ssi_cpu_data[dai->id]; in ssi_startup() local
93 if (ssi->inuse) { in ssi_startup()
[all …]
DMakefile8 snd-soc-ssi-objs := ssi.o
12 obj-$(CONFIG_SND_SOC_SH4_SSI) += snd-soc-ssi.o
27 snd-soc-rz-ssi-objs := rz-ssi.o
28 obj-$(CONFIG_SND_SOC_RZ) += snd-soc-rz-ssi.o
/Linux-v6.1/sound/soc/fsl/
Dfsl_ssi.c3 // Freescale SSI ALSA SoC Digital Audio Interface (DAI) driver
11 // The i.MX SSI core has some nasty limitations in AC97 mode. While most
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
62 * The SSI has a limitation in that the samples must be in the same byte
91 * - SSI inputs external bit clock and outputs frame sync clock -- CBM_CFS
201 bool imx21regs; /* imx21-class SSI - no SACC{ST,EN,DIS} regs */
207 * struct fsl_ssi - per-SSI private data
209 * @irq: IRQ of this SSI
220 * @fifo_depth: Depth of the SSI FIFOs
[all …]
Dfsl_ssi.h3 * fsl_ssi.h - ALSA SSI interface for the Freescale MPC8610 and i.MX SoC
13 /* -- SSI Register Map -- */
15 /* SSI Transmit Data Register 0 */
17 /* SSI Transmit Data Register 1 */
19 /* SSI Receive Data Register 0 */
21 /* SSI Receive Data Register 1 */
23 /* SSI Control Register */
25 /* SSI Interrupt Status Register */
27 /* SSI Interrupt Enable Register */
29 /* SSI Transmit Configuration Register */
[all …]
Dp1022_rdk.c38 #define CCSR_GUTS_DMUXCR_SSI 2 /* DMA controller/channel set to SSI */
101 /* Enable SSI Tx signal */ in p1022_rdk_machine_probe()
105 /* Enable SSI Rx signal */ in p1022_rdk_machine_probe()
109 /* Enable DMA Channel for SSI */ in p1022_rdk_machine_probe()
158 * This function is called to remove the sound device for one SSI. We
194 * Although this is a machine driver, the SSI node is the "master" node with
196 * device for each new SSI node that has a codec attached.
201 /* ssi_pdev is the platform device for the SSI node that probed us */ in p1022_rdk_probe()
210 /* Find the codec node for this SSI. */ in p1022_rdk_probe()
252 * We register two DAIs per SSI, one for playback and the other for in p1022_rdk_probe()
[all …]
/Linux-v6.1/drivers/hsi/controllers/
Domap_ssi_core.c2 /* OMAP SSI driver.
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()
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
56 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_gdd_regs_show()
61 pm_runtime_get_sync(ssi->device.parent); in ssi_gdd_regs_show()
102 pm_runtime_put(ssi->device.parent); in ssi_gdd_regs_show()
110 static int ssi_debug_add_ctrl(struct hsi_controller *ssi) in ssi_debug_add_ctrl() argument
[all …]
Domap_ssi_port.c2 /* OMAP SSI port driver.
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()
193 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_claim_lch() local
194 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_claim_lch()
211 struct hsi_controller *ssi = to_hsi_controller(port->device.parent); in ssi_start_dma() local
212 struct omap_ssi_controller *omap_ssi = hsi_controller_drvdata(ssi); in ssi_start_dma()
231 err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents, in ssi_start_dma()
234 dev_dbg(&ssi->device, "DMA map SG failed !\n"); in ssi_start_dma()
248 err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents, in ssi_start_dma()
[all …]
Domap_ssi.h2 /* OMAP SSI internal interface.
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
58 * @lock: Spin lock to serialize access to the SSI port
97 /* OMAP SSI port context */
119 * struct omap_ssi_controller - OMAP SSI controller data
121 * @sys: SSI I/O base address
[all …]
DKconfig8 tristate "OMAP SSI hardware driver"
12 SSI is a legacy version of HSI. It is usually used to connect
14 If you say Y here, you will enable the OMAP SSI hardware driver.
/Linux-v6.1/sound/soc/sh/rcar/
Dssi.c3 // 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)
113 #define rsnd_ssi_is_parent(ssi, io) ((ssi) == rsnd_io_to_mod_ssip(io)) argument
123 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); in rsnd_ssi_use_busif() local
129 if (!(rsnd_flags_has(ssi, RSND_SSI_NO_BUSIF))) in rsnd_ssi_use_busif()
[all …]
Ddma.c382 struct rsnd_mod *ssi = rsnd_io_to_mod_ssi(io); in rsnd_dmapp_get_id() local
390 if ((mod == ssi) || in rsnd_dmapp_get_id()
558 * SSI : 0xec541000 / 0xec241008 / 0xec24100c
612 /* SSI */ in rsnd_gen2_dma_addr()
614 {{{ RDMA_SSI_O_N(ssi, id), 0 }, in rsnd_gen2_dma_addr()
615 { RDMA_SSIU_O_P(ssi, id, busif), 0 }, in rsnd_gen2_dma_addr()
616 { RDMA_SSIU_O_P(ssi, id, busif), 0 } }, in rsnd_gen2_dma_addr()
618 {{ 0, RDMA_SSI_I_N(ssi, id) }, in rsnd_gen2_dma_addr()
619 { 0, RDMA_SSIU_I_P(ssi, id, busif) }, in rsnd_gen2_dma_addr()
620 { 0, RDMA_SSIU_I_P(ssi, id, busif) } } in rsnd_gen2_dma_addr()
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/sound/
Drenesas,rz-ssi.yaml4 $id: http://devicetree.org/schemas/sound/renesas,rz-ssi.yaml#
16 - renesas,r9a07g043-ssi # RZ/G2UL
17 - renesas,r9a07g044-ssi # RZ/G2{L,LC}
18 - renesas,r9a07g054-ssi # RZ/V2L
19 - const: renesas,rz-ssi
39 - const: ssi
55 The second cell specifies the encoded MID/RID values of the SSI port
58 bits[0:9] - Specifies MID/RID value of a SSI channel as below
59 MID/RID value of SSI rx0 = 0x256
60 MID/RID value of SSI tx0 = 0x255
[all …]
Dfsl,ssi.txt3 The SSI is a serial device that communicates with audio codecs. It can
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.
23 - clocks: "ipg" - Required clock for the SSI unit
24 "baud" - Required clock for SSI master mode. Otherwise this
33 codec connected to this SSI. This node is typically
37 where an incompatible codec is connected to this SSI, e.g.
[all …]
Drenesas,rsnd.yaml97 description: References to SSI/SRC/MIX/CTU/DVC/AUDIO_CLK clocks.
107 - const: ssi-all
108 - pattern: '^ssi\.[0-9]$'
209 rcar_sound,ssi:
210 description: SSI subnode.
213 "^ssi-[0-9]$":
239 description: BUSIF is not used when [mem -> SSI] via DMA case
291 - ssi
304 - ssi
317 <0xec541000 0x1280>, /* SSI */
[all …]
Drenesas,rsnd.txt17 SSI : Serial Sound Interface
25 Multi channel is supported by Multi-SSI, or TDM-SSI.
27 Multi-SSI : 6ch case, you can use stereo x 3 SSI
28 TDM-SSI : 6ch case, you can use TDM
185 But you can't use it if SSI was PIO mode.
186 In DMA mode, you can select not to use SSIU by using "no-busif" via SSI.
192 and these sounds will be merged SSIU/SSI.
211 * SSI (Serial Sound Interface)
217 Note: The system will drop non-SSI modules in PIO mode
235 Each SSI can share WS pin. It is based on platform.
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/hsi/
Domap-ssi.txt1 OMAP SSI controller bindings
3 OMAP3's Synchronous Serial Interface (SSI) controller implements a
9 - compatible: Should include "ti,omap3-ssi" or "ti,omap4-hsi"
27 Each port is represented as a sub-node of the ti,omap3-ssi device.
31 ti,omap3-ssi-port (applicable to OMAP34xx devices)
38 - ti,ssi-cawake-gpio: Defines which GPIO pin is used to signify CAWAKE
49 ssi-controller@48058000 {
50 compatible = "ti,omap3-ssi";
53 ti,hwmods = "ssi";
74 ssi-port@4805a000 {
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/spi/
Dsnps,dw-apb-ssi.yaml4 $id: http://devicetree.org/schemas/spi/snps,dw-apb-ssi.yaml#
30 - baikal,bt1-sys-ssi
46 - snps,dw-apb-ssi
47 - snps,dwc-ssi-1.01a
53 - const: snps,dw-apb-ssi
57 const: amazon,alpine-dw-apb-ssi
61 - const: snps,dw-apb-ssi
63 const: intel,keembay-ssi
65 const: intel,thunderbay-ssi
67 const: baikal,bt1-ssi
[all …]
/Linux-v6.1/arch/mips/boot/dts/ingenic/
Dcu1000-neo.dts68 &ssi {
192 pins_ssi: ssi {
193 function = "ssi";
194 groups = "ssi-dt-d", "ssi-dr-d", "ssi-clk-d", "ssi-ce0-d";
/Linux-v6.1/arch/arm/boot/dts/
Dr8a7778.dtsi251 <0xffd91000 0x240>, /* SSI */
273 clock-names = "ssi.8", "ssi.7", "ssi.6", "ssi.5", "ssi.4",
274 "ssi.3", "ssi.2", "ssi.1", "ssi.0",
291 rcar_sound,ssi {
292 ssi3: ssi-3 { interrupts = <GIC_SPI 0x85 IRQ_TYPE_LEVEL_HIGH>; };
293 ssi4: ssi-4 { interrupts = <GIC_SPI 0x85 IRQ_TYPE_LEVEL_HIGH>; };
294 ssi5: ssi-5 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; };
295 ssi6: ssi-6 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; };
296 ssi7: ssi-7 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; };
297 ssi8: ssi-8 { interrupts = <GIC_SPI 0x86 IRQ_TYPE_LEVEL_HIGH>; };
[all …]
Dr8a7793.dtsi1001 <0 0xec541000 0 0x280>, /* SSI */
1003 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
1019 clock-names = "ssi-all",
1020 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
1021 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
1022 "ssi.1", "ssi.0",
1035 reset-names = "ssi-all",
1036 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
1037 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
1038 "ssi.1", "ssi.0";
[all …]
Dr8a7794.dtsi968 <0 0xec541000 0 0x280>, /* SSI */
970 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
986 clock-names = "ssi-all",
987 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
988 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
989 "ssi.1", "ssi.0",
1003 reset-names = "ssi-all",
1004 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
1005 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
1006 "ssi.1", "ssi.0";
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/dma/
Dfsl-imx-sdma.txt33 0 MCU domain SSI
34 1 Shared SSI
55 22 SSI Dual FIFO (needs firmware ver >= 2)
91 ssi2: ssi@70014000 {
92 compatible = "fsl,imx51-ssi", "fsl,imx21-ssi";

12345678910>>...12