一、概述
本文章基於 i.MX8QXP Android Automotive12。demo 默認自帶 cs42888 和 wm8960 作為系統默認聲卡。本文介紹如何配置新聲卡,替代原聲卡。
二、解決方法
2.1 新增聲卡配置文件
增加配置文件,路徑 device/nxp/common/audio-json/an0322_config.json,配置如下:
{
"driver_name": "imx-an0322",
"bus_name": "bus0_media_out",
"supported_out_devices": ["speaker", "bus"],
"supported_in_devices": ["builtin_mic"],
"support_multi_chn": 1,
"in_period_size": 768,
"in_period_count": 8,
"out_period_size": 768,
"out_volume_ctl": [
"DAC1 Playback Volume"
]
}
2.2 修改系統打包資源配置
替換 cs42888 的配置,修改 Android Makefile 配置,文件device/nxp/imx8q/mek_8q/mek_8q.mk,配置如下:
diff --git a/imx8q/mek_8q/mek_8q.mk b/imx8q/mek_8q/mek_8q.mk
index 8f8d8b33..b2687e4a 100644
--- a/imx8q/mek_8q/mek_8q.mk
+++ b/imx8q/mek_8q/mek_8q.mk
@@ -321,10 +321,10 @@ PRODUCT_COPY_FILES += \
ifeq ($(PRODUCT_IMX_CAR),true)
PRODUCT_COPY_FILES += \
- $(CONFIG_REPO_PATH)/common/audio-json/cs42888_car_config.json:$(TARGET_COPY_OUT_VENDOR)/etc/configs/audio/cs42888_config.json
+ $(CONFIG_REPO_PATH)/common/audio-json/an0322_config.json:$(TARGET_COPY_OUT_VENDOR)/etc/configs/audio/an0322_config.json
else
PRODUCT_COPY_FILES += \
- $(CONFIG_REPO_PATH)/common/audio-json/cs42888_config.json:$(TARGET_COPY_OUT_VENDOR)/etc/configs/audio/cs42888_config.json
+ $(CONFIG_REPO_PATH)/common/audio-json/an0322_config.json:$(TARGET_COPY_OUT_VENDOR)/etc/configs/audio/an0322_config.json
endif
ifeq ($(PRODUCT_IMX_CAR),true)
至此,完成代碼的修改,Android 上層能識別到該聲卡!
參考文獻
《Android_User's_Guide.pdf》
《Android_Quick_Start_Guide.pdf》
評論