summaryrefslogtreecommitdiff
path: root/sound/soc/fsl/fsl_dsp.h
AgeCommit message (Collapse)Author
2020-11-13MLK-25004-1: ASoC: fsl_dsp: remove unused pll clockShengjiu Wang
Remove unused pll8k and pll11k clock. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: Peng Zhang <peng.zhang_8@nxp.com>
2020-10-28MLK-24924-2 dsp: 8mp: change ocram layout for lpaBing Song
ATF put into the end of OCRAM on 8mp A1. Change the ocram layout for lpa. Signed-off-by: Bing Song <bing.song@nxp.com>
2020-08-14MLK-24501-5 dsp: add lpa pcm support.Bing Song
Use reserved memory as PCM mode need more memory. Use ping-pong buffer for PCM LPA playback to avoid underrun. Signed-off-by: Bing Song <bing.song@nxp.com> Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2020-07-10MLK-24365-5 dsp: setup memory for dsp.Bing Song
LPA only use OCRAM as DRAM will in retention mode when LPA. Signed-off-by: Bing Song <bing.song@nxp.com>
2020-07-10MLK-24365-4 dsp: enable dsp lpa.Bing Song
One big buffer shared between A core and DSP to buffer audio bitstram. So A core can sleep more time when DSP is playing buffered audio bit stream. Signed-off-by: Bing Song <bing.song@nxp.com>
2020-07-10MLK-24365-2 dsp: manage audiomix clock in dsp driver.Bing Song
IMX8MP_CLK_AUDIO_ROOT and IMX8MP_CLK_AUDIO_AXI_DIV will gated when suspend even if dsp driver ignored suspend when low power audio offload playback. The root cause is the two clocks is controlled when audiomix power on/off. Add the two clocks in dsp driver, so driver will add one ref count when useing dsp, so the two clocks don't be gated when A core suspend during low power audio playback. Signed-off-by: Bing Song <bing.song@nxp.com>
2020-04-29MLK-23837 Asoc: fsl_dsp: Fix system crash when do dsp suspend testZhang Peng
The issue is GPU will crash when do dsp suspend test, and only meet this issue when load GPU as module. The reason is that dsp framework's global data set size little than actul size. So dsp will touch the memory that not owned dsp, then caused GPU crash. Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
2020-04-07MLK-23701-2 ASoc:fsl: Add support cplay in mp boardZhang Peng
1. Add clk necessary in dsp driver 2. Add renderer type for select sai or esai Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
2020-03-18MLK-23618-6: ASoC: fsl_dsp: refine handling of multi power domainShengjiu Wang
The attached multi power domain is enabled by device_link_add So we need to disable them in probe, otherwise it may impact the power consumption. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
2020-02-13MLK-23255-3: ASoC: fsl_dsp: Add support i.MX8MPDaniel Baluta
1. Introduce new board type and compatible string in preparation for i.MX8MP board. 2. Add support configure and start DSP for i.MX8MP. 3. Add clocks for i.MX8MP, and do special process when suspend and resume because dsp haven't independent power. 4. Add special handle for i.MX8MP, because in imx8mp there is audiomix power domains, and only one power domain. Signed-off-by: Zhang Peng <peng_zhang_8@nxp.com> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25MLK-20693-3: ASoC: fsl_dsp: Add clocks for peripheral devicesShengjiu Wang
Add clocks for peripheral devices Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
2019-11-25MLK-20095-3: ASoC: fsl: Differentiate between QXP and QMDaniel Baluta
On QM the DSP is inside the VPU subsystem while in QXP it is inside the Audio DMA subsystem. For this reason there are "subtle" differences. Introduce new compatible string for QM to help us correctly configure the DSP depending on the board they run. dsp_mem_msg structure is shared with the DSP, so by introducing new member dsp_board_type we can let DSP know on which target it runs. Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com> Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25MLK-20222-4 sound: Update SCFW APIRanjani Vaidyanathan
Update SCFW API to the following commit: " ("430d1e3646fbe75e339e18abf2330565eac906e0") Author: Chuck Cannon <chuck.cannon@nxp.com> Date: Fri Nov 2 15:25:45 2018 -0500 SCF-105: RN updates. " Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com>
2019-11-25MLK-18497-11: ASoC: fsl: compress: Introduce compress implemenationDaniel Baluta
Reviewed-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25MLK-18497-10: ASoC: fsl: dsp: Refactor fsl_dsp_{open|close}Daniel Baluta
DSP driver now supports two interfaces. Old ioctl chardev based interface and ALSA compress inteface. Because some part of the open/close code is common introduce two new functions which encapsulate the common functionality. Reviewed-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25MLK-18497-9: ASoC: fsl: dsp: Export xf_client_allocDaniel Baluta
While at it add include guard to dsp.h Reviewed-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25MLK-18497-6: ASoC: fsl: dsp: Add Xtensa library handling APIDaniel Baluta
This is based on RF-2016.4-linux package received from Cadence and introduce the API for loading shared libraries into memory. Based on this we create xf_load_lib/xf_load_unlib functions which are used to tell DSP framework that codec libraries are mapped in memory and it can start using them. Reviewed-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25MLK-18497-4: ASoC: fsl: dsp: Add message buffer pool APIDaniel Baluta
Memory is allocated to clients from memory pools. A memory pool allocation is requested to DSP framework via XF_ALLOC command and freed via XF_FREE. Memory pool allocation API offers two functions: * xf_pool_alloc, allocate a number of buffers of given length * xf_pool_free, free memory area allocated for a pool. Once a buffer pool is allocated users can handle buffers using the following API: * xf_buffer_get(pool), gets a buffer from a pool * xf_buffer_put(buf), puts back a buffer into its pool Reviewed-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25MLK-18497-3: ASoC: fsl: dsp_proxy: Add new send/recv helpersDaniel Baluta
This commit adds 3 new function helpers for sending messages to DSP framework and waiting for response. While at it cleanup spaces around struct client fields. Reviewed-by: Cosmin-Gabriel Samoila <cosmin.samoila@nxp.com> Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25MLK-17481-3: ASoC: fsl: Fix DSP memory mappingsDaniel Baluta
We load DSP firmware from the ARM side at 0x556e8000 but because the compiler generated memory layout starts at 0x596e8000 we need to do some fixups. Thus, each address (in DSP local memory) generated by the compiler needs to be substracted an offset = 0x596e8000 - 0x556e8000 = 0x4000000. Because this only happens on QM we will use dts to specify the offset. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com> (cherry picked from commit 8d4518d2a5d956549e829470af15003d7adff841)
2019-11-25MLK-18646: ASoC: fsl_dsp: fix the license issueShengjiu Wang
correct the license issue Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
2019-11-25MLK-18279: ASoC: fsl_dsp: get the information of reserved memory from dtsWeiguang Kong
The reserved memory for dsp is defined in dts file, however, the dsp driver has also defined the address and size of this reserved memory, which is repeated and inflexible. So by cancelling the definition in dsp driver and use system API to get the information of reserved memory from dts dynamically to fix this problem. Signed-off-by: Weiguang Kong <weiguang.kong@nxp.com>
2019-11-25MLK-17747: dsp: use the name of dsp instead of hifiWeiguang Kong
In order to avoid the name problem going forward with integration with Qcom, Qcom has their own dsp and hifi is competitor, so the hifi name should not be used in our code. So use the name of dsp instead of hifi to fix this problem. Signed-off-by: Weiguang Kong <weiguang.kong@nxp.com>