立即注册
查看: 2401|回复: 13

[展讯开发资料] 展讯平台Audio Smart PA Porting客制化指导手册

已绑定手机
发表于 2021-7-13 17:56:02 | 显示全部楼层 |阅读模式 来自 广东省深圳市南山区
1、第三方驱动移植
本章描述了移植第三方驱动的方法。一旦移植成功后,第三方驱动在开机时会probe成功,这是整个移植工作的第一步。
1.1 在dts中添加IIC节点配置
实现在dts中添加IIC节点配置,需要修改dts文件。文件路径:/arch/arm64/boot/dts/sprd/<platform name>-<board name>-xxxx.dts。下面是以UMS312-1h10.dts文件为例,指导如何设置 Smart PA的IIC寻址地址及GPIO reset等信息。
&i2c4 {
status = "okay";
thirdparty_smartpa:txx98xx@34 {
compatible = "nxx,txx98xx";
#sound-dai-cells = <1>;
reg = <0x34>;
reset-gpio= <&ap_gpio 92 0>;
irq-gpio= <&ap_gpio 93 0>;
};
};
注意:
thirdparty_smartpa:txx98xx@34中的 thirdparty_smartpa是此驱动节点的标号,后文中的dai link会用到。为了方便porting,建议任何第三方的Smart PA节点标号都命名为thirdparty_smartpa。
txx98xx@34中的0x34是IIC的IIC slave address,硬件布线不同会影响这个值,具体值可参见芯片spec或FAE帮助。reg属性也对应地写上0x34。
“#sound-dai-cells=<1>;”是表示此driver的声卡组成是有两个元素,一般都写1,如果填错会导致声卡解析失败(当驱动的dai只有一个时,可以填0,也可以填1)。
reset GPIO是92,irq GPIO是93按照实际硬件原理图填写。

1.2 驱动代码修改
前面在dts中添加的节点,需要在NXX的驱动代码中添加或更新解析代码。dts中添加的节点内容格式不同,驱动在解析dts时选择的api会有所不同。前面添加的dts可用下面的代码解析。代码所在的文件为txx98xx.c,其路径:sound/soc/codecs/txx98xx/txx98xx.c。
static int txx98xx_parse_dt(struct device *dev, struct txx98xx *txx98xx,
struct device_node *np) {
txx98xx->reset_gpio = of_get_named_gpio(np, "reset-gpio", 0);
if (txx98xx->reset_gpio < 0)
dev_dbg(dev, "No reset GPIO provided, will not HW reset device\n");
txx98xx->irq_gpio = of_get_named_gpio(np, "irq-gpio", 0);
if (txx98xx->irq_gpio < 0)
dev_dbg(dev, "No IRQ GPIO provided.\n");
return 0;
}

1.3 Kconfig/Makefile配置
在sound/soc/codecs目录下新建文件夹txx98xx,将NXX的驱动代码拷贝到txx98xx中。假设第三方驱动中使用的宏是CONFIG_SND_SOC_TXX98XX,那么Kconfig和Makefile需如下方式进行配置。
步骤1 修改文件Kconfig(sound/soc/codecs/Kconfig)
+config SND_SOC_TXX98XX
+ tristate "NXX TXX98xx driver"
+ depends on I2C
步骤2 修改文件Makefile(sound/soc/codecs/Makefile)
+obj-$(CONFIG_SND_SOC_TXX98XX)+=txx98xx/
步骤3 修改Kconfig和Makefile文件后,在项目的根目录下执行:
source build/envsetup.sh
lunch your_project_name
kuconfig
步骤4 执行操作后,打开文件sprd_sharkl5_defconfig(arch/arm64/configs/sprd_sharkl5_defconfig),检查是否有如下代码,有就表明宏CONFIG_SND_SOC_TXX98XX被打开。
+CONFIG_SND_SOC_TXX98XX=y

更多内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复
已绑定手机
发表于 2021-7-13 22:13:22 | 显示全部楼层 来自 湖南省长沙市
谢谢分享!
已绑定手机
发表于 2021-8-24 11:37:02 | 显示全部楼层 来自 台湾省
多谢分享
已绑定手机
发表于 2021-9-1 14:37:00 | 显示全部楼层 来自 上海市
谢谢分享
已绑定手机
发表于 2021-9-16 15:12:29 | 显示全部楼层 来自 上海市浦东新区
谢谢你的分享
已绑定手机
发表于 2021-9-23 12:44:13 | 显示全部楼层 来自 亚太地区
有意思。。。
已绑定手机
发表于 2021-11-1 14:38:36 | 显示全部楼层 来自 天津市
是我想看的,十分感谢了
已绑定手机
发表于 2021-11-16 09:43:46 | 显示全部楼层 来自 广东省深圳市
想了解一下pa配置
已绑定手机
发表于 2022-3-7 18:31:27 | 显示全部楼层 来自 天津市
感谢分享
已绑定手机
发表于 2023-2-9 18:09:30 | 显示全部楼层 来自 广东省深圳市

是我想看的,十分感谢了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表