2018-09-06 05:38:52 +08:00
|
|
|
# Sound Open Firmware
|
|
|
|
|
|
|
|
### Status
|
|
|
|
[![Build Status](https://travis-ci.org/thesofproject/sof.svg?branch=master)](https://travis-ci.org/thesofproject/sof)
|
|
|
|
|
2018-09-06 05:53:24 +08:00
|
|
|
### Documentation
|
|
|
|
|
|
|
|
See [docs](https://thesofproject.github.io/latest/index.html)
|
|
|
|
|
2018-09-06 05:38:52 +08:00
|
|
|
### Prerequisites
|
|
|
|
|
|
|
|
* Docker
|
2019-01-24 00:59:51 +08:00
|
|
|
* CMake (version >= 3.10)
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
### Build Instructions
|
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
1. Create directory in checked out repo for build files:
|
|
|
|
```
|
|
|
|
mkdir build && cd build
|
|
|
|
```
|
|
|
|
|
|
|
|
2. Run configuration for your toolchain:
|
|
|
|
|
|
|
|
Baytrail:
|
|
|
|
|
|
|
|
```
|
|
|
|
cmake -DTOOLCHAIN=xtensa-byt-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-byt-elf ..
|
|
|
|
```
|
|
|
|
|
|
|
|
Cherrytrail:
|
|
|
|
|
|
|
|
```
|
|
|
|
cmake -DTOOLCHAIN=xtensa-cht-elf -DROOT_DIR=`pwd`/../../xtensa-root/xtensa-cht-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 ..
|
|
|
|
```
|
|
|
|
|
|
|
|
3. Apply default config for your platform.
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Baytrail:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
```
|
2019-01-24 00:59:51 +08:00
|
|
|
make baytrail_defconfig
|
2018-09-06 05:38:52 +08:00
|
|
|
```
|
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Cherrytrail:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
```
|
|
|
|
make cherrytrail_defconfig
|
|
|
|
```
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Haswell:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
```
|
|
|
|
make haswell_defconfig
|
|
|
|
```
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Broadwell:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
```
|
|
|
|
make broadwell_defconfig
|
|
|
|
```
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Apollolake:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
```
|
|
|
|
make apollolake_defconfig
|
|
|
|
```
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
Cannonlake:
|
2018-09-06 05:38:52 +08:00
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
```
|
|
|
|
make cannonlake_defconfig
|
|
|
|
```
|
|
|
|
|
|
|
|
4. (Optional) Customize your configuration
|
|
|
|
|
|
|
|
```
|
|
|
|
make menuconfig
|
|
|
|
```
|
|
|
|
|
|
|
|
5. Build firmware
|
|
|
|
|
|
|
|
```
|
|
|
|
make bin
|
|
|
|
# or `make bin -j<jobs>` for parallel build
|
|
|
|
```
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
## Running the tests
|
|
|
|
|
2018-09-06 05:57:37 +08:00
|
|
|
See [unit testing documentation](https://thesofproject.github.io/latest/developer_guides/unit_tests.html)
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
## Deployment
|
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
TODO: Add additional notes about how to deploy this on a live system
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
## Contributing
|
|
|
|
|
2019-01-24 00:59:51 +08:00
|
|
|
See [Contributing to the Project](https://thesofproject.github.io/latest/contribute/index.html)
|
2018-09-06 05:38:52 +08:00
|
|
|
|
|
|
|
## License
|
|
|
|
|
2018-09-06 05:49:18 +08:00
|
|
|
This project is licensed under the BSD Clause 3 - see the [LICENCE](LICENCE) file for details
|