aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/mediatek (follow)
AgeCommit message (Collapse)AuthorFilesLines
2016-03-05ASoC: mediatek: address dai link array entries by enumPhilipp Zabel1-5/+13
This should be more robust to future changes than adressing array entries by index number. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-03-02ASoC: mediatek: Add machine driver for rt5650 rt5514 codecKoro Chen3-10/+279
This is the DPCM based machine driver with rt5650 and rt5514. Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: PC Liao <pc.liao@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-02-26ASoC: mediatek: Add I03/I04 widgets and corresponding routesKoro Chen1-0/+11
Add these widgets to allow another path from I2S input. Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: PC Liao <pc.liao@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-02-26ASoC: mediatek: remove soft reset and add second I2S clockPC Liao1-8/+6
To improve I2S flow, this patch removes soft reset and adds second I2S clock to use. Signed-off-by: PC Liao <pc.liao@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-02-22ASoC: mediatek: Add machine driver for ALC5650 codecKoro Chen3-0/+247
This is the DPCM based machine driver with rt5650 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: PC Liao <pc.liao@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-02-22Merge tag 'v4.5-rc5' into asoc-mtkMark Brown1-2/+2
Linux 4.5-rc5
2016-02-10Merge remote-tracking branches 'asoc/fix/imx-spdif', 'asoc/fix/mtk', 'asoc/fix/mxs-saif', 'asoc/fix/qcom' and 'asoc/fix/rt286' into asoc-linusMark Brown1-2/+2
2016-01-15ASoC: mediatek: add i2c dependencyArnd Bergmann1-2/+2
The newly added mediatek drivers for mt8173 select codes that depend on I2C, which cuases a build failure if I2C is disabled: warning: (SND_SOC_ADAU1761_I2C && SND_SOC_ADAU1781_I2C && SND_SOC_ADAU1977_I2C && SND_SOC_RT5677 && EXTCON_MAX14577 && EXTCON_MAX77693 && EXTCON_MAX77843 && BMC150_ACCEL_I2C && BMG160_I2C) selects REGMAP_I2C which has unmet direct dependencies (I2C) codecs/rt5645.c:3854:1: warning: data definition has no type or storage class codecs/rt5645.c:3854:1: error: type defaults to 'int' in declaration of 'module_i2c_driver' [-Werror=implicit-int] codecs/rt5677.c:5270:1: warning: data definition has no type or storage class 77_i2c_driver); codecs/rt5677.c:5270:1: error: type defaults to 'int' in declaration of 'module_i2c_driver' [-Werror=implicit-int] This adds an explicit dependency. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2016-01-15ASoC: mediatek: Enable 33bit memory address to support 4GB DRAMPC Liao2-1/+22
If platform is embedded with memory more than 3GB, the address will go out of the scope that 32-bit can handle with. This patch sets the dma_mask and MSB properly to describe its address to 33-bit. Signed-off-by: Hidalgo Huang <hidalgo.huang@mediatek.com> Signed-off-by: PC Liao <pc.liao@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-12-22ASoC: mediatek: Turn AFE on/off in runtime resume/suspendKoro Chen1-18/+6
AFE is actually allowed to be turn on before configuration of DAIs since each DAI has its own enabling control. Turn on/off AFE in runtime resume/suspend to avoid AFE being shut down when closing a DAI while other DAIs are still active. Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-12-08ASoC: mediatek: Use current HW pointer for pointer callbackKoro Chen2-12/+11
Previously we recorded "last interrupt position" and used it in pointer callback. This is not correct implementation, and it causes underruns when user space monitors buffer level to decide when to send next data chunk in low latency application. Remove position recording in IRQ handler and also hw_ptr in struct mtk_afe_memif used to record that, and let pointer callback reports current HW pointer instead. Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-11-17ASoC: mediatek: Move 22M/24M clock control into I2S opsKoro Chen1-7/+6
22M/24M clocks are only required for I2S, so move the control to I2S DAI ops. Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-09-23Merge remote-tracking branches 'asoc/topic/jz4740', 'asoc/topic/kirkwood', 'asoc/topic/mtk', 'asoc/topic/multi' and 'asoc/topic/mxs' into asoc-nextMark Brown2-20/+2
2015-09-14ASoC: mediatek: Increase periods_min in captureKoro Chen1-0/+17
In capture, there is chance that hw_ptr reported at IRQ is a little smaller than period_size due to internal AFE buffer. In the case of ping-pong buffer: |xxxxxxxxxxxxxxxxxxxxxxxxxxxx--|-----------------------------| hw_ptr < period_size This available buffer will not be read since its size is smaller than avail_min (which is period_size by default), and read thread continues to sleep. If the next hw_ptr is just a little larger than buffer_size, overrun occurs. One more period can hold the possible unread buffer. Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-08-31ASoC: mediatek: Convert to devm_snd_soc_register_cardAxel Lin2-20/+2
Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-08-30Merge remote-tracking branches 'asoc/topic/mediatek', 'asoc/topic/mtk', 'asoc/topic/nuc900', 'asoc/topic/of-name' and 'asoc/topic/omap' into asoc-nextMark Brown4-22/+77
2015-08-30Merge remote-tracking branches 'asoc/topic/au1x', 'asoc/topic/bcm2835', 'asoc/topic/blackfin' and 'asoc/topic/card' into asoc-nextMark Brown2-0/+2
2015-08-21ASoC: Set missing card owner fieldAxel Lin2-0/+2
Set the card owner field to prevent the module from being removed from underneath its users. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-08-17ASoC: mediatek: Remove AIF widgets for backend DAIsKoro Chen1-11/+0
DAPM core already creates widgets for DAIs. It is not necessary to declare them by SND_SOC_DAPM_AIF_IN/SND_SOC_DAPM_AIF_OUT. Furthermore, original codes use backend DAI's stream name to be the AIF widget name. It causes the same widget to be created twice, and after commit 92fa12426741 ("ASoC: dapm: Add new widgets to the end of the widget list") the first created widget (by snd_soc_dapm_new_controls) is used, not the 2nd created one (by snd_soc_dapm_new_dai_widgets), so audio path is broken. Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-07-22ASoC: mediatek: Add suspend/resume callbacksKoro Chen2-8/+77
This adds suspend/resume callbacks, which are common for each DAI. To be able to continue the last playback/capture after resume when suspend was done during a playback/capture, in the callbacks we do backup/restore of registers which were set before prepare stage. Registers to be backup/restore are defined in a backup list array. Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-07-14ASoC: mediatek: Drop owner assignment from platform_driverKrzysztof Kozlowski3-3/+0
platform_driver does not need to set an owner because platform_driver_register() will set it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Acked-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-07-09ASoC: mediatek: Use platform_of_node for machine driversKoro Chen2-8/+28
This replaces the platform_name in snd_soc_dai_link by device tree node. Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-23ASoC: mediatek: Fix unbalanced calls to runtime suspend/resumeKoro Chen1-0/+2
This adds call to runtime suspend in dev remove. It fixs the problem that suspend is not called in the case of CONFIG_PM=n. It also fixs build warning when CONFIG_PM=n. Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-16ASoC: mediatek: Add machine driver for rt5650 rt5676 codecKoro Chen3-0/+290
This is the DPCM based machine driver with rt5650 and rt5676 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-16ASoC: mediatek: Add machine driver for MAX98090 codecKoro Chen3-0/+225
This is the DPCM based machine driver with MAX98090 Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
2015-06-16ASoC: mediatek: Add AFE platform driverKoro Chen4-0/+1353
This is the DPCM based platform driver of AFE (Audio Front End) unit. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Koro Chen <koro.chen@mediatek.com> Signed-off-by: Mark Brown <broonie@kernel.org>