| /kernel/linux/linux-5.10/drivers/hsi/clients/ |
| D | ssi_protocol.c | 5 * 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 …]
|
| /kernel/linux/linux-6.6/drivers/hsi/clients/ |
| D | ssi_protocol.c | 5 * Implementation of the SSI McSAAB improved protocol. 46 * SSI protocol command definitions 102 * struct ssi_protocol - SSI protocol (McSAAB) data 112 * @keep_alive: Workaround for SSI HW bug 146 /* List of ssi protocol instances */ 199 static struct hsi_msg *ssip_alloc_data(struct ssi_protocol *ssi, in ssip_alloc_data() argument 209 msg->channel = ssi->channel_id_data; in ssip_alloc_data() 217 struct ssi_protocol *ssi = hsi_client_drvdata(msg->cl); in ssip_release_cmd() local 220 spin_lock_bh(&ssi->lock); in ssip_release_cmd() 221 list_add_tail(&msg->link, &ssi->cmdqueue); in ssip_release_cmd() [all …]
|
| /kernel/linux/linux-6.6/sound/soc/sh/ |
| D | rz-ssi.c | 28 /* 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); 117 * The SSI supports full-duplex transmission and reception. 166 static inline bool rz_ssi_stream_is_play(struct rz_ssi_priv *ssi, in rz_ssi_stream_is_play() argument 173 rz_ssi_stream_get(struct rz_ssi_priv *ssi, struct snd_pcm_substream *substream) in rz_ssi_stream_get() argument 175 struct rz_ssi_stream *stream = &ssi->playback; in rz_ssi_stream_get() 178 stream = &ssi->capture; in rz_ssi_stream_get() 183 static inline bool rz_ssi_is_dma_enabled(struct rz_ssi_priv *ssi) in rz_ssi_is_dma_enabled() argument 185 return (ssi->playback.dma_ch && (ssi->dma_rt || ssi->capture.dma_ch)); in rz_ssi_is_dma_enabled() [all …]
|
| D | ssi.c | 8 // 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 …]
|
| /kernel/linux/linux-6.6/sound/soc/fsl/ |
| D | fsl_ssi.c | 3 // 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 …]
|
| D | fsl_ssi.h | 3 * 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 …]
|
| /kernel/linux/linux-5.10/sound/soc/fsl/ |
| D | fsl_ssi.c | 3 // Freescale SSI ALSA SoC Digital Audio Interface (DAI) driver 11 // The i.MX SSI core has some nasty limitations in AC97 mode. While most 54 /* Define RX and TX to index ssi->regvals array; Can be 0 or 1 only */ 59 * FSLSSI_I2S_FORMATS: audio formats supported by the SSI 61 * The SSI has a limitation in that the samples must be in the same byte 90 * - SSI inputs external bit clock and outputs frame sync clock -- CBM_CFS 200 bool imx21regs; /* imx21-class SSI - no SACC{ST,EN,DIS} regs */ 206 * struct fsl_ssi - per-SSI private data 208 * @irq: IRQ of this SSI 218 * @fifo_depth: Depth of the SSI FIFOs [all …]
|
| D | imx-ssi.c | 3 // imx-ssi.c -- ALSA Soc Audio Layer 10 // The i.MX SSI core has some nasty limitations in AC97 mode. While most 43 #include <linux/platform_data/asoc-imx-ssi.h> 45 #include "imx-ssi.h" 51 * SSI Network Mode or TDM slots configuration. 57 struct imx_ssi *ssi = snd_soc_dai_get_drvdata(cpu_dai); in imx_ssi_set_dai_tdm_slot() local 60 sccr = readl(ssi->base + SSI_STCCR); in imx_ssi_set_dai_tdm_slot() 63 writel(sccr, ssi->base + SSI_STCCR); in imx_ssi_set_dai_tdm_slot() 65 sccr = readl(ssi->base + SSI_SRCCR); in imx_ssi_set_dai_tdm_slot() 68 writel(sccr, ssi->base + SSI_SRCCR); in imx_ssi_set_dai_tdm_slot() [all …]
|
| D | fsl_ssi.h | 3 * 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 …]
|
| /kernel/linux/linux-5.10/drivers/hsi/controllers/ |
| D | omap_ssi_core.c | 2 /* 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 …]
|
| D | omap_ssi.h | 2 /* 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 …]
|
| D | omap_ssi_port.c | 2 /* 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 …]
|
| /kernel/linux/linux-6.6/drivers/hsi/controllers/ |
| D | omap_ssi_core.c | 2 /* OMAP SSI driver. 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() 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() 63 pm_runtime_get_sync(ssi->device.parent); in ssi_gdd_regs_show() 104 pm_runtime_put(ssi->device.parent); in ssi_gdd_regs_show() 112 static int ssi_debug_add_ctrl(struct hsi_controller *ssi) in ssi_debug_add_ctrl() argument [all …]
|
| D | omap_ssi.h | 2 /* 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 …]
|
| /kernel/linux/linux-6.6/sound/soc/sh/rcar/ |
| D | ssi.c | 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) 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 …]
|
| /kernel/linux/linux-5.10/sound/soc/sh/rcar/ |
| D | ssi.c | 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) 113 #define rsnd_ssi_is_parent(ssi, io) ((ssi) == rsnd_io_to_mod_ssip(io)) argument 125 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); in rsnd_ssi_use_busif() local 131 if (!(rsnd_flags_has(ssi, RSND_SSI_NO_BUSIF))) in rsnd_ssi_use_busif() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/sound/ |
| D | renesas,rz-ssi.yaml | 4 $id: http://devicetree.org/schemas/sound/renesas,rz-ssi.yaml# 19 - renesas,r9a07g043-ssi # RZ/G2UL 20 - renesas,r9a07g044-ssi # RZ/G2{L,LC} 21 - renesas,r9a07g054-ssi # RZ/V2L 22 - const: renesas,rz-ssi 46 - const: ssi 62 The second cell specifies the encoded MID/RID values of the SSI port 65 bits[0:9] - Specifies MID/RID value of a SSI channel as below 66 MID/RID value of SSI rx0 = 0x256 67 MID/RID value of SSI tx0 = 0x255 [all …]
|
| D | renesas,rsnd.yaml | 118 description: References to SSI/SRC/MIX/CTU/DVC/AUDIO_CLK clocks. 209 rcar_sound,ssi: 210 description: SSI subnode. 213 "^ssi-[0-9]$": 239 description: BUSIF is not used when [mem -> SSI] via DMA case 301 - ssi 321 - ssi 338 - ssi 355 - ssi.0 365 - const: ssi-all [all …]
|
| D | fsl,ssi.txt | 3 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 …]
|
| /kernel/linux/linux-5.10/sound/soc/sh/ |
| D | ssi.c | 8 // 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/hsi/ |
| D | omap-ssi.txt | 1 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 …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/hsi/ |
| D | omap-ssi.txt | 1 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/sound/ |
| D | fsl,ssi.txt | 3 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 …]
|
| /kernel/liteos_m/arch/xtensa/lx6/gcc/ |
| D | los_arch_macro.h | 144 ssi f0, \SP, CONTEXT_OFF_F0 145 ssi f1, \SP, CONTEXT_OFF_F1 146 ssi f2, \SP, CONTEXT_OFF_F2 147 ssi f3, \SP, CONTEXT_OFF_F3 148 ssi f4, \SP, CONTEXT_OFF_F4 149 ssi f5, \SP, CONTEXT_OFF_F5 150 ssi f6, \SP, CONTEXT_OFF_F6 151 ssi f7, \SP, CONTEXT_OFF_F7 152 ssi f8, \SP, CONTEXT_OFF_F8 153 ssi f9, \SP, CONTEXT_OFF_F9 [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/spi/ |
| D | snps,dw-apb-ssi.yaml | 4 $id: http://devicetree.org/schemas/spi/snps,dw-apb-ssi.yaml# 30 - baikal,bt1-sys-ssi 57 - snps,dw-apb-ssi 58 - snps,dwc-ssi-1.01a 64 - const: snps,dw-apb-ssi 68 const: amazon,alpine-dw-apb-ssi 72 - const: snps,dw-apb-ssi 74 const: intel,keembay-ssi 76 const: intel,thunderbay-ssi 78 const: intel,mountevans-imc-ssi [all …]
|