Go to file
Seppo Ingalsuo 75b10a1cc8 Math: Add functions to convert decibels to linear
This patch adds two functions: db2lin_fixed() and exp_fixed().
The first can convert fractional format dB values to linear within
range -100..+66 dB. The latter is a more generic fractional e^x
function. See the code comments for used Qx.y fractional formats
and limitations.

The implementation for exp(x) core function is based on first 11 terms
of Taylor series approximation for |x| < 2. The larger values of x
are computed with help of rule exp(x) = exp(x/2) * exp(x/2). It
achieves sufficient accuracy for volume control type of applications.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2019-06-17 21:47:31 +01:00
.github/ISSUE_TEMPLATE gh: update issue templates 2019-05-28 13:20:34 +01:00
doc testbench: move README from doc to tools 2019-06-12 12:19:45 +02:00
rimage rimage: ignore sections not used by bootloader 2019-06-11 09:05:26 +02:00
scripts scripts: add documentation generator 2019-06-13 13:29:02 +01:00
src Math: Add functions to convert decibels to linear 2019-06-17 21:47:31 +01:00
test memory: new memory layout for APL, ICL, CNL and SUE 2019-06-11 13:49:37 +02:00
tools testbench: move README from doc to tools 2019-06-12 12:19:45 +02:00
.gitignore gitignore: remove autotools ignore files. 2019-03-27 14:32:19 +00:00
.travis.yml CI: travis: update with IMX8 support 2019-05-30 13:18:47 +02:00
CMakeLists.txt cmake: install: fix new headers paths 2019-06-10 14:50:13 +02:00
CODEOWNERS include: split uapi headers into more directories 2019-05-31 20:10:45 +01:00
Kconfig kconfig: hide cavs menu if not supported 2019-06-13 15:32:39 +02:00
LICENCE licence: update for kconfig and elf.h 2019-02-01 11:12:36 +00:00
README.md Updated Readme for cht configuration 2019-04-26 10:42:41 +01:00

README.md

Sound Open Firmware

Status

Build Status

Documentation

See docs

Prerequisites

  • Docker
  • CMake (version >= 3.10)

Build Instructions

  1. Create directory in checked out repo for build files:
mkdir build && cd build
  1. Run configuration for your toolchain:

Baytrail / Cherrytrail:

cmake -DTOOLCHAIN=xtensa-byt-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-byt-elf ..

Haswell / Broadwell:

cmake -DTOOLCHAIN=xtensa-hsw-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-hsw-elf ..

Apollolake:

cmake -DTOOLCHAIN=xtensa-apl-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-apl-elf ..

Cannonlake:

cmake -DTOOLCHAIN=xtensa-cnl-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-cnl-elf ..
  1. Apply default config for your platform.

Baytrail:

make baytrail_defconfig

Cherrytrail:

make cherrytrail_defconfig

Haswell:

make haswell_defconfig

Broadwell:

make broadwell_defconfig

Apollolake:

make apollolake_defconfig

Cannonlake:

make cannonlake_defconfig
  1. (Optional) Customize your configuration
make menuconfig
  1. Build firmware
make bin
# or `make bin -j<jobs>` for parallel build

Running the tests

See unit testing documentation

Deployment

TODO: Add additional notes about how to deploy this on a live system

Contributing

See Contributing to the Project

License

This project is licensed under the BSD Clause 3 - see the LICENCE file for details