加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 1、修改結(jié)果 
    • 2、修改思路
    • 3、總結(jié)
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

I2C3掛載wm8960音頻芯片竟如此簡(jiǎn)單

2022/08/13
1108
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

飛凌嵌入式的OKMX8MM-C開發(fā)板預(yù)留了I2C3和SAI引腳接口,分別位于P18和P7插針引腳上,板載音頻芯片掛載到了I2C2和SAI2。

今天小編為大家列舉并說明如何在I2C3掛載wm8960音頻芯片并通過SAI1連接傳輸音頻數(shù)據(jù)。

設(shè)備樹和設(shè)備樹頭文件路徑如下:

OK8MM-linux-sdk/OK8MM-linux-kernel/arch/arm64/boot/dts/freescale/ok8mm-evk.dts

OK8MM-linux-sdk/OK8MM-linux-kernel/arch/arm64/boot/dts/freescale/fsl-imx8mm.dtsi

1、修改結(jié)果 

1、打開設(shè)備樹修改sound節(jié)點(diǎn),驅(qū)動(dòng)從這里獲取設(shè)備信息。

修改sound節(jié)點(diǎn)cpu-dai =<&sai2>,改為cpu-dai= <&sai1>。將wm8960掛載到sai1實(shí)現(xiàn)音頻數(shù)據(jù)流的收發(fā),同理也可掛載到sai3,修改硬件連接即可。

修改hp-det-gpios= <&gpio4 22 0 >,改為hp-det-gpios= <&gpio4 22 1 >。默認(rèn)使用耳機(jī)輸出,使插拔檢測(cè)失效。

 

2、注釋I2C2下的wm8960節(jié)點(diǎn),因?yàn)樵谠O(shè)備樹中不能存在一模一樣的設(shè)備節(jié)點(diǎn),所以要注釋掉原來的wm8960節(jié)點(diǎn)。

 

在I2C3下添加wm8960節(jié)點(diǎn),掛載到哪個(gè)I2C就把設(shè)備節(jié)點(diǎn)放到對(duì)應(yīng)I2C下,修改clocks= <&clk IMX8MM_CLK_SAI1_ROOT>,在I2C3下有了設(shè)備節(jié)點(diǎn),但是時(shí)鐘需要改成sai1的。

 

3、修改pinctrl_sai1并注釋pinctrl_sai1_dsd,i.MX8MM的默認(rèn)設(shè)備樹已經(jīng)寫好了sai1的pinctrl。

 

4、修改SAI1節(jié)點(diǎn),如下圖所示,復(fù)制SAI2節(jié)點(diǎn)替換SAI1,修改成SAI1的參數(shù)。

2、修改思路

我們?cè)谛薷囊纛l芯片掛載路徑時(shí)的思路是這樣的:

1. 屏蔽默認(rèn)的掛載路徑;

2. 將音頻設(shè)備的節(jié)點(diǎn)添加到要掛載的I2C和SAI下;

3. 修改pinctrl引腳復(fù)用;

4. 屏蔽默認(rèn)wm8960的引腳配置。

本文介紹的wm8960掛載方式與板載默認(rèn)音頻芯片屬于同一型號(hào),如果需要掛載其他型號(hào)音頻芯片,則需要在sound節(jié)點(diǎn)指定驅(qū)動(dòng)路徑。

cpu-dai表示要使用的SAI通道,默認(rèn)為SAI2本文使用SAI1就修改成SAI1即可;audio-codec屬性就是I2C3下的wm8960節(jié)點(diǎn)。

設(shè)備樹sound節(jié)點(diǎn):

 

imx-wm8960.c驅(qū)動(dòng)文件的.compatible屬性:

3、總結(jié)

設(shè)備樹sound節(jié)點(diǎn)下compatible屬性對(duì)應(yīng)音頻驅(qū)動(dòng)文件imx-wm8960.c里的.compatible,由此設(shè)備與驅(qū)動(dòng)便有了聯(lián)系,驅(qū)動(dòng)就可以在設(shè)備節(jié)點(diǎn)獲取關(guān)鍵字model,cpu-dai等信息。

當(dāng)換成其他音頻芯片時(shí),修改設(shè)備樹compatible屬性值即可修改音頻設(shè)備的配置也變得簡(jiǎn)單起來,這也是Linux分離出設(shè)備樹的主要原因。

本文提供的方法是在屏蔽默認(rèn)音頻設(shè)備的前提下進(jìn)行的,想要實(shí)現(xiàn)雙路音頻輸出還需要在其他環(huán)節(jié)進(jìn)行配置。以上就是在OKMX8MM-C開發(fā)板的I2C3掛載wm8960音頻芯片并通過SAI1連接傳輸音頻數(shù)據(jù)的操作過程,希望能夠?qū)ζ聊磺暗母魑?a class="article-link" target="_blank" href="/tag/%E5%B7%A5%E7%A8%8B%E5%B8%88/">工程師小伙伴有所幫助。

作者:蘇楠楠

飛凌嵌入式

飛凌嵌入式

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國(guó)內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國(guó)家和地區(qū)擁有國(guó)際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺(tái)廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測(cè)等諸多領(lǐng)域。

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國(guó)內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國(guó)家和地區(qū)擁有國(guó)際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺(tái)廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測(cè)等諸多領(lǐng)域。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

秉承專業(yè)態(tài)度,專注智能設(shè)備核心平臺(tái)研發(fā)與制造,以技術(shù)研發(fā)創(chuàng)新為主導(dǎo),以客戶實(shí)用化,產(chǎn)品化為目標(biāo),把握嵌入式行業(yè)的前沿發(fā)展需求,利用核心技術(shù)為客戶提供穩(wěn)定、可靠、功能優(yōu)異的高品質(zhì)產(chǎn)品。合作聯(lián)系:17713286011