airoha app driver

Airoha App Driver ((full)) 📥

[ Host Application (User Space) ] | v [ Airoha App Driver API ] <-- (Focus of this report) | v [ Transport Layer: I2C / UART / USB / SPI ] | v [ Airoha SoC Firmware (DSP + BT Stack) ] | Component | Description | |-----------|-------------| | Initialization Manager | Configures GPIOs, clocks, and power rails. | | Audio Path Driver | Routes PCM/I2S data; controls codec (DAC/ADC). | | BT Control Driver | Handles pairing, connection events, and HCI commands. | | Power Management | Sleep/wake logic, ramp-up/down sequences. | | Vendor Extension (VS) | Airoha-specific EQ, ANC (Active Noise Cancellation), tone generation. | 3. Functional Analysis 3.1 Key APIs (Reverse Engineered / Typical) // Initialization airoha_err_t airoha_app_init(airoha_config_t *cfg); // Audio Control airoha_err_t airoha_app_playback_start(uint8_t stream_id); airoha_err_t airoha_app_set_volume(int8_t db_level); // -60dB to +12dB

The driver is not a standard Linux kernel driver but a vendor-specific, often RTOS-oriented, library that exposes an API for controlling Airoha chips in consumer electronics (TWS earbuds, smart speakers). 2. System Architecture The Airoha App Driver sits between the Host Application (e.g., audio player, call manager) and the Airoha Hardware . airoha app driver

Document ID: AIR-APP-DRV-2024-001 Version: 1.0 Date: October 26, 2024 Author: Embedded Systems Team 1. Executive Summary The Airoha App Driver refers to the proprietary software interface and hardware abstraction layer (HAL) used to communicate with Airoha Technology’s line of chipsets, primarily Bluetooth SoCs (e.g., AB15xx, AB156x, AB160x series). This driver is critical for host processors (e.g., Qualcomm, MediaTek, or a separate MCU) to manage audio codec settings, RF parameters, power management, and vendor-specific commands. [ Host Application (User Space) ] | v

// EQ & ANC airoha_err_t airoha_app_set_eq_profile(eq_preset_t preset); airoha_err_t airoha_app_anc_mode(anc_mode_t mode); // OFF, TRANSPARENT, ON | | Power Management | Sleep/wake logic, ramp-up/down