Porting Guides

Details about porting SOF to other DSP architectures and platforms. This guide is still work in progress.

Architecture Porting Guide

Sound Open Firmware currently supports the Cadence xtensa DSP architecture but is designed to support other DSP architectures via an architecture abstraction layer (AAL) in the src/arch directory. The AAL provides an architecture agnostic API that exports functioality for common architecure features.

  1. Boot

  2. Interrupts

  3. Exceptions

  4. Timers

  5. Spinlocks

  6. Atomic Arithmetic

  7. Cache

  8. Wait

  9. GDB debug

The AAL API is exported via headers in ‘src/arch/<architecture>/include/arch’.

The AAL thinly wraps architecture specific HALs or RTOSes and is intended to “compile out” so that there is no runtime performance penalty. i.e. on Cadence xtensa architecture it wraps xtensa HAL and XTOS API calls.

Platform Porting Guide

The SOF infrastructure requires every platform to provide certain interfaces and define certain macros with platform specific configuration.

  1. Platform capabilities

  2. Memmory mapping

  3. Device platform data

  4. Interrupt mapping

  5. Platform timers

Refer to Platform API for documentation.