Commit Graph

385 Commits

Author SHA1 Message Date
Seppo Ingalsuo 27281d75e7 Topology: Add DMIC capture pipeline with gain and high-pass filter
This patch adds topology sof-apl-eq-dmic to help testing acoustical
audio capture via DMIC or work as example for other machine drivers. The
capture format is set as four channels, S32_LE, 48 kHz. The IIR EQ is
a 2nd order Butterworth high-pass with cut-off frequency at 50 Hz to
suppress non-audible lowest frequencies. The EQ provides additional
+20 dB gain to avoid the recording to sound too silent.

The IIR EQ or additional FIR EQ instance can when needed provide other
form factor specific equalization.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-10-11 17:12:27 +03:00
Liam Girdwood 7f47792cbd
Merge pull request #99 from singalsu/eq_add_response_measure
EQ: Add tool for acoustical frequency response measurement
2018-10-11 12:14:17 +01:00
Liam Girdwood 878d08831c
Merge pull request #98 from akloniex/trace-improvements
logger: Add support for 4 parameters passed to log message.
2018-10-10 16:40:34 +01:00
Liam Girdwood 3e848fe2e5
Merge pull request #97 from akloniex/fix-formatting
logger: Fix formatting of line number value.
2018-10-10 16:38:54 +01:00
Liam Girdwood 3c59e53943
Merge pull request #96 from akloniex/read-stdin
logger: Implement possibility to read log data from stdin
2018-10-10 16:29:48 +01:00
Liam Girdwood b6046db271
Merge pull request #93 from RanderWang/whl_tplg
WHL: add a bespoke hda topology for WHL
2018-10-10 16:17:10 +01:00
Seppo Ingalsuo 1cbba6c5e8 EQ: Add tool for acoustical frequency response measurement
This patch adds into SOFT/tune/eq a script mls_freq_resp.m that can
be used as low budget or quick developer tool to measure device frequency
response. The configuration files mls_play_config.txt and
mls_rec_config.txt configure the audio devices for local or remote
ssh aplay/arecord execution.

The MLS measurement with a short time window, e.g. less than 10 ms can
partially achieve the same as anechoic measurement. However this
is not intended to replace usage any professional audio measurement. If
using this use with care!

Note also that as such this script measures the response of a
speaker - microphone system. One response need to be known and
under calibration to get reliable results for other. Even ADC and DAC
responses may impact.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-10-10 16:43:38 +03:00
ArturX Kloniecki 3bf2641ef5 logger: Add support for 4 parameters passed to log message.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
2018-10-10 11:44:12 +02:00
ArturX Kloniecki 932f09f0c2 logger: Fix formatting of line number value.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
2018-10-10 09:17:54 +02:00
ArturX Kloniecki 5e4995f995 logger: Implement possibility to read log data from stdin
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
2018-10-09 14:37:24 +02:00
Rander Wang c569a95905 WHL: add a bespoke hda topology for WHL
Only passthrough is required on WHL

Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2018-10-09 10:52:06 +08:00
Liam Girdwood e37aa3f422
Merge pull request #88 from akloniex/unify-logger
logger/rmbox: unify implementation of new logger tool with old rmbox
2018-10-08 20:40:37 +01:00
ArturX Kloniecki 86b8dafe41 logger/rmbox: unify implementation of new logger tool with old rmbox
Integrate both tools to provide common CLI.
Also provide better logging format for logger tool.

Signed-off-by: ArturX Kloniecki arturx.kloniecki@linux.intel.com
2018-10-08 19:38:35 +02:00
Liam Girdwood 2d7a933aa8
Merge pull request #91 from singalsu/fix_eq_m4_export
EQ tune: Update m4 format EQ filter coefficients syntax
2018-10-04 17:38:21 +01:00
Seppo Ingalsuo 7372f1ec7e EQ tune: Update m4 format EQ filter coefficients syntax
This patch updates the export format to currently used format in
topology. It adds also possibility to pass text comment into line
above the bytes from EQ design script. The date is appended
automatically after comment.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-10-04 18:17:17 +03:00
Liam Girdwood 8a56694668
Merge pull request #89 from cujomalainey/master
Use passed in number of channels for pipeline
2018-10-03 13:17:52 +01:00
Curtis Malainey 9050d82a7d Use passed in number of channels for pipeline
Pipelines should not expose more channels than what they are configured
to support.

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2018-10-02 13:54:04 -07:00
Liam Girdwood 54d191e82b
Merge pull request #87 from ranj063/eqctl
eqctl: do not process invalid input file name
2018-10-02 08:32:38 +01:00
Ranjani Sridharan e4171c89f8 eqctl: do not process invalid input file name
Fixes seg faults when input file does not exist.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2018-10-01 21:10:55 -07:00
Liam Girdwood 4c9498a8ac
Merge pull request #86 from xiulipan/pr/loggerfix
Some optimization to logger
2018-09-29 21:00:01 +01:00
Liam Girdwood e97bda295f
Merge pull request #74 from singalsu/add_eqctl_proposal
EQ: Add equalizer control tool eqctl
2018-09-29 20:53:28 +01:00
Liam Girdwood e66596e418
Merge pull request #84 from RanderWang/hda-fix
hda: add virtual widgets to kill error message in kernel log
2018-09-29 20:49:51 +01:00
Pan Xiuli a8d54314c9 logger: make logger usage similiar to old rmbox
Add wrapper for parser function and add default path for error
trace and dam trace.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2018-09-29 13:10:35 +08:00
Pan Xiuli 8f9b35071b logger: run dos2unix for some format issues
Change some dos format to unix

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2018-09-29 13:10:35 +08:00
Pan Xiuli 497acc82a9 logger: change include filename for uapi
Did not include header in a absolute path.

Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
2018-09-29 13:10:35 +08:00
Rander Wang 2f65d96833 hda: add virtual widgets to kill error message in kernel log
Signed-off-by: Rander Wang <rander.wang@linux.intel.com>
2018-09-29 10:40:21 +08:00
Seppo Ingalsuo 1a1e1268ee EQ: Add equalizer control tool eqctl
This patch adds a simple control tool to setup during runtime (idle)
the IIR or FIR equalizer with new coefficients configuration. It is
useful in tuning of the equalizers. The tool also has capability to read
the EQ configuration from DSP.

Run "sof-eqctl -h" to see usage. The directory SOFT/tune/eq contains tool
to create EQ setup data.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-09-28 17:41:53 +03:00
Liam Girdwood 918e401319
Merge pull request #77 from bkokoszx/logger
Logger: added tool for parsing new trace format
2018-09-28 13:45:14 +01:00
Bartosz Kokoszko 437de79ec0 logger: added and updated logger makefiles
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2018-09-28 14:24:09 +02:00
Bartosz Kokoszko 6157e899e2 logger: added tool for parsing new trace format
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2018-09-28 14:23:43 +02:00
Liam Girdwood 18c9950855
Merge pull request #82 from keyonjie/master
topology: add topology file for hda generic machine
2018-09-28 08:39:47 +01:00
Liam Girdwood 933fce3c88
Merge pull request #79 from bardliao/apl_rvp
topology: initial topology file for APL RVP
2018-09-28 08:23:50 +01:00
Keyon Jie 8dc01f7cb5 topology: add topology file for hda generic machine
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
2018-09-28 14:21:05 +08:00
Bard liao 41184b076f topology: initial topology file for APL RVP
It is basically copy from sof-apl-pcm512x.m4 and add hdmi support

Signed-off-by: Bard liao <bard.liao@intel.com>
2018-09-27 10:50:14 +08:00
Liam Girdwood 60c3937700
Merge pull request #76 from keyonjie/master
topology: sof-glk-da7219: update to use s32le format for HDMI pipelines
2018-09-26 11:58:48 +01:00
Keyon Jie 110378d61c topology: sof-glk-da7219: update to use s32le format for HDMI pipelines
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
2018-09-26 17:08:22 +08:00
Liam Girdwood 57b52120ab
Merge pull request #68 from juimonen/eq_test
[RFC] generic effect type with fir and iir eq
2018-09-25 10:56:45 +01:00
Jaska Uimonen 6b56dafe30 Topology: Add generic type string to effect widgets data field
Adding type string to widget data allows the driver to identify
different effects. As an example use this in the equalizer.

Also modify equalizer to pass default parameters in control's
private data.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2018-09-25 08:26:30 +03:00
Seppo Ingalsuo baa791f6e1 Topology: Add Equalizer
This patch adds EQ, bytecontrol, and EQ+volume pipeline m4 macros and an
enhanced topology with EQ for UP2 + HiFiberry. There is not yet FIR/IIR
type select. The EQ type is currently hardcoded into kernel.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2018-09-25 08:26:15 +03:00
Liam Girdwood 15030d4cab
Merge pull request #73 from cujomalainey/master
Set capabilities of channels to those defined in topology
2018-09-22 15:31:47 +01:00
Curtis Malainey 46fc6fdf6e Set capabilities of channels to those defined in topology
Do not use a static defined number of channels, use the channels passed
in otherwise ASoC will try to allocate number of channels that should
not be allowed.

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2018-09-21 13:21:12 -07:00
Liam Girdwood 78748d42b9
Merge pull request #72 from singalsu/fix_eq_fir_length_trailing_zeros
EQ FIR: Add check and removal for trailing zeros in filter coefficients
2018-09-19 20:35:36 +01:00
Liam Girdwood e4ca26b55f
Merge pull request #71 from singalsu/add_eq_m4_export
EQ Tool: Output topology m4 binary control style configuration data
2018-09-19 20:35:09 +01:00
Seppo Ingalsuo c43666d6f0 EQ FIR: Add check and removal for trailing zeros in filter coefficients
This patch adds removing of extra zeros in the FIR coefficients. The
zeros can happen in some responses due to fixed point quantization of
very small values. The zero taps consume DSP resources for nothing so
better to clean them out for EQ configuration data.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-09-19 16:36:22 +03:00
Seppo Ingalsuo e3d68ecd89 EQ Tool: Output topology m4 binary control style configuration data
This patch adds export function for the m4 syntax bytes data and adds
the export of such blob to example designs. The example EQ designs are
edited to make this format export too.

In addition the example FIR length is adjusted to be near current IPC
length maximum (384) and improve the effect quality.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2018-09-19 15:47:29 +03:00
Liam Girdwood d77beaf8bd
Merge pull request #67 from mengdonglin/topic/yorp
topology: Add 3 HDMI/DP PCMs and backends for GLK
2018-09-07 09:16:49 +01:00
Mengdong Lin 4c9e3ddaf3 topology: Add 3 HDMI/DP PCMs and backends for GLK
Define 3 new PCMs and backends for HDMI/DP playback on GLK platform.

Here are the updated pipelines in sof-glk-da7219.m4:
PCM0  ----> volume (pipe 1)   ---> SSP1 (speaker - maxim98357a, BE link 0)
PCM1  <---> volume (pipe 2,3) <--> SSP2 (headset - da7219, BE link 1)
PCM99 <---- volume (pipe 4)   <--- DMIC0 (dmic capture, BE link 2)
PCM5  ----> volume (pipe 5)   ---> iDisp1 (HDMI/DP playback, BE link 3)
PCM6  ----> Volume (pipe 6)   ---> iDisp2 (HDMI/DP playback, BE link 4)
PCM7  ----> volume (pipe 7)   ---> iDisp3 (HDMI/DP playback, BE link 5)

There is also support for changing HDMI/DP pipelines to pass-through for
validation purpose, which is commented off by default.

Pleaes note that 3 virtual widgets hifi1~3 are removed, because they'll
be created by HDMI codec driver. This m4 was verified on GLK platform.
2018-09-06 15:16:55 -04:00
Liam Girdwood d2721194f7
Merge pull request #66 from juimonen/testtarget
topology: make building tests into a separate target
2018-09-04 21:55:56 +01:00
Jaska Uimonen 1354af8b66 topology: make building tests into a separate target
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2018-09-04 17:50:43 +03:00
Liam Girdwood 9af65849fa
Merge pull request #65 from juimonen/m4debug
[RFC] topology: first try of m4 debug macros
2018-09-04 13:09:03 +01:00