Age | Commit message (Collapse) | Author | Files | Lines |
|
This patch add 32khz clock control logic for codec's master clock 2(MCLK2).
WM1811 codec can use MCLK1 and MCLK2 as FLL's source clocks.
Change-Id: Ifc57ae1772db9a905b0d1c101442ccf649d53c6b
Signed-off-by: Inha Song <ideal.song@samsung.com>
|
|
'res' could be NULL from one of the operations above (line 1243). Thus
check 'res' for NULL before releasing the region to avoid null pointer
dereference.
Change-Id: Iade84bccdfb1858c55ccf4cc5ef5ece3d51d9e00
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
|
|
After we use kzalloc to allocate memory and make chan point
to this block resource, then dma_request_slave_channel will
overwrite the pointer chan, which can result to memory leak
where chan points to.
Change-Id: Ie659df4e1855abc3f57ac3c54e97a6a448dac26e
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
sleep state
This patch add XUSBXTI power-state control function for BT call when sleep state.
When sound codec is enabled and entering sleep mode, XUSBXTI_SYS_PWR_REG must be
set to enables for BT call.
Change-Id: I5b385aad102e19c38d048609d99736ba13336253
Signed-off-by: Inha Song <ideal.song@samsung.com>
|
|
This patch reduce period_bytes_min to 128 bytes and period_bytes_max
to 1K bytes.
If period_bytes values is too large, underrun error occures in PULSEAUDIO.
I/PULSEAUDIO( 1619): alsa-sink.c: Underrun!
Change-Id: I33fd95d4748b2016740dd673108377181726df66
Signed-off-by: Inha Song <ideal.song@samsung.com>
|
|
reduce period_bytes_max from 64K to 20K bytes
if period_bytes configured more than that it causes dma pl330 error.
Change-Id: Ia5012b0a9452b2c0db43cb469317d1904b4d299b
Signed-off-by: Kwang-Hui Cho <kwanghui.cho@samsung.com>
|
|
This patch add ASoC machine driver for Rinato board with YMU831 codec.
Change-Id: Ifaf3417aac668f5a6236f9c74f22a1b92208a79d
Signed-off-by: Inha Song <ideal.song@samsung.com>
Signed-off-by: Hyunhee Kim <hyunhee.kim@samsung.com>
|
|
operation
This patch add i2s bus clock enable/disable function. If boards does not have
Audio Sub System, seperate clock is necessary for i2s bus control. This patch
should not effect Exynos4 SoC boards.
Change-Id: Ibcc696767526b3bafaa02b08eec2150410e296c8
Signed-off-by: Inha Song <ideal.song@samsung.com>
|
|
This patch adds handling of controller bus clock gating to make sure
that the clock is enabled before starting operation.
Change-Id: Ib7069487e3d4477fc6b7d09e411b06bfc3f8f263
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
|
|
Odroid U3 can support Headset Stereophone and Headset Mic.
Change-Id: Ia682256a21cef262d4539ce0b5f1b9bc54ddffb1
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
|
|
The control by user about external connectors is unnecesary.
Change-Id: Ib86f8ccccbb462c2ae17853dcc29313220eb407f
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
|
|
Samsung has different versions of I2S introduced in different
platforms. Each version has some new support added for multichannel,
secondary fifo, s/w reset control and internal mux for rclk src clk.
Each newly added change has a quirk. So this patch adds all the
required quirks as driver data and based on compatible string from
dtsi fetches the quirks.
Change-Id: Ib8d12633f3971f59284a5a1ae40d60f40411b2cc
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
|
|
This patch mainly updates the audio probe and remove function
from the upstream driver, replace the of_parse_phandle return
pointer from the global variables to be local ones. And update
the goto error jump symbols.
Change-Id: Ie0724f1cc0709f72d4feccda4af60985cb732764
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
If i2s don't have a secondary i2s dai, other i2s_dai is NULL.
So we need to check whether other i2s_dai is NULL before set
other->cdclk_out to i2s->cdclk_out in i2s_shutdown function.
Signed-off-by: Inha Song <ideal.song@samsung.com>
|
|
This patch adds property to samsung-i2s DT binding indicating that
controller does not have RCLK source selection bit in IISMOD register.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
|
|
Clock hierarchy needs to be initialized only for I2S that is a part of
Audio Subsystem. Remaining I2S do not need this, so this patch makes the
initialization conditional, based on presence of secondary DAI, which is
present only in Audio Subsystem I2S block.
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
|
|
Signed-off-by: Inha Song <ideal.song@samsung.com>
|
|
The module device table name should match the OF device id.
Change-Id: I2594ab705c9a6a5e86357692cb61c62679a252ed
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
after move the clock operations to late_probe,the configuration of
clock would be done only once and the ops can be removed altogether.
Change-Id: I96b9ffc1374c9404d401728796c8abdfe70f020a
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
|
|
Currently configuration of the CDCLK pad is being overwritten in
the i2s_shutdown() callback in order to gate the SoC output clock.
However if an ASoC machine driver doesn't restore that clock
settings each time after opening the sound device this results
in the CDCLK pin being permanently configured into input mode.
I.e. the output clock will always stay disabled.
Fix that by saving the CDCLKCON bit state in i2s_shutdown() and
and restoring it in the i2s_startup() callback.
Change-Id: Id8852022e385674b07ed79415198aff6814733d8
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
|
|
This patch enables to control pins information switch
by virtual mixer.
Change-Id: I02a3546d8aaf69a05e50e71c42b2e9daa03e203c
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
After DMA request slave channel failed and return NULL in dma_open,
the snd_dmaengine_pcm_open function will check and handle it.
Besides, there is no need to call kfree with NULL argument when a
dma_request_slave_channel call fails.
Change-Id: I02629dd74b9c535bb134f5516bf3c03a239bd241
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
This is trivial, but generally speaking, linefeed should be
the last character of error messages.
Change-Id: I49e595989942d8862f25b6348979ddee6645ea51
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
Assign pm ops to this driver so sound keeps working after system
suspend/resume cycle.
Change-Id: I3ec57d082be5362386947a069dd1904b91c56934
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
This patch reshapes the whole samsung platform driver which is composed by
samsung private dmaengine pcm operations, replacing them with the generic
asoc dmaengine pcm operations implemented by alsa soc subsystem.
The dma channel is requested in open callback, and will be released when
the pcm stream is closed. And the pcm trigger operations are also changed
to the asoc generic dmaengine based pcm trigger implementation.
Change-Id: Ib70b973720e5d57a40c7d583b74c11b971b4776c
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
This patch makes the generic dmaengine support for samsung pcm operations,
which can be used to substitute for samsung private dmaengine operations.
Change-Id: I4ab828fc95199bda7999e1c0c770100000aa2f74
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
This patch configures the standard alsa dmaengine configure dai data.
The dma address, width and maxburst size will be initialized during
cpu dai probe process, in which the address width is assigned with
a default value as four bytes. Then when the hardware parameters are
configured as playback or capture are started, the dma address width
will be configured again according to current sound channels.
After the configuration, this patch will set the dai dma data into
the private dma data field in snd_soc_dai structure.
Change-Id: I46ece6472464d003a19d409441619ebbe4ef30cd
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
This patch adds the standard alsa dmaengine configuration dai data,
which can make the dma slave channel runtime data be configured by
generic sound dmaengine slave config callback. This dmaengine dai
configuration data mainly contain dma address, width and maxburst.
Change-Id: Ief0688913ef89faafb90a1cf72c8a0977f3cb688
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
This patch just fix the code style issues about required space
missing and redundant line continuations have been checked out:
./scripts/checkpatch.pl -f ./sound/soc/samsung/i2s.c
ERROR: space required before the open brace '{'
\#1033: FILE: sound/soc/samsung/i2s.c:1033:
+ if (!IS_ERR(i2s->op_clk)){
WARNING: Avoid unnecessary line continuations
\#1225: FILE: sound/soc/samsung/i2s.c:1225:
+ dev_err(&pdev->dev, "idma address is not"\
total: 1 errors, 1 warnings, 1398 lines checked
./sound/soc/samsung/i2s.c has style problems, please review.
If any of these errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
Change-Id: I51f2bf0f6b203613b3a81d604b69c6e08ed97507
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
This patch adds support for specifying the audio routing in device
tree.
Change-Id: Iebbd8d4dff79afba888f4e7620cbf1f2debc81de
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
The 'samsung,model' property allows to define the sound card name
in device tree, rather than relying on single name coded in the driver
for all Odroid boards.
Change-Id: Iad446b3d95d578d8d5390af5d0a9d8f9dcdd2a46
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
Ensure the acquired references to the DT nodes are properly released
on error paths and upon the driver's removal.
Change-Id: I8ffff330041ad6d6adbc1afff3c85154e18dd85d
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
There is no way we can have probe() called with dev->of_node being
NULL on Exynos, so remove the unneeded check.
Change-Id: Icc815a56d2c0da14240dabc2097836e59117ccac
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
odroidx2_dai is a static variable so reinitialization of some
of its members to NULL can be removed.
Change-Id: I8448a6166a5008640ef3fd5d467acbcbc8e3cea9
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
It's just a debug information so make it dev_dbg(). While at it
use snd_pcm_stream_str() rather than open coding it.
Change-Id: Ib3c9820660bc69fb0c98a12762c6c009a55a6020
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
Purely cosmetic, i.e. no functionality changes.
Change-Id: I092e33f8a944c495cbb1ba6f1255c9794f4e76fc
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
This patch expands the sound pcm hardware information set, which makes
dma driver support audio stream pause/resume when playback music, and
triggering the push/release commands respectively.
Change-Id: I2f89c13afd335c964d144e9ba1b9d101ceb14a0d
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
This patch implements the pause/resume operations for audio stream
when users are playback the music, which will call the correlative
pause/resume callbacks from samsung dma operations set.
Change-Id: I151a9b48152dab52b9b618c54af4200fecd3fd8a
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
This patch removes the redundant sysclk setting of odroid cpu_dai.
Since the audio working mode has been changed from I2S master mode
to I2S slave mode, so we don't need to set the cpu_dai I2S clock
mode to operation any more. Besides, the hw_params function will
set cpu_dai I2S sysclk to CDCCLK mode, which makes the cpu_dai to
use the system clock generated by audio codec max98090.
Change-Id: Ia09f9774c07d22991a706eff6553892b9d7ca39c
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
This patch enables the I2S0 secondary DAI and create a
related audio playback device node, which will use the
internal DMA (IDMA) platform driver for PCM data transfer.
IDMA can support up to two channel sound for playback.
Change-Id: If7a84437cf0dda6d018ced22f52e4e995b72f01c
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
This patch fix the redundant line continuation problem checked over:
./scripts/checkpatch.pl -f ./sound/soc/samsung/odroidx2_max98090.c
WARNING: Avoid unnecessary line continuations
\#52: FILE: sound/soc/samsung/odroidx2_max98090.c:52:
+ ((substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ? \
total: 0 errors, 1 warnings, 145 lines checked
./sound/soc/samsung/odroidx2_max98090.c has style problems, please
review.
If any of these errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
Change-Id: Idf5a7c8a57c06e5b35401c24141d740887c5d65c
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
- Support for BT and mode, add Digital Audio Interface 2 and 3.
- Support for idma, modify Secondary DAI's cpu_dai_name and platform_name.
Change-Id: I90fc3786f043aca9463e255ad3388c2d341fd17b
Signed-off-by: Inha Song <ideal.song@samsung.com>
|
|
i2s-sec driver uses the internal dma.
Because ASoC idma devices are not registered as platform device,
asoc_idma_platform_register() should be called for idma registration.
Change-Id: Iaf7b0c0e3cdf66f4eda720cd705cf802c391d76b
Signed-off-by: Inha Song <ideal.song@samsung.com>
|
|
ASoC dma/idma devices are not registered as platform device any more.
In order to save irq value, "irq" member is added to the s3c_dma_params
data structure.
Change-Id: I1bfd0cfd9a6b4d67582dddade52b4eb4822afcac
Signed-off-by: Inha Song <ideal.song@samsung.com>
|
|
Previously, the ASoC idma was instantiated via a platform_device.
But it was a virtual device with sole purpose to call snd_soc_register_platform().
Each Samsung DAI now registers the ASoC 'platform' itself.
Change-Id: Ie1c9b2bdf5522dc085fe2bbb271cd9ceb86252f7
Signed-off-by: Inha Song <ideal.song@samsung.com>
|
|
This patch updates the compatible match table for odroid.
Since the machine driver is not only used on odroidx2 board,
but is also used on odroidu3 board, so it's better to expand
the compatible match table string for compatibility concern.
Change-Id: I668ab8236091d1336a0101142cbbadf6a0e23591
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
|
|
The machine driver name of the existing "exynos4-wm1811" is Inappropriate.
Codec is dependent on board, not SoC.
So, Change machine dirver name from "exynos4-wm1811" to "trats2-wm1811"
to be used in trats2.
Change-Id: I06149430562514485a10eb580ab722857662aa22
Signed-off-by: Inha Song <ideal.song@samsung.com>
|
|
it's obviously that codec driver has no routing handle for clk_id,
so just supply 0 for it.
Change-Id: I29b14ef8110b580a52502497728c049284b050a1
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
|
|
Change-Id: I93731b6d92954be19f752a2b4283a611e7a793de
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
|
|
In order to don't change the EPLL, the reasonable way is to make the
codec as master instead of i2s.
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
Change-Id: Ia457d7625c9a87ac6c854176c0fe03f500923825
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
|