SOF Project Logo
  • SOF project website
  • Introduction to the SOF Project
    • SDK Introduction and Overview
      • SOF source code, tools, and topologies
      • Host OS Drivers
      • Firmware Toolchain
      • DSP Emulator
    • General FAQ
    • Toolchain FAQ
  • Getting Started Guides
    • Build SOF
      • Build toolchains and SOF from sources
        • Step 1. Set up the workspace directory
        • Step 2. Set up build environment
        • Step 3. Build toolchains from source
        • Step 4. Build and sign firmware binaries
        • Step 5. Build topology and tools
        • Step 6. Build Linux kernel
      • Build SOF with Docker
        • Set up the workspace directory
        • Set up Docker
        • Build firmware binaries with Docker
        • Build topology and tools with Docker
      • Build SOF with a 3rd Party Toolchain
        • Cadence® Tensilica® Xtensa® C/C++ Compiler (XCC)
      • Build SOF with Zephyr
        • Prepare
        • Clone and initialize SOF project
        • Check out and build using Python convenience script
        • Check out and build using west tool directly
        • Run
        • Troubleshoot
    • Set up SOF on a Linux machine
      • Set up a Development Environment to Build the Kernel
      • Install the Kernel Locally
        • Introduction
        • Build and install the kernel
        • Update and rebuild
        • Remove the kernel
      • Set up a Ktest-based Environment
        • Introduction
        • Set up a target
        • Configure SSH without password
        • Build and install the kernel with ktest
    • Set up SOF on a special device
      • Set up SOF on MinnowBoard Turbot
        • MinnowBoard resources
        • Development
      • Set up SOF on Up Squared board with Hifiberry DAC+ (STD)
        • Prerequisites
        • Setup Instructions
    • Debug Audio issues on Intel platforms
      • Overview of Intel hardware platforms
        • ACPI platforms (introduced before and up to 2015)
        • PCI devices (introduced after 2016)
        • User space and filesystem requirements
      • Suggestions before filing an SOF bug
        • Run alsa-info
        • Disable SOF on PCI/HDaudio devices to test audio playback
        • Try booting into Windows first, then reboot into Linux
        • Reverse-engineer the Windows audio driver
        • Make sure the ME is enabled
        • Test at the ALSA ‘hw’ device level
        • Verify mixer settings
        • Enable dynamic debug
        • Install sof-logger
        • Digital mic issues
        • ES8336 support
    • SOF on NXP platforms
      • SOF User Guide on NXP i.MX8 platforms
        • Supported NXP platforms
        • Toolchain
        • Quick run with SOF from i.MX8 Board Support Package
        • Build SOF binaries from sources
        • Audio scenarios
    • Building loadable modules using LMDK
      • Loadable modules build guide using LMDK
        • What is LMDK
        • How to build
  • Architecture
    • Host Architecture
      • SOF Linux Driver Architecture
        • Overview
        • Driver Probe
        • SOF Platform Driver
        • IPC Processing
        • PCM Driver
        • Power Management
        • Intel Drivers
        • Support for High Definition Audio (HD-Audio)
        • Kernel Configuration/Kconfig
        • Debug Options
    • Firmware Architecture
      • SOF Common Architecture
        • Components
      • SOF with XTOS Architecture
        • Overview
        • Memory Management
        • Power Management
        • Schedulers
        • Drivers
        • Pipelines
        • Keyword detection
      • SOF with Zephyr Architecture
        • Overview
        • Application Layer
        • Media Processing Pipelines Layer
        • RTOS Layer Infrastructure
        • Zephyr API Integration
      • Vendor-Specific Architecture Information
        • Intel cAVS Architecture
        • Intel ACE Architecture
  • Platforms
    • Supported Platforms
    • Minimum Platform Requirements
      • Footprint
      • DSP Clock Speed
      • Toolchain
    • Platform Specific Information
      • Intel Hifi2-EP Platforms
        • Intel Merrifield
        • Intel Bay Trail / Cherry Trail
        • Intel Broadwell
      • Intel CAVS Platforms
        • CAVS Commons
        • Intel Apollo Lake
        • Intel Cannon Lake
        • Intel Ice Lake
        • Intel Tiger Lake
  • Algorithms
    • Supplied Processing Algorithms
    • Algorithm Specific Information
      • Multiplexer/Demultiplexer
        • Introduction
      • Equalizers, IIR and FIR
        • Introduction
        • Preparations
        • Frequency response measurement
        • Equalizer design
        • FIR equalizer
        • IIR equalizer
        • Combined IIR and FIR
        • Exporting coefficients to SOF
        • Testing the response with sof-ctl
        • Using the EQ settings in topology
        • References
      • Sample Rate Conversion
        • Introduction
        • Use of SRC generator tool
        • Test the SRC component
        • Polyphase decomposition
        • References
      • Time Domain Fixed Beamformer (TDFB)
        • Introduction
        • Beamformer types
        • Microphone array geometries
        • Filter bank design procedure
        • Design examples
        • Simulation
  • Developer Guides
    • Introduction
      • SOF Core Concepts
    • Firmware
      • Hello World Tutorial
        • Part I - Adding a Component Code to FW
        • Part II - Modifying the Topology & Driver
        • Part III - Adding Run-time Parameter Control
        • Part IV - Working with Exception Reports
      • Porting Guides
        • Architecture Porting Guide
        • Platform Porting Guide
      • CMake Arguments
        • Firmware & Unit Tests
        • Firmware
        • Unit Tests
        • Host Testbench
      • Async Messaging Best Practices
        • Message Type IDs
        • Message Handling
        • Processing in a consumer callback
        • Message Filtering Mechanism
        • Passing Pointers In Asynchronous Messages
        • One-way Messages
        • Two-way Messages - Example #1
        • Two-way Messages - Example #2
        • Max message size
        • Queue is Full
      • LLEXT Modules
        • Zephyr LLEXT API
        • SOF use of the LLEXT API
        • Accessing the base firmware from LLEXT modules
        • Implementing LLEXT modules
        • Installation
    • Unit Tests
      • Prerequisites
      • Configuring for unit tests
        • Example: Running tests for APL
        • Compiling unit tests without a cross-compilation toolchain
      • Wrapping objects for unit tests
      • Notes
    • Xtensa Simulator (xt-run)
      • Prerequisites
      • Standalone programs
      • Unit tests
    • SOF Topology
      • 1. Topology Ingredients
        • 1.1 Widgets
        • 1.2 Tokens/Vendor Tuples
        • 1.3 Kcontrols
        • 1.4 Pipelines
        • 1.5 Backend DAI
        • 1.6 Backend DAI link Config
        • 1.7 DSP Core Index
      • 2. Create a new topology
        • 2.1 Example topology with single pipeline
        • 2.2 Example topology with multiple pipelines
      • 3. Debug topology
      • 4. Acronyms
    • Topology 2.0
      • Ingredients
        • Classes
        • Objects
        • Arguments in top-level configuration files
        • Includes
      • Simple machine topology
      • Conditional includes
      • Building 2.0 configuration files
      • Split topologies
      • Topology reminders
      • Alsaconf reminders
    • UUID Usage in SOF
      • Why UUIDs
      • UUID allocation
      • UUID in topology
      • Linux topology driver
      • UUID arrays stored section
      • UUID to component driver mapping
      • ABI alignment for UUID support
    • Debugability
      • Traces
        • Building & Processing Traces
        • Enabling Traces
        • Adding Traces
      • Logger
        • Logger usage
        • Trace filtering
      • Coredump-reader
        • Coredump-reader usage
        • Usage with Linux SOF Driver
      • Probes
        • Requirements
        • Enabling Probes
        • Data extraction
        • Data parsing
        • Simple logging case
      • sof-ri-info
        • Examples
      • Performance Counters
        • Performance Counters usage
        • Example
      • Zephyr Shell
        • Requirements
        • Build SOF with Shell Support
        • Using Shell with Intel cavstool.py
    • Runtime Tuning
      • Find out effect numids
      • Example equalizer settings
      • Help
    • Rimage
      • Extended Manifest
        • Build flow
        • Add a new element
      • Build flow
    • SOF Linux Driver
      • Third Party Features User Guides
        • Keyword Detection Driver Implementation and User Guide
    • SOF VirtIO design
      • General information
      • SOF VirtIO design
        • Communication channels
        • Topology
        • DPCM audio routing
      • Implementation
        • Initialization
        • Streaming
        • Deactivation
    • Run SOF VirtIO
      • General information
      • 1. Create a VM image
      • 2. Build the Linux kernel
      • 3. Build QEMU
      • 4. Build the SOF firmware
      • 5. Run QEMU
    • Fuzzing
      • Fuzzing in Docker
        • Instructions
        • Important notes
      • Build a Fuzzing Testbench with AFL
        • Install AFL
        • Build a testbench with AFL instrumentation
        • Run AFL
        • Example
    • Testbench
      • Build and Run Testbench
        • host-testbench.sh
      • Debug Component in Testbench
        • GDB and DDD
        • Valgrind
        • Gprof
      • Prepare a New Component for Testbench
      • Test Audio Quality
    • Adding a new DSP architecture to SOF
      • Method 1 - New HAL
      • Method 2 - Use existing RTOS
    • Technical Notes
      • Build Cmocka for Xtensa
        • Cmocka fork
        • Simple build on Linux
        • Cross-platform build
      • Build on Windows 10 with WSL
        • Prerequisites
        • Enable 32-bit binaries
        • Fix stat in 32-bit binaries
        • Compile
  • Release
    • Firmware and Tools
      • Git
      • Source and Binary Releases
    • Linux Driver
  • Contributing to the Project
    • Contribution Guidelines
      • Licensing
      • Developer Certification of Origin (DCO)
        • DCO Sign-Off Methods
      • Prerequisites
    • Documentation Guidelines
      • Headings
      • Content Highlighting
      • Lists
      • Multi-column lists
      • File names and Commands
      • Internal Cross-Reference Linking
      • Non-ASCII Characters
      • Code and Command Examples
      • Tabs, spaces, and indenting
    • Documenting the Source Code
      • Basic Rules
      • Examples
    • Bug Tracking
      • Life Cycle of a Bug
      • Labels
        • Solution Labels
        • Priority Labels
        • Plaform and Branch Labels
        • Other optional Labels
      • How to Report a Bug
      • How to Close a Bug
    • SOF Documentation Generation
      • Documentation overview
      • Set up documentation working folders
      • Install documentation tools
      • Documentation presentation theme
      • Run documentation processors
      • Publish content
      • Installation troubleshooting
      • Windows troubleshooting
      • Diagram compilation troubleshooting
    • SOF ABI Change Process
      • SOF ABI definitions
      • Change process
      • Document modified fields
      • ABI change approvers
        • TSC
        • SOF driver
    • Linux SOF drivers
      • Background
      • Instructions for SOF developers
        • ABI changes
        • Development branch
        • Rebasing tree
        • Upstream merges
      • Development flow
        • SOF Linux maintainers
        • SOF maintainers process
      • Development summary
  • Technical Steering Committee (TSC)
    • TSC Representatives
    • TSC Meetings
  • SOF admin, maintainers and code owners
    • SOF admin
    • Merge rights
    • SOF code owners
  • API Documentation
    • UUID API
      • UUID_SIZE
      • UUID_NAME_MAX_LEN
      • _UUID_INIT
      • _UUID
      • _RT_UUID
      • _DEF_UUID
      • SOF_DEFINE_UUID
      • SOF_REG_UUID
      • SOF_DEFINE_REG_UUID
      • SOF_UUID
      • SOF_RT_UUID
      • __packed
      • sof_uuid
        • a
        • b
        • c
        • d
      • sof_uuid_entry
        • id
        • name
    • DMA Drivers API
      • DMA_DIR_MEM_TO_MEM
      • DMA_DIR_HMEM_TO_LMEM
      • DMA_DIR_LMEM_TO_HMEM
      • DMA_DIR_MEM_TO_DEV
      • DMA_DIR_DEV_TO_MEM
      • DMA_DIR_DEV_TO_DEV
      • SOF_DMA_DIR_MEM_TO_MEM
      • SOF_DMA_DIR_HMEM_TO_LMEM
      • SOF_DMA_DIR_LMEM_TO_HMEM
      • SOF_DMA_DIR_MEM_TO_DEV
      • SOF_DMA_DIR_DEV_TO_MEM
      • SOF_DMA_DIR_DEV_TO_DEV
      • DMA_CAP_HDA
      • DMA_CAP_GP_LP
      • DMA_CAP_GP_HP
      • DMA_CAP_BT
      • DMA_CAP_SP
      • DMA_CAP_DMIC
      • DMA_CAP_SP_VIRTUAL
      • DMA_CAP_HS_VIRTUAL
      • DMA_CAP_HS
      • DMA_CAP_SW
      • DMA_DEV_HOST
      • DMA_DEV_HDA
      • DMA_DEV_SSP
      • DMA_DEV_DMIC
      • DMA_DEV_SSI
      • DMA_DEV_ALH
      • DMA_DEV_SAI
      • DMA_DEV_ESAI
      • DMA_DEV_BT
      • DMA_DEV_SP
      • DMA_DEV_AFE_MEMIF
      • DMA_DEV_SP_VIRTUAL
      • DMA_DEV_HS_VIRTUAL
      • DMA_DEV_HS
      • DMA_DEV_MICFIL
      • DMA_DEV_SW
      • SOF_DMA_DEV_HOST
      • SOF_DMA_DEV_SAI
      • SOF_DMA_DEV_ESAI
      • SOF_DMA_DEV_MICFIL
      • SOF_DMA_DEV_AFE_MEMIF
      • DMA_ACCESS_EXCLUSIVE
      • DMA_ACCESS_SHARED
      • SOF_DMA_ACCESS_EXCLUSIVE
      • SOF_DMA_ACCESS_SHARED
      • DMA_COPY_BLOCKING
      • DMA_COPY_ONE_SHOT
      • SOF_DMA_CB_STATUS_RELOAD
      • SOF_DMA_CB_STATUS_END
      • DMA_CHAN_INVALID
      • DMA_CORE_INVALID
      • SOF_DMA_CHAN_INVALID
      • SOF_DMA_CORE_INVALID
      • DMA_ATTR_BUFFER_ALIGNMENT
      • DMA_ATTR_COPY_ALIGNMENT
      • DMA_ATTR_BUFFER_ADDRESS_ALIGNMENT
      • DMA_ATTR_BUFFER_PERIOD_COUNT
      • dma_set_drvdata
      • dma_get_drvdata
      • dma_base
      • dma_irq
      • dma_irq_name
      • dma_chan_size
      • dma_chan_base
      • dma_chan_get_data
      • dma_chan_set_data
      • dma_process_func
      • dma_cb_status
        • DMA_CB_STATUS_RELOAD
        • DMA_CB_STATUS_END
      • dma_irq_cmd
        • DMA_IRQ_STATUS_GET
        • DMA_IRQ_CLEAR
        • DMA_IRQ_MASK
        • DMA_IRQ_UNMASK
      • dmac_init()
      • dma_get()
      • dma_put()
      • dma_channel_get_legacy()
      • dma_channel_put_legacy()
      • dma_start_legacy()
      • dma_stop_legacy()
      • dma_stop_delayed_legacy()
      • dma_pause_legacy()
      • dma_release_legacy()
      • dma_status_legacy()
      • dma_set_config_legacy()
      • dma_probe_legacy()
      • dma_remove_legacy()
      • dma_get_data_size_legacy()
      • dma_get_attribute_legacy()
      • dma_interrupt_legacy()
      • dma_reg_read()
      • dma_reg_read16()
      • dma_reg_write()
      • dma_reg_write16()
      • dma_reg_update_bits()
      • dma_chan_reg_read()
      • dma_chan_reg_read16()
      • dma_chan_reg_write()
      • dma_chan_reg_write16()
      • dma_chan_reg_update_bits()
      • dma_chan_reg_update_bits16()
      • dma_is_scheduling_source()
      • dma_sg_init()
      • dma_sg_alloc()
      • dma_sg_free()
      • dma_sg_get_size()
      • dma_buffer_copy_from()
      • stream_copy_from_no_consume()
      • dma_buffer_copy_to()
      • dma_copy_new()
      • dma_copy_free()
      • dma_copy_from_host()
      • dma_copy_from_host_nowait()
      • dma_copy_to_host()
      • dma_copy_to_host_nowait()
      • dma_copy_set_stream_tag()
      • dma_info_get()
      • dma_sg_elem
        • src
        • dest
        • size
      • dma_cb_data
        • channel
        • elem
        • status
      • dma_sg_elem_array
        • count
        • elems
      • dma_sg_config
        • src_width
        • dest_width
        • burst_elems
        • direction
        • src_dev
        • dest_dev
        • cyclic
        • period
        • elem_array
        • scatter
        • irq_disabled
        • is_scheduling_source
      • dma_chan_status
        • state
        • flags
        • w_pos
        • r_pos
        • timestamp
        • ipc_posn_data
      • dma_ops
        • channel_get
        • channel_put
        • start
        • stop
        • stop_delayed
        • copy
        • pause
        • release
        • status
        • set_config
        • probe
        • remove
        • get_data_size
        • get_attribute
        • interrupt
      • dma_plat_data
        • id
        • dir
        • caps
        • devs
        • base
        • channels
        • irq
        • irq_name
        • chan_size
        • drv_plat_data
      • dma
        • plat_data
        • lock
        • sref
        • ops
        • num_channels_busy
        • chan
        • priv_data
      • dma_chan_data
        • dma
        • status
        • direction
        • desc_count
        • index
        • core
        • period
        • is_scheduling_source
        • dev_data
        • priv_data
      • dma_info
        • dma_array
        • num_dmas
      • dma_copy
        • chan
        • dmac
      • dma_copy_legacy()
    • DAI Drivers API
      • DAI_CREAT
      • channel_copy_func
      • dai_write()
      • dai_read()
      • dai_update_bits()
      • dai_group_get()
      • dai_group_put()
      • dai_init()
      • dai_get()
      • dai_put()
      • dai_set_config()
      • dai_get_handshake()
      • dai_get_fifo_depth()
      • dai_get_init_delay_ms()
      • dai_get_stream_id()
      • dai_config_dma_channel()
      • dai_set_link_hda_config()
      • dai_dma_release()
      • dai_config()
      • dai_assign_group()
      • dai_position()
      • dai_dma_position_update()
      • dai_release_llp_slot()
      • dai_get_device()
      • dai
        • index
        • type
        • dma_caps
        • dma_dev
        • dev
        • dd
        • lock
      • hdalink_cfg
        • full
        • lchan
        • hchan
        • stream
        • rsvd
        • dir
        • part
      • dai_group
        • group_id
        • num_dais
        • trigger_counter
        • trigger_cmd
        • trigger_ret
        • list
      • llp_slot_info
        • node_id
        • reg_offset
      • dai_data
        • chan
        • stream_id
        • config
        • z_config
        • dai_dev
        • dma_buffer
        • local_buffer
        • ts_config
        • dai
        • dma
        • group
        • xrun
        • process
        • chmap
        • channel_copy
        • period_bytes
        • total_data_processed
        • ipc_config
        • dai_spec_config
        • wallclock
        • delayed_dma_stop
        • slot_info
        • fast_mode
        • gain_data
    • PM Runtime API
      • RPM_ASYNC
      • pm_runtime_context
        • PM_RUNTIME_HOST_DMA_L1
        • SSP_CLK
        • SSP_POW
        • DMIC_CLK
        • DMIC_POW
        • DW_DMAC_CLK
        • CORE_MEMORY_POW
        • CORE_HP_CLK
        • PM_RUNTIME_DSP
      • pm_runtime_init()
      • pm_runtime_get()
      • pm_runtime_get_sync()
      • pm_runtime_put()
      • pm_runtime_put_sync()
      • pm_runtime_enable()
      • pm_runtime_disable()
      • pm_runtime_is_active()
      • pm_runtime_data_get()
      • pm_runtime_data
        • lock
        • platform_data
    • Platform API
      • platform_boot_complete()
      • platform_init()
      • platform_context_save()
    • Memory Allocation API
      • SOF_MEM_FLAG_NO_COPY
      • SOF_MEM_FLAG_COHERENT
      • mem_zone
        • SOF_MEM_ZONE_SYS
        • SOF_MEM_ZONE_SYS_RUNTIME
        • SOF_MEM_ZONE_RUNTIME
        • SOF_MEM_ZONE_BUFFER
        • SOF_MEM_ZONE_RUNTIME_SHARED
        • SOF_MEM_ZONE_SYS_SHARED
      • rmalloc()
      • rzalloc()
      • rballoc_align()
      • rballoc()
      • rbrealloc_align()
      • rbrealloc()
      • rfree()
      • rzalloc_core_sys()
      • rstrlen()
      • rstrcmp()
    • Audio Stream API
      • audio_stream_read_frag
      • audio_stream_read_frag_s16
      • audio_stream_read_frag_s32
      • audio_stream_write_frag
      • audio_stream_write_frag_s16
      • audio_stream_write_frag_s32
      • audio_stream_get_frag
      • audio_stream_recalc_align()
      • audio_stream_get_rptr()
      • audio_stream_get_wptr()
      • audio_stream_get_end_addr()
      • audio_stream_get_addr()
      • audio_stream_get_size()
      • audio_stream_get_avail()
      • audio_stream_get_free()
      • audio_stream_get_frm_fmt()
      • audio_stream_get_valid_fmt()
      • audio_stream_get_rate()
      • audio_stream_get_channels()
      • audio_stream_get_underrun()
      • audio_stream_get_buffer_fmt()
      • audio_stream_get_overrun()
      • audio_stream_set_rptr()
      • audio_stream_set_wptr()
      • audio_stream_set_end_addr()
      • audio_stream_set_addr()
      • audio_stream_set_size()
      • audio_stream_set_avail()
      • audio_stream_set_free()
      • audio_stream_set_frm_fmt()
      • audio_stream_set_valid_fmt()
      • audio_stream_set_rate()
      • audio_stream_set_channels()
      • audio_stream_set_underrun()
      • audio_stream_set_overrun()
      • audio_stream_set_buffer_fmt()
      • audio_stream_frame_bytes()
      • audio_stream_sample_bytes()
      • audio_stream_set_align()
      • audio_stream_set_params()
      • audio_stream_period_bytes()
      • audio_stream_wrap()
      • cir_buf_wrap()
      • audio_stream_rewind_wrap()
      • audio_stream_get_avail_bytes()
      • audio_stream_get_avail_samples()
      • audio_stream_get_avail_frames()
      • audio_stream_get_free_bytes()
      • audio_stream_get_free_samples()
      • audio_stream_get_free_frames()
      • audio_stream_can_copy_bytes()
      • audio_stream_get_copy_bytes()
      • audio_stream_avail_frames()
      • audio_stream_avail_frames_aligned()
      • audio_stream_produce()
      • audio_stream_consume()
      • audio_stream_reset()
      • audio_stream_init()
      • audio_stream_invalidate()
      • audio_stream_writeback()
      • audio_stream_bytes_without_wrap()
      • audio_stream_rewind_bytes_without_wrap()
      • audio_stream_rewind_wptr_by_bytes()
      • audio_stream_samples_without_wrap_s16()
      • audio_stream_samples_without_wrap_s24()
      • audio_stream_samples_without_wrap_s32()
      • cir_buf_bytes_without_wrap()
      • cir_buf_samples_without_wrap_s32()
      • audio_stream_frames_without_wrap()
      • audio_stream_copy()
      • cir_buf_copy()
      • audio_stream_copy_from_linear()
      • audio_stream_copy_to_linear()
      • audio_stream_set_zero()
      • cir_buf_set_zero()
      • audio_stream_fmt_conversion()
      • audio_stream
        • size
        • avail
        • free
        • w_ptr
        • r_ptr
        • addr
        • end_addr
        • byte_align_req
        • frame_align_req
        • runtime_stream_params
    • Component API
      • @8
        • COMP_TRIGGER_STOP
        • COMP_TRIGGER_START
        • COMP_TRIGGER_PAUSE
        • COMP_TRIGGER_RELEASE
        • COMP_TRIGGER_RESET
        • COMP_TRIGGER_PREPARE
        • COMP_TRIGGER_XRUN
        • COMP_TRIGGER_PRE_START
        • COMP_TRIGGER_PRE_RELEASE
        • COMP_TRIGGER_POST_STOP
        • COMP_TRIGGER_POST_PAUSE
        • COMP_TRIGGER_NO_ACTION
      • COMP_STATE_NOT_EXIST
      • COMP_STATE_INIT
      • COMP_STATE_READY
      • COMP_STATE_SUSPEND
      • COMP_STATE_PREPARE
      • COMP_STATE_PAUSED
      • COMP_STATE_ACTIVE
      • COMP_STATE_PRE_ACTIVE
      • COMP_CMD_SET_VALUE
      • COMP_CMD_GET_VALUE
      • COMP_CMD_SET_DATA
      • COMP_CMD_GET_DATA
      • COMP_CMD_IPC_MMAP_RPOS
      • COMP_CMD_IPC_MMAP_PPOS
      • COMP_CMD_IPC_MMAP_VOL
      • COMP_STATUS_STATE_ALREADY_SET
      • COMP_ATTR_COPY_TYPE
      • COMP_ATTR_HOST_BUFFER
      • COMP_ATTR_COPY_DIR
      • COMP_ATTR_VDMA_INDEX
      • COMP_ATTR_BASE_CONFIG
      • trace_comp_drv_get_tr_ctx
      • trace_comp_drv_get_id
      • trace_comp_drv_get_subid
      • trace_comp_get_tr_ctx
      • trace_comp_get_id
      • trace_comp_get_subid
      • comp_cl_err
      • comp_cl_warn
      • comp_cl_info
      • comp_cl_dbg
      • comp_err
      • comp_warn
      • comp_info
      • comp_dbg
      • comp_perf_info
      • comp_perf_avg_info
      • COMP_PROCESSING_DOMAIN_LL
      • COMP_PROCESSING_DOMAIN_DP
      • comp_dev_for_each_producer
      • comp_dev_for_each_producer_safe
      • comp_dev_for_each_consumer
      • comp_dev_for_each_consumer_safe
      • comp_endpoint_type
        • COMP_ENDPOINT_HOST
        • COMP_ENDPOINT_DAI
        • COMP_ENDPOINT_NODE
      • comp_copy_type
        • COMP_COPY_INVALID
        • COMP_COPY_NORMAL
        • COMP_COPY_BLOCKING
        • COMP_COPY_ONE_SHOT
      • comp_dev_get_first_data_producer()
      • comp_dev_get_next_data_producer()
      • comp_dev_get_next_data_producer_safe()
      • comp_dev_get_first_data_consumer()
      • comp_dev_get_next_data_consumer()
      • comp_dev_get_next_data_consumer_safe()
      • comp_ops
        • create
        • free
        • params
        • dai_get_hw_params
        • dai_config
        • trigger
        • prepare
        • reset
        • copy
        • position
        • get_attribute
        • set_attribute
        • dai_ts_config
        • dai_ts_start
        • dai_ts_stop
        • dai_ts_get
        • bind
        • unbind
        • get_large_config
        • set_large_config
        • get_total_data_processed
      • comp_driver
        • type
        • uid
        • tctx
        • ops
        • adapter_ops
      • comp_driver_info
        • drv
        • list
      • comp_ipc_config
        • core
        • id
        • pipeline_id
        • proc_domain
        • type
        • periods_sink
        • periods_source
        • frame_fmt
        • xrun_action
      • comp_perf_data
        • peak_of_measured_cpc
        • perf_data_item
      • comp_dev
        • state
        • frames
        • pipeline
        • task
        • size
        • period
        • priority
        • is_shared
        • ipc_config
        • tctx
        • direction
        • direction_set
        • drv
        • mod
        • bsource_list
        • bsink_list
        • perf_data
        • ibs
        • obs
        • cpc
        • ll_chunk_size
        • priv_data
      • comp_register()
      • comp_unregister()
      • comp_underrun()
      • comp_overrun()
      • comp_set_drvdata
      • comp_get_drvdata
      • DECLARE_MODULE
      • dev_comp_id()
      • dev_comp_pipe_id()
      • dev_comp_type()
      • comp_alloc()
      • comp_mod()
      • comp_set_state()
      • component_set_nearest_period_frames()
      • comp_get_copy_limits()
      • comp_get_copy_limits_frame_aligned()
      • comp_get_state()
      • comp_buffer_get_source_state()
      • comp_buffer_get_sink_state()
      • comp_verify_params()
      • comp_copy_limits
        • frames
        • source_bytes
        • sink_bytes
        • source_frame_bytes
        • sink_frame_bytes
    • Component API Ext
      • comp_buffer_list
      • comp_free()
      • comp_params_remote()
      • comp_params()
      • comp_dai_get_hw_params()
      • comp_trigger_remote()
      • comp_trigger_local()
      • comp_trigger()
      • comp_prepare_remote()
      • comp_prepare()
      • comp_copy()
      • comp_get_attribute()
      • comp_set_attribute()
      • comp_reset_remote()
      • comp_reset()
      • comp_position()
      • sys_comp_init()
      • comp_is_single_pipeline()
      • comp_is_active()
      • comp_get_requested_state()
      • comp_get_endpoint_type()
      • comp_is_scheduling_source()
      • comp_make_shared()
      • comp_drivers_get()
      • comp_bind()
      • comp_unbind()
      • comp_get_total_data_processed()
      • comp_same_dir()
      • comp_driver_list
        • list
        • lock
    • uAPI
      • SOF_GLB_TYPE_SHIFT
      • SOF_GLB_TYPE_MASK
      • SOF_GLB_TYPE
      • SOF_CMD_TYPE_SHIFT
      • SOF_CMD_TYPE_MASK
      • SOF_CMD_TYPE
      • SOF_IPC_GLB_REPLY
      • SOF_IPC_GLB_COMPOUND
      • SOF_IPC_GLB_TPLG_MSG
      • SOF_IPC_GLB_PM_MSG
      • SOF_IPC_GLB_COMP_MSG
      • SOF_IPC_GLB_STREAM_MSG
      • SOF_IPC_FW_READY
      • SOF_IPC_GLB_DAI_MSG
      • SOF_IPC_GLB_TRACE_MSG
      • SOF_IPC_GLB_GDB_DEBUG
      • SOF_IPC_GLB_TEST
      • SOF_IPC_GLB_PROBE
      • SOF_IPC_GLB_DEBUG
      • SOF_IPC_TPLG_COMP_NEW
      • SOF_IPC_TPLG_COMP_FREE
      • SOF_IPC_TPLG_COMP_CONNECT
      • SOF_IPC_TPLG_PIPE_NEW
      • SOF_IPC_TPLG_PIPE_FREE
      • SOF_IPC_TPLG_PIPE_CONNECT
      • SOF_IPC_TPLG_PIPE_COMPLETE
      • SOF_IPC_TPLG_BUFFER_NEW
      • SOF_IPC_TPLG_BUFFER_FREE
      • SOF_IPC_PM_CTX_SAVE
      • SOF_IPC_PM_CTX_RESTORE
      • SOF_IPC_PM_CTX_SIZE
      • SOF_IPC_PM_CLK_SET
      • SOF_IPC_PM_CLK_GET
      • SOF_IPC_PM_CLK_REQ
      • SOF_IPC_PM_CORE_ENABLE
      • SOF_IPC_PM_GATE
      • SOF_IPC_COMP_SET_VALUE
      • SOF_IPC_COMP_GET_VALUE
      • SOF_IPC_COMP_SET_DATA
      • SOF_IPC_COMP_GET_DATA
      • SOF_IPC_COMP_NOTIFICATION
      • SOF_IPC_DAI_CONFIG
      • SOF_IPC_DAI_LOOPBACK
      • SOF_IPC_STREAM_PCM_PARAMS
      • SOF_IPC_STREAM_PCM_PARAMS_REPLY
      • SOF_IPC_STREAM_PCM_FREE
      • SOF_IPC_STREAM_TRIG_START
      • SOF_IPC_STREAM_TRIG_STOP
      • SOF_IPC_STREAM_TRIG_PAUSE
      • SOF_IPC_STREAM_TRIG_RELEASE
      • SOF_IPC_STREAM_TRIG_DRAIN
      • SOF_IPC_STREAM_TRIG_XRUN
      • SOF_IPC_STREAM_POSITION
      • SOF_IPC_STREAM_VORBIS_PARAMS
      • SOF_IPC_STREAM_VORBIS_FREE
      • SOF_IPC_TRACE_DMA_PARAMS
      • SOF_IPC_TRACE_DMA_POSITION
      • SOF_IPC_TRACE_DMA_PARAMS_EXT
      • SOF_IPC_TRACE_FILTER_UPDATE
      • SOF_IPC_TRACE_DMA_FREE
      • SOF_IPC_PROBE_INIT
      • SOF_IPC_PROBE_DEINIT
      • SOF_IPC_PROBE_DMA_ADD
      • SOF_IPC_PROBE_DMA_INFO
      • SOF_IPC_PROBE_DMA_REMOVE
      • SOF_IPC_PROBE_POINT_ADD
      • SOF_IPC_PROBE_POINT_INFO
      • SOF_IPC_PROBE_POINT_REMOVE
      • SOF_IPC_DEBUG_MEM_USAGE
      • SOF_IPC_TEST_IPC_FLOOD
      • SOF_IPC_MESSAGE_ID
      • SOF_IPC_MSG_MAX_SIZE
      • sof_ipc_hdr
        • size
      • sof_ipc_cmd_hdr
        • size
        • cmd
      • sof_ipc_reply
        • hdr
        • error
      • sof_ipc_compound_hdr
        • hdr
        • count
      • sof_ipc_dsp_oops_arch_hdr
        • arch
        • totalsize
      • sof_ipc_dsp_oops_plat_hdr
        • configidhi
        • configidlo
        • numaregs
        • stackoffset
        • stackptr
  • Presentations
    • SOF Mentions
SOF Project
  • Architecture
  • Firmware Architecture
  • Vendor-Specific Architecture Information
  • Intel cAVS Architecture
  • Booting up CAVS ADSP
  • Apollo Lake Boot Process

Apollo Lake Boot Process

  • Apollo Lake Boot ROM
  • Apollo Lake Boot Loader

© Copyright 2024, SOF Project. Last updated on Mar 04, 2025.