aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-06-23ASoC: nau8822: add MCLK supportMark Brown2-17/+60
Merge series from Andrejs Cainikovs <[email protected]>: This change adds local MCLK handling, which would cover a case when a reference audio clock is present in a system, but is not allowed to be changed, see [1]. [1]: https://lore.kernel.org/all/[email protected]/
2024-06-23ASoC: qcom: display port changesMark Brown5-0/+99
Merge series from [email protected]: This patchset adds support for. 1. parse Display Port module tokens from ASoC topology 2. add support to DP/HDMI Jack events. 3. fixes a typo in function name in sm8250 Verified these patches on X13s along with changes to tplg in https://git.codelinaro.org/linaro/qcomlt/audioreach-topology/-/tree/topic/x13s-dp?ref_type=heads and ucm changes from https://github.com/Srinivas-Kandagatla/alsa-ucm-conf/tree/topic/x13s-dp x1e80100 is verified by Krzysztof with his changes in tplg https://git.codelinaro.org/linaro/qcomlt/audioreach-topology/-/merge_requests/7/commits
2024-06-23ASoC: Few constifications (mostly arguments)Mark Brown13-55/+58
Merge series from Krzysztof Kozlowski <[email protected]>: Make few pointers in ASoC functions as pointers to const, so the code is clearer to read, a bit safer and allows further constifications (e.g. placing some data as rodata).
2024-06-23ASoC: Add ak4619 codec supportMark Brown4-0/+981
Merge series from Kuninori Morimoto <[email protected]>: This is v3 patch-set for ak4619 driver. It was created by Khanh, and I updated/adjusted to upstream. It was tested on Renesas V4M GrayH Link: https://lore.kernel.org/r/[email protected] Link: https://lore.kernel.org/r/[email protected]
2024-06-23ASoC: add compatible for ti,pcm5242Mark Brown3-1/+5
Merge series from Christian Hewitt <[email protected]>: Update bindings and add a driver compatible for the pcm5242 chip used on the Odroid HiFi-Shield2 i2c mezzanine board.
2024-06-23ASoC: codecs: wcd family: cleanupsMark Brown13-185/+60
Merge series from Krzysztof Kozlowski <[email protected]>: Set of simple cleanups from similar issues in all Qualcomm WCD93xx codecs. The first patch "ASoC: codecs: wcd-mbhc: Constify passed MBHC reg fields" is a requirement for few others, but except this they are independent.
2024-06-23ASoC: dt-bindings: convert everest,es7134.txt &Mark Brown4-43/+129
Merge series from Neil Armstrong <[email protected]>: Convert the text bindings of the Everest ES7241/ES7134/7144/7154 2 channels I2S analog to digital converter to dt-schema.
2024-06-23tlv320adc3xxx: Allow MICBIAS pins to be used asMark Brown2-21/+108
Merge series from Ricard Wanderlof <[email protected]>: In some cases, depending on system design, the MICBIAS pins on the chip are not needed as such, but a couple of extra GPIO pins would be useful. This patch allows the MICBIAS pins to be configured in the device tree as general purpose output pins, controlled via the GPIO framework. Owing to their originally intended purpose there are some limitations: when the MICBIAS pins are deactivated, they will float, so will likely need a pulldown in many applications. When activated, they will assume the voltage specified by the micbias1-vg and micbias2-vg properties, respectively, meaning that the resulting output voltage will be 2.0 V, 2.5 V or AVDD .
2024-06-23Cirrus Logic Family of ADCsMark Brown6-0/+1364
Merge series from Paul Handrigan <[email protected]>: This patchset provides ASoC support for the latest family of Cirrus Logic multichannel, high performance audio ADCs. The devices that are supported are CS5302 (2 channel ADC), CS5304 (4 channel ADC), and CS5308 (8 channel ADC).
2024-06-22ASoC: dt-bindings: add ti,pcm5242 to pcm512xChristian Hewitt1-1/+1
Add ti,pcm5242 to the pcm512x driver file Signed-off-by: Christian Hewitt <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-22ASoC: Add support for ti,pcm5242 to the pcm512x driverChristian Hewitt2-0/+4
Add a compatible string to enable support for the ti,pcm5242 DAC chip in the pcm512x driver. Signed-off-by: Christian Hewitt <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-22ASoC: cs530x: Support for cs530x ADCsPaul Handrigan5-0/+1279
Add support for the cs530x family of high performance ADCs. Signed-off-by: Paul Handrigan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-22ASoC: dt-bindings: cirrus,cs530x: Add initial DT bindingPaul Handrigan1-0/+85
Add the YAML DT bindings for the cs530x high performance audio ADCs. Signed-off-by: Paul Handrigan <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-21ASoc: PCM6240: Return directly after a failed devm_kzalloc() in ↵Hao Ge1-4/+2
pcmdevice_i2c_probe() The value “-ENOMEM” was assigned to the local variable “ret” in one if branch after a devm_kzalloc() call failed at the beginning. This error code will trigger then a pcmdevice_remove() call with a passed null pointer so that an undesirable dereference will be performed. Thus return the appropriate error code directly. Fixes: 1324eafd37aa ("ASoc: PCM6240: Create PCM6240 Family driver code") Signed-off-by: Hao Ge <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-21ASoC: amd: acp: add pcm constraints for buffer size and period sizeVijendar Mukunda1-0/+14
ACP common dma driver has a buffer size and period size restriction which should be 64 byte aligned. Add pcm constraints for the same. Signed-off-by: Vijendar Mukunda <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-21ASoC: amd: acp: move i2s clock generation sequenceVijendar Mukunda1-2/+2
I2S clock generation registers should be programmed before starting the I2S dma when I2S controller is programmed as clock master. Move i2s clock generation register programming sequence prior to i2s dma start. Signed-off-by: Vijendar Mukunda <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-21ASoC: amd: acp: modify conditional check for programming i2s mclkVijendar Mukunda3-4/+7
ACP provides different IO configurations(ACP PDM, I2S and SoundWire). I2S mclk should be programmed only when I2S configuration is selected and I2S controller is programmed as clock master. Modify the conditional check for programming i2s mclk. Signed-off-by: Vijendar Mukunda <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-21ASoC: amd: acp: remove unused variables from acp_resource structureVijendar Mukunda5-10/+0
Remove unused variables i2s_pin_cfg_offset and i2s_mode from acp_resource structure entries. Signed-off-by: Vijendar Mukunda <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-21ASoC: amd: acp: remove acp_i2s_probe functionVijendar Mukunda1-14/+0
In acp_i2s_probe(), acp_base null check is verified. As already acp_base null check will be verified in acp platform driver probe sequence, additional NULL check in acp_i2s_probe() is not needed. Remove acp_i2s_probe() function. Signed-off-by: Vijendar Mukunda <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-21ASoC: Merge up fixesMark Brown26-74/+144
We need some of the AMD fixes as a base for new work.
2024-06-20ASoC: fsl-asoc-card: set priv->pdev before using itElinor Montmasson1-1/+2
priv->pdev pointer was set after being used in fsl_asoc_card_audmux_init(). Move this assignment at the start of the probe function, so sub-functions can correctly use pdev through priv. fsl_asoc_card_audmux_init() dereferences priv->pdev to get access to the dev struct, used with dev_err macros. As priv is zero-initialised, there would be a NULL pointer dereference. Note that if priv->dev is dereferenced before assignment but never used, for example if there is no error to be printed, the driver won't crash probably due to compiler optimisations. Fixes: 708b4351f08c ("ASoC: fsl: Add Freescale Generic ASoC Sound Card with ASRC support") Signed-off-by: Elinor Montmasson <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-20ASoC: dt-bindings: convert everest,es7134.txt to dt-schemaNeil Armstrong2-15/+62
Convert the text bindings of the Everest ES7134/7144/7154 2 channels I2S analog to digital converter to dt-schema. Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/20240620-topic-amlogic-upstream-bindings-convert-everest-v2-2-660985615522@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-20ASoC: dt-bindings: convert everest,es7241.txt to dt-schemaNeil Armstrong2-28/+67
Convert the text biddings for the Everest ES7241 2 channels I2S analog to digital converter to dt-schema. Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/20240620-topic-amlogic-upstream-bindings-convert-everest-v2-1-660985615522@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-20ASoC: dt-bindings: add missing vender prefix on filenameKuninori Morimoto12-12/+12
Many Sound yaml files doesn't have vender prefix on filename. Add missing vender prefix for these files. Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Daniel Baluta <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-19ASoC: amd: acp: move chip->flag variable assignmentVijendar Mukunda1-1/+1
chip->flag variable assignment will be skipped when acp platform device creation is skipped. In this case chip>flag value will not be set. chip->flag variable should be assigned along with other structure variables for 'chip' structure. Move chip->flag variable assignment prior to acp platform device creation. Fixes: 3a94c8ad0aae ("ASoC: amd: acp: add code for scanning acp pdm controller") Signed-off-by: Vijendar Mukunda <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-19ASoC: amd: acp: remove i2s configuration check in acp_i2s_probe()Vijendar Mukunda1-8/+0
ACP supports different pin configurations for I2S IO. Checking ACP pin configuration value against specific value breaks the functionality for other I2S pin configurations. This check is no longer required in i2s dai driver probe call as i2s configuration check will be verified during acp platform device creation sequence. Remove i2s_mode check in acp_i2s_probe() function. Fixes: b24484c18b10 ("ASoC: amd: acp: ACP code generic to support newer platforms") Signed-off-by: Vijendar Mukunda <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-19ASoC: amd: acp: add a null check for chip_pdev structureVijendar Mukunda1-4/+6
When acp platform device creation is skipped, chip->chip_pdev value will remain NULL. Add NULL check for chip->chip_pdev structure in snd_acp_resume() function to avoid null pointer dereference. Fixes: 088a40980efb ("ASoC: amd: acp: add pm ops support for acp pci driver") Signed-off-by: Vijendar Mukunda <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-19ASoC: rt1318: Add RT1318 audio amplifier driverJack Yu5-0/+1719
This is the initial i2s-based amplifier driver for rt1318. Signed-off-by: Jack Yu <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-19ASoC: dt-bindings: ak4619: Add initial DT bindingKuninori Morimoto1-0/+62
Add Asahi Kasei ak4619 audio codec bindings. Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-19ASoC: Add ak4619 codec supportKhanh Le3-0/+919
Add support for the Asahi Kasei AK4619 audio codec. [Kuninori cleanuped and adjusted to upstream code] Signed-off-by: Khanh Le <[email protected]> Signed-off-by: Kuninori Morimoto <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-19ASoC: cs35l56: Accept values greater than 0 as IRQ numbersSimon Trimmer1-1/+1
IRQ lookup functions such as those in ACPI can return error values when an IRQ is not defined. The i2c core driver converts the error codes to a value of 0 and the SPI bus driver passes them unaltered to client device drivers. The cs35l56 driver should only accept positive non-zero values as IRQ numbers. Signed-off-by: Simon Trimmer <[email protected]> Fixes: 8a731fd37f8b ("ASoC: cs35l56: Move utility functions to shared file") Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: Intel: soc-acpi: mtl: fix speaker no sound on Dell SKU 0C64Shuming Fan1-1/+1
Dell SKU 0C64 has a single rt1318 amplifier. The prefix name of control still needs to be set rt1318-1 corresponding to UCM config. Signed-off-by: Shuming Fan <[email protected]> Reviewed-by: Bard Liao <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd939x: Drop unused num_ports fieldKrzysztof Kozlowski1-1/+0
The driver does not use few 'num_ports' in 'struct wcd939x_sdw_priv'. Signed-off-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-23-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd939x: Drop unused RX/TX direction enumKrzysztof Kozlowski1-5/+0
The enum with RX/TX soundwire direction is not used. Signed-off-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-22-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd939x: Constify wcd939x_sdw_ch_infoKrzysztof Kozlowski3-4/+4
Driver does not modify static wcd939x_sdw_ch_info array, so it can be made const for code safety. Signed-off-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-21-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd939x: Constify static dataKrzysztof Kozlowski1-3/+3
Driver does not modify few static data (MBHC reg fields, IRQ chip), so make them const for code safety. Signed-off-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-20-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd938x: Drop unused num_ports fieldKrzysztof Kozlowski1-1/+0
The driver does not use few 'num_ports' in 'struct wcd938x_sdw_priv'. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-19-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd938x: Drop unused RX/TX direction enumKrzysztof Kozlowski1-4/+0
The enum with RX/TX soundwire direction is not used. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-18-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd938x: Constify wcd938x_sdw_ch_infoKrzysztof Kozlowski3-4/+4
Driver does not modify static wcd938x_sdw_ch_info array, so it can be made const for code safety. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-17-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd938x: Constify static dataKrzysztof Kozlowski1-2/+2
Driver does not modify few static data (MBHC reg fields, IRQ chip), so make them const for code safety. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-16-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd937x: Drop unused chipid memberKrzysztof Kozlowski1-7/+6
The driver stores the read chipid in 'struct wcd937x_priv' but never needs it after. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-15-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd937x: Drop unused state container fieldsKrzysztof Kozlowski2-5/+0
The driver does not use few 'struct wcd937x_priv' and 'struct wcd937x_sdw_priv' members, so just drop them for smaller code. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-14-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd937x: Drop unused enums, defines and typesKrzysztof Kozlowski1-28/+0
Few declarations (defines, struct codec_port_info, enums) are not used and can be safely dropped. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-13-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd937x: Constify wcd937x_sdw_ch_infoKrzysztof Kozlowski3-4/+4
Driver does not modify static wcd937x_sdw_ch_info array, so it can be made const for code safety. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-12-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd937x: Constify static dataKrzysztof Kozlowski1-3/+3
Driver does not modify few static data (MBHC reg fields, IRQ chip), so make them const for code safety. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-11-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd934x: Handle nicer probe deferral and simplify with ↵Krzysztof Kozlowski1-11/+5
dev_err_probe() wcd934x_codec_parse_data() function is called only from probe(), so printing errors on resource acquisition is discouraged, because it can pollute dmesg in case of probe deferral. The actual deferral is here unlikely, but still the code is a bit simpler with dev_err_probe(). Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/20240612-asoc-wcd9xxx-wide-cleanups-v1-10-0d15885b2a06@linaro.org Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd934x: Drop unused mic bias voltage fieldsKrzysztof Kozlowski1-10/+5
Driver stores the voltage of mic bias in fields in state container structure, but actually never reads them - except for the mic2 bias (micb2_mv field). Drop the fields from the structure so the code will be a bit simpler. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd934x: Constify static dataKrzysztof Kozlowski1-3/+3
Driver does not modify few static data (arrays with sample rates, MBHC reg fields, regmap config), so make them const for code safety. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd934x: Drop unused interp path enumKrzysztof Kozlowski1-5/+0
The enum with inter path is not used. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2024-06-18ASoC: codecs: wcd9335: Drop unused dmic rate handlingKrzysztof Kozlowski1-49/+3
Driver was prepared to adjust DMIC microphone parameters according to DMIC clock rate which is read from platform data or Devicetree. The latter part never happened, so the code is always called with dmic_clk_rate=0, prints error and uses default/fallback values. All this part can be simplified by dropping dead parts of code. Signed-off-by: Krzysztof Kozlowski <[email protected]> Link: https://msgid.link/r/[email protected] Signed-off-by: Mark Brown <[email protected]>