Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
e1e8f5c
docs: developer_guides: modernize portal and add current code topics
lrgirdwo Sep 16, 2026
5ff1abb
docs: developer_guides: add high-level pipeline architecture guide
lrgirdwo Sep 17, 2026
d4a12da
docs: developer_guides: add high-level module framework guide
lrgirdwo Sep 17, 2026
5341143
docs: developer_guides: add high-level scheduler architecture guide
lrgirdwo Sep 17, 2026
497d62a
docs: developer_guides: add high-level audio buffer management guide
lrgirdwo Sep 17, 2026
5447c4c
docs: developer_guides: add high-level IPC infrastructure guide
lrgirdwo Sep 18, 2026
7d88e96
docs: developer_guides: add high-level firmware init and boot guide
lrgirdwo Sep 18, 2026
1228606
docs: developer_guides: add high-level volume module guide
lrgirdwo Sep 18, 2026
1938a18
docs: developer_guides: add high-level mixin/mixout architecture guide
lrgirdwo Sep 18, 2026
6a3234c
docs: developer_guides: add high-level src and asrc architecture guide
lrgirdwo Sep 18, 2026
a0bbaba
docs: developer_guides: add high-level eq fir and iir architecture guide
lrgirdwo Sep 18, 2026
82ff002
docs: developer_guides: add high-level drc and multiband drc architec…
lrgirdwo Sep 18, 2026
8dbf62c
docs: developer_guides: add high-level crossover filter architecture …
lrgirdwo Sep 18, 2026
5377a96
docs: developer_guides: add high-level dc blocker architecture guide
lrgirdwo Sep 18, 2026
52390f7
docs: developer_guides: add high-level tdfb architecture guide
lrgirdwo Sep 18, 2026
6c5e063
docs: developer_guides: add high-level tflm architecture guide
lrgirdwo Sep 18, 2026
880eb0b
docs: developer_guides: add high-level mfcc architecture guide
lrgirdwo Sep 19, 2026
4cb5cb8
docs: developer_guides: add high-level smart amp architecture guide
lrgirdwo Sep 19, 2026
0efc31e
doc: add sound dose evaluator architecture guide
lrgirdwo Sep 19, 2026
4d6ef54
docs: developer_guides: add high-level copier, mux, and selector arch…
lrgirdwo Sep 19, 2026
36cc1ac
doc: developer_guides: add comprehensive pcm format converter archite…
lrgirdwo Sep 19, 2026
27f8e45
doc: developer_guides: add comprehensive real-time noise reduction (r…
lrgirdwo Sep 19, 2026
a3a68ec
doc: developer_guides: add comprehensive kpb and wov architecture guide
lrgirdwo Sep 19, 2026
55a9d52
doc: developer_guides: add comprehensive tone generator architecture …
lrgirdwo Sep 19, 2026
59ffffd
doc: developer_guides: add comprehensive up/down mixer architecture g…
lrgirdwo Sep 19, 2026
fa419c4
doc: developer_guides: add comprehensive aria architecture guide
lrgirdwo Sep 19, 2026
fe74c72
doc: developer_guides: add comprehensive level multiplier architectur…
lrgirdwo Sep 19, 2026
817775a
doc: developer_guides: add comprehensive phase vocoder architecture g…
lrgirdwo Sep 19, 2026
89553a9
doc: developer_guides: add comprehensive STFT process architecture guide
lrgirdwo Sep 19, 2026
b446deb
doc: developer_guides: add comprehensive media codecs architecture guide
lrgirdwo Sep 19, 2026
ddf1009
doc: developer_guides: add runtime tuning and control blobs architect…
lrgirdwo Sep 19, 2026
d33d2ee
doc: developer_guides: add dynamic range compression & multiband drc …
lrgirdwo Sep 19, 2026
7ddf2ef
doc: developer_guides: add crossover filter design & multi-driver spe…
lrgirdwo Sep 19, 2026
c2d3a70
doc: developer_guides: add smart amplifier (dsm) & transducer protect…
lrgirdwo Sep 19, 2026
5ef012b
doc: developer_guides: add sound dose & hearing health calibration guide
lrgirdwo Sep 19, 2026
ea3a2eb
doc: developer_guides: add digital microphone (dmic) tuning & calibra…
lrgirdwo Sep 19, 2026
1700304
doc: developer_guides: add level multiplier & aria agc dynamic range …
lrgirdwo Sep 19, 2026
d14fa7c
doc: developer_guides: add mfcc & audio feature extraction tuning guide
lrgirdwo Sep 19, 2026
a870ed8
doc: developer_guides: eliminate duplicate links in firmware and tuni…
lrgirdwo Sep 19, 2026
925e744
doc: rimage: comprehensive architecture, binary layout, and signing m…
lrgirdwo Sep 19, 2026
c2e71a3
doc: firmware: modernize llext loadable modules architecture guide
lrgirdwo Sep 19, 2026
72483e2
doc: firmware: modernize hostless embedded firmware architecture guide
lrgirdwo Sep 19, 2026
f512ec6
doc: linux_driver: modernize SOF Linux driver architecture guide
lrgirdwo Sep 19, 2026
575f6f0
doc: remove deprecated linux driver third party and virtio guides
lrgirdwo Sep 19, 2026
6f8d4f1
doc: topology2: modernize ALSA Topology 2.0 architecture and develope…
lrgirdwo Sep 19, 2026
8105405
doc: ktest: modernize automated kernel testing and bisection guide
lrgirdwo Sep 19, 2026
77423a8
doc: test: modernize unit testing with zephyr ztest and twister
lrgirdwo Sep 19, 2026
62aca09
doc: testing: modernize hardware audio loopback verification guide
lrgirdwo Sep 19, 2026
99b9ce2
doc: testbench: modernize host audio pipeline simulation guides
lrgirdwo Sep 19, 2026
fb8e8a1
doc: tech: modernize zephyr cmake and build configuration guide
lrgirdwo Sep 19, 2026
5c7a5b0
doc: xtrun: modernize cadence xtensa simulator architecture and verif…
lrgirdwo Sep 19, 2026
f512f19
doc: fuzzing: modernize firmware fuzzing architecture and protocol se…
lrgirdwo Sep 19, 2026
5ebe3f8
doc: fuzzing: fix text positioning in figure 327 and figure 325 diagrams
lrgirdwo Sep 19, 2026
4c16981
doc: debugability: modernize dsp telemetry, coredump, probes, and she…
lrgirdwo Sep 19, 2026
8586f61
doc: uuid: modernize uuid subsystem and component identification guide
lrgirdwo Sep 20, 2026
470e6fc
doc: developer_guides: elevate dsp telemetry guides and remove debuga…
lrgirdwo Sep 20, 2026
edbfd70
doc: developer_guides: hide section 6 toctree to eliminate duplicate …
lrgirdwo Sep 20, 2026
2d1c914
doc: sanitize private DUT names and generalize hardware documentation
lrgirdwo Sep 20, 2026
aade451
doc: generalize hostless test scripts and loopback test harnesses
lrgirdwo Sep 20, 2026
741be1b
doc: document 1.8V to 3.3V level shifter requirement for Panther Lake…
lrgirdwo Sep 20, 2026
fc86caa
doc: remove Saleae logic analyzer section and sanitize references
lrgirdwo Sep 20, 2026
37f5b4b
doc: modernize CMake page with 3-toolchain architecture guide
lrgirdwo Sep 20, 2026
633e9d1
doc: add missing firmware version for latest release in release table
lrgirdwo Sep 20, 2026
2df80ed
doc: fix woke terminology and resolve pygments lexer warning
lrgirdwo Sep 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .wokeignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,9 @@ contribute/process/bug-tracking.rst
contribute/process/images/*
getting_started/setup/setup_up_2_board.rst
developer_guides/setup_special_device/setup_up_2_board.rst
developer_guides/virtualization/virtualization.rst
developer_guides/firmware/component-tutorial/tut-ii-topology.rst
developer_guides/subsystem_architecture/host/linux_driver/architecture/sof_driver_arch.rst
developer_guides/tech/compile_wsl.rst
developer_guides/virtualization/files/q-v6.sh
developer_guides/topology/topology.rst
developer_guides/fuzzing/testbench_afl_fuzzing.rst

Expand Down
3 changes: 3 additions & 0 deletions architectures/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -605,6 +605,9 @@ At the heart of the firmware is the audio processing pipeline framework:
ctl_eq -> comp_eq [style=dashed, color="#d35400", label="IPC Set Data"];
}

.. seealso::
For an in-depth architectural explanation of how pipelines, modules, Low-Latency (LL) and Data Processing (DP) scheduling domains, circular buffers, lifecycle management, and the runtime state machine operate, see the :ref:`pipeline_architecture` developer guide.

Topology 2 Architecture
=======================

Expand Down
155 changes: 150 additions & 5 deletions data/modules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,22 @@ modules:
- "Continuous clock drift tracking"
- "Decoupled clock domain bridging"

- id: dmic
name: "Digital Microphone (DMIC) Decimation & Array Tuning"
source: "SOF"
category: "Foundational DSP"
status: "Upstream"
tuning_guide: "developer_guides/tuning/dmic_tuning"
description: "Hardware PDM ingress, 5th-order CIC comb decimation, multirate FIR droop compensation, DC-offset compensation, and multichannel array acoustic calibration."
simd: ["Hardware Accelerator", "Scalar C"]
key_features:
- "5th-order Cascaded Integrator-Comb (CIC) filter with up to 31x decimation"
- "Multirate droop-compensating FIR filters with passband ripple < 0.1 dB and stopband > 90 dB"
- "Dual-FIFO mode matching for concurrent 48 kHz communications and 16 kHz wake-on-voice"
- "Acoustic sensitivity calibration and inter-channel gain trimming for beamforming arrays"
- "Automated logarithmic unmute gain ramping eliminating stream start pops"
- "Standalone Python calibration CLI (sof_dmic_tool.py) and ACPI NHLT / Topology 2 integration"

- id: demux
name: "Audio Demux"
source: "SOF"
Expand Down Expand Up @@ -86,6 +102,31 @@ modules:
- "Mono to stereo/surround replication"
- "Channel swap and mute masking"

- id: level_multiplier
name: "Level Multiplier"
source: "SOF"
category: "Basic Routing & Level"
status: "Upstream"
description: "Ultra-low-latency Q9.23 linear scaling amplifier for capture sensitivity calibration and inter-stage matching."
simd: ["HiFi 3", "HiFi 4", "HiFi 5", "Scalar C"]
key_features:
- "High-precision Q9.23 fixed-point multiplier (-138.47 dB to +48.17 dB)"
- "Zero-overhead fast-path bypass when configured for unity gain (0 dB)"
- "Runtime IPC4 calibration and LLEXT dynamic module packaging"
tuning_guide: "developer_guides/tuning/level_multiplier_aria_tuning"

- id: up_down_mixer
name: "Up/Down Mixer"
source: "SOF"
category: "Basic Routing & Level"
status: "Upstream"
description: "Configurable matrix-based channel upmixer and downmixer with per-coefficient attenuation."
simd: ["HiFi 3", "HiFi 4", "HiFi 5", "Scalar C"]
key_features:
- "Matrix coefficients for stereo, surround 5.1, and 7.1 mapping"
- "Channel energy normalization and clipping prevention"
- "Zero-copy passthrough when channel geometry matches"

- id: tone
name: "Tone Generator"
source: "SOF"
Expand Down Expand Up @@ -123,6 +164,19 @@ modules:
- "Parametric peak, notch, low/high shelf"
- "Low computational latency"

- id: aria
name: "Aria (Automatic Regressive Input Amplifier)"
source: "SOF"
category: "Audio Enhancement"
status: "Upstream"
description: "Dynamic pre-amplifier and lookahead peak limiter with 1ms algorithmic latency."
simd: ["HiFi 3", "HiFi 4", "HiFi 5", "Scalar C"]
key_features:
- "Target pre-amplification boost (0, 6, 12, 18 dB)"
- "Instantaneous regressive ducking to prevent 0 dBFS clipping"
- "1ms lookahead circular buffer and per-sample linear interpolation"
tuning_guide: "developer_guides/tuning/level_multiplier_aria_tuning"

- id: drc
name: "Dynamic Range Compressor (DRC)"
source: "SOF"
Expand Down Expand Up @@ -171,17 +225,57 @@ modules:
- "Sub-audible rumble attenuation"
- "Near-zero phase distortion in audio band"

- id: phase_vocoder
name: "Phase Vocoder"
source: "SOF"
category: "Audio Enhancement"
status: "Upstream"
description: "Frequency-domain time-scale modification (0.5x to 2.0x speed) without pitch alteration."
simd: ["HiFi 3", "Scalar C"]
key_features:
- "Real-time Short-Time Fourier Transform (STFT) analysis & synthesis"
- "Variable speed scaling (0.5x to 2.0x) with exact GCD counter normalization"
- "Interactive phase re-anchoring and mono downmix optimization"

- id: stft_process
name: "STFT Process"
source: "SOF"
category: "Audio Enhancement"
status: "Upstream"
description: "Modular Short-Time Fourier Transform frequency-domain filtering and synthesis engine."
simd: ["HiFi 3", "Scalar C"]
key_features:
- "Multi-channel 32-bit forward and inverse FFT with COLA windowing"
- "Dual-domain processing: Cartesian complex and polar magnitude/phase"
- "Single contiguous buffer layout and zero-copy polar memory overlay"

- id: smart_amp
name: "Smart Amp Protection"
name: "Smart Amp Protection (DSM)"
source: "SOF"
category: "Speaker Protection"
status: "Upstream"
description: "Speaker protection algorithm monitoring voltage/current feedback to maximize loudness safely."
description: "Closed-loop dynamic speaker management monitoring real-time voltage/current (I/V) feedback to maximize loudness and prevent mechanical and thermal destruction."
simd: ["HiFi 3", "HiFi 4", "Scalar C"]
key_features:
- "Real-time voice coil temperature estimation"
- "Membrane excursion limiting"
- "Maximizes acoustic output without damage"
- "Real-time voice coil temperature estimation via continuous Re(t) tracking"
- "Nonlinear membrane excursion prediction and adaptive high-pass limiting"
- "Closed-loop hardware I/V sense feedback via SoundWire and I2S/TDM"
- "Two-layer modular architecture supporting Maxim DSM and vendor engines"
- "Live runtime parameter injection and telemetry readback via sof-ctl"

- id: sound_dose
name: "Sound Dose & Exposure"
source: "SOF"
category: "Speaker Protection"
status: "Upstream"
description: "Auditory health monitoring and cumulative sound exposure limiter complying with IEC 62368-1 Clause 10.6, EN 50332-1/-2/-3, and WHO-ITU H.870."
simd: ["HiFi 3", "Scalar C"]
key_features:
- "IEC 61672-1 Class 1 A-weighting cascaded Direct Form I IIR biquad filtering"
- "Overflow-proof 64-bit real-time energy accumulation and integer base-2 logarithm decibel conversion"
- "Autonomous 1-second asynchronous IPC4 notification dispatch without host polling"
- "Smooth per-frame exponential slew gain limiter (0.05 dB/frame) eliminating clicks and pops"
- "Acoustic laboratory HATS calibration, rolling 7-day CSD tracking, and runtime control via sof-ctl"

# --- Voice, Telephony & Speech ---
- id: tdfb
Expand Down Expand Up @@ -292,7 +386,58 @@ modules:
- "TFLite Micro runtime execution"
- "Low false-reject and false-alarm rates"

- id: mfcc
name: "Mel-Frequency Cepstral Coefficients (MFCC)"
source: "SOF"
category: "Voice & Telephony"
status: "Upstream"
description: "Speech feature extraction engine computing triangular Mel filterbank energies, Slaney normalization, and DCT-II cepstra."
tuning_guide: "developer_guides/tuning/mfcc_tuning"
simd: ["HiFi 3", "HiFi 4", "Scalar C"]
key_features:
- "Configurable triangular Mel filterbanks (20 Hz to 8 kHz) with Slaney area normalization"
- "Dual-mode operation: 80-bin Mel spectrogram (Whisper ASR) or 13-cepstra MFCC (TFLM microWakeWord)"
- "Discrete Cosine Transform (DCT-II) with sinusoidal cepstral liftering"
- "Embedded Voice Activity Detection (VAD) and Discontinuous Transmission (DTX) silence suppression"
- "Sparse packed triangular filterbank vector storage with >95% SRAM memory reduction"

- id: mic_privacy_manager
name: "Microphone Privacy Manager"
source: "SOF"
category: "Voice & Telephony"
status: "Upstream"
description: "Hardware-enforced microphone capture mute and privacy state management."
simd: ["Scalar C"]
key_features:
- "Zero-sample hardware mute interlock"
- "GPIO privacy LED synchronization"
- "Host-independent privacy state enforcement"

- id: rtnr
name: "Realtek Neural Noise Reduction (RTNR)"
source: "Realtek"
category: "Voice & Telephony"
status: "Upstream"
description: "Deep neural network noise suppression engine isolating speech from non-stationary background noise."
simd: ["HiFi 4", "Scalar C"]
key_features:
- "Neural network recurrent inference"
- "Non-stationary transient acoustic noise suppression"
- "Dual-microphone directional voice enhancement"

# --- Codecs & Compression ---
- id: media_codecs
name: "Media Codecs (Cadence XA & Compress-Offload)"
source: "SOF / Cadence"
category: "Codecs & Compression"
status: "Upstream"
description: "Hardware-accelerated compressed audio offload decoders and encoders using the Cadence Xtensa Audio (XA) standard."
simd: ["HiFi 3", "HiFi 4", "HiFi 5", "Scalar C"]
key_features:
- "ALSA compress-offload playback (MP3, AAC, Vorbis, PCM passthrough) and capture (MP3 enc)"
- "Standardized Cadence Xtensa Audio (XA) four-class memory tables and state machine"
- "Deep-buffer DMA host wakeup suppression enabling prolonged C10 deep sleep"

- id: aac_dec
name: "AAC Decoder"
source: "FFmpeg"
Expand Down
6 changes: 1 addition & 5 deletions data/platforms.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ platforms:
- IPC3
zephyr_target: intel_adsp_cavs25
target_alias: tgl
test_dut: Spider
status: Mainline Active

- id: tgl_h
Expand Down Expand Up @@ -204,7 +203,6 @@ platforms:
- IPC4
zephyr_target: intel_adsp_ace15_mtlm
target_alias: arl-s
test_dut: Dragon Fly
status: Mainline Active

- id: lnl
Expand Down Expand Up @@ -245,7 +243,6 @@ platforms:
- IPC4
zephyr_target: intel_ace30_ptl
target_alias: ptl
test_dut: Aphid
status: Mainline Active

- id: wcl
Expand Down Expand Up @@ -618,9 +615,8 @@ platforms:
- N/A
zephyr_target: esp32p4
target_alias: esp32-p4
test_dut: "Pallas (Tx) / Ceres (Rx) Loopback Pair"
status: Active Integration
notes: "Essential test card for automated I2S/PDM loopback verification across Spider and Aphid"
notes: "Essential test card for automated I2S/PDM loopback verification across target DUTs"

- id: esp32_c6
vendor: Espressif
Expand Down
22 changes: 11 additions & 11 deletions data/sof_bin_releases.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@
[
{
"tag_name": "v2026.09",
"name": "v2026.09",
"fw_version": "v2.15",
"published_at": "2026-09-17",
"html_url": "https://github.com/thesofproject/sof-bin/releases/tag/v2026.09",
"asset_name": "sof-bin-2026.09.tar.gz",
"asset_url": "https://github.com/thesofproject/sof-bin/releases/download/v2026.09/sof-bin-2026.09.tar.gz",
"asset_size_mb": 16.7,
"prerelease": false
},
{
"tag_name": "v2025.12.2",
"name": "v2025.12.2",
Expand Down Expand Up @@ -119,16 +130,5 @@
"asset_url": "https://github.com/thesofproject/sof-bin/releases/download/v2024.06/sof-bin-2024.06.tar.gz",
"asset_size_mb": 9.4,
"prerelease": false
},
{
"tag_name": "v2024.03",
"name": "v2024.03",
"fw_version": "v2.9",
"published_at": "2024-04-02",
"html_url": "https://github.com/thesofproject/sof-bin/releases/tag/v2024.03",
"asset_name": "sof-bin-2024.03.tar.gz",
"asset_url": "https://github.com/thesofproject/sof-bin/releases/download/v2024.03/sof-bin-2024.03.tar.gz",
"asset_size_mb": 7.8,
"prerelease": false
}
]
7 changes: 7 additions & 0 deletions developer_guides/algorithms/eq/equalizers_tuning.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
Equalizers, IIR and FIR
#######################

.. seealso::

For a high-level firmware architectural overview of both Finite Impulse Response (FIR)
and Infinite Impulse Response (IIR) equalizers—including transversal filter structures,
Direct Form I biquad cascades, parametric filter topologies, dynamic IPC blob swapping,
and SIMD acceleration—see :ref:`eq_fir_iir`.

.. contents::
:depth: 3

Expand Down
7 changes: 7 additions & 0 deletions developer_guides/algorithms/src/sample_rate_conversion.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
Sample Rate Conversion
######################

.. seealso::

For a high-level firmware architectural overview of both Synchronous (SRC) and
Asynchronous (ASRC) converters—including multi-stage factorization, continuous
Farrow drift compensation, push vs pull topologies, and SIMD acceleration—see
:ref:`src_asrc`.

Introduction
************

Expand Down
Loading
Loading