- 15 May, 2023 1 commit
-
-
Mark Brown authored
Avoid tripping over fixed issues in CI.
-
- 12 May, 2023 6 commits
-
-
Mark Brown authored
Merge series from Martin Povišer <povik+lin@cutebit.org>: Analog Devices SSM3515 is a simple speaker amp that Apple is using in their 2021 iMacs, possibly elsewhere.
-
Rsplwe authored
This model requires an additional detection quirk to enable the internal microphone. Signed-off-by: Rsplwe <i@rsplwe.com Link: https://lore.kernel.org/r/tencent_3C6819728B6704C39A864762FB0BB77DF509@qq.com Signed-off-by: Mark Brown <broonie@kernel.org
-
David Lin authored
Convert the NAU8825 audio CODEC bindings to DT schema. Signed-off-by: David Lin <CTLIN0@nuvoton.com Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org Link: https://lore.kernel.org/r/20230511113607.595184-1-CTLIN0@nuvoton.com Signed-off-by: Mark Brown <broonie@kernel.org
-
Martin Povišer authored
The Analog Devices' SSM3515 is a mono audio amplifier with digital input, equipped on Apple's 2021 iMacs. Add an ASoC driver for it, and register both the driver code and schema in MAINTAINERS. Signed-off-by: Martin Povišer <povik+lin@cutebit.org Link: https://lore.kernel.org/r/20230511150546.8499-3-povik+lin@cutebit.org Signed-off-by: Mark Brown <broonie@kernel.org
-
Martin Povišer authored
Add a DT schema for the SSM3515 amp by Analog Devices. It's a simple mono amplifier with digital input. Signed-off-by: Martin Povišer <povik+lin@cutebit.org Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org Link: https://lore.kernel.org/r/20230511150546.8499-2-povik+lin@cutebit.org Signed-off-by: Mark Brown <broonie@kernel.org
-
Paweł Anikiel authored
Apply a workaround for what appears to be a hardware quirk. The problem seems to happen when enabling "whole chip power" (bit D7 register R6) for the very first time after the chip receives power. If either "output" (D4) or "DAC" (D3) aren't powered on at that time, playback becomes very distorted later on. This happens on the Google Chameleon v3, as well as on a ZYBO Z7-10: https://ez.analog.com/audio/f/q-a/543726/solved-ssm2603-right-output-offset-issue/480229 I suspect this happens only when using an external MCLK signal (which is the case for both of these boards). Here are some experiments run on a Google Chameleon v3. These were run in userspace using a wrapper around the i2cset utility: ssmset() { i2cset -y 0 0x1a $(($1*2)) $2 } For each of the following sequences, we apply power to the ssm2603 chip, set the configuration registers R0-R5 and R7-R8, run the selected sequence, and check for distortions on playback. ssmset 0x09 0x01 # core ssmset 0x06 0x07 # chip, out, dac OK ssmset 0x09 0x01 # core ssmset 0x06 0x87 # out, dac ssmset 0x06 0x07 # chip OK (disable MCLK) ssmset 0x09 0x01 # core ssmset 0x06 0x1f # chip ssmset 0x06 0x07 # out, dac (enable MCLK) OK ssmset 0x09 0x01 # core ssmset 0x06 0x1f # chip ssmset 0x06 0x07 # out, dac NOT OK ssmset 0x06 0x1f # chip ssmset 0x09 0x01 # core ssmset 0x06 0x07 # out, dac NOT OK ssmset 0x09 0x01 # core ssmset 0x06 0x0f # chip, out ssmset 0x06 0x07 # dac NOT OK ssmset 0x09 0x01 # core ssmset 0x06 0x17 # chip, dac ssmset 0x06 0x07 # out NOT OK For each of the following sequences, we apply power to the ssm2603 chip, run the selected sequence, issue a reset with R15, configure R0-R5 and R7-R8, run one of the NOT OK sequences from above, and check for distortions. ssmset 0x09 0x01 # core ssmset 0x06 0x07 # chip, out, dac OK (disable MCLK) ssmset 0x09 0x01 # core ssmset 0x06 0x07 # chip, out, dac (enable MCLK after reset) NOT OK ssmset 0x09 0x01 # core ssmset 0x06 0x17 # chip, dac NOT OK ssmset 0x09 0x01 # core ssmset 0x06 0x0f # chip, out NOT OK ssmset 0x06 0x07 # chip, out, dac NOT OK Signed-off-by: Paweł Anikiel <pan@semihalf.com Link: https://lore.kernel.org/r/20230508113037.137627-8-pan@semihalf.com Signed-off-by: Mark Brown <broonie@kernel.org
-
- 11 May, 2023 9 commits
-
-
Mark Brown authored
Merge series from Srinivas Kandagatla <srinivas.kandagatla@linaro.org>: This patchset adds support to displayport on AudioReach. Patches are tested on X13s with two display ports.
-
Aidan MacDonald authored
The audio controller in the X1000 is similar to the JZ47xx SoCs. Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org Link: https://lore.kernel.org/r/20230509124238.195191-2-aidanmacdonald.0x0@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org
-
Aidan MacDonald authored
The X1000's AIC is similar to the AIC found on other Ingenic SoCs. It has symmetric playback/capture rates like the JZ4740, but more flexible clocking when outputting the system or bit clocks. Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com Link: https://lore.kernel.org/r/20230509124238.195191-1-aidanmacdonald.0x0@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org
-
Srinivas Kandagatla authored
This patch adds support to q6apm lpass display port dais. This support is required to get DP audio on x13s. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org Link: https://lore.kernel.org/r/20230509112202.21471-5-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org
-
Srinivas Kandagatla authored
Existing code base only supports one display port, this patch adds support upto 8 display ports. This support is required to allow platforms like X13s which have 3 display ports, and some of the Qualcomm SoCs there are upto 7 Display ports. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org Link: https://lore.kernel.org/r/20230509112202.21471-4-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org
-
Srinivas Kandagatla authored
Add support for DISPLAY PORT SINK module and associated configuration. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org Link: https://lore.kernel.org/r/20230509112202.21471-3-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org
-
Srinivas Kandagatla authored
move hdmi/dp channel allocation to a common function q6dsp_get_channel_allocation() so that we can reuse this across q6afe and q6apm drivers. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org Link: https://lore.kernel.org/r/20230509112202.21471-2-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org
-
Martin Povišer authored
A bunch of TI's codecs have binding schemas which force #sound-dai-cells to one despite those codecs only having a single DAI. Allow for bindings with zero DAI cells and deprecate the former non-zero value. Signed-off-by: Martin Povišer <povik+lin@cutebit.org Link: https://lore.kernel.org/r/20230509153412.62847-1-povik+lin@cutebit.org Signed-off-by: Mark Brown <broonie@kernel.org
-
Aidan MacDonald authored
When the CPU supplies bit/frame clocks, the system clock (clk_i2s) is divided to produce the bit clock. This is a simple 1/N divider with a fairly limited range, so for a given system clock frequency only a few sample rates can be produced. Usually a wider range of sample rates is supported by varying the system clock frequency. The old calculation method was not very robust and could easily produce the wrong clock rate, especially with non-standard rates. For example, if the system clock is 1.99x the target bit clock rate, the divider would be calculated as 1 instead of the more accurate 2. Instead, use a more accurate method that considers two adjacent divider settings and selects the one that produces the least error versus the requested rate. If the error is 5% or higher then the rate setting is rejected to prevent garbled audio. Skip divider calculation when the codec is supplying both the bit and frame clock; in that case, the divider outputs are unused and we don't want to constrain the sample rate. Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com Link: https://lore.kernel.org/r/20230509125134.208129-1-aidanmacdonald.0x0@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org
-
- 09 May, 2023 4 commits
-
-
Mark Brown authored
Merge series from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>: Many ASoC drivers are using dummy DAI. I have 2 concern about it. 1st one is there is no guarantee that local strings ("snd-soc-dummy-dai", "snd-soc-dummy") are kept until the card was binded if it was added at subfunction. 2nd one is we can use common snd_soc_dai_link_component for it. This patch-set adds common asoc_dummy_dlc, and use it.
-
Jack Yu authored
This is the initial codec driver for rt722-sdca. Signed-off-by: Jack Yu <jack.yu@realtek.com Link: https://lore.kernel.org/r/20230421030116.26245-1-jack.yu@realtek.com Signed-off-by: Mark Brown <broonie@kernel.org
-
Mark Brown authored
Merge series from AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>: This series performs some cleanups for mainly MT8195 and switches both MT8195 and MT8186's SOF driver to the snd_sof_ipc_process_reply() helper.
-
V sujith kumar Reddy authored
Check substream and runtime variables before assigning. Signed-off-by: V sujith kumar Reddy <Vsujithkumar.Reddy@amd.com Link: https://lore.kernel.org/r/20230508070510.6100-1-Vsujithkumar.Reddy@amd.com Signed-off-by: Mark Brown <broonie@kernel.org
-
- 08 May, 2023 3 commits
-
-
Shengjiu Wang authored
There is error message when defer probe happens: fsl-micfil-dai 30ca0000.micfil: Unbalanced pm_runtime_enable! Fix the error handler with pm_runtime_enable and add fsl_micfil_remove() for pm_runtime_disable. Fixes: 47a70e6f ("ASoC: Add MICFIL SoC Digital Audio Interface driver.") Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com Link: https://lore.kernel.org/r/1683540996-6136-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org
-
Maxim Kochetkov authored
On slow CPU (FPGA/QEMU emulated) printing overrun messages from interrupt handler to uart console may leads to more overrun errors. So use dev_err_ratelimited to limit the number of error messages. Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru Link: https://lore.kernel.org/r/20230505062820.21840-1-fido_max@inbox.ru Signed-off-by: Mark Brown <broonie@kernel.org
-
Jeremy Soller authored
Add pang12 quirk to enable the internal microphone. Signed-off-by: Jeremy Soller <jeremy@system76.com Signed-off-by: Tim Crawford <tcrawford@system76.com Link: https://lore.kernel.org/r/20230505161458.19676-1-tcrawford@system76.com Signed-off-by: Mark Brown <broonie@kernel.org
-
- 07 May, 2023 17 commits
-
-
Shengjiu Wang authored
On i.MX8MP, the sai MCLK is bound with TX/RX enable bit, which means the TX/RE enable bit need to be enabled then MCLK can be output on PAD. Some codec (for example: WM8962) needs the MCLK output earlier, otherwise there will be issue for codec configuration. Add new soc data "mclk_with_tere" for this platform and enable the MCLK output in startup stage. As "mclk_with_tere" only applied to i.MX8MP, currently The soc data is shared with i.MX8MN, so need to add an i.MX8MN own soc data with "mclk_with_tere" disabled. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com Link: https://lore.kernel.org/r/1683273322-2525-1-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org
-
Yang Li authored
./sound/soc/codecs/wcd938x-sdw.c:1274:2-3: Unneeded semicolon Reported-by: Abaci Robot <abaci@linux.alibaba.com Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=4862 Signed-off-by: Yang Li <yang.lee@linux.alibaba.com Link: https://lore.kernel.org/r/20230505004538.70270-1-yang.lee@linux.alibaba.com Signed-off-by: Mark Brown <broonie@kernel.org
-
Anup Sharma authored
Convert the NAU8540 audio CODEC bindings to DT schema Signed-off-by: Anup Sharma <anupnewsmail@gmail.com Changes: V1 -> V2: Adhere to the correct procedure by including the maintainer's name. Drop Mark from maintainer. Link: https://lore.kernel.org/r/ZFYxWVdE9YkMKvXv@yoga Signed-off-by: Mark Brown <broonie@kernel.org
-
Syed Saba Kareem authored
Instead of a busy waiting while loop using udelay in acp63_power_on and acp63_reset functions use readl_poll_timeout function to check the condition. Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com Link: https://lore.kernel.org/r/20230426122219.3745586-2-Syed.SabaKareem@amd.com Signed-off-by: Mark Brown <broonie@kernel.org
-
Syed Saba Kareem authored
Instead of acp63_readl() and acp63_writel() wrappers readl and writel functions can be used directly. Remove acp63_readl() and acp63_writel() wrappers. Signed-off-by: Syed Saba Kareem <Syed.SabaKareem@amd.com Reviewed-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com Link: https://lore.kernel.org/r/20230426122219.3745586-1-Syed.SabaKareem@amd.com Signed-off-by: Mark Brown <broonie@kernel.org
-
Uwe Kleine-König authored
After commit b8a1a4cd ("i2c: Provide a temporary .probe_new() call-back type"), all drivers being converted to .probe_new() and then 03c835f4 ("i2c: Switch .probe() to not take an id parameter") convert back to (the new) .probe() to be able to eventually drop .probe_new() from struct i2c_driver. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de Link: https://lore.kernel.org/r/20230425095716.331419-1-u.kleine-koenig@pengutronix.de Signed-off-by: Mark Brown <broonie@kernel.org
-
Carlos Bilbao authored
The most recent changes to ASoC, such as new module parameters, date to the year 2023. Update copyright statement accordingly. Signed-off-by: Carlos Bilbao <carlos.bilbao@amd.com Link: https://lore.kernel.org/r/20230420180212.3101178-1-carlos.bilbao@amd.com Signed-off-by: Mark Brown <broonie@kernel.org
-
Maxim Kochetkov authored
The COMP1_TX_WORDSIZE_0/COMP2_RX_WORDSIZE_0 fields in the comp registers indicate the maximum wordsize supported. DWC I2S controller can operate with any smaller wordsize. So extend the formats to let I2S to operate in any allowed modes. Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru Link: https://lore.kernel.org/r/20230505053521.18233-1-fido_max@inbox.ru Signed-off-by: Mark Brown <broonie@kernel.org
-
Mark Brown authored
regmap has introduced a maple tree based register cache which makes use of this more advanced data structure which has been added to the kernel recently. Maple trees are much flatter than rbtrees, meaning that they do not grow to such depths when the register map is sparse which makes access a bit more efficient. The maple tree cache type is still a bit of a work in progress but should be effective for some devices already. RT5682 seems like a good candidate for maple tree. It only supports single register read/write operations so will gain minimal benefit from storing the register data in device native format like rbtree does (none for SoundWire) and has some sparsity in the register map which is a good fit for maple tree. Convert to use maple tree. There should be little if any visible difference at runtime. Signed-off-by: Mark Brown <broonie@kernel.org Link: https://lore.kernel.org/r/20230419-asoc-rt5682-maple-v1-1-ed40369c9099@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org
-
Rob Herring authored
Another batch of dropping unneeded quotes on $id and $schema which were missed in the last round. Once all these are fixed, checking for this can be enabled in yamllint. Signed-off-by: Rob Herring <robh@kernel.org Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org Link: https://lore.kernel.org/r/20230421214810.1811962-1-robh@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org
-
Krzysztof Kozlowski authored
SC7180 Trogdor sound cards come with multiple audio amplifiers, so allow up to four of them to fix dtbs_check warnings like: sc7180-trogdor-homestar-r3.dtb: sound: dai-link@1:codec:sound-dai: [[275], [276], [277], [278]] is too long Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org Acked-by: Conor Dooley <conor.dooley@microchip.com Link: https://lore.kernel.org/r/20230507174543.264987-1-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org
-
Mark Brown authored
regmap has introduced a maple tree based register cache which makes use of this more advanced data structure which has been added to the kernel recently. Maple trees are much flatter than rbtrees, meaning that they do not grow to such depths when the register map is sparse which makes access a bit more efficient. The maple tree cache type is still a bit of a work in progress but should be effective for some devices already. RT715 seems like a good candidate for maple tree. It is a SoundWire MBQ device and therefore supports only single register read/write operations which do not use raw I/O and will therefore save the cost of converting to and from device native format when accessing the cache while not having a negative impact from the current lack of bulk operations in maple tree cache sync. It has a moderately large and quite sparse register map which is a good fit for storing in a maple tree. Convert to use maple tree. There should be little if any visible difference at runtime. Signed-off-by: Mark Brown <broonie@kernel.org Link: https://lore.kernel.org/r/20230412-asoc-rt715-maple-v1-1-200a84835fde@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org
-
Maxim Kochetkov authored
Some SoC may have resets for I2S subsystem. So add optional resets support. Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru Link: https://lore.kernel.org/r/20230504071618.52012-2-fido_max@inbox.ru Signed-off-by: Mark Brown <broonie@kernel.org
-
Maxim Kochetkov authored
Some SoC may have resets for I2S subsystem. So add optional reset support. Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru Link: https://lore.kernel.org/r/20230504071618.52012-1-fido_max@inbox.ru Signed-off-by: Mark Brown <broonie@kernel.org
-
AngeloGioacchino Del Regno authored
Shorten the probe function by switching to dev_err_probe() where possible. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com Link: https://lore.kernel.org/r/20230503113413.149235-5-angelogioacchino.delregno@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org
-
AngeloGioacchino Del Regno authored
Use devm_pm_runtime_enable() and pm_runtime_resume_and_get() to to simplify the probe function. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com Link: https://lore.kernel.org/r/20230503113413.149235-4-angelogioacchino.delregno@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org
-
AngeloGioacchino Del Regno authored
Function mt8195_afe_init_registers() performs just a single call to regmap_multi_reg_write(), it returns int and it's not error checked; move that call to the probe function and also add some error check. While at it, also move the contents of mt8195_afe_parse_of() to the probe function as well: since this is getting a handle to topckgen and since that's optional, the ifdef for CONFIG_SND_SOC_MT6359 can also be removed. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com Acked-by: Trevor Wu <trevor.wu@mediatek.com Link: https://lore.kernel.org/r/20230503113413.149235-6-angelogioacchino.delregno@collabora.com Signed-off-by: Mark Brown <broonie@kernel.org
-