目前国内的嵌入式市场会有很强的国产化替代浪潮,一些外设的内容都会慢慢的替换为国产芯片。本系列会进行国产化外设芯片移植的各个过程出现的问题、一些异常问题定位以及解决方案的提出,用于大家讨论,共同进步。
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寄存器,根据自己的业务需要去修改寄存器值即可。
如果有细节或者文件的获取,可以添加以下公众号,留下您的问题: