imx6ull 移植国产语音芯片CJC8988-intkin

     目前国内的嵌入式市场会有很强的国产化替代浪潮,一些外设的内容都会慢慢的替换为国产芯片。本系列会进行国产化外设芯片移植的各个过程出现的问题、一些异常问题定位以及解决方案的提出,用于大家讨论,共同进步。

1.硬件设计

   如有定制需求,请搜索 intkin科技。

CJC的原产资料厂家可以查看以下链接去自行获取

光华芯科技有限公司

CJC8988可以pin to pin替换WM8988,可以在一些需国产化场合直接替换。

下图是官方的参考原理图,可以作为硬件设计工程师的参考。

在intkin-imx6ull 板卡中,我们是使用的SAI2音频接口。

2.linux 驱动移植修改

下面分析下具体的linux移植内容:

1.目前我们基于Linux4.1.15版本进行SAI2的移植,其他的linux版本也是同样的操作内容。

由于从NXP官网拉取的linux4.1.15版本的BSP包是使用的wm8960,也是直接使用的SAI2接口,如果不用更改的话,可以直接增加设备树修改如下:

按照simple-audio-card即可,不需要使用到

然后具体的可以直接使用sound/soc/codecs/wm8988.c 该文件直接作为CJC8988的simple-audio-card的驱动也是可以的,原厂可以获取到CJC8988.C的驱动文件,通过比对两个文件可以直接互相替代使用。

然后剩下的在内核的wm8988_init_regs 函数中,也在该文件中启用一些初始化的CJC8988配置,一版来说启动的linux日志就可以挂载成功了。

然后采用Intkin-imx6ull 提供的文件系统包,通过MFGTOOL烧录,这样启动的时候会自带I2C-set/get工具来读取相应的CJC8988寄存器,根据自己的业务需要去修改寄存器值即可。

如果有细节或者文件的获取,可以添加以下公众号,留下您的问题:

    

在i.MX6ULL平台上移植RTL8733 WiFi芯片驱动,需要参考Linux内核的驱动支持情况以及Realtek官方提供的驱动源码。虽然RTL8733并不是在所有内核版本中都默认支持,但可以通过以下步骤进行驱动的移植和适配。 ### 驱动移植步骤 1. **获取驱动源码** Realtek官方提供了多种WiFi芯片的驱动源码,通常以开源或二进制形式提供。对于RTL8733系列芯片,可以从Realtek官网或GitHub等开源平台上查找相关驱动。例如,`rtl8723bu`和`rtl8723ds`驱动常用于嵌入式平台。可以尝试使用这些驱动作为基础进行移植。 2. **配置内核支持** 在Linux内核源码中,驱动通常位于`drivers/net/wireless/realtek`目录下。将RTL8733的驱动源码(如`rtl8723ds`)复制到该目录,并修改`Kconfig`文件,添加对应的配置选项,以便在`make menuconfig`中启用该驱动。 3. **修改Makefile** 在驱动目录下,确保`Makefile`中包含了新加入的驱动模块。例如: ```makefile obj-$(CONFIG_RTL8723DS) += rtl8723ds/ ``` 4. **编译并加载驱动** 使用`make menuconfig`启用RTL8733驱动选项后,重新编译内核或模块。将生成的模块文件(如`rtl8723ds.ko`)拷贝到目标设备,并使用`insmod`命令加载驱动: ```bash insmod rtl8723ds.ko ``` 5. **检查驱动加载日志** 使用`dmesg`命令查看驱动加载情况,确认是否有错误或警告信息。例如: ```bash dmesg | grep -i rtl8723 ``` 6. **处理设备树配置** 对于i.MX6ULL平台,可能需要在设备树中配置USB接口或SDIO接口(取决于RTL8733的连接方式)。例如,如果使用SDIO接口,需要在设备树中启用对应的SDIO控制器并配置引脚复用。 7. **测试网络连接** 驱动加载成功后,使用`ifconfig`或`ip link`查看无线网卡是否识别成功,并尝试连接WiFi网络: ```bash ip link set wlan0 up iw dev wlan0 scan ``` ### 常见问题与解决方法 - **驱动加载失败** 检查内核版本是否兼容驱动源码。某些驱动可能依赖特定的API版本,需要根据当前内核进行调整。 - **无线网卡未识别** 确保USB或SDIO接口配置正确,并使用`lsusb`或`mmc info`命令确认硬件连接正常。 - **WiFi连接失败** 检查驱动是否支持目标WiFi协议(如WPA2、WEP等),并使用`wpa_supplicant`进行连接测试。 - **网卡被重命名** Linux系统可能会将无线网卡重命名为`enx*`格式,可以通过修改`udev`规则固定网卡名称。 ### 示例:加载RTL8723DS驱动 ```bash # 加载模块 insmod rtl8723ds.ko # 查看日志 dmesg | grep -i rtl8723 # 启用无线网卡 ip link set wlan0 up # 扫描可用网络 iw dev wlan0 scan ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值