From 83f1a5bf3e10eb4c01d13c04ad3a441b7eeac44b Mon Sep 17 00:00:00 2001 From: vb6174 Date: Tue, 23 Aug 2022 01:00:24 +0000 Subject: [PATCH] change audio ADM and driver readme Signed-off-by: vb6174 --- .../driver/driver-peripherals-audio-des.md | 589 +++++++++--------- ...0\346\265\201\347\250\213\345\233\276.png" | Bin 36647 -> 32701 bytes ...o\346\241\206\346\236\266\345\233\276.png" | Bin 39224 -> 56300 bytes 3 files changed, 305 insertions(+), 284 deletions(-) diff --git a/zh-cn/device-dev/driver/driver-peripherals-audio-des.md b/zh-cn/device-dev/driver/driver-peripherals-audio-des.md index 8fcfc79131..77395696ec 100644 --- a/zh-cn/device-dev/driver/driver-peripherals-audio-des.md +++ b/zh-cn/device-dev/driver/driver-peripherals-audio-des.md @@ -17,12 +17,12 @@ Audio驱动框架基于[HDF驱动框架](driver-hdf-overview.md)实现。Audio 驱动架构主要由以下几部分组成。 - HDI adapter:实现Audio HAL层驱动(HDI接口适配),给Audio服务(frameworks)提供所需的音频硬件驱动能力接口。包含 Audio Manager、Audio Adapter、Audio Control、Audio Capture、Audio Render等接口对象。 -- Audio Interface Lib:配合内核中的Audio Driver Model使用,实现音频硬件的控制、录音数据的读取、播放数据的写入。它里面包括Stream_ctrl_common 通用层,主要是为了和上层的audio HDI adapter层进行对接。 +- Audio Interface Lib:配合内核中的Audio Driver Model使用,实现音频硬件的控制、录音数据的读取、播放数据的写入。它里面包括Stream_ctrl_common 通用层,主要是为了和上层的Audio HDI Adapter层进行对接。 - ADM(Audio Driver Model):音频驱动框架模型,向上服务于多媒体音频子系统,便于系统开发者能够更便捷的根据场景来开发应用。向下服务于具体的设备厂商,对于Codec和DSP设备厂商来说,可根据ADM模块提供的向下统一接口适配各自的驱动代码,就可以实现快速开发和适配OpenHarmony系统。 - Audio Control Dispatch: 接收lib层的控制指令并将控制指令分发到驱动层。 - Audio Stream Dispatch: 接收lib层的数据并将数据分发到驱动层。 -- Card Manager: 多声卡管理模块。每个声卡含有Dai、Platform、Codec、Accessory、Dsp、SAPM模块。 +- Card Manager: 多声卡管理模块。每个声卡含有Dai、Platform、Codec、Dsp、SAPM模块。 - Platform Drivers: 驱动适配层。 - SAPM(Smart Audio Power Manager):电源管理模块,对整个ADM电源进行功耗策略优化。 @@ -31,36 +31,39 @@ Audio驱动框架基于[HDF驱动框架](driver-hdf-overview.md)实现。Audio 以下将基于Audio驱动框架,并以Hi3516DV300平台为例,介绍相关驱动开发的具体步骤。 ### Audio ADM模块框架介绍 + Audio驱动对HDI层提供三个服务hdf_audio_render、hdf_audio_capture、hdf_audio_control。开发板dev目录下驱动服务节点如下: -```c +```shell # ls -l hdf_audio* -crw-rw---- 1 system system 248, 6 1970-01-01 00:00 hdf_audio_capture // 音频数据录音流服务。 -crw-rw---- 1 system system 248, 4 1970-01-01 00:00 hdf_audio_codec_dev0 // 音频声卡设备0名称。 -crw-rw---- 1 system system 248, 4 1970-01-01 00:00 hdf_audio_codec_dev1 // 音频声卡设备1名称。 -crw-rw---- 1 system system 248, 5 1970-01-01 00:00 hdf_audio_control // 音频控制流服务。 -crw-rw---- 1 system system 248, 7 1970-01-01 00:00 hdf_audio_render // 音频数据播放流务。 +crw-rw---- 1 system system 247, 6 1970-01-01 00:00 hdf_audio_capture // 音频数据录音流服务。 +crw-rw---- 1 root root 247, 4 1970-01-01 00:00 hdf_audio_codec_primary_dev0 // 音频声卡设备0名称。 +crw-rw---- 1 root root 247, 4 1970-01-01 00:00 hdf_audio_codec_primary_dev11 // 音频声卡设备1名称。 +crw-rw---- 1 system system 247, 5 1970-01-01 00:00 hdf_audio_control // 音频控制流服务。 +crw-rw---- 1 system system 247, 7 1970-01-01 00:00 hdf_audio_render // 音频数据播放流务。 ``` 音频声卡设备包括的驱动服务: -hdf_audio_codec_dev0 -- dma_service_0 : dma服务 -- dai_service : cpu dai服务 -- codec_service_0 : codec服务(特指内置codec) -- dsp_service_0 : dsp 服务(可选项) +hdf_audio_codec_primary_dev0 -hdf_audio_codec_dev1 - dma_service_0 : dma服务 - dai_service : cpu dai服务 -- codec_service_1 : accessory服务(特指smartPA) +- codec_service_0 : codec服务(可以是smartPA) +- dsp_service_0 : dsp 服务(可选项) + +hdf_audio_codec_primary_dev11 + +- dma_service_0 : dma服务 +- dai_service : cpu dai服务 +- codec_service_1 : codec服务(可以是smartPA) - dsp_service_0 : dsp服务(可选项) #### 启动流程 ![](figures/ADM启动流程图.png) -1. 系统启动时audio模块的Platform、Codec、Accessory、Dsp、Dai各个驱动首先被加载,各驱动从各自私有配置文件中获取配置信息,并将获取的配置信息保存到各驱动的Data数据结构中。 +1. 系统启动时Audio模块的Platform、Codec、Dsp、Dai各个驱动首先被加载,各驱动从各自私有配置文件中获取配置信息,并将获取的配置信息保存到各驱动的Data数据结构中。 2. 各驱动模块调用ADM注册接口将自己添加到各驱动模块的链表中。 @@ -72,7 +75,7 @@ hdf_audio_codec_dev1 #### 播放流程 -![=](figures/ADM播放流程图.png) +![](figures/ADM播放流程图.png) 1. 播放音频时,Interface Lib层通过播放流服务下发Render Open指令,Audio Stream Dispatch服务收到指令后分别调用各模块的函数接口对指令进行下发。 @@ -95,11 +98,35 @@ hdf_audio_codec_dev1 1. 设置音量,首先Interface Lib层通过控制服务下发获取音量范围指令,Control Dispatch控制服务收到指令后进行解析,并调用Codec模块Get函数,获取可设置音量的范围。 2. Interface Lib层通过控制服务下发设置音量指令,Control Dispatch控制服务收到指令后进行解析,并调用Codec模块Set函数设置音量。 +### Audio驱动公共函数介绍 + +| 函数名 | 功能 | +| ------------------------------ | ------------------------------------------- | +| CodecDeviceReadReg | codec寄存器读函数 | +| CodecDeviceWriteReg | codec寄存器写函数 | +| CodecDaiRegI2cRead | codec dai通过I2C接口读寄存器函数 | +| CodecDaiRegI2cWrite | codec dai通过I2C接口写寄存器函数 | +| CodecDeviceRegI2cRead | codec通过I2C接口读寄存器函数 | +| CodecDeviceRegI2cWrite | codec通过I2C接口写寄存器函数 | +| CodecDeviceInitRegConfig | codec初始化函数 | +| CodecDaiDeviceStartupRegConfig | codec启动函数 | +| CodecSetCtlFunc | codec设置set和get接口实现函数 | +| CodecSetConfigInfoOfControls | codec设置控制功能函数接口和寄存器信息的函数 | +| CodecGetConfigInfo | codec获取HCS配置信息函数 | +| CodecGetDaiName | codec获取HCS配置dai名称函数 | +| CodecGetServiceName | codec获取HCS配置服务名称函数 | +| DaiDeviceReadReg | dai读寄存器函数 | +| DaiDeviceWriteReg | dai写寄存器函数 | +| DaiSetConfigInfoOfControls | dai设置控制功能函数接口和寄存器信息的函数 | +| DaiGetConfigInfo | dai获取HCS配置信息函数 | + + + ### Audio驱动开发步骤 #### 已有平台开发 -ADM适配已有平台(Hi3516DV300)Codec或Accessory(Smart PA)的驱动开发流程: +ADM适配已有平台(Hi3516DV300)Codec或Smart PA的驱动开发流程: ![](figures/开发流程图1.png) @@ -125,22 +152,22 @@ Audio驱动需要将Audio相关的Codec(可选)、Dai、DMA、DSP(可选 - 进行编译调试验证。 - - ## Audio驱动开发实例 -代码路径:drivers/peripheral/audio +代码路径:device/board/hisilicon/hispark_taurus/audio_drivers -下面以Hi3516DV300为例,介绍audio的codec驱动、accessory驱动、dai驱动、platform驱动开发步骤。 +下面以Hi3516DV300为例,介绍Audio的Codec驱动、Dai驱动、Platform驱动开发步骤。 ### Codec驱动开发实例 -代码路径:drivers/peripheral/audio/chipsets/hi3516dv300/codec + +代码路径:device/board/hisilicon/hispark_taurus/audio_drivers/codec/hi3516 codec驱动开发主要包含如下几个重要步骤: -1. 定义填充一个具体的codec -2. 实现codec回调函数 -3. 注册绑定到HDF框架 -4. 配置HCS和Makefile + +1. 定义填充一个具体的codec。 +2. 实现codec回调函数。 +3. 注册绑定到HDF框架。 +4. 配置HCS和Makefile。 #### Codec数据结构填充 @@ -154,9 +181,9 @@ Codec模块需要填充如下3个结构体: ```c struct CodecData g_codecData = { - .Init = CodecDeviceInit, // codec设备初始化(适配新平台需重新实现) - .Read = AudioDeviceReadReg, // 读寄存器(现有框架已实现,无需适配) - .Write = AudioDeviceWriteReg, // 写寄存器(现有框架已实现,无需适配) + .Init = CodecDeviceInit, // codec设备初始化(适配新平台需重新实现) + .Read = AudioDeviceReadReg, // 读寄存器(现有框架已实现可使用) + .Write = AudioDeviceWriteReg, // 写寄存器(现有框架已实现可使用) }; struct AudioDaiOps g_codecDaiDeviceOps = { @@ -165,8 +192,8 @@ struct AudioDaiOps g_codecDaiDeviceOps = { }; struct DaiData g_codecDaiData = { - .DaiInit = CodecDaiDeviceInit, // codecdai设备初始化(适配新平台需重新实现) - .ops = &g_codecDaiDeviceOps, // codecdai操作函数 + .DaiInit = CodecDaiDeviceInit, // codecdai设备初始化(适配新平台需重新实现) + .ops = &g_codecDaiDeviceOps, // codecdai操作函数 }; ``` @@ -177,31 +204,31 @@ CodecDeviceInit将完成AIAO的设置、寄存器默认值初始化、g_audioCon ```c int32_t CodecDeviceInit(struct AudioCard *audioCard, struct CodecDevice *codec) { - ... - /* hi3516平台AIAO的Set和Get注册 */ - CodecSetCtlFunc(codec->devData, AudioCodecAiaoGetCtrlOps, AudioCodecAiaoSetCtrlOps) - ... - /* hi3516平台codec寄存器IoRemap */ - CodecHalSysInit(); - ... - /* hi3516平台codec寄存器默认值初始化 */ - CodecRegDefaultInit(codec->devData->regCfgGroup); - ... - /* hi3516平台g_audioControls挂到Control链表上 */ - AudioAddControls(audioCard, codec->devData->controls, codec->devData->numControls); - ... - /* hi3516平台codec加载到sapm */ - AudioSapmNewComponents(audioCard, codec->devData->sapmComponents, codec->devData->numSapmComponent); - ... - /* hi3516平台codec加挂到通路选择链表上 */ - AudioSapmAddRoutes(audioCard, g_audioRoutes, HDF_ARRAY_SIZE(g_audioRoutes); - ... - AudioSapmNewControls(audioCard); - ... - /* hi3516平台codec电源管理 */ - AudioSapmSleep(audioCard); - ... - return HDF_SUCCESS; + ... + /* hi3516平台AIAO的Set和Get注册 */ + CodecSetCtlFunc(codec->devData, AudioCodecAiaoGetCtrlOps, AudioCodecAiaoSetCtrlOps) + ... + /* hi3516平台codec寄存器IoRemap */ + CodecHalSysInit(); + ... + /* hi3516平台codec寄存器默认值初始化 */ + CodecRegDefaultInit(codec->devData->regCfgGroup); + ... + /* hi3516平台g_audioControls挂到Control链表上 */ + AudioAddControls(audioCard, codec->devData->controls, codec->devData->numControls); + ... + /* hi3516平台codec加载到sapm */ + AudioSapmNewComponents(audioCard, codec->devData->sapmComponents, codec->devData->numSapmComponent); + ... + /* hi3516平台codec加挂到通路选择链表上 */ + AudioSapmAddRoutes(audioCard, g_audioRoutes, HDF_ARRAY_SIZE(g_audioRoutes); + ... + AudioSapmNewControls(audioCard); + ... + /* hi3516平台codec电源管理 */ + AudioSapmSleep(audioCard); + ... + return HDF_SUCCESS; } ``` @@ -211,10 +238,10 @@ CodecDaiDeviceInit将完成codecDai侧初始化,hi3516此处未涉及,接口 int32_t CodecDaiDeviceInit(struct AudioCard *card, const struct DaiDevice *device) { - ... - AUDIO_DRIVER_LOG_DEBUG("codec dai device name: %s\n", device->devDaiName); - (void)card; - return HDF_SUCCESS; + ... + AUDIO_DRIVER_LOG_DEBUG("codec dai device name: %s\n", device->devDaiName); + (void)card; + return HDF_SUCCESS; } ``` @@ -277,7 +304,7 @@ int32_t CodecDaiHwParams(const struct AudioCard *card, const struct AudioPcmHwPa 填充g_codecDriverEntry结构体,moduleName与device_info.hcs中的moduleName匹配,实现Bind、Init、Release函数指针。 -drivers/peripheral/audio/chipsets/hi3516dv300/codec/src/hi3516_codec_adapter.c +device/board/hisilicon/hispark_taurus/audio_drivers/codec/hi3516/src/hi3516_codec_adapter.c ```c struct HdfDriverEntry g_codecDriverEntry = { @@ -364,7 +391,7 @@ vendor/hisilicon/hispark_taurus/hdf_config/ **audio_config.hcs中配置私有依赖** -配置audio_card设备依赖的codec、platform、dai、dsp、accessory之间的依赖关系。 +配置audio_card设备依赖的Codec、Platform、Dai、Dsp之间的依赖关系。 代码片段如下: @@ -375,11 +402,11 @@ root { controller_0x120c1001 :: card_controller { // 配置私有数据属性名称,与device_info.hcs中的deviceMatchAttr对应 match_attr = "hdf_audio_driver_1"; - serviceName = "hdf_audio_smartpa_dev0"; // 对外提供的服务名称 - accessoryName = "codec_service_1"; // 外置codec服务名称 + serviceName = "hdf_audio_codec_primary_dev11"; // 对外提供的服务名称 + codecName = "codec_service_1"; // codec服务名称 platformName = "dma_service_0"; // dma服务 cpuDaiName = "dai_service"; // cpu dai服务 - accessoryDaiName = "accessory_dai"; // 外置dai + codecDaiName = "tfa9879_codec_dai"; // codec dai服务 dspName = "dsp_service_0"; // dsp服务名称 dspDaiName = "dsp_dai"; // dsp dai } @@ -395,7 +422,7 @@ root { - regConfig:寄存器与控制功能配置组名称。 -- ctrlParamsSeqConfig:控制功能寄存器配置组名称。 +- ctrlParamsSeqConfig:控制功能寄存器配置组名称,其中item与controlsConfig组中的item位置顺序一一对应,表示某一功能对应的寄存器配置。 - daiStartupSeqConfig:Dai启动配置配置组名称。 @@ -405,31 +432,23 @@ root { - initSeqConfig:初始化过程寄存器配置组名称。 -- controlsConfig:控制功能配置组,其中array index(具体业务场景)和iface(与HAL保持一致)为固定的值。 +- controlsConfig:控制功能配置组名称,其中array index(具体业务场景)和iface(与HAL保持一致)为固定的值。 -``` -array index -0:Main Playback Volume -1:Main Capture Volume -2:Playback Mute -3:Capture Mute -4:Mic Left Gain -5:Mic Right Gain -6:External Codec Enable -7:Internally Codec Enable -8:Render Channel Mode -9:Capture Channel Mode -iface -0:virtual dac device -1:virtual adc device -2:virtual adc device -3:virtual mixer device -4:Codec device -5:PGA device -6:AIAO device -``` +- sapmConfig:电源管理控制功能配置组名称,其中array index(具体业务场景)和iface(与HAL保持一致)为固定的值。 + +- ctrlSapmParamsSeqConfig:电源管理控制功能寄存器配置组名称。 + +- sapmComponent:电源管理组件配置组名称。 + +- array index: + + controlsConfig配置组的array index是audio_codec_base.c文件中g_audioCodecControlsList数组的元素标号。 + + sapmConfig配置组的array index是audio_codec_base.c文件中g_audioSapmCfgNameList数组的元素标号。 + + sapmComponent配置组的compNameIndex是audio_codec_base.c文件中g_audioSapmCompNameList数组元素标号。 -ctrlParamsSeqConfig:控制功能寄存器配置组,其中item与controlsConfig组中的item位置顺序一一对应,表示某一功能对应的寄存器配置。 +- iface:虚拟混合器设备配置为2。 ```c root { @@ -444,16 +463,16 @@ ctrlParamsSeqConfig:控制功能寄存器配置组,其中item与controlsConf serviceName = "codec_service_0"; codecDaiName = "codec_dai"; - /* 3516寄存器基地址 */ + /* hi3516寄存器基地址 */ idInfo { chipName = "hi3516"; // codec名字 chipIdRegister = 0x113c0000; // codec基地址 chipIdSize = 0x1000; // codec地址偏移 } - /* 寄存器配置,包含各种寄存器配置信息 */ + /* 寄存器配置,包含各种寄存器配置信息 */ regConfig { - /* reg: register address + /* reg: register address rreg: register address shift: shift bits rshift: rshift bits @@ -480,16 +499,15 @@ ctrlParamsSeqConfig:控制功能寄存器配置组,其中item与controlsConf ]; /* control function config - array index, iface, enable*/ - controlsConfig = [ - 0, 0, 0, - 1, 1, 1, - 2, 0, 1, - 3, 1, 1, - 4, 2, 1, - 5, 2, 1, - 8, 6, 0, - 9, 6, 0, + array index, iface, mixer/mux, enable, */ + 0, 2, 0, 0, + 1, 2, 0, 1, + 2, 2, 0, 1, + 3, 2, 0, 1, + 4, 2, 0, 1, + 5, 2, 0, 1, + 8, 2, 0, 0, + 9, 2, 0, 0, ]; /* control function register config reg, rreg, shift, rshift, min, max, mask, invert, value */ @@ -504,7 +522,7 @@ ctrlParamsSeqConfig:控制功能寄存器配置组,其中item与controlsConf ]; /* 上层下发参数后,写入音频相关信息的寄存器 - reg, rreg, shift, rshift, min, max, mask, invert, value */ + reg, rreg, shift, rshift, min, max, mask, invert, value */ daiParamsSeqConfig = [ 0x30, 0x30, 13, 13, 0x0, 0x1F, 0x1F, 0, 0x0, // i2s_frequency 0x1C, 0x1C, 6, 6, 0x0, 0x3, 0x3, 0, 0x0, // adc_mode_sel @@ -520,31 +538,34 @@ ctrlParamsSeqConfig:控制功能寄存器配置组,其中item与controlsConf 0x30, 0x30, 26, 26, 0x0, 0x1, 0x1, 0, 0 // dacr to dacl mixer ]; - /* + /* 电源管理组件配置 - componentName: 功能名称,{"ADCL", "ADCR", "DACL", "DACR", "LPGA", "RPGA", "SPKL", "SPKR", "MIC"} 数组索引。 - sapmType,compNameIndex,reg, mask,shift,invert, kcontrolNews,kcontrolsNum + sapmType, compNameIndex, reg, mask, shift, invert, kcontrolNews, kcontrolsNum + reg = 0xFFFF: component has no sapm register bit */ sapmComponent = [ - 10, 0, 0x20, 0x1, 15, 1, 0, 0, // ADCL - 10, 1, 0x20, 0x1, 14, 1, 0, 0, // ADCR - 11, 2, 0x14, 0x1, 11, 1, 0, 0, // DACL - 11, 3, 0x14, 0x1, 12, 1, 0, 0, // DACR - 8, 4, 0x20, 0x1, 13, 1, 1, 1, // LPGA - 8, 5, 0x20, 0x1, 12, 1, 2, 1, // RPGA - 15, 6, 0, 0x1, 0, 0, 3, 1, // SPKL - 15, 7, 0, 0x1, 0, 0, 4, 1, // SPKR - 0, 8, 0, 0x1, 0, 0, 0, 0 // MIC + 10, 0, 0x20, 0x1, 15, 1, 0, 0, // ADCL + 10, 1, 0x20, 0x1, 14, 1, 0, 0, // ADCR + 11, 2, 0x14, 0x1, 11, 1, 0, 0, // DACL + 11, 3, 0x14, 0x1, 12, 1, 0, 0, // DACR + 17, 4, 0x20, 0x1, 13, 1, 1, 1, // LPGA + 17, 5, 0x20, 0x1, 12, 1, 2, 1, // RPGA + 15, 6, 0xFFFF, 0xFFFF, 0, 0, 0, 0, // SPKL + 15, 7, 0xFFFF, 0xFFFF, 0, 0, 0, 0, // SPKR + 17, 52, 0xFFFF, 0xFFFF, 0, 0, 3, 1, // SPKL PGA + 17, 53, 0xFFFF, 0xFFFF, 0, 0, 4, 1, // SPKR PGA + 13, 40, 0xFFFF, 0xFFFF, 0, 0, 0, 0, // MIC1 + 13, 41, 0xFFFF, 0xFFFF, 0, 0, 0, 0 // MIC2 ]; - /* 电源管理功能配置 - array index, iface, enable + /* 电源管理功能配置 + array index, iface, mixer/mux, enable */ sapmConfig = [ - 0, 5, 1, - 1, 5, 1, - 2, 0, 1, - 3, 0, 1 + 0, 2, 0, 1, + 1, 2, 0, 1, + 2, 2, 0, 1, + 3, 2, 0, 1 ]; } } @@ -609,32 +630,32 @@ int32_t CodecDeviceInit(struct AudioCard *audioCard, struct CodecDevice *codec) } ``` +### SmartPA驱动开发实例 +代码路径:device/board/hisilicon/hispark_taurus/audio_drivers/codec/tfa9879 -### Accessory驱动开发实例 -代码路径:drivers/peripheral/audio/chipsets/tfa9879/accessory +SmartPA归属于codec驱动的一种,其开发流程为: -SmartPA归属于Accessory驱动的一种,开发步骤类似于codec: -1. 定义填充一个具体的accessory -2. 实现accessory回调函数 -3. 注册绑定到HDF框架 +1. 定义填充一个具体的codec。 +2. 实现codec回调函数。 +3. 注册绑定到HDF框架。 4. 配置HCS和Makefile。 -#### Accessory数据结构填充 +#### codec数据结构填充 -Accessory模块需要填充如下3个结构体: +codec模块需要填充如下3个结构体: -- g_tfa9879Data:accessory设备操作函数集,其中包含HCS文件中的配置信息,且定义与映射了accessory设备的初始化、读写寄存器的方法函数。 +- g_tfa9879Data:codec设备操作函数集,其中包含HCS文件中的配置信息,且定义与映射了codec设备的初始化、读写寄存器的方法函数。 -- g_tfa9879DaiDeviceOps:accessory设备DAI的数据集,其中定义与映射了accessory设备DAI的操作集。 +- g_tfa9879DaiDeviceOps:codec设备DAI的数据集,其中定义与映射了codec设备DAI的操作集。 -- g_tfa9879DaiData:accessory设备DAI的数据集,其中定义与映射了accessory设备的数据访问接口的驱动名、初始化和操作集。 +- g_tfa9879DaiData:codec设备DAI的数据集,其中定义与映射了codec设备的数据访问接口的驱动名、初始化和操作集。 ```c -struct AccessoryData g_tfa9879Data = { +struct CodecData g_tfa9879Data = { .Init = Tfa9879DeviceInit, - .Read = AccessoryDeviceRegRead, - .Write = AccessoryDeviceRegWrite, + .Read = CodecDeviceRegI2cRead, + .Write = CodecDeviceRegI2cWrite, }; struct AudioDaiOps g_tfa9879DaiDeviceOps = { @@ -643,99 +664,98 @@ struct AudioDaiOps g_tfa9879DaiDeviceOps = { }; struct DaiData g_tfa9879DaiData = { - .drvDaiName = "accessory_dai", + .drvDaiName = "tfa9879_codec_dai", .DaiInit = Tfa9879DaiDeviceInit, .ops = &g_tfa9879DaiDeviceOps, + .Read = CodecDaiRegI2cRead, + .Write = CodecDaiRegI2cWrite, }; ``` -#### accessoryDevice和accessoryDai设备初始化 +#### codecDevice和codecDai设备初始化 设备初始化入口函数为Tfa9879DeviceInit,其中主要包括设置SmartPA I2C设备地址,获取配置数据、初始化(含重置)设备寄存器和绑定控制功能配置到控制链表中,当前Demo实现中也包括了Hi3516DV300设备的相关寄存器初始化,如初始化GPIO引脚等。 ```c -int32_t Tfa9879DeviceInit(struct AudioCard *audioCard, const struct AccessoryDevice *device) +int32_t Tfa9879DeviceInit(struct AudioCard *audioCard, const struct CodecDevice *device) { int32_t ret; ... - g_accessoryTransferData.i2cDevAddr = TFA9879_I2C_DEV_ADDR; // 0x6D - // 获取配置数据 - ret = AccessoryDeviceCfgGet(device->devData, &g_accessoryTransferData); - ... // 初始化GPIO引脚 ret = Hi35xxGpioPinInit(); ... + // 配置I2C参数 + g_transferParam.i2cBusNumber = TFA9879_I2C_BUS_NUMBER; + g_transferParam.i2cDevAddr = TFA9879_I2C_DEV_ADDR; + g_transferParam.i2cRegDataLen = TFA9879_I2C_REG_DATA_LEN; + device->devData->privateParam = &g_transferParam; + ... // 初始化设备寄存器 - ret = AccessoryDeviceCtrlRegInit(); + ret = CodecDeviceInitRegConfig(device); ... // 绑定功能控制配置 - ret = AudioAddControls(audioCard, g_accessoryTransferData.accessoryControls, - g_accessoryTransferData.accessoryCfgCtrlCount); + if (AudioAddControls(audioCard, device->devData->controls, device->devData->numControls) != + HDF_SUCCESS) { + AUDIO_DRIVER_LOG_ERR("add controls failed."); + return HDF_FAILURE; + } ... } ``` -I2C读写寄存器公用函数:AccessoryI2cReadWrite +I2C读写寄存器公用函数: ```c -int32_t AccessoryI2cReadWrite(struct AudioAddrConfig *regAttr, uint16_t rwFlag) +int32_t CodecDeviceRegI2cRead(const struct CodecDevice *codec, uint32_t reg, uint32_t *val) { int32_t ret; - DevHandle i2cHandle; - int16_t transferMsgCount = 1; - uint8_t regs[I2C_REG_LEN]; - struct I2cMsg msgs[I2C_MSG_NUM]; - ... - i2cHandle = I2cOpen(I2C_BUS_NUM); + struct AudioAddrConfig regAttr; + struct I2cTransferParam *i2cTransferParam = NULL; ... - if (rwFlag == I2C_FLAG_READ) { - transferMsgCount = I2C_MSG_NUM; - } - ret = AccessoryI2cMsgFill(regAttr, rwFlag, regs, msgs); + i2cTransferParam = (struct I2cTransferParam *)codec->devData->privateParam; ... - ret = I2cTransfer(i2cHandle, msgs, transferMsgCount); + regAttr.addr = (uint8_t)reg; + regAttr.value = 0; + ret = CodecI2cTransfer(i2cTransferParam, ®Attr, I2C_FLAG_READ); ... - AccessoryI2cRelease(msgs, transferMsgCount, i2cHandle); + *val = regAttr.value; return HDF_SUCCESS; } -``` - -#### Accessory操作函数集实现 -AccessoryDeviceRegRead和AccessoryDeviceRegWrite 2个回调函数中,调用I2C读写寄存器公用函数AccessoryI2cReadWrite,读写控制寄存器的值。 - -```c -int32_t AccessoryDeviceRegRead(const struct AccessoryDevice *codec, uint32_t reg, uint32_t *val) +int32_t CodecDeviceRegI2cWrite(const struct CodecDevice *codec, uint32_t reg, uint32_t value) { int32_t ret; struct AudioAddrConfig regAttr; + struct I2cTransferParam *i2cTransferParam = NULL; + ... + i2cTransferParam = (struct I2cTransferParam *)codec->devData->privateParam; ... - (void)codec; regAttr.addr = (uint8_t)reg; - regAttr.value = 0; - ret = AccessoryI2cReadWrite(®Attr, I2C_FLAG_READ); - if (ret != HDF_SUCCESS) { - AUDIO_DRIVER_LOG_ERR("failed."); - return HDF_FAILURE; - } - *val = regAttr.value; + regAttr.value = (uint16_t)value; + ret = CodecI2cTransfer(i2cTransferParam, ®Attr, 0); ... return HDF_SUCCESS; } -int32_t AccessoryDeviceRegWrite(const struct AccessoryDevice *codec, uint32_t reg, uint32_t value) +int32_t CodecDaiRegI2cRead(const struct DaiDevice *dai, uint32_t reg, uint32_t *value) +{ + ... + ret = CodecI2cTransfer(i2cTransferParam, ®Attr, I2C_FLAG_READ); + ... + return HDF_SUCCESS; +} + +int32_t CodecDaiRegI2cWrite(const struct DaiDevice *dai, uint32_t reg, uint32_t value) { - int32_t ret; - struct AudioAddrConfig regAttr; - (void)codec; - regAttr.addr = (uint8_t)reg; - regAttr.value = (uint16_t)value; - ret = AccessoryI2cReadWrite(®Attr, 0); + ... + ret = CodecI2cTransfer(i2cTransferParam, ®Attr, 0); ... return HDF_SUCCESS; } ``` +#### Codec操作函数集实现 + Tfa9879DaiStartup为启动时的一些设置,代码片段如下: ```c @@ -743,9 +763,9 @@ int32_t Tfa9879DaiStartup(const struct AudioCard *card, const struct DaiDevice * { int ret; (void)card; - (void)device; - // 设置SmartPA的工作状态 - ret = Tfa9879WorkStatusEnable(); + (void)device; + // 设置SmartPA的启动的寄存器配置 + ret = CodecDaiDeviceStartupRegConfig(device); ... return HDF_SUCCESS; } @@ -761,29 +781,29 @@ int32_t Tfa9879DaiHwParams(const struct AudioCard *card, const struct AudioPcmHw uint16_t frequency, bitWidth; struct DaiParamsVal daiParamsVal; (void)card; - ... - // 匹配采样率 - ret = AccessoryDeviceFrequencyParse(param->rate, &frequency); - ... - // 匹配位宽 + ... + // 匹配采样率 + ret = Tfa9879FrequencyParse(param->rate, &frequency); + ... + // 匹配位宽 ret = Tfa9879FormatParse(param->format, &bitWidth); ... daiParamsVal.frequencyVal = frequency; daiParamsVal.formatVal = bitWidth; - daiParamsVal.channelVal = param->channels; // 匹配声道 - ret = AccessoryDaiParamsUpdate(daiParamsVal); + daiParamsVal.channelVal = param->channels; // 匹配声道 + ret = Tfa9879DaiParamsUpdate(card->rtd->codecDai, daiParamsVal); ... return HDF_SUCCESS; } ``` -#### Accessory注册绑定到HDF +#### Codec注册绑定到HDF 此处依赖HDF框架的驱动实现方式,具体流程可参考[HDF驱动框架](driver-hdf-overview.md)。 -填充g_tfa9879DriverEntry结构体,moduleName与device_info.hcs中的moduleName匹配,实现Bind、Init、Release函数指针。 +填充g_tfa9879DriverEntry结构体,moduleName与device_info.hcs中的moduleName匹配,实现Bind、Init、Release函数指针。 -drivers/peripheral/audio/chipsets/tfa9879/accessory/src/tfa9879_accessory_adapter.c +device/board/hisilicon/hispark_taurus/audio_drivers/codec/tfa9879/src/tfa9879_accessory_adapter.c ```c static int32_t Tfa9879DriverBind(struct HdfDeviceObject *device) @@ -798,11 +818,17 @@ static int32_t Tfa9879DriverInit(struct HdfDeviceObject *device) int32_t ret; ... // 获取HCS中的配置数据 - ret = AccessoryGetConfigInfo(device, &g_tfa9879Data); + ret = CodecGetConfigInfo(device, &g_tfa9879Data); + ... + // 设置codec控制相关的接口函数和寄存器信息 + ret = CodecSetConfigInfoOfControls(&g_tfa9879Data, &g_tfa9879DaiData); + ... + ret = CodecGetServiceName(device, &g_tfa9879Data.drvCodecName); ... - ret = ret = GetServiceName(device); + ret = CodecGetDaiName(device, &g_tfa9879DaiData.drvDaiName); ... - ret = AudioRegisterAccessory(device, &g_tfa9879Data, &g_tfa9879DaiData); + // 注册codec到声卡 + ret = AudioRegisterCodec(device, &g_tfa9879Data, &g_tfa9879DaiData); .... return HDF_SUCCESS; } @@ -822,12 +848,12 @@ HDF_INIT(g_tfa9879DriverEntry); 配置过程可参考Codec驱动开发实例[HCS配置流程](#section4115)章节。 - - ### Platform驱动开发实例 -代码路径:drivers/peripheral/audio/chipsets/hi3516dv300/soc + +代码路径:device/board/hisilicon/hispark_taurus/audio_drivers/soc 在Audio驱动开发中,platform为DMA驱动的适配。platform驱动开发主要包含如下几个重要步骤: + 1. 定义填充一个具体的platform 2. 实现platform回调函数 3. 注册绑定到HDF框架 @@ -886,16 +912,17 @@ int32_t AudioDmaDeviceInit(const struct AudioCard *card, const struct PlatformDe Dma设备操作函数集,包含了DMA通用接口的封装。如通用接口不能满足开发要求,可自行实现新的DMA回调函数。 ```c +int32_t AudioDmaDeviceInit(const struct AudioCard *card, const struct PlatformDevice *platform); int32_t Hi3516DmaBufAlloc(struct PlatformData *data, const enum AudioStreamType streamType); int32_t Hi3516DmaBufFree(struct PlatformData *data, const enum AudioStreamType streamType); -int32_t Hi3516DmaRequestChannel(const struct PlatformData *data); -int32_t Hi3516DmaConfigChannel(const struct PlatformData *data); -int32_t Hi3516DmaPrep(const struct PlatformData *data); -int32_t Hi3516DmaSubmit(const struct PlatformData *data); -int32_t Hi3516DmaPending(struct PlatformData *data); -int32_t Hi3516DmaPause(struct PlatformData *data); -int32_t Hi3516DmaResume(const struct PlatformData *data); -int32_t Hi3516DmaPointer(struct PlatformData *data, uint32_t *pointer); +int32_t Hi3516DmaRequestChannel(const struct PlatformData *data, const enum AudioStreamType streamType); +int32_t Hi3516DmaConfigChannel(const struct PlatformData *data, const enum AudioStreamType streamType); +int32_t Hi3516DmaPrep(const struct PlatformData *data, const enum AudioStreamType streamType); +int32_t Hi3516DmaSubmit(const struct PlatformData *data, const enum AudioStreamType streamType); +int32_t Hi3516DmaPending(struct PlatformData *data, const enum AudioStreamType streamType); +int32_t Hi3516DmaPause(struct PlatformData *data, const enum AudioStreamType streamType); +int32_t Hi3516DmaResume(const struct PlatformData *data, const enum AudioStreamType streamType); +int32_t Hi3516DmaPointer(struct PlatformData *data, const enum AudioStreamType streamType, uint32_t *pointer); ``` #### Platform注册绑定到HDF @@ -906,7 +933,7 @@ int32_t Hi3516DmaPointer(struct PlatformData *data, uint32_t *pointer); - moduleName与device_info.hcs中的moduleName匹配 - 实现Bind、Init、Release函数指针 -drivers/peripheral/audio/chipsets/hi3516dv300/soc/src/hi3516_dma_adapter.c +device/board/hisilicon/hispark_taurus/audio_drivers/soc/src/hi3516_dma_adapter.c ```c static int32_t Hi3516DmaDriverInit(struct HdfDeviceObject *device) @@ -946,12 +973,12 @@ HDF_INIT(g_platformDriverEntry); 配置过程可参考Codec驱动开发实例[HCS配置流程](#section4115)章节。 - - ### Dai驱动开发实例 -代码路径:drivers/peripheral/audio/chipsets/hi3516dv300/soc + +代码路径:device/board/hisilicon/hispark_taurus/audio_drivers/soc Dai驱动开发主要包含如下几个重要步骤: + 1. 定义填充一个具体的dai 2. 实现dai回调函数 3. 注册绑定到HDF框架 @@ -996,7 +1023,7 @@ int32_t DaiDeviceInit(struct AudioCard *audioCard, const struct DaiDevice *dai) data->regVirtualAddr = (uintptr_t)g_regCodecBase; DaiSetConfigInfo(data); AudioAddControls(audioCard, data->controls, data->numControls); - I2c6PinInit(); + I2c6PinInit(); ... data->daiInitFlag = true; return HDF_SUCCESS; @@ -1026,7 +1053,7 @@ int32_t DaiHwParams(const struct AudioCard *card, const struct AudioPcmHwParams data->pcmInfo.streamType = param->streamType; data->regVirtualAddr = (uintptr_t)g_regDaiBase; ... - DaiParamsUpdate(device); + DaiParamsUpdate(device); data->regVirtualAddr = (uintptr_t)g_regCodecBase; return HDF_SUCCESS; } @@ -1070,7 +1097,7 @@ int32_t DaiStartup(const struct AudioCard *card, const struct DaiDevice *device) - moduleName与device_info.hcs中的moduleName匹配 - 实现Bind、Init、Release函数指针 -drivers/peripheral/audio/chipsets/hi3516dv300/soc/src/hi3516_dai_adapter.c +device/board/hisilicon/hispark_taurus/audio_drivers/soc/src/hi3516_dai_adapter.c ```c static int32_t DaiDriverBind(struct HdfDeviceObject *device) @@ -1122,98 +1149,93 @@ HDF_INIT(g_daiDriverEntry); 配置过程可参考Codec驱动开发实例[HCS配置流程](#section4115)章节。 - - ### Makefile中添加编译配置 添加新增文件到对应的Makefile中,将其编译链接到内核镜像。 -标准系统(linux):drivers/adapter/khdf/linux/model/audio/Makefile +标准系统(linux):device/board/hisilicon/hispark_taurus/audio_drivers/Makefile ```makefile -obj-$(CONFIG_DRIVERS_HDF_AUDIO_CODEC) += \ -$(KHDF_AUDIO_HI3516DV300_DIR)/../tfa9879/accessory/src/tfa9879_accessory_adapter.o \ -$(KHDF_AUDIO_HI3516DV300_DIR)/../tfa9879/accessory/src/tfa9879_accessory_impl.o \ -$(KHDF_AUDIO_HI3516DV300_DIR)/codec/src/hi3516_codec_adapter.o \ -$(KHDF_AUDIO_HI3516DV300_DIR)/codec/src/hi3516_codec_impl.o \ -$(KHDF_AUDIO_HI3516DV300_DIR)/codec/src/hi3516_codec_ops.o \ -$(KHDF_AUDIO_HI3516DV300_DIR)/dsp/src/dsp_adapter.o \ -$(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dai_adapter.o \ -$(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dai_ops.o \ -$(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_aiao_impl.o \ -$(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dma_ops.o \ -$(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dma_adapter.o \ -$(KHDF_AUDIO_HI3516DV300_DIR)/codec/src/hi3516_codec_adapter.o +obj-$(CONFIG_DRIVERS_HDF_AUDIO_HI3516CODEC) += \ + codec/tfa9879/src/tfa9879_codec_adapter.o \ + codec/tfa9879/src/tfa9879_codec_ops.o \ + codec/hi3516/src/hi3516_codec_adapter.o \ + codec/hi3516/src/hi3516_codec_impl.o \ + codec/hi3516/src/hi3516_codec_ops.o \ + dsp/src/dsp_adapter.o \ + dsp/src/dsp_ops.o \ + soc/src/hi3516_dai_adapter.o \ + soc/src/hi3516_dai_ops.o \ + soc/src/hi3516_aiao_impl.o \ + soc/src/hi3516_dma_ops.o \ + soc/src/hi3516_dma_adapter.o ``` 小型系统(liteOS):drivers/adapter/khdf/liteos/model/audio/Makefile ```makefile LOCAL_SRCS += \ -$(KHDF_AUDIO_HI3516DV300_DIR)/../tfa9879/accessory/src/tfa9879_accessory_adapter.c \ -$(KHDF_AUDIO_HI3516DV300_DIR)/../tfa9879/accessory/src/tfa9879_accessory_impl.c \ -$(KHDF_AUDIO_HI3516DV300_DIR)/codec/src/hi3516_codec_adapter.c \ -$(KHDF_AUDIO_HI3516DV300_DIR)/codec/src/hi3516_codec_impl.c \ -$(KHDF_AUDIO_HI3516DV300_DIR)/codec/src/hi3516_codec_ops.c \ -$(KHDF_AUDIO_HI3516DV300_DIR)/dsp/src/dsp_adapter.c \ -$(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dai_adapter.c \ -$(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dai_ops.c \ -$(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_aiao_impl.c \ -$(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dma_ops.c \ -$(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dma_adapter.c + $(KHDF_AUDIO_HI3516DV300_DIR)/codec/tfa9879/src/tfa9879_codec_adapter.c \ + $(KHDF_AUDIO_HI3516DV300_DIR)/codec/tfa9879/src/tfa9879_codec_ops.c \ + $(KHDF_AUDIO_HI3516DV300_DIR)/codec/hi3516/src/hi3516_codec_adapter.c \ + $(KHDF_AUDIO_HI3516DV300_DIR)/codec/hi3516/src/hi3516_codec_impl.c \ + $(KHDF_AUDIO_HI3516DV300_DIR)/codec/hi3516/src/hi3516_codec_ops.c \ + $(KHDF_AUDIO_HI3516DV300_DIR)/dsp/src/dsp_adapter.c \ + $(KHDF_AUDIO_HI3516DV300_DIR)/dsp/src/dsp_ops.c \ + $(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dai_adapter.c \ + $(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dai_ops.c \ + $(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_aiao_impl.c \ + $(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dma_ops.c \ + $(KHDF_AUDIO_HI3516DV300_DIR)/soc/src/hi3516_dma_adapter.c ``` - - ### 源码结构与目录 实现驱动接口头文件中的函数。以Hi3516为例,目录架构如下: -驱动实现示例代码路径:drivers\peripheral\audio\chipsets\ +驱动实现示例代码路径:device/board/hisilicon/hispark_taurus/audio_drivers/ -``` -├── hi3516dv300 -│   ├── codec +```shell +. +├── codec +│   ├── hi3516 │   │   ├── include │   │   │   ├── hi3516_codec_impl.h │   │   │   └── hi3516_codec_ops.h -│   │   ├── src -│   │   │   ├── hi3516_codec_adapter.c // codec驱动入口 -│   │   │   ├── hi3516_codec_impl.c // codec硬件相关操作实现 -│   │   │   └── hi3516_codec_ops.c // codec驱动函数接口实现 -│   │   └── test -│   │   └── unittest -│   ├── dsp -│   │   └── include -│   │   └── dsp_ops.h │   │   └── src -│   │   └── dsp_adapter.c // dsp驱动入口 -│   │   └── dsp_ops.c -│   └── soc +│   │   ├── hi3516_codec_adapter.c // codec驱动入口 +│   │   ├── hi3516_codec_impl.c // codec硬件相关操作实现 +│   │   └── hi3516_codec_ops.c // codec驱动函数接口实现 +│   └── tfa9879 │   ├── include -│   │   ├── hi3516_aiao_impl.h -│   │   ├── hi3516_dai_ops.h -│   │   └── hi3516_dma_ops.h -│   ├── src -│   │   ├── hi3516_aiao_impl.c -│   │   ├── hi3516_dai_adapter.c // dai驱动入口 -│   │   ├── hi3516_dai_ops.c -│   │   ├── hi3516_dma_adapter.c // dma驱动入口 -│   │   └── hi3516_dma_ops.c -│   └── test -│   └── unittest -└── tfa9879 -    └── accessory -    ├── include -    │   └── tfa9879_accessory_impl.h -    └── src -    ├── tfa9879_accessory_adapter.c // accessory驱动入口 -    └── tfa9879_accessory_impl.c +│   │   └── tfa9879_codec_ops.h +│   └── src +│   ├── tfa9879_codec_adapter.c +│   └── tfa9879_codec_ops.c +├── dsp +│   ├── include +│   │   └── dsp_ops.h +│   └── src +│   ├── dsp_adapter.c // dsp驱动入口 +│   └── dsp_ops.c +├── LICENSE +├── Makefile +└── soc +    ├── include +    │   ├── hi3516_aiao_impl.h +    │   ├── hi3516_dai_ops.h +    │   └── hi3516_dma_ops.h +    └── src +    ├── hi3516_aiao_impl.c +    ├── hi3516_dai_adapter.c // dai驱动入口 +    ├── hi3516_dai_ops.c +    ├── hi3516_dma_adapter.c // dma驱动入口 +    └── hi3516_dma_ops.c ``` hcs文件与目录 -``` +```shell 标准系统: vendor/hisilicon/hispark_taurus_standard/ └── hdf_config @@ -1243,9 +1265,8 @@ vendor/hisilicon/hispark_taurus/ └── hdf.hcs ``` - - ## 使用HAL的开发步骤与实例 + HAL(Hardware Abstraction Layer)的核心功能说明如下: 1. 提供Audio HDI接口供北向音频服务调用,实现音频服务的基本功能。 @@ -1328,7 +1349,7 @@ static void *hal_main() /* 根据用户指定的声卡名称和端口描述进行匹配声卡及端口 */ enum AudioPortDirection port = PORT_OUT; // 端口类型为OUT,放音 struct AudioPort renderPort; - char * adapterNameCase = "usb"; + char * adapterNameCase = "primary"; int32_t index = SwitchAdapter(descs, adapterNameCase, port, &renderPort, size); /* 根据匹配到的声卡信息进行加载声卡 */ @@ -1361,7 +1382,7 @@ static void *hal_main() } ``` - + ## 总结 diff --git "a/zh-cn/device-dev/driver/figures/ADM\345\220\257\345\212\250\346\265\201\347\250\213\345\233\276.png" "b/zh-cn/device-dev/driver/figures/ADM\345\220\257\345\212\250\346\265\201\347\250\213\345\233\276.png" index 1f84fdc77743b6b6861176db1ecf4affc8203661..28459342b0e357ba201a40e5c7436989fd68893a 100644 GIT binary patch literal 32701 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
njb-hzt7Q z6B}!#k^Eon@{=(s)c;_Y|L~ueK2C7p4y2gqD&u{K?y-CyfCf`9Y+Jy$Y&?`|jyy1r z+D1lr&c7Im1GO4|Qb<32M`k)C1+4tON#cK>U@(thApdIm9!_v5ST19~r{glUp5 zDLHUYM#hyw(hWL-$<<)3vO9;dcQ=PRuwlW@{+Gna8FRV`J zBQXYVa#z!J!xAWxRF+d~DLE|Ou~4aO{2|_n?|Il@JB(b?V4G(*(9`^Vq4ut-8%tLw zYzo^*uD;tZ>KJp{R98HuLV=T;H{-NX)=kcI4R=e8Ss^hP(72haEOgiiE6Y<1Lb}N; z?YQi{=W#WdNoKJ)$Pau;nAG05?KJOX&p6S3%Bg_NBQ_E>fz3f-5#1dTKFdM#ym)O} z4|rocq`O38!dwB<6^|>WYK_N-|2-cAGr)LES)N&&R+k${$0*hC#hh%(H=7cZo0V4J zy_tjt?i6U%9629jbJXgT@S@VkcS___0%+jV0}7ekFop7(Gj_Do3IWrqAnHI@`Oe9N zQuG(|w;>)A+`PLKeVx3UfWo54soB5P*7IR;zYK|;BI`DM4LrU!ux^UEQXxD+nK{j6 zrBR`E26Q+I^{W86XF<)nQUGohFOl#eRUfE2jpBJ*?JtpPy=!yX#;7Tq;4 z2M$P1J_Yu%9_=GA`Ta16^gJQd(s~5wbUky>zZ)dZ=v-kM%mt!{S`2bN4^CxuwCj!0uv%y6p2_c1Lc?tVw6lUfTu=(?xyphW74<{I0o>vvNOd>##)WW$tU!s)$5$DD;0Zcw~QYu^B|7L#=(X3j5ke@I+jes@- zjr-uWfy-Jc=h4oFqEdrLjuX{Xzn?Xk2it+L>X-7$+Si^I291k`K=Pq$aP&anjkD86 zG^^YN+Qp+%GN-)0Y%f#|h<3!7 zJQMZ9&jMFUjLfnVq0+2qvG)OY;^=C^-wwA20N2!7-eoRodpi#5Vvv^QOzNW)jA#m2 z6sDR0cHR-{xRQgE>3Mg>zGs0MwT&;8&^YOI|fxe%hT(tRer{e9& zRWaafUCNF0|C+Q?@~0xLJt{@J6tEwwMoS$0$8;*vWRnnmoNvg9ni5bMQRn`=$#!qhwj_{efnW) zEEYj1V0<2xWFNpAcsMIJ+*P2z5$DX3u?(eJ|NQe~O_6hLjY+tb1 znAk#^a6&eRF1s(c;e}SQVoKQ$OZPdVXx1~9CeY1BLyCEqZu*mUL6sJ}KvT9tgSX2Z zhI>HSgZ;RYZ?visqSFz0aWN?8SM$}NqZWV@kKu<(9n=HHlhDb}(_r#z7=}p6VYRlC1v8^f8epj>ZE5atg^;Nfs#6Uou1Mu9x4`(v- z#0e?46H{@3x(Cp3{^K(oeubP&Ze{>GCL5qu|MfNLKJS_Ve9b)N8vPFjM$5_>_WaVv zj1R!Kv=yA`o^x?)bmDVL;b|_NfzWfY{g`_>uv31Mu$3QKf(E z#w#S$2l&vqVl1sxhD&=}YJmB;Uf#45aA!4>b|ZFW@0RP%JK$3u8rD)M)&k~RS{Z8i z#A&G0aiAbhj^RTOXG(B14-Sdh`=Kg#n^U<3yvT1cS zE1|~(Ee(G5&Snq!XM-Ve%i4$kG{~Pj`hIBFH3V}!6kl-<|6#7}`w?GO4|Q`l2HJ1G z=_zwPTYUN|ydfGi=}fv^#LStG1oH%hHLLr5idr|T{@0)1b+` zeB^KCKmFw--Z54G$YeFBvK4hh!7Q*PPT~Wk2_H*l_Zn8)Kse8xYBo>n8U z9ikuO!5%#T8n$Id>;=Y}&thvn$*4ev(>CLidHUl67QO*)`>rWHQ3URXUlV|VqvX8o zVBDsA6$(N;d!i>i!vA4C4XVGkPbu{sGjCG+VgmlhNdBT(XF1Ds7G#i*FU>t(4}#Zz zr$#V^%}4Hajc5fXJ4X))9OCD{b(5b(!0%4Vdd{nlJlkr-b}&d$U9QRjxs~31A;&?7 zWJDZtzj(8C$MLcxsp;7I^McMSP?=X{inQ{E#!8kg*}VDey)fwAm8#2vaVpxwGH6&0 z1u3^KUL@yJ?eXgw?lVjP&CpFFO4?viO2+*XCr_KeFYSuiwb6}b^q%Ug*sL>?DKmXg zse@@G=s;ObBm*cTfYx8ggusd8_0lYUuRcT_pz??43V9O2_@O9$c&D|=83J%b&OK7c zC{~@x95Z=!m*P3y)`kx7E5J6lUX2Ky(DrdeRr+B9Cb}k;ZoYtP5 zHeHY|?^FM}RK0@9%CSrNavON?p)!@6ocI$NHzSZy89AX;`5_PJAsuHM2k^L{Ei$+ZM&r z{8R!NM5JM`h$*OM8i?Y^P9?$AdavnTfR#Vf=YE=8uY$K@2RdN-P)G^+3sPczBpMMw zsX|y;Rrx9p>KQvN0m0w2I|G}sZ@ zY=11qx^$@Xvlixgxtv{sb+>YHm8vlFx%2p0XGuQuwlg5PR}p1tJn)uP(Go^078_N>ckTq-jP*QUv%fuwR&3XFt&T2)png*TofmM0 z-jM)RqxXtM$LG(VvmG)tK&dfeZJxG3XDe!gfH-~z(CnUaU4B$OcaNmF4ja*9q$FPf zRk)-V_JeC{z%d^nj}D>C)%oL}WY<$bso`%)s)fO#*1*UHq1+ zzY^g#<_55q*b$}&O@jT6bTqFX@vS^X(lp6LBuc z0>@&ClIefhg&sSjK=h+uC{Yc5T1*|yxgZZ#N>&j!6wqy2Je>LSd#$HnfM{k@<97zY zH_>@uArEP}-b2dMZN%LAI0xdYmCATr*HQVyE=2<6kX9ud~Chnny7Go5$L;6 zYw9*4Q>pUwI?Ke_1V&#*29Ms)-q?4{gvB3i>^ns`$BF@dYf4^vmYDub5eZtVdi+B_ zqX138D)$hf(`O28J*UzceN9XD)Fv4xG%o^v&gRxNx_OC~fs|?m2H)oD*=We2Z#HLa zO;1C|S^qg!hhL@k^_95kPho^WtasVChwIkdc&EDYTQ+K-I3A^c!t@|& z54nx=-+S^_i};^Y#yxvMce_u$N&DOS6x9p!fh(A)Ay3RMYgC71c@p-BW1?>>Q7k(Z zMkD$-CM9%9fTARsc2cC=R(R@O&I?5tFxbiocIqI0v+rzfSxQejh*EfJk~@pA>Jw44`CPmbBWSiHTmMC&tej<&Gm49oe$0OiR~K&|BD`c!@w=MZx>n5`3o=#jOei9XtJ(7?1Ebp zWvM0dDfd*njW0dN$mmgGTjt?Z_tk*`%c0RbReLP@ES)nSvG2WH?kr+$GQ_RX`;oVd z^JG2TKx0xxOz)vjdFpWYyyk3Q#hw2N({ekSpuG@mtoa_H92|Y-S%dnehb|Y)jVv*@ z;;GA43_|xcS6@GSwnCZ9FgOc1sC?QGU6L4qo4AZVpK&!GrUAl{Idg%Ny*nn9DS0-a zz}gH%3078C6F1LuO2pT{xShGTBhz}{s^F2f2#)c~#_e`tS0l0FI0o-#4L=rYm5{E; zz6;nC$5h640|c+N%)2P7fp&aK7OBl@9+%!H})y{f-&^XBgS_!Pa4CG zN8WHql*rZ2fclPW6tR~?z?L7CiW{~YxU_QNp42f?{v#a4`vFvRhA^dgk;nU5D&&I6 z(XOW~-SBVn#x4odP|!*acM|K7xz78+Lw81nx#-uCDr$P!P{xc>r2t? z13u0&GJS{atRlo}>)X#HPM@rr9g<6RO7I-mOlPiZ9^%~ zB-KlW(E8Y5+seN;NVVfI1_`2s9CTMs>8Y+$W7Yo%hZuFQ2wMcu`&0MZ#D)OQo0$!; z0@PN+d8wH9vF=ZjOo2zwPdPkm|M#|XA-Ku%wU?ypv+dZm_U^Sts9@=|EC)4o;P>l%@)mos*pcNV z3{kOP%zNzlOC!|ygBv}a-fMwk*yfn4O^uv`X>LPN8Ddy#t{kb#Td~VFw8%1U&V-qA zNHGTF^$IN`w!Zl$fcg*!)AgF_QyD#av^=X;W48>VGle*p`C!CjVL1+V^4raXl<|TV zc(*s)Aq9~mSxKlSfU6DVJZ8p?FHYD=-eP)tF2a6Md03?3r{804rD~ykBgSES#n=OAj_+=*$5Ja_rDBS>3vRdb!|4;< zFXG}OH7S}k3@ggASyFi>LOZgNp~1DI7J}9(zV1o@vxi(be20wK1CDY92*PUhVbX-5RQttu_el`7A$erDx~-X zN92yg1xh0R{2ae)dU|jZj_JgZ-Ne;-E!VQR^B!8v$c+p!TXvCH(Wx6jL zlu@lC`*1+QT#pMkjNRaMg3o623h*GvAlejxU91wmndIN=izjPAq$yZ79jlU^*nO|os92rCzk!}BaKYtN;>5?h@pg$DcL63j z@jc`(JHmUa9v3uC&H=k|zA^e%qL~pr<>?s3MhLk^T8Y2;(S3HfX<`|aP_E!MkdtSA z`TVO%I)%K-URbA%q+Kb#P3Bf>`>%5`Y^*@~r+C`y)RH-`z1ApS}%{r#=UlEf46dhjh0Pz_UhM| z`#VA28@b1?eW;BY0m3C{LhTSU{*rl+Co4pM*=!*JLGjCO1s-BIX(R<(rXa1<528kLD z57Yv6pNWX3xgJa+EOfh~I%EladXRwuM2p)GVRJ=M=sa=Qm1sXpBuu*UAbd*{(6OPD zowJpdiHnvTfmM9GtohX>KHg*3N{z&Mjc!Y?RC|jr;8x7a-Uqq(xJZZmmERjZ#@&v? z2dsT>DQk`!X$+exCl!?_j8U?J!J3bHg>vLzk7R^Fz}mz$R#kpiiZ3AK`9) z*kn{_z|#;eHQNubhf)o|oh^8m^Z<%_4#zXTAdTjbZoXNAVh}5a7N|$SP}T|ri-og3 z&A^;(ydzTZfLG2-BRU;YFh$@$!m-vUs_E+hjN8Wf2G|svXXW%$;821nGhfZ@&q929 zk|cO+wwgIy$hCC-{AidR7V}`H#aGkslr$>5=xoNSE5M2^1J(EScq-SGF$6uAX{*CE$1D3$G{K1tnx0{y+<+mrWoI>qho4wIcw`drLT^-Ec zk8WgFRDYi=eHEcak?R=b)p*`f1r^Hxb4|;=9N~|j zmZ|dz+LV75_WbTK{zhup>s2O%fL!l;HaF+p>45riYYhX~RUFA}7Da5pcE%n=y9*)* zY#ykWax9BCzK~?0$YX>bsB#~zb`PM`)V$r5=@KdW!A+2!w)yEkI$A>>WBv9$*&=x= zT%#7w#(=>X8a)$#eGs5UgDRBb0rC-A=dBzx7DT^_r^Fqs@@m77h-*zxbIM*XPq<k6}?QQ)^(!%TDL^3`atb1?t_2h!VB{2QBzQj*Y zVO%aJxtGaiknu@%k7=YZwtJ^-V((3w0oEs&O>U#hJMeiz7g-8Cvx6G z>tO#by>-I_+9I!?ExFp_01;=`r|MxQo0@04*A`c37d@6?Gxwx0ey07_H5pZ5Be%fb z(;V@#=cdz3hntmvgEg(BApGK$Jzglb6e`0KxCpDWEidilQL%|b17ys!1^qkX}=-D;c4yd?vFS??s6e>9-1x(btv1aOWX@HDmPGcnmbOnlYsdh# zbnC$6Tk%Bm)uvZE0Nb_Hs{|b}aUDUXw5|8aH?U(v@ofW#)ET~`FVOA}&{}Q_l<+)0 zRr_w`t&}+kXSUngGd`|*K&I0F?I#wJ|cW_Idh>!OuAX=hnUc zm3iS@(B#;>pQ9LpKDPfKqX8HYT&~JJ7m}E$b`%PEP|E*ZNH54}tTc_}W%$^_Lb!iB32SY`{=# zGYn;zG4bhrw{9R@K_&l+Yr$GjLWx7`0HPK7EP5o3Zj}3oGqcJNV)W6oh1rkMSWxtr z9CxUKA7tbEHF$u0IJH$vP`WW}Qoizec(^IiqSc5XVn6JjG}|M=xhj!-=ITBoN{23N z(Q9ISMf|7O2!g0_I`*nqHKmKDL6%jsMyeX7Ub{baZ0vRV55?{dk%hrxqv$H9IJ{8u z?rb!KPXfE;=HfsW=OnNV1~I{|q&%?%qt2Jm-Ft;BSV70u6#x9{+~4fRPLX+g;W9p5 zd}PHc4TQVp&k$LkFISvvJIiSLq9qh_UYm>6%eZm1j=o|()wZeB;d_seJ_AQez zFNqHV^0kzS5;b_GpK6LYL!5_rSDsfkI}dkUr9XQ4(sa&qgEvDq<$?>GVJ_e2>#pgJ zR>5QN>b^4_oiw|Q)3>9Nv7ZiLm-6Z1@2 ziOcW#xyN4Yp18V~RiaCE;kB}A*sQa5t12N++z8O)cSc#$Uo2cF$S(Xr<{6*#{8mR_j?8D1j)O%kEG1#EYChjoDpzl;!)JZNLkNDiRgoP zAYrC z{|D7CIY!05rHOvv=l+CG#;BMTy~54grgwap|6%N{E3uN6OEIrfbzKxU!7EBd z7}fCks%oP?F{oy7vo!sOPp3(8oywB%b@?y-3`^zypuBl@<(GpF&BP#6Vz|_~V#6*{HuBW^)ji z&iX_T?0I$OOYGjPpw@_$mQ$gJnmw%Mb<0ez>z3YVs{m)mbR3f5bQc9>Yhz!oC`cQ3 z;$pLHdPr#b<(cW@$)R5NZO^`^b5{>@isWsrv>XxCC-$_Sv|VBmF9E% z$$|yZPh+CgXV`_9anoU#zOL84%Qw-9%sCvcybEf9rzR= z7xjmnA!d0ft{ca_x;lcu_75Jm|C(zmjIuSKb27{hlpQiREl_Uff8f4qI_{A?XjGUh zI`Yagz5%ft+ZFO50!cl8E>3#&2U~Z(ZiHBl8FHf5iEc&P+sD<>qFv&-uz3d*Q=l(L znvfAN>(W2y=f&ur^FfBUgpuYl5noql;>!O9HayukGBtA{Rfb}BnJJ<*E(+~3G@@sV zxFj3#0tHjk_}yG5Lkc zac}Z#`EAEKVy)H$DI1tn%i+ut-%i%(TVuho2ybNCH;HFf4z+wZVO`LLf{-gS$j`E6 zH%O{t=De}@$E4S2FwL_kGQ=mTYq5Yf>HqbW8`=ZJot*A|9{>2LLm~Cy;LqkzQ{Er_ zkM|=0m0^j}0$``z(XnT@OlyG1vz}USP}c0(nYq7toWNwNQ|<|?yeoh6b^cvkR00t& z!xP}rHNIr_&*oH=F}s8>=)74(W~&5KX@L;LusAu(7C$seB2HqR+wI3%m$KQqH-IeP zcWOx?)D7Doy-Pi742FdignHNHSJC=bx8=!&o$^{-kQ{Lg{SRjv`C+#lb`b4^n^5Mq zN(4WXLIuAVJUfn_NeiDW%qn?_yZhrs!hGaL!2=>&?l2c_eeQ<)bPtlRuC{A{!>~+Q zl3Dqb^?NIP?($sJr* z$Sc=lyYuS7!|GOliO(*$(@P;c2!T}AUuj8WDFHN0CiI8P$i;?P>0E;m-_QkVefZLl z3|*X8%Et^UYX1O_t~04>YerrMCj7!Im>UpG}$>kbTO4jeK&!1S1q0-#@3y# zRDXO8t&^JKb!<$TU5r(*a6dR`5rhLd*tsZ4m+FOc!e?31&?_d%G9!K+(0aHYtCN?* z7?CIQQ&au#CXDwdH?JYB^l%cs52{W7xP-CPGYX= zSbDS05_(C#vmm6r;=53g;sPg(%OK2L0ysul0(RF_TKiMLBxX9#qyijG*N6`XTB$JZT5<$dN#_Qq0fDJM4j+z-R5K&l z`uIpyk_75jZ52<3k2kc&mC`H>eQ)U5eLN=3V{(`H_Tz8LcOgUwZ5e5biIlsRuM~Dz zB3xI&G)rUG+p?bu0sd8Ykb4~Sn38Z|m<1Mw(8GXZi8cd5i{pYuNX1yqP|ZgaE~Be_ zc%l5sj=~@?pwyb`Ey2l8n+yGht(e`l%((>>k6rnca-|0-bS6**4I)&-CvuOEU~n9q zE7K)a`|MZ+T2YmEpI0#n^RWbm`8a`Ygr&tAGb^VhP1;00E?*2dUzwsubZ-S4{@yqo zDcwUGgI$ipcKRj-;7(yyeq<6=iIndH)Q~o*0XL%s+?hFmf)1~_>+q-S>;@^9i{og! zTT3n8A1mcvJigxK-H-VfW3cr8Nd$2km$=w-%XN12Y0eeI%N7ShlU;`hfK0{$n$WOZ z<@WBj@uL|-WKq|K8{R^b_J&YRydgvhNf!7;j}Orbs-{obe{DP{c^r2T+S2c&(4Bx* z7s$>IR>5yD(lqSGtr|;mGXzuwQv5bO-=GvL1Qi6JN^a6&kclzYfF`$x=vKX!8=U6C zQuXo#iM~_5kLJV@Nt?hcLU!SANY;lhfT3GLagb{uaqW(l4185*c|+PR4eakp2=eog za-DY!bn^e33s{N5v6OXXIwbZ#*OqXCgNU#bYqw1e_X6fN*&7auLus2!HiS`XGz&Q0 zgI4oNbL>yM7%E4)XH9y}bH5T>Km$%ZeqOJO+5}`n0HGaQ$Hu$lp3LJbOaGxD!Ft@3 z{S^1uk5Gi(7s*W)_U~=vJ}&4ka1>LK1>K)Z(L(r{rAO)P5|`d_glC{3@+t-s3kR%!y@dLC({@w^PnxIX9r=|a2o$}q$k!&0iYi#OaaQavXS)gbS zIVu>50#7$&Wkj;2yeeKwr7#+()PZ|q-8nIQK^!y$A^roy|Ne6jIDAeIijvWd6_Cb= zu^MW#0rVO9038T@1}xZsRA6)Viw|mcwrK@>Vp#o`C=(jJIcwjRvBmJJsgr|h&qih- zEXV_e8>c2qW}CCW%}hPDUwx-tfv6Dokgp`AiM2EgAetUEsbQrg2o8zSpGQ4@g76e` z5i2%j4OPZ}eP!gHgT3A=2?Xx0zVlB}E`SSCykFu)Nl zvUJlA;M(CglWJ|c+gf^X9rh(fI_>>F0Sj}2L1VRL`LMOl_T`zs)B9f7{r*fA!XG9xh$gAp~&tki8P&ay2;z3w@3Nkg{l9+E>W1ermc#A`W3$pbh10fI1GUZA^gwQSa8Qzc#%E#VLN4c z5$vL0%h=lmiG>E-z3K)0?FvC~kQf`As5(P?m5IM5rI^g}WfZUZIiBi9p;Sq-*5#K$ zN>;v#4Yn9ZgU+36%9E*ULrmDEcRw4Kg9ikE?p}+D`F=@#0mC6qj~g!$hyRhvSUaty zrKq2f9nx_Du^@{-_3CbN4QE%{Bu>rm8k{bs7Ha1^tYwV&aZ#Ok0gvQiK}51J6Zj}#;39ku=M zuFQOnV$!io7rlu1l6qL2P0upwlpL;n<%x)lJO={om**8@C*Jq0XR%)EdIMlIQOGGj z4!Z8Y{hWhp;RWiz$w{2(B~A>3(?q@k2~+ckFn!Fc6cy~e+Y?c$xpTWa&PLOYe%7H3 zkZ^g*#4T{B_YHm)d~b*6zHi6FOqV>Y@v3;>nP8ztvL9e&R>iAVjj7DVTus%3 z3gGF^B0L_tA$i&rPId0&;ST{3K~+|3SRCFEI6|(u)3!oostJvn=3NZe=>lId%}JVD zc6fxFUYO3AZTrI;IU@5EI(_K6Ad*?MD|4TfY*(~n1@>%}CFM%ekmhFe2Wr1jjb=Xf z4Ek{Xn#DhSp?%tSxdC+rG!7EKCJgyy^_`5?7Zc>4n-ic9rd8!*lZdAZOU}9wJ!o7M zG?^qKk*6!Z&~NksC$2$`kI36mc!F*7fXC(jI(?p5toc$I1Bwz0qNAVT2U*C?$7V*~ zlU3Ww&OwhOt^7-7wnPEqdR{63twNx1xJ5Yu6~Wq|0}f%0jY&*r8tb?ki_sZ7R$pjf zFEI}~-%m)Gtq7L$z9Vuvarfzcc^-QV83 zWEhC~ue)>}n(<3v8}>Xim>Jey`Ss0>m!uQXqzW18N$psHjWB+v^KRqj7HV)_^L*?n zGoovpp$a&YA+P(Tt7{o($bU^31NU>@SB#Fx+}=E)rEcT7oZbfkdyO=aPH=KJ2kD^D z$R9lgZ$t3ZZy?58%NjEzD$uhHB!b-44bN5bZ| zEAI~wHtx9Yr<18ms?OxdPJ{N|Y^6&f`eyuwCCb9)L?TF1HBwr~!23>Fad+wAt zf+qv#$9HDQ%M>b)Y;0f(F}tbWSWe_6ZZmvPT;iOIy%z6y!PfmwXgkjNEaXM$0xRz9|sUHJ5;Z$Q6l%O zpx*eK^Ui3AYfAZ%RNI2+tw9*x0?=N<)uHiGvZiBy*L7)dS5=du4~Pa*l@*GGQPS)( z@})AE_uQxB$x^t|anYHLFc2nbE!rR+n#}U!rY)cHZ>|Xq?A$NKY~32%j`vZaILD-h z04je0dTwM861Y(Y(?p!p9Uq769i6;&gfpj<<28?&=Amr~c?6SGGe<^vhOp~Sk| zKkZA+Ja)2`x0TNjoD~^StaoXJTJ9l_zW%GCW+zyO34wp*iw@>sOtuCGrR}!iWApvq zVeyy&JQM}v2@l3rK4!Y~t8&P~wmzTbN7Sz(;Aezektn=f`3cT$QwA%XIMv4;3&Q#; z-Ap4e{B7SC`5W~MLMKF9kW`ho(GPV9;MCj@b{6#p^2xzDN5k-Y+TdBZppN&~)<##$ zcR|GYb>YwSMX6{o=eaQbwu}yXJr|yPWICe;)CjaR0dzKggJLY;ycB2ftMW=sb9_El z7Uv&xIWv_8ccHJ(7m*g|zfabUMwKi?J>}#uItk7d;f0YmZ*V*!jQUQq;a%PfVWN@8 zm31@~HLro=Q&`oR+K>!{HXQLXLX|LQ3@|1&V<7H=d=66f!r~c_$dxYWeDs92Ah31u zrFl3HO1-BsEgj~wJioP0fmtDw`oK6*yh<8Bb>E z8ujTIsLq%*x9lGqx!Z|Dpe#c<7UU$s`K0Cp`t0aAHBT_Zs+=yeA`3I~y_)h}-=6$V z!+~}JMw?*y#_OGM2Cubpwh3+J+W}M-bbh80lDW9k267Xc2m0Q@ z=hGZnqGLS$h?)UN>%z-LmiXHCO^R}!K%3PPrpD}=g)G^CXmF8(2)rMxG-1PA2 z4l6%P$>YXMQ2b9Y>4_AkB^h<#As;I(NMFsJiAZ#2t+h38ldM-u!p^l5;`7eQ@ z=AtH6F||aBkpg$n_5?8pI7){y>>Fqch#z|*lgFZ*GtZ=b1PABrSSZQke!UB{gz#PUA}bFUodD}0_I|K_ z$Z@6Wg9#AWc*jZxDvcXvOb(A9n>Z1R^M9!~$U|p@x&77)RBw3`NTi0-aPTfDo4ch4 zXgm-%y#CuM%-|;KiEJYzE3%&s83EKBWKo;f9Q1Sl)v2=nxCD2tb<`Yi#PEo2%Av?I zy2L{{YqmX-e*NW4aOq*xGYbfAC-~}DXVLILl2q*n&oA5O18fT;i%&Z=N|}z5b(cVj zdT+y^B4yvY@!h~b>H@>s7W#TU%!j5#W3?POvcsvh605m^;oGp*HCZOf3?Bd~($^}>+fgRrw%1g=r$Y5WvOxopd`Ti%<57Sl(@INhe LJ!H1(1^@p8qYX|x diff --git "a/zh-cn/device-dev/driver/figures/Audio\346\241\206\346\236\266\345\233\276.png" "b/zh-cn/device-dev/driver/figures/Audio\346\241\206\346\236\266\345\233\276.png" index 248ea1854492ca3d2c02fb5a1be1fd5d4ef408a8..07c52760f028f252c3f1b7e35cd3e9b2ec4b479a 100644 GIT binary patch literal 56300 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

0T`rhlGYTwnpMik+RElamuT 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 literal 39224 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 -- GitLab