| /linux/sound/soc/fsl/ | 
| H A D | fsl_ssi.c | 1 // SPDX-License-Identifier: GPL-2.03 // 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_dma.c | 1 // SPDX-License-Identifier: GPL-2.07 // 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 …]
 
 | 
| H A D | fsl-asoc-card.c | 1 // SPDX-License-Identifier: GPL-2.023 #include "imx-audmux.h"
 33 #define DRIVER_NAME "fsl-asoc-card"
 44  * struct codec_priv - CODEC private data
 62  * struct cpu_priv - CPU private data
 82  * struct fsl_asoc_card_priv - Freescale Generic ASOC card private data
 93  * @asrc_rate: ASRC sample rate used by Back-Ends
 94  * @asrc_format: ASRC sample format used by Back-Ends
 120  * Note: keep all ASRC routes in the second half
 121  *	 to drop them easily for non-ASRC cases.
 [all …]
 
 | 
| /linux/sound/soc/renesas/ | 
| H A D | rz-ssi.c | 1 // SPDX-License-Identifier: GPL-2.03 // Renesas RZ/G2L ASoC Serial Sound Interface (SSIF-2) Driver
 28 /* SSI REGISTER BITS */
 75 #define SSI_RATES		SNDRV_PCM_RATE_8000_48000 /* 8k-48kHz */
 86 	int fifo_sample_size;	/* sample capacity of SSI FIFO */
 98 	int (*transfer)(struct rz_ssi_priv *ssi, struct rz_ssi_stream *strm);
 117 	 * The SSI supports full-duple
 172 rz_ssi_stream_get(struct rz_ssi_priv * ssi,struct snd_pcm_substream * substream) rz_ssi_stream_get()  argument
 182 rz_ssi_is_dma_enabled(struct rz_ssi_priv * ssi) rz_ssi_is_dma_enabled()  argument
 190 struct rz_ssi_priv *ssi = strm->priv; rz_ssi_set_substream()  local
 198 rz_ssi_stream_is_valid(struct rz_ssi_priv * ssi,struct rz_ssi_stream * strm) rz_ssi_stream_is_valid()  argument
 235 rz_ssi_stream_quit(struct rz_ssi_priv * ssi,struct rz_ssi_stream * strm) rz_ssi_stream_quit()  argument
 249 rz_ssi_clk_setup(struct rz_ssi_priv * ssi,unsigned int rate,unsigned int channels) rz_ssi_clk_setup()  argument
 309 rz_ssi_set_idle(struct rz_ssi_priv * ssi) rz_ssi_set_idle()  argument
 333 rz_ssi_start(struct rz_ssi_priv * ssi,struct rz_ssi_stream * strm) rz_ssi_start()  argument
 391 rz_ssi_swreset(struct rz_ssi_priv * ssi) rz_ssi_swreset()  argument
 400 rz_ssi_stop(struct rz_ssi_priv * ssi,struct rz_ssi_stream * strm) rz_ssi_stop()  argument
 448 rz_ssi_pio_recv(struct rz_ssi_priv * ssi,struct rz_ssi_stream * strm) rz_ssi_pio_recv()  argument
 501 rz_ssi_pio_send(struct rz_ssi_priv * ssi,struct rz_ssi_stream * strm) rz_ssi_pio_send()  argument
 556 struct rz_ssi_priv *ssi = data; rz_ssi_interrupt()  local
 645 rz_ssi_dma_slave_config(struct rz_ssi_priv * ssi,struct dma_chan * dma_ch,bool is_play) rz_ssi_dma_slave_config()  argument
 661 rz_ssi_dma_transfer(struct rz_ssi_priv * ssi,struct rz_ssi_stream * strm) rz_ssi_dma_transfer()  argument
 733 rz_ssi_release_dma_channels(struct rz_ssi_priv * ssi) rz_ssi_release_dma_channels()  argument
 748 rz_ssi_dma_request(struct rz_ssi_priv * ssi,struct device * dev) rz_ssi_dma_request()  argument
 787 rz_ssi_trigger_resume(struct rz_ssi_priv * ssi) rz_ssi_trigger_resume()  argument
 803 rz_ssi_streams_suspend(struct rz_ssi_priv * ssi) rz_ssi_streams_suspend()  argument
 816 struct rz_ssi_priv *ssi = snd_soc_dai_get_drvdata(dai); rz_ssi_dai_trigger()  local
 876 struct rz_ssi_priv *ssi = snd_soc_dai_get_drvdata(dai); rz_ssi_dai_set_fmt()  local
 925 rz_ssi_is_valid_hw_params(struct rz_ssi_priv * ssi,unsigned int rate,unsigned int channels,unsigned int sample_width,unsigned int sample_bits) rz_ssi_is_valid_hw_params()  argument
 939 rz_ssi_cache_hw_params(struct rz_ssi_priv * ssi,unsigned int rate,unsigned int channels,unsigned int sample_width,unsigned int sample_bits) rz_ssi_cache_hw_params()  argument
 954 struct rz_ssi_priv *ssi = snd_soc_dai_get_drvdata(dai); rz_ssi_dai_hw_params()  local
 1029 struct rz_ssi_priv *ssi = snd_soc_dai_get_drvdata(dai); rz_ssi_pcm_pointer()  local
 1074 struct rz_ssi_priv *ssi; rz_ssi_probe()  local
 1218 struct rz_ssi_priv *ssi = dev_get_drvdata(&pdev->dev); rz_ssi_remove()  local
 1233 struct rz_ssi_priv *ssi = dev_get_drvdata(dev); rz_ssi_runtime_suspend()  local
 1240 struct rz_ssi_priv *ssi = dev_get_drvdata(dev); rz_ssi_runtime_resume()  local
 [all...]
 | 
| /linux/sound/soc/renesas/rcar/ | 
| H A D | ssi.c | 1 // SPDX-License-Identifier: GPL-2.03 // Renesas R-Car SSIU/SSI support
 13  * SSI interrupt status debug message when debugging
 63 #define	EN		(1 <<  0)	/* SSI Module Enable */
 79 #define SSI_NAME "ssi"
 103 #define RSND_SSI_NO_BUSIF		(1 << 1) /* SSI+DMA without BUSIF */
 109 		((pos) = ((struct rsnd_ssi *)(priv)->ss
 115 rsnd_ssi_is_parent(ssi,io) global()  argument
 125 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_use_busif()  local
 272 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_master_clk_start()  local
 348 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_master_clk_stop()  local
 373 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_config_init()  local
 461 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_register_setup()  local
 477 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_init()  local
 507 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_quit()  local
 556 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_start()  local
 589 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_stop()  local
 813 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_common_probe()  local
 855 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_common_remove()  local
 879 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_pio_interrupt()  local
 923 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_pio_init()  local
 940 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_pio_pointer()  local
 1039 struct rsnd_ssi *ssi = rsnd_mod_to_ssi(mod); rsnd_ssi_debug_info()  local
 1166 struct rsnd_ssi *ssi; rsnd_ssi_probe()  local
 1247 struct rsnd_ssi *ssi; rsnd_ssi_remove()  local
 [all...]
 | 
| H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.03 // 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 …]
 
 | 
| H A D | ssiu.c | 1 // SPDX-License-Identifier: GPL-2.03 // Renesas R-Car SSIU support
 13 	u32 busif_status[8]; /* for BUSIF0 - BUSIF7 */
 23 #define rsnd_ssiu_nr(priv) ((priv)->ssiu_nr)
 28 		     ((pos) = ((struct rsnd_ssiu *)(priv)->ssiu + i));	\
 32  *	SSI	Gen2		Gen3		Gen4
 33  *	0	BUSIF0-3	BUSIF0-7	BUSIF0-7
 34  *	1	BUSIF0-3	BUSIF0-7
 35  *	2	BUSIF0-3	BUSIF0-7
 36  *	3	BUSIF0		BUSIF0-7
 [all …]
 
 | 
| H A D | adg.c | 1 // SPDX-License-Identifier: GPL-2.03 // Helper routines for R-Car sound ADG.
 6 #include <linux/clk-provider.h>
 52 	     (i < adg->clkin_size) &&		\
 53 	     ((pos) = adg->clkin[i]);		\
 57 	     (i < adg->clkout_size) &&		\
 58 	     ((pos) = adg->clkout[i]);	\
 60 #define rsnd_priv_to_adg(priv) ((struct rsnd_adg *)(priv)->adg)
 87 	for (i = 3; i >= 0; i--) {  in rsnd_adg_calculate_brgx()
 90 			return (u32)((i << 8) | ((div / ratio) - 1));  in rsnd_adg_calculate_brgx()
 [all …]
 
 | 
| /linux/drivers/hsi/controllers/ | 
| H A D | omap_ssi_core.c | 1 // SPDX-License-Identifier: GPL-2.0-only2 /* 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
 
 | 
| /linux/Documentation/devicetree/bindings/sound/ | 
| H A D | fsl,ssi.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/sound/fsl,ssi.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 10   - Shengjiu Wang <shengjiu.wang@nxp.com>
 13   Notes on fsl,playback-dma and fsl,capture-dma
 14   On SOCs that have an SSI, specific DMA channels are hard-wired for playback
 18   DMA controller to use, but the channels themselves are hard-wired.  The
 22   "fsl,playback-dma" and "fsl,capture-dma" must be marked as compatible with
 23   "fsl,ssi-dma-channel".  The SOC-specific compatible string (e.g.
 [all …]
 
 | 
| /linux/drivers/hsi/clients/ | 
| H A D | ssi_protocol.c | 1 // SPDX-License-Identifier: GPL-2.0-only5  * Implementation of the SSI McSAAB improved protocol.
 7  * Copyright (C) 2010 Nokia Corporation. All rights reserved.
 41 #define SSIP_MAX_CMDS		5 /* Number of pre-allocated commands buffers */
 42 #define SSIP_BYTES_TO_FRAMES(x) ((((x) - 1) >> 2) + 1)
 45  * SSI protocol command definitions
 101  * struct ssi_protocol - SSI protocol (McSAAB) data
 111  * @keep_alive: Workaround for SSI HW bug
 133 	struct timer_list	keep_alive; /* wake-up workaround */
 146 /* List of ssi protocol instances */
 [all …]
 
 | 
| H A D | cmt_speech.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * cmt_speech.c - HSI CMT speech driver
 5  * Copyright (C) 2008,2009,2010 Nokia Corporation. All rights reserved.
 27 #include <linux/hsi/cs-protocol.h>
 63 /* Number of pre-allocated commands buffers */
 144 		dev_err(&cs_char_data.cl->device,  in cs_notify()
 150 	entry->msg = message;  in cs_notify()
 151 	list_add_tail(&entry->list, head);  in cs_notify()
 167 	entry = list_entry(head->next, struct char_queue, list);  in cs_pop_entry()
 168 	data = entry->msg;  in cs_pop_entry()
 [all …]
 
 | 
| /linux/arch/arm/boot/dts/renesas/ | 
| H A D | r8a7794.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * 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 …]
 
 | 
| H A D | r8a7793.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * 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 | r8a7790.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * 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 …]
 
 | 
| H A D | r8a7791.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * 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 …]
 
 | 
| H A D | r8a7794-silk.dts | 1 // SPDX-License-Identifier: GPL-2.06  * Copyright (C) 2014-2015 Renesas Solutions Corp.
 7  * Copyright (C) 2014-2015 Cogent Embedded, Inc.
 11  * SSI-AK4643
 13  * SW1: 2-1: AK4643
 14  *      2-3: ADV7511
 21 /dts-v1/;
 23 #include <dt-bindings/gpio/gpio.h>
 24 #include <dt-bindings/input/input.h>
 40 		stdout-path = "serial0:115200n8";
 [all …]
 
 | 
| /linux/drivers/media/usb/gspca/ | 
| H A D | spca508.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later5  * Copyright (C) 2009 Jean-Francois Moine <http://moinejf.free.fr>
 58  * Initialization data: this is the first set-up data written to the
 66 	{0x0000, 0x8110},	/* Disable all outputs */
 67 	/* READ {0x0000, 0x8114} -> 0000: 00  */
 79 /* --------------------------------------- */
 82 /* --------------------------------------- */
 89 	{0x00c0, 0x8804},	/* SSI slave addr */
 90 	{0x0008, 0x8802},	/* 375 Khz SSI clock */
 91 	/* READ { 0x0001, 0x8803 } -> 0000: 00  */
 [all …]
 
 | 
| /linux/arch/arm64/boot/dts/renesas/ | 
| H A D | r8a77995.dtsi | 1 // SPDX-License-Identifier: GPL-2.03  * Device Tree Source for the R-Car D3 (R8A77995) SoC
 9 #include <dt-bindings/clock/r8a77995-cpg-mssr.h>
 10 #include <dt-bindings/interrupt-controller/arm-gic.h>
 11 #include <dt-bindings/power/r8a77995-sysc.h>
 15 	#address-cells = <2>;
 16 	#size-cells = <2>;
 24 		compatible = "fixed-clock";
 25 		#clock-cells = <0>;
 26 		clock-frequency = <0>;
 [all …]
 
 | 
| /linux/drivers/net/ethernet/chelsio/cxgb4/ | 
| H A D | sge.c | 4  * Copyright (c) 2003-2014 Chelsio Communications, Inc. All rights reserved.16  *      - Redistributions of source code must retain the above
 20  *      - Redistributions in binary form must reproduce the above
 40 #include <linux/dma-mapping.h>
 68 # define FL_PG_ORDER (16 - PAGE_SHIFT)
 115 #define NOMEM_TMR_IDX (SGE_NTIMERS - 1)
 118  * Suspension threshold for non-Ethernet Tx queues.  We require enough room
 141  * buffer).  We currently only support two sizes for 1500- and 9000-byte MTUs.
 151 	struct sge *s = &adapter->sge;  in fl_mtu_bufsize()
 153 	return ALIGN(s->pktshift + ETH_HLEN + VLAN_HLEN + mtu, s->fl_align);  in fl_mtu_bufsize()
 [all …]
 
 | 
| /linux/arch/m68k/coldfire/ | 
| H A D | m53xx.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later5  *	m53xx.c -- platform support for ColdFire 53xx based boards
 7  *	Copyright (C) 1999-2002, Greg Ungerer (gerg@snapgear.com)
 38 DEFINE_CLK(0, "imx1-i2c.0", 22, MCF_CLK);
 59 DEFINE_CLK(0, "mcfusb-otg.0", 44, MCF_CLK);
 60 DEFINE_CLK(0, "mcfusb-host.0", 45, MCF_CLK);
 62 DEFINE_CLK(0, "ssi.0", 47, MCF_CLK);
 77 	CLKDEV_INIT("imx1-i2c.0", NULL, &__clk_0_22),
 97 	CLKDEV_INIT("mcfusb-otg.0", NULL, &__clk_0_44),
 98 	CLKDEV_INIT("mcfusb-host.0", NULL, &__clk_0_45),
 [all …]
 
 | 
| /linux/drivers/spi/ | 
| H A D | spi-dw-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only10 #include <linux/dma-mapping.h>
 18 #include <linux/spi/spi-mem.h>
 23 #include "spi-dw.h"
 66 	snprintf(name, 32, "dw_spi%d", dws->host->bus_num);  in dw_spi_debugfs_init()
 67 	dws->debugfs = debugfs_create_dir(name, NULL);  in dw_spi_debugfs_init()
 69 	dws->regset.regs = dw_spi_dbgfs_regs;  in dw_spi_debugfs_init()
 70 	dws->regset.nregs = ARRAY_SIZE(dw_spi_dbgfs_regs);  in dw_spi_debugfs_init()
 71 	dws->regset.base = dws->regs;  in dw_spi_debugfs_init()
 72 	debugfs_create_regset32("registers", 0400, dws->debugfs, &dws->regset);  in dw_spi_debugfs_init()
 [all …]
 
 | 
| /linux/drivers/s390/cio/ | 
| H A D | device_status.c | 1 // SPDX-License-Identifier: GPL-2.031 	struct subchannel *sch = to_subchannel(cdev->dev.parent);  in ccw_device_msg_control_check()
 34 	if (!scsw_is_valid_cstat(&irb->scsw) ||  in ccw_device_msg_control_check()
 35 	    !(scsw_cstat(&irb->scsw) & (SCHN_STAT_CHN_DATA_CHK |  in ccw_device_msg_control_check()
 38 	CIO_MSG_EVENT(0, "Channel-Check or Interface-Control-Check "  in ccw_device_msg_control_check()
 42 		      cdev->private->dev_id.devno, sch->schid.ssid,  in ccw_device_msg_control_check()
 43 		      sch->schid.sch_no,  in ccw_device_msg_control_check()
 44 		      scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw));  in ccw_device_msg_control_check()
 45 	sprintf(dbf_text, "chk%x", sch->schid.sch_no);  in ccw_device_msg_control_check()
 58 	sch = to_subchannel(cdev->dev.parent);  in ccw_device_path_notoper()
 [all …]
 
 |