| /linux/drivers/clk/mmp/ |
| H A D | clk-mix.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * mmp mix(div and mux) clock operation source file 9 #include <linux/clk-provider.h> 17 * The mix clock is a clock combined mux and div type clock. 24 static unsigned int _get_maxdiv(struct mmp_clk_mix *mix) in _get_maxdiv() argument 26 unsigned int div_mask = (1 << mix->reg_info.width_div) - 1; in _get_maxdiv() 30 if (mix->div_flags & CLK_DIVIDER_ONE_BASED) in _get_maxdiv() 32 if (mix->div_flags & CLK_DIVIDER_POWER_OF_TWO) in _get_maxdiv() 34 if (mix->div_table) { in _get_maxdiv() 35 for (clkt = mix->div_table; clkt->div; clkt++) in _get_maxdiv() [all …]
|
| /linux/sound/ppc/ |
| H A D | tumbler.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 114 err = i2c_smbus_write_byte_data(i2c->client, in send_init_client() 120 } while (count--); in send_init_client() 122 return -ENXIO; in send_init_client() 145 /* normal operation, all-pass mode */ in snapper_init_client() 147 /* normal output, no deemphasis, A input, power-up, line-in */ in snapper_init_client() 159 pmac_call_feature(PMAC_FTR_WRITE_GPIO, NULL, (gp)->addr, val) 161 pmac_call_feature(PMAC_FTR_READ_GPIO, NULL, (gp)->addr, 0) 166 if (! gp->addr) in write_audio_gpio() 168 active = active ? gp->active_val : gp->inactive_val; in write_audio_gpio() [all …]
|
| H A D | daca.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 42 /* SR: no swap, 1bit delay, 32-48kHz */ in daca_init_client() 44 if (i2c_smbus_write_byte_data(i2c->client, DACA_REG_SR, 0x08) < 0 || in daca_init_client() 45 i2c_smbus_write_byte_data(i2c->client, DACA_REG_GCFG, 0x05) < 0) in daca_init_client() 46 return -EINVAL; in daca_init_client() 47 return i2c_smbus_write_block_data(i2c->client, DACA_REG_AVOL, in daca_init_client() 54 static int daca_set_volume(struct pmac_daca *mix) in daca_set_volume() argument 58 if (! mix->i2c.client) in daca_set_volume() 59 return -ENODEV; in daca_set_volume() 61 if (mix->left_vol > DACA_VOL_MAX) in daca_set_volume() [all …]
|
| /linux/sound/soc/renesas/rcar/ |
| H A D | mix.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // mix.c 9 * +------+ +------+ 10 * [SRC3 / SRC6] -> |CTU n0| -> [MIX n0| -> 11 * [SRC4 / SRC9] -> |CTU n1| -> [MIX n1| -> 12 * [SRC0 / SRC1] -> |CTU n2| -> [MIX n2| -> 13 * [SRC2 / SRC5] -> |CTU n3| -> [MIX n3| -> 14 * +------+ +------+ 20 * MIX Volume 21 * amixer set "MIX",0 100% // DAI0 Volume [all …]
|
| /linux/drivers/clk/spacemit/ |
| H A D | ccu_mix.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Copyright (c) 2024-2025 Haylen Chu <heylenay@4d2.org> 6 * MIX clock type is the combination of mux, factor or divider, and gate 9 #include <linux/clk-provider.h> 18 struct ccu_mix *mix = hw_to_ccu_mix(hw); in ccu_gate_disable() local 20 ccu_update(&mix->common, ctrl, mix->gate.mask, 0); in ccu_gate_disable() 25 struct ccu_mix *mix = hw_to_ccu_mix(hw); in ccu_gate_enable() local 26 struct ccu_gate_config *gate = &mix->gate; in ccu_gate_enable() 28 ccu_update(&mix->common, ctrl, gate->mask, gate->mask); in ccu_gate_enable() 35 struct ccu_mix *mix = hw_to_ccu_mix(hw); in ccu_gate_is_enabled() local [all …]
|
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | cavium-mix.txt | 1 * MIX Ethernet controller. 4 - compatible: "cavium,octeon-5750-mix" 6 Compatibility with all cn5XXX and cn6XXX SOCs populated with MIX 9 - reg: The base addresses of four separate register banks. The first 10 bank contains the MIX registers. The second bank the corresponding 12 MIX devices present. The fourth bank is the AGL_PRT_CTL shared by 13 all MIX devices present. 15 - cell-index: A single cell specifying which portion of the shared 16 register banks corresponds to this MIX device. 18 - interrupts: Two interrupt specifiers. The first is the MIX [all …]
|
| /linux/sound/soc/codecs/ |
| H A D | rt5677.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5677.c -- RT5677 ALSA SoC audio codec driver 29 #include <sound/soc-dapm.h> 35 #include "rt5677-spi.h" 552 * rt5677_dsp_mode_i2c_write_addr - Write value to address on DSP mode. 563 struct snd_soc_component *component = rt5677->component; in rt5677_dsp_mode_i2c_write_addr() 566 mutex_lock(&rt5677->dsp_cmd_lock); in rt5677_dsp_mode_i2c_write_addr() 568 ret = regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_MSB, in rt5677_dsp_mode_i2c_write_addr() 571 dev_err(component->dev, "Failed to set addr msb value: %d\n", ret); in rt5677_dsp_mode_i2c_write_addr() 575 ret = regmap_write(rt5677->regmap_physical, RT5677_DSP_I2C_ADDR_LSB, in rt5677_dsp_mode_i2c_write_addr() [all …]
|
| H A D | rt5640.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5640.c -- RT5640/RT5639 ALSA SoC audio codec driver 27 #include <sound/soc-dapm.h> 340 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 341 static const DECLARE_TLV_DB_MINMAX(dac_vol_tlv, -6562, 0); 342 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 343 static const DECLARE_TLV_DB_MINMAX(adc_vol_tlv, -1762, 3000); 451 * set_dmic_clk - Set parameter of dmic. 461 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in set_dmic_clk() 465 rate = rt5640->sysclk / rl6231_get_pre_div(rt5640->regmap, in set_dmic_clk() [all …]
|
| H A D | lpass-wsa-macro.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. 12 #include <linux/clk-provider.h> 14 #include <sound/soc-dapm.h> 19 #include "lpass-macro-common.h" 20 #include "lpass-wsa-macro.h" 356 {24000, -EINVAL},/* 24K */ 381 * struct wsa_reg_layout - Register layout differences 386 * @compander1_reg_offset: offset between compander registers (compander1 - compander0) 388 * @softclip1_reg_offset: offset between compander registers (softclip1 - softclip0) [all …]
|
| H A D | rt5665.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5665.c -- RT5665/RT5658 ALSA SoC audio codec driver 26 #include <sound/soc-dapm.h> 884 static const DECLARE_TLV_DB_SCALE(hp_vol_tlv, -2250, 150, 0); 885 static const DECLARE_TLV_DB_SCALE(mono_vol_tlv, -1400, 150, 0); 886 static const DECLARE_TLV_DB_SCALE(out_vol_tlv, -4650, 150, 0); 887 static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -65625, 375, 0); 888 static const DECLARE_TLV_DB_SCALE(in_vol_tlv, -3450, 150, 0); 889 static const DECLARE_TLV_DB_SCALE(adc_vol_tlv, -17625, 375, 0); 891 static const DECLARE_TLV_DB_SCALE(in_bst_tlv, -1200, 75, 0); [all …]
|
| H A D | tda7419.c | 1 // SPDX-License-Identifier: GPL-2.0-only 136 if (tvc->reg == tvc->rreg) in tda7419_vol_is_stereo() 146 (struct tda7419_vol_control *)kcontrol->private_value; in tda7419_vol_info() 148 uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; in tda7419_vol_info() 149 uinfo->count = tda7419_vol_is_stereo(tvc) ? 2 : 1; in tda7419_vol_info() 150 uinfo->value.integer.min = tvc->min; in tda7419_vol_info() 151 uinfo->value.integer.max = tvc->max; in tda7419_vol_info() 163 val = 0 - val; in tda7419_vol_get_value() 166 val = val - thresh; in tda7419_vol_get_value() 168 val = thresh - val; in tda7419_vol_get_value() [all …]
|
| H A D | lpass-rx-macro.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 // Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. 14 #include <sound/soc-dapm.h> 17 #include <linux/clk-provider.h> 19 #include "lpass-macro-common.h" 162 #define CDC_RX_RXn_RX_PATH_CTL(rx, n) (0x0400 + rx->rxn_reg_stride * n) 170 #define CDC_RX_RXn_RX_PATH_CFG0(rx, n) (0x0404 + rx->rxn_reg_stride * n) 177 #define CDC_RX_RXn_RX_PATH_CFG1(rx, n) (0x0408 + rx->rxn_reg_stride * n) 181 #define CDC_RX_RXn_RX_PATH_CFG2(rx, n) (0x040C + rx->rxn_reg_stride * n) 184 #define CDC_RX_RXn_RX_PATH_CFG3(rx, n) (0x0410 + rx->rxn_reg_stride * n) [all …]
|
| H A D | rt5660.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5660.c -- RT5660 ALSA SoC audio codec driver 24 #include <sound/soc-dapm.h> 296 static const DECLARE_TLV_DB_SCALE(rt5660_out_vol_tlv, -4650, 150, 0); 297 static const DECLARE_TLV_DB_SCALE(rt5660_dac_vol_tlv, -6525, 75, 0); 298 static const DECLARE_TLV_DB_SCALE(rt5660_adc_vol_tlv, -1725, 75, 0); 300 static const DECLARE_TLV_DB_SCALE(rt5660_bst_tlv, -1200, 75, 0); 342 * rt5660_set_dmic_clk - Set parameter of dmic. 352 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in rt5660_set_dmic_clk() 356 rate = rt5660->sysclk / rl6231_get_pre_div(rt5660->regmap, in rt5660_set_dmic_clk() [all …]
|
| /linux/sound/pci/emu10k1/ |
| H A D | emumixer.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Lee Revell <rlrevell@joe-job.com> 6 * James Courtier-Dutton <James@superbug.co.uk> 25 static const DECLARE_TLV_DB_SCALE(snd_audigy_db_scale2, -10350, 50, 1); /* WM8775 gain scale */ 37 err = snd_ctl_add(emu->card, snd_ctl_new1(&kctl, emu)); in add_ctls() 47 uinfo->typ in snd_emu10k1_spdif_info() 1489 struct snd_emu10k1_pcm_mixer *mix = snd_emu10k1_send_routing_get() local 1506 struct snd_emu10k1_pcm_mixer *mix = snd_emu10k1_send_routing_put() local 1561 struct snd_emu10k1_pcm_mixer *mix = snd_emu10k1_send_volume_get() local 1575 struct snd_emu10k1_pcm_mixer *mix = snd_emu10k1_send_volume_put() local 1627 struct snd_emu10k1_pcm_mixer *mix = snd_emu10k1_attn_get() local 1640 struct snd_emu10k1_pcm_mixer *mix = snd_emu10k1_attn_put() local 1692 struct snd_emu10k1_pcm_mixer *mix = snd_emu10k1_efx_send_routing_get() local 1709 struct snd_emu10k1_pcm_mixer *mix = &emu->efx_pcm_mixer[ch]; snd_emu10k1_efx_send_routing_put() local 1758 struct snd_emu10k1_pcm_mixer *mix = snd_emu10k1_efx_send_volume_get() local 1773 struct snd_emu10k1_pcm_mixer *mix = &emu->efx_pcm_mixer[ch]; snd_emu10k1_efx_send_volume_put() local 1820 struct snd_emu10k1_pcm_mixer *mix = snd_emu10k1_efx_attn_get() local 1832 struct snd_emu10k1_pcm_mixer *mix = &emu->efx_pcm_mixer[ch]; snd_emu10k1_efx_attn_put() local [all...] |
| H A D | emupcm.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Lee Revell <rlrevell@joe-job.com> 5 * James Courtier-Dutton <James@superbug.co.uk> 25 epcm = voice->epcm; in snd_emu10k1_pcm_interrupt() 28 if (epcm->substream == NULL) in snd_emu10k1_pcm_interrupt() 31 dev_dbg(emu->car in snd_emu10k1_pcm_interrupt() 320 snd_emu10k1_pcm_init_voices(struct snd_emu10k1 * emu,struct snd_emu10k1_voice * evoice,bool w_16,bool stereo,unsigned int start_addr,unsigned int end_addr,struct snd_emu10k1_pcm_mixer * mix) snd_emu10k1_pcm_init_voices() argument 642 snd_emu10k1_playback_unmute_voice(struct snd_emu10k1 * emu,struct snd_emu10k1_voice * evoice,bool stereo,bool master,struct snd_emu10k1_pcm_mixer * mix) snd_emu10k1_playback_unmute_voice() argument 655 snd_emu10k1_playback_unmute_voices(struct snd_emu10k1 * emu,struct snd_emu10k1_voice * evoice,bool stereo,struct snd_emu10k1_pcm_mixer * mix) snd_emu10k1_playback_unmute_voices() argument 726 struct snd_emu10k1_pcm_mixer *mix; snd_emu10k1_playback_trigger() local 1109 struct snd_emu10k1_pcm_mixer *mix; snd_emu10k1_efx_playback_close() local 1140 struct snd_emu10k1_pcm_mixer *mix; snd_emu10k1_efx_playback_open() local 1179 struct snd_emu10k1_pcm_mixer *mix; snd_emu10k1_playback_open() local 1221 struct snd_emu10k1_pcm_mixer *mix = &emu->pcm_mixer[substream->number]; snd_emu10k1_playback_close() local [all...] |
| /linux/sound/pci/au88x0/ |
| H A D | au88x0_core.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 15 and translated the rest of the riddle (Mix, Src and connection stuff). 45 01-03-2003 First revision. 46 01-21-2003 Some bug fixes. 47 17-02-2003 many bugfixes after a big versioning mess. 48 18-02-2003 JAAAAAHHHUUUUUU!!!! The mixer works !! I'm just so happy ! 51 20-02-2003 First steps into the ALSA world. 52 28-02-2003 As my birthday present, i discovered how the DMA buffer pages really 53 work :-). It was all wrong. 54 12-03-2003 ALSA driver starts working (2 channels). [all …]
|
| /linux/sound/mips/ |
| H A D | ad1843.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright 2003 Vivien Chappelier <vivien.chappelier@linux-mips.org> 35 ad1843_PDNO = { 0, 14, 1 }, /* Converter Power-Down Flag */ 43 ad1843_RD2M = { 3, 0, 5 }, /* Right DAC 2 Mix Gain/Atten */ 44 ad1843_RD2MM = { 3, 7, 1 }, /* Right DAC 2 Mix Mute */ 45 ad1843_LD2M = { 3, 8, 5 }, /* Left DAC 2 Mix Gain/Atten */ 46 ad1843_LD2MM = { 3, 15, 1 }, /* Left DAC 2 Mix Mute */ 47 ad1843_RX1M = { 4, 0, 5 }, /* Right Aux 1 Mix Gain/Atten */ 48 ad1843_RX1MM = { 4, 7, 1 }, /* Right Aux 1 Mix Mute */ 49 ad1843_LX1M = { 4, 8, 5 }, /* Left Aux 1 Mix Gain/Atten */ [all …]
|
| /linux/arch/arm64/boot/dts/renesas/ |
| H A D | ulcb-audio-graph-card2-mix+split.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree for ULCB + Audio Graph Card2 (MIX + TDM Split) 12 * (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0) 13 * (B) CPU1 (2ch) --/ (MIX-1) 15 * (A) aplay -D plughw:0,0 xxx.wav 16 * (B) aplay -D plughw:0,1 xxx.wav 18 * (A) arecord -D plughw:0,0 xxx.wav 22 compatible = "audio-graph-card2"; 23 label = "snd-ulcb-mix"; 35 #address-cells = <1>; [all …]
|
| H A D | ulcb-audio-graph-card-mix+split.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree for ULCB + Audio Graph Card (MIX) 12 * (A) CPU0 (2ch) <-----> (2ch) (X) ak4613 (MIX-0) 13 * (B) CPU1 (2ch) --/ (MIX-1) 15 * (A) aplay -D plughw:0,0 xxx.wav 16 * (B) aplay -D plughw:0,1 xxx.wav 18 * (A) arecord -D plughw:0,0 xxx.wav 23 compatible = "audio-graph-scu-card"; 24 label = "snd-ulcb-mix"; 38 #address-cells = <1>; [all …]
|
| H A D | ulcb-kf-simple-audio-card-mix+split.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree for ULCB + Kingfisher + Simple Audio Card (MIX + TDM Split) 12 * (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0) 13 * (B) CPU1 (2ch) --/ (MIX-1) 14 * (C) CPU3 (2ch) ----> (8ch) (Y) PCM3168A-p (TDM-0 : 0,1ch) 15 * (D) CPU2 (2ch) --/ (TDM-1 : 2,3ch) 16 * (E) CPU4 (2ch) --/ (TDM-2 : 4,5ch) 17 * (F) CPU5 (2ch) --/ (TDM-3 : 6,7ch) 18 * (G) CPU6 (2ch) <---- (6ch) (Z) PCM3168A-c (TDM-a: 0,1ch) 19 * (H) CPU7 (2ch) <--/ (TDM-b: 2,3ch) [all …]
|
| H A D | ulcb-kf-audio-graph-card-mix+split.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree for ULCB + Kingfisher + Audio Graph Card (MIX + TDM Split) 12 * (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0) 13 * (B) CPU1 (2ch) --/ (MIX-1) 14 * (C) CPU2 (2ch) ----> (8ch) (Y) PCM3168A-p (TDM-0 : 0,1ch) 15 * (D) CPU3 (2ch) --/ (TDM-1 : 2,3ch) 16 * (E) CPU4 (2ch) --/ (TDM-2 : 4,5ch) 17 * (F) CPU5 (2ch) --/ (TDM-3 : 6,7ch) 18 * (G) CPU6 (2ch) <---- (6ch) (Z) PCM3168A-c (TDM-a: 0,1ch) 19 * (H) CPU7 (2ch) <--/ (TDM-b: 2,3ch) [all …]
|
| H A D | ulcb-simple-audio-card-mix+split.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 12 * (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0) 13 * (B) CPU1 (2ch) --/ (MIX-1) 15 * (A) aplay -D plughw:0,0 xxx.wav 16 * (B) aplay -D plughw:0,1 xxx.wav 18 * (A) arecord -D plughw:0,0 xxx.wav 23 #address-cells = <1>; 24 #size-cells = <0>; 26 compatible = "simple-scu-audio-card"; 27 label = "snd-ulcb-mix"; [all …]
|
| H A D | ulcb-kf-audio-graph-card2-mix+split.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree for ULCB + Kingfisher + Audio Graph Card2 (MIX + TDM Split) 12 * (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0) 13 * (B) CPU1 (2ch) --/ (MIX-1) 14 * (C) CPU3 (2ch) ----> (8ch) (Y) PCM3168A-p (TDM-0 : 0,1ch) 15 * (D) CPU2 (2ch) --/ (TDM-1 : 2,3ch) 16 * (E) CPU4 (2ch) --/ (TDM-2 : 4,5ch) 17 * (F) CPU5 (2ch) --/ (TDM-3 : 6,7ch) 18 * (G) CPU6 (2ch) <---- (6ch) (Z) PCM3168A-c (TDM-a: 0,1ch) 19 * (H) CPU7 (2ch) <--/ (TDM-b: 2,3ch) [all …]
|
| /linux/sound/soc/intel/atom/ |
| H A D | sst-atom-controls.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * sst-atom-controls.c - Intel MID Platform driver DPCM ALSA controls for Mrfld 5 * Copyright (C) 2013-14 Intel Corp 20 #include "sst-mfld-platform.h" 21 #include "sst-atom-controls.h" 28 struct snd_sst_bytes_v2 *byte_data = drv->byte_stream; in sst_fill_byte_control() 30 byte_data->type = SST_CMD_BYTES_SET; in sst_fill_byte_control() 31 byte_data->ipc_msg = ipc_msg; in sst_fill_byte_control() 32 byte_data->block = block; in sst_fill_byte_control() 33 byte_data->task_id = task_id; in sst_fill_byte_control() [all …]
|
| /linux/arch/x86/boot/ |
| H A D | video-mode.c | 1 // SPDX-License-Identifier: GPL-2.0-only 2 /* -*- linux-c -*- ------------------------------------------------------- * 5 * Copyright 2007-2008 rPath, Inc. - All Rights Reserved 7 * ----------------------------------------------------------------------- */ 10 * arch/i386/boot/video-mode.c 42 if (card->unsafe == unsafe) { in probe_cards() 43 if (card->probe) in probe_cards() 44 card->nmodes = card->probe(); in probe_cards() 46 card->nmodes = 0; in probe_cards() 59 mi = card->modes; in mode_defined() [all …]
|