展锐平台音频框架

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:策略通过配置实现

相关推荐
2301_7903559718 小时前
【技术拆解】短视频配音自动化流程:从文案预处理到 SRT 字幕的 9 个环节
自然语言处理·音视频
大飞哥软件自习室1 天前
视频批量截图并自动拼图是怎么做的:从四步向导、三种截帧模式到等距抽样与日志兜底的实现拆解,附 FFmpeg 调用与线程模型说明
ffmpeg·音视频·批量截图
Black蜡笔小新2 天前
消防控制室/配电房/中控室...视频汇聚平台EasyCVR岗位AI智能监测方案守住关键岗位
大数据·音视频·easycvr
FlightYe2 天前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
乐橙开放平台3 天前
海康和大华摄像头能统一管理吗?可以通过 GB28181 或视频融合平台接入
网络·后端·物联网·音视频
Mirawork3 天前
Mirawork v0.32.0 更新体验:会话引用、任务分享与音频转写怎么用
人工智能·音视频
熬夜磕代码丶4 天前
RN鸿蒙空间音频实战
华为·音视频·harmonyos
一条破秋裤5 天前
【V4L2采集视频】
音视频
橙橙笔记6 天前
QT的学习第四部分
linux·qt·学习·音视频
AI视频工具指南7 天前
用 AI 能做哪些视频?按想交付的作品选做法
人工智能·aigc·音视频