/openbmc/linux/Documentation/sound/soc/ |
H A D | dai.rst | 6 SoC controllers and portable audio CODECs today, namely AC97, I2S and PCM. 35 I2S has several different operating modes:- 47 PCM chapter 50 PCM is another 4 wire interface, very similar to I2S, which can support a more 51 flexible protocol. It has bit clock (BCLK) and sync (SYNC) lines that are used 54 while sync runs at the sample rate. PCM also supports Time Division 56 is sometimes referred to as network mode). 58 Common PCM operating modes:- 60 Mode A 61 MSB is transmitted on falling edge of first BCLK after FRAME/SYNC. [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/net/ |
H A D | broadcom-bluetooth.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/net/broadcom-bluetooth.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Linus Walleij <linus.walleij@linaro.org> 13 This binding describes Broadcom UART-attached bluetooth chips. 18 - brcm,bcm20702a1 19 - brcm,bcm4329-bt 20 - brcm,bcm4330-bt 21 - brcm,bcm4334-bt [all …]
|
/openbmc/linux/sound/soc/mediatek/mt6797/ |
H A D | mt6797-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include "mt6797-afe-common.h" 11 #include "mt6797-interconnection.h" 12 #include "mt6797-reg.h" 30 /* bck sync length = 1 */ 32 /* bck sync length = PCM_INTF_CON1[9:13] */ 42 /* slave mode & external modem uses different crystal */ 44 /* slave mode & external modem uses the same crystal */ 122 /* inter-connections */ 155 {"PCM 1 Playback", NULL, "PCM_1_PB_CH1"}, [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8183/ |
H A D | mt8183-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include "mt8183-afe-common.h" 11 #include "mt8183-interconnection.h" 12 #include "mt8183-reg.h" 30 /* bck sync length = 1 */ 32 /* bck sync length = PCM_INTF_CON1[9:13] */ 42 /* slave mode & external modem uses different crystal */ 44 /* slave mode & external modem uses the same crystal */ 122 /* inter-connections */ 155 {"PCM 1 Playback", NULL, "PCM_1_PB_CH1"}, [all …]
|
/openbmc/linux/sound/soc/bcm/ |
H A D | bcm2835-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * Raspberry Pi PCM I2S ALSA Driver 23 * Copyright 2007-2010 Freescale Semiconductor, Inc. 39 #include <sound/pcm.h> 130 unsigned int provider = dev->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK; in bcm2835_i2s_start_clock() 132 if (dev->clk_prepared) in bcm2835_i2s_start_clock() 138 clk_prepare_enable(dev->clk); in bcm2835_i2s_start_clock() 139 dev->clk_prepared = true; in bcm2835_i2s_start_clock() 148 if (dev->clk_prepared) in bcm2835_i2s_stop_clock() 149 clk_disable_unprepare(dev->clk); in bcm2835_i2s_stop_clock() [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8186/ |
H A D | mt8186-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include "mt8186-afe-common.h" 11 #include "mt8186-afe-gpio.h" 12 #include "mt8186-interconnection.h" 37 /* bck sync length = 1 */ 39 /* bck sync length = PCM_INTF_CON1[9:13] */ 49 /* slave mode & external modem uses different crystal */ 51 /* slave mode & external modem uses the same crystal */ 122 struct snd_soc_component *cmpnt = snd_soc_dapm_to_component(w->dapm); in mtk_pcm_en_event() 125 dev_dbg(afe->dev, "%s(), name %s, event 0x%x\n", in mtk_pcm_en_event() [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8192/ |
H A D | mt8192-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include "mt8192-afe-common.h" 13 #include "mt8192-interconnection.h" 31 /* bck sync length = 1 */ 33 /* bck sync length = PCM_INTF_CON1[9:13] */ 43 /* slave mode & external modem uses different crystal */ 45 /* slave mode & external modem uses the same crystal */ 178 struct snd_soc_component *cmpnt = snd_soc_dapm_to_component(w->dapm); in mtk_pcm_en_event() 181 dev_info(afe->dev, "%s(), name %s, event 0x%x\n", in mtk_pcm_en_event() 182 __func__, w->name, event); in mtk_pcm_en_event() [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8195/ |
H A D | mt8195-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MediaTek ALSA SoC Audio DAI PCM I/F Control 12 #include "mt8195-afe-clk.h" 13 #include "mt8195-afe-common.h" 14 #include "mt8195-reg.h" 60 return -EINVAL; in mtk_dai_pcm_mode() 122 struct snd_pcm_runtime * const runtime = substream->runtime; in mtk_dai_pcm_configure() 124 struct mt8195_afe_private *afe_priv = afe->platform_priv; in mtk_dai_pcm_configure() 130 unsigned int bit_width = dai->sample_bits; in mtk_dai_pcm_configure() 134 int mode = 0; in mtk_dai_pcm_configure() local [all …]
|
/openbmc/linux/sound/soc/mediatek/mt8188/ |
H A D | mt8188-dai-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MediaTek ALSA SoC Audio DAI PCM I/F Control 8 * Chun-Chia Chiu <chun-chia.chiu@mediatek.com> 14 #include "mt8188-afe-clk.h" 15 #include "mt8188-afe-common.h" 16 #include "mt8188-reg.h" 62 return -EINVAL; in mtk_dai_pcm_mode() 123 struct snd_pcm_runtime * const runtime = substream->runtime; in mtk_dai_pcm_configure() 125 struct mt8188_afe_private *afe_priv = afe->platform_priv; in mtk_dai_pcm_configure() 131 unsigned int bit_width = dai->sample_bits; in mtk_dai_pcm_configure() [all …]
|
/openbmc/linux/sound/usb/ |
H A D | usbaudio.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 10 /* handling of USB vendor/product ID pairs as 32-bit numbers */ 46 struct list_head pcm_list; /* list of pcm streams */ 47 struct list_head ep_list; /* list of audio-related endpoints */ 68 #define USB_AUDIO_IFACE_UNUSED ((void *)-1L) 71 dev_err(&(chip)->dev->dev, fmt, ##args) 73 dev_err_ratelimited(&(chip)->dev->dev, fmt, ##args) 75 dev_warn(&(chip)->dev->dev, fmt, ##args) 77 dev_info(&(chip)->dev->dev, fmt, ##args) 79 dev_dbg(&(chip)->dev->dev, fmt, ##args) [all …]
|
H A D | pcm.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 11 #include <linux/usb/audio-v2.h> 14 #include <sound/pcm.h> 22 #include "pcm.h" 40 if (subs->direction == SNDRV_PCM_STREAM_PLAYBACK) { in snd_usb_pcm_delay() 41 queued = bytes_to_frames(runtime, subs->inflight_bytes); in snd_usb_pcm_delay() 44 } else if (!subs->running) { in snd_usb_pcm_delay() 48 current_frame_number = usb_get_current_frame_number(subs->dev); in snd_usb_pcm_delay() 54 frame_diff = (current_frame_number - subs->last_frame_number) & 0xff; in snd_usb_pcm_delay() 58 est_delay = frame_diff * runtime->rate / 1000; in snd_usb_pcm_delay() [all …]
|
H A D | proc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 10 #include <sound/pcm.h> 35 struct snd_usb_audio *chip = entry->private_data; in proc_audio_usbbus_read() 36 if (!atomic_read(&chip->shutdown)) in proc_audio_usbbus_read() 37 snd_iprintf(buffer, "%03d/%03d\n", chip->dev->bus->busnum, chip->dev->devnum); in proc_audio_usbbus_read() 42 struct snd_usb_audio *chip = entry->private_data; in proc_audio_usbid_read() 43 if (!atomic_read(&chip->shutdown)) in proc_audio_usbid_read() 45 USB_ID_VENDOR(chip->usb_id), in proc_audio_usbid_read() 46 USB_ID_PRODUCT(chip->usb_id)); in proc_audio_usbid_read() 51 snd_card_ro_proc_new(chip->card, "usbbus", chip, in snd_usb_audio_create_proc() [all …]
|
H A D | card.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 7 #define MAX_PACKS_HS (MAX_PACKS * 8) /* in high speed mode */ 9 #define SYNC_URBS 4 /* always four urbs for sync */ 16 unsigned int fmt_type; /* USB audio format type (1-3) */ 18 unsigned int frame_size; /* samples per frame for non-audio */ 27 unsigned char sync_ep; /* sync endpoint number */ 28 unsigned char sync_iface; /* sync EP interface */ 29 unsigned char sync_altsetting; /* sync EP alternate setting */ 30 unsigned char sync_ep_idx; /* sync EP array index */ 68 int opened; /* open refcount; protect with chip->mutex */ [all …]
|
/openbmc/linux/sound/soc/ti/ |
H A D | davinci-i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * based on davinci-mcasp.c DT support 25 #include <sound/pcm.h> 31 #include "edma-pcm.h" 32 #include "davinci-i2s.h" 34 #define DRV_NAME "davinci-i2s" 39 * - This driver supports the "Audio Serial Port" (ASP), 42 * - But it labels it a "Multi-channel Buffered Serial Port" 44 * backward-compatible, possibly explaining that confusion. 46 * - OMAP chips have a controller called McBSP, which is [all …]
|
/openbmc/linux/sound/usb/line6/ |
H A D | pcm.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at) 9 PCM interface to POD series devices. 15 #include <sound/pcm.h> 35 Get substream from Line 6 PCM data structure 38 (line6pcm->pcm->streams[stream].substream) 41 PCM mode bits. 43 There are several features of the Line 6 USB driver which require PCM 45 *) PCM playback and capture via ALSA 51 subsystems with respect to PCM usage. [all …]
|
/openbmc/linux/drivers/accessibility/speakup/ |
H A D | speakup_dtlk.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* speakup_dtlk.h - header file for speakups DoubleTalk driver. */ 10 #define TTS_SPEAKING 0x40 /* mask for SYNC bit, which is nonzero 12 * output with TTS, PCM or CVSD 23 * bit goes zero 2-3 usec after 24 * writing, and goes 1 again 180-190 30 * buffer. AF is always 0 in the PCM, 36 * (TTS or PCM) buffer. AE is always 1 42 u_short serial_number; /* 0-7Fh:0-7Fh */ 44 u_char mode; /* 0=Character; 1=Phoneme; 2=Text */ member [all …]
|
/openbmc/linux/drivers/clk/st/ |
H A D | clk-flexgen.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * clk-flexgen.c 5 * Copyright (C) ST-Microelectronics SA 2013 6 * Author: Maxime Coquelin <maxime.coquelin@st.com> for ST-Microelectronics. 10 #include <linux/clk-provider.h> 26 bool mode; member 36 /* Pre-divisor's gate */ 38 /* Pre-divisor */ 44 /* Asynchronous mode control */ 45 struct clk_gate sync; member [all …]
|
/openbmc/linux/include/linux/ |
H A D | dtlk.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 17 #define TTS_SPEAKING 0x40 /* mask for SYNC bit, which is nonzero 19 output with TTS, PCM or CVSD 28 bit goes zero 2-3 usec after 29 writing, and goes 1 again 180-190 35 PCM, TGN and CVSD modes. */ 39 input (TTS or PCM) buffer. AE is 67 unsigned short serial_number; /* 0-7Fh:0-7Fh */ 69 unsigned char mode; /* 0=Character; 1=Phoneme; 2=Text */ member 70 unsigned char punc_level; /* nB; 0-7 */ [all …]
|
/openbmc/linux/drivers/isdn/hardware/mISDN/ |
H A D | hfcmulti.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * hfcmulti.c low level driver for hfc-4s/hfc-8s/hfc-e1 based cards 7 * Peter Sprenger (sprengermoving-bytes.de) 9 * inspired by existing hfc-pci driver: 10 * Copyright 1999 by Werner Cornelius (werner@isdn-development.de) 22 * Bit 0-7 = 0x00001 = HFC-E1 (1 port) 23 * or Bit 0-7 = 0x00004 = HFC-4S (4 ports) 24 * or Bit 0-7 = 0x00008 = HFC-8S (8 ports) 26 * Bit 9 = 0x00200 = Disable DTMF detect on all B-channels via hardware 28 * Bit 11 = 0x00800 = Force PCM bus into slave mode. (otherwhise auto) [all …]
|
/openbmc/linux/sound/pci/ |
H A D | sis7019.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2004-2007, David Dillow 7 * Inspired by the Trident 4D-WaveDX/NX driver. 28 static int index = SNDRV_DEFAULT_IDX1; /* Index 0-MAX */ 52 * we use the hardware's built-in Mid-Loop Interrupt and End-Loop Interrupt 106 struct snd_pcm *pcm; member 141 * documented range of 8-0xfff8 samples. Given that they are 0-based, 142 * that places our period/buffer range at 9-0xfff9 samples. That makes the 193 void __iomem *base = voice->ctrl_base; in sis_update_sso() 195 voice->sso += period; in sis_update_sso() [all …]
|
/openbmc/linux/sound/drivers/pcsp/ |
H A D | pcsp_lib.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * PC-Speaker driver for Linux 5 * Copyright (C) 1993-1997 Michael Beck 6 * Copyright (C) 1997-2001 David Woodhouse 7 * Copyright (C) 2001-2008 Stas Sergeev 15 #include <sound/pcm.h> 27 * This avoids spinlock messes and long-running irq contexts 42 * called at the trigger-start and in hrtimer callback 52 if (chip->thalf) { in pcsp_timer_update() 53 outb(chip->val61, 0x61); in pcsp_timer_update() [all …]
|
/openbmc/linux/sound/pci/rme9652/ |
H A D | rme9652.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (c) 1999 IEM - Winfried Ritsch 6 * Copyright (c) 1999-2001 Paul Davis 19 #include <sound/pcm.h> 26 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 55 /* Preferred sync source choices - used by "sync_pref" control switch */ 68 /* ------------- Status-Register bits --------------------- */ 71 #define RME9652_lock_2 (1<<1) /* ADAT 3-PLL: 1=locked, 0=unlocked */ 72 #define RME9652_lock_1 (1<<2) /* ADAT 2-PLL: 1=locked, 0=unlocked */ 73 #define RME9652_lock_0 (1<<3) /* ADAT 1-PLL: 1=locked, 0=unlocked */ [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/sound/ |
H A D | cs35l36.txt | 5 - compatible : "cirrus,cs35l36" 7 - reg : the I2C address of the device for I2C 9 - VA-supply, VP-supply : power supplies for the device, 13 - cirrus,boost-ctl-millivolt : Boost Voltage Value. Configures the boost 18 - cirrus,boost-peak-milliamp : Boost-converter peak current limit in mA. 24 - cirrus,boost-ind-nanohenry : Inductor estimation LBST reference value. 32 - cirrus,multi-amp-mode : Boolean to determine if there are more than 33 one amplifier in the system. If more than one it is best to Hi-Z the ASP 36 - cirrus,boost-ctl-select : Boost converter control source selection. 39 0x00 - Control Port Value [all …]
|
/openbmc/linux/sound/core/ |
H A D | pcm_lib.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Digital Audio (PCM) abstract layer 5 * Abramo Bagnara <abramo@alsa-project.org> 17 #include <sound/pcm.h> 43 delta = new_ptr - ptr; in update_silence_vars() 47 delta += runtime->boundary; in update_silence_vars() 48 if ((snd_pcm_uframes_t)delta < runtime->silence_filled) in update_silence_vars() 49 runtime->silence_filled -= delta; in update_silence_vars() 51 runtime->silence_filled = 0; in update_silence_vars() 52 runtime->silence_start = new_ptr; in update_silence_vars() [all …]
|
/openbmc/linux/sound/soc/stm/ |
H A D | stm32_sai_sub.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2016, STMicroelectronics - All Rights Reserved 10 #include <linux/clk-provider.h> 41 #define STM_SAI_IS_PLAYBACK(ip) ((ip)->dir == SNDRV_PCM_STREAM_PLAYBACK) 42 #define STM_SAI_IS_CAPTURE(ip) ((ip)->dir == SNDRV_PCM_STREAM_CAPTURE) 47 #define STM_SAI_IS_SUB_A(x) ((x)->id == STM_SAI_A_ID) 53 #define STM_SAI_PROTOCOL_IS_SPDIF(ip) ((ip)->spdif) 54 #define STM_SAI_HAS_SPDIF(x) ((x)->pdata->conf.has_spdif_pdm) 55 #define STM_SAI_HAS_PDM(x) ((x)->pdata->conf.has_spdif_pdm) 56 #define STM_SAI_HAS_EXT_SYNC(x) (!STM_SAI_IS_F4(sai->pdata)) [all …]
|