展锐平台音频框架

Audio DT介绍

1.概述

DT(Device Tree)是一种描述硬件的数据结构,DTS即设备树源码。

2.Audio DTS 文件架构

\bsp\kernel\kernel.4.14\arch\arm64\boot\sprd

ums512.dts //SOC级相关节点

------sc2730.dtsi //Codec

------sharkl5Pro.dtsi //Platform、VBC、I2S、audio misc

------sprd-sound-fe-be.dtsi //headset\sound card

------extra_sound_card_component.dtsi //Ext Smart PA 的dai-link

如果同一个SOC对应不同的board,则需要添加对应类似ums521-1h10-overlay.dtsi文件加以区分

3.Audio 各个模块DT 详解

3.1 Code 级DT

3.2 CPU 级DT

VBC DT、I2S DT、sprd_fe_dai DT(sound card FE/BE 架构里)

3.3 Platform 级DT

(1)一类是面向DAL-Link 的FE,主要实现了DMA相关的设置已经数据流向的控制

sprd_pcm,sprd_comper,sprd_pcm_iis

(2)一类用于DAI-Link 的BE,实现与FE的连接

sprd_route_pcm

3.4 声卡DT

sprdphone card 和 I2S card 两种声卡

4.SOC 级 DT

5.常用参数

compatible status reg

音频驱动概述

1.音频硬件概述

第三方smartPA接在VBC上,与平台Codec 处于并列位置

数据流向:AP _> ADSP _> VBC _> Codec

2.音频驱动结构

2.1FE 与 BE 的定义

在android 平台上,音频驱动采用DPCM 的 方式(即PCM device)对FE进行固定,BE 采用动态配置的方式进行选择

2.2 FE 与 BE 的分类

FE 根据stream 的属性进行分类

BE 根据FE与输出、输入的硬件类别进行分类

2.3 动态连接与驱动实现

2.3.1 动态连接

FE 与 BE 通过 Switch control进行链接,在audio_route.xml 中根据场景进行动态配置

2.3.2 驱动实现

snd_dai_driver 结构体定义的实例中

.probe 表示 DAI 控件和 DAI 接口

.stream_name 表示 DAI控件

.aif_name 表示 DAI路由接口

xxx_dai_ops 表示DMA 操作

SPRD Audio 介绍

AudioPolicy

AudioPolicyManagerSprd ------> AudioPolicyManager ------> Audio_policy_Configuration.xml

2.1 AudioPolicy 配置

2.2.1 engine 配置

AudioPolicy 支持2种 engine:

default:策略通过代码实现

configurable:策略通过配置实现

相关推荐
EasyCVR1 天前
智能守护校园:视频汇聚平台EasyCVR如何构建校园消防安全新防线
音视频
加油20192 天前
音视频处理(三):hls协议和m3u8详解和视频下载爬虫实战
爬虫·音视频·hls·m3u8·mpeg-2·mpeg2-ts·电视迷
音视频牛哥2 天前
从 SmartMediaKit 设计探讨音视频工程师的面试与能力评估框架
程序人生·职场和发展·音视频·rtsp播放器·rtmp播放器·音视频工程师面试·音视频程序员面试题
18538162800航2 天前
短视频矩阵系统搭建指南:源码部署与全流程解析
线性代数·矩阵·音视频
美摄科技2 天前
AR短视频SDK,打造差异化竞争壁垒
ar·音视频
sunly_2 天前
Flutter:视频预览功能
javascript·flutter·音视频
热爱编程的小白白2 天前
IPIDEA海外代理助力-Youtube视频AI领域选题数据获取实践
人工智能·音视频
骄傲的心别枯萎2 天前
RV1126 NO.40:OPENCV图形计算面积、弧长API讲解
人工智能·opencv·计算机视觉·音视频·rv1126
撬动未来的支点2 天前
【音视频】MP4文件格式
音视频
刀客Doc3 天前
复盘Netflix的2025:广告业务、线下业态和视频播客
人工智能·音视频