那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

I2C3掛載wm8960音頻芯片 | 飛凌干貨筆記

飛凌嵌入式 ? 2022-08-12 14:20 ? 次閱讀

飛凌嵌入式的OKMX8MM-C開發板預留了I2C3和SAI引腳接口,分別位于P18和P7插針引腳上,板載音頻芯片掛載到了I2C2和SAI2。今天小編為大家列舉并說明如何在I2C3掛載wm8960音頻芯片并通過SAI1連接傳輸音頻數據。

設備樹和設備樹頭文件路徑如下:

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、修改結果

1、打開設備樹修改sound節點,驅動從這里獲取設備信息。

(1)修改sound節點cpu-dai =<&sai2>,改為cpu-dai= <&sai1> 。

將wm8960掛載到sai1實現音頻數據流的收發,同理也可掛載到sai3,修改硬件連接即可。

(2)修改 hp-det-gpios= <&gpio4 22 0 >, 改為 hp-det-gpios= <&gpio4 22 1 >。

默認使用耳機輸出,使插拔檢測失效。

31a9a42af0bb4727a8770a21b6a79281~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=WIWa5bnfOWT6gyqXhOlrFCY5%2Bmo%3D

2、注釋I2C2下的wm8960節點,因為在設備樹中不能存在一模一樣的設備節點,所以要注釋掉原來的wm8960節點。

40bcbb2fffe4464098d9b8c14b566aef~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=LsP63K51eZquOTBFJJay0DtAelw%3D

在I2C3下添加wm8960節點,掛載到哪個I2C就把設備節點放到對應I2C下,修改clocks= <&clk IMX8MM_CLK_SAI1_ROOT>,在I2C3下有了設備節點,但是時鐘需要改成sai1的。

11753cbdf1fb47de89a96c1c367fb913~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=f2GcBMz2eCCWPnBYUGwh%2FaYVc3g%3D

3、修改pinctrl_sai1并注釋pinctrl_sai1_dsd,i.MX8MM的默認設備樹已經寫好了sai1的pinctrl。

b6e47da85e004b5193a9f1498716f20d~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=Wh%2BY4QYY7spxE2r1xED44vjtwm8%3D

4、修改SAI1節點,如下圖所示,復制SAI2節點替換SAI1,修改成SAI1的參數。

c7aa910806684afcba14e05bcf6d6c4e~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=RD6dJV5JfkA%2B1%2BDCky0Tniej3vI%3D

2、修改思路

我們在修改音頻芯片掛載路徑時的思路是這樣的:

1. 屏蔽默認的掛載路徑;

2. 將音頻設備的節點添加到要掛載的I2C和SAI下;

3. 修改pinctrl引腳復用;

4. 屏蔽默認wm8960的引腳配置。

本文介紹的wm8960掛載方式與板載默認音頻芯片屬于同一型號,如果需要掛載其他型號音頻芯片,則需要在sound節點指定驅動路徑。

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

設備樹sound節點:

1496434bf84f420d89b0345bf30cd2ab~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=0xBBzerLjrAiXoEPSZ8hYSAJ3J4%3D

imx-wm8960.c驅動文件的.compatible屬性:

404b58604a9341c69c33ae72041b8e29~noop.image?_iz=58558&from=article.pc_detail&x-expires=1660887844&x-signature=5p40Jtj2FKpZxNqq5A4%2Bqe0cWQs%3D

3、總結

設備樹sound節點下compatible屬性對應音頻驅動文件imx-wm8960.c里的.compatible,由此設備與驅動便有了聯系,驅動就可以在設備節點獲取關鍵字model,cpu-dai等信息。

當換成其他音頻芯片時,修改設備樹compatible屬性值即可修改音頻設備的配置也變得簡單起來,這也是Linux分離出設備樹的主要原因。

本文提供的方法是在屏蔽默認音頻設備的前提下進行的,想要實現雙路音頻輸出還需要在其他環節進行配置。以上就是在OKMX8MM-C開發板的I2C3掛載wm8960音頻芯片并通過SAI1連接傳輸音頻數據的操作過程,希望能夠對屏幕前的各位工程師小伙伴有所幫助。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9168

    瀏覽量

    369217
  • 嵌入式
    +關注

    關注

    5092

    文章

    19178

    瀏覽量

    307694
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210400
收藏 人收藏

    評論

    相關推薦

    音頻芯片是什么?常見的音頻芯片有哪些?

    什么是音頻芯片?我們每天都與聲音打交道,這些聲音有的來自于大自然,有的來自于電子設備。我們將人類耳朵所能感知的聲波及頻率,即在20赫茲至20千赫茲范圍內的聲波,包括噪音等,統稱為音頻。而音頻芯片
    的頭像 發表于 02-05 17:23 ?54次閱讀
    <b class='flag-5'>音頻芯片</b>是什么?常見的<b class='flag-5'>音頻芯片</b>有哪些?

    納祥科技光纖同軸接收NX8416,低成本高性能替代兼容CS8416 #芯片 #音頻芯片 #電子電工

    音頻芯片
    深圳市納祥科技有限公司
    發布于 :2025年01月18日 10:16:53

    TLV320AIC3106音頻芯片采樣數據或者DA轉換時能不能不需要CPU的參與?

    TLV320AIC3106音頻芯片采樣數據或者DA轉換時能不能不需要CPU的參與?比如cpu處理采樣回來的數據的同時 音頻芯片還可以一直在采樣數據。 公司給的例子如下: 按上面這樣做的話,DA轉換過程中cpu就做不了其他的事了
    發表于 01-16 06:36

    炬芯科技發布ATS323X系列端側AI音頻芯片

    剛過去不久,炬芯科技宣布全新一代基于模數混合SRAM存內計算(Mixed-mode SRAM based CIM,簡稱“MMSCIM”)技術的端側AI音頻芯片正式發布,緊接著,炬芯科技正式發布其中
    的頭像 發表于 12-12 14:58 ?348次閱讀

    詳解I2S時序

    01 整體概括 最近調試了一款音頻采集芯片wm8731,包含兩路音頻輸入(ADC)和一路音頻輸出(DAC),
    的頭像 發表于 11-26 17:16 ?1149次閱讀
    詳解<b class='flag-5'>I2</b>S時序

    TLV320AIC3106音頻芯片怎么發送、接收浮點數呢?

    TLV320AIC3106 音頻芯片怎么發送、接收浮點數呢?是把浮點數轉成整數嗎?如果是該怎么轉呢? 經AD采樣后得到的是整數,又該怎么轉換成原始的浮點數呢?
    發表于 11-05 07:13

    tlv320aic3007音頻芯片無法錄音是什么原因導致的?怎么解決?

    我采用的是tlv320aic3007音頻芯片,omap4460的處理器,現在已經調通了播放,音質也很好,但是在調試錄音的時候發現無法錄音,我想請教有么有關于錄音的寄存器配置,我參考一下,可以從LINE1L/LINE1R或者MIC3R/MIC
    發表于 11-04 07:14

    嵌入式ElfBoard EL 1板卡-i2c與從設備通訊編程示例之i2c-tools工具使用

    介紹i2c-tools是一個專門調試i2c接口的開源工具,可以獲取掛載的設備及設備地址,具有在對應的設備上讀取和設置寄存器值等功能。在ELF 1的資料包當中,已經放置了下載好的源碼,路徑為:ELF
    發表于 11-01 09:33

    嵌入式ElfBoard ELF 1板卡-i2c與從設備通訊編程示例之i2c-tools工具使用

    注意:學習資料可在ElfBoard官方網站“資料”專區獲取。介紹i2c-tools是一個專門調試i2c接口的開源工具,可以獲取掛載的設備及設備地址,具有在對應的設備上讀取和設置寄存器值等功能。在
    發表于 10-29 16:27

    如何使用TLV320AIC3268音頻芯片的miniDSP?

    小弟最近在研究如何使用TLV320AIC3268音頻芯片的miniDSP,不清楚如何編程以及下載到板子運行。我在TI上申請下載了PURE PATH STUDIO開發工具,但在
    發表于 10-25 07:26

    PA3113D2在系統啟動過程中會出現一個POP聲,請問是什么原因造成的?

    請教各位高手,我現在CODEC芯片用的是WOLFSON WM8960,OPA用的是TI PA3113D2,上電瞬間的POP聲已經解決,但是在系統啟動過程中(快啟動完成時)還會出現一個POP聲,請問是什么原因造成的?
    發表于 10-18 06:39

    stm32mp135 i2c3無法正常probe怎么解決?

    /board/stmicroelectronics/stm32mp1/linux-dts/stm32mp135f-dk-mx.dts)。 我一共使用了3i2c,i21,i2c3
    發表于 07-05 07:30

    Linux平臺移植音頻芯片實戰記錄

    本文詳細記錄在NXP I.MX6ULL+Linux平臺下進行WM8960音頻芯片移植的過程,其他平臺操作方法類似,希望為大家提供幫助。
    的頭像 發表于 05-17 14:28 ?1212次閱讀
    Linux平臺移植<b class='flag-5'>音頻芯片</b>實戰記錄

    淺析在NXP I.MX6ULL+Linux平臺下進行WM8960音頻芯片移植的過程

    本文詳細記錄在NXP I.MX6ULL+Linux平臺下進行WM8960音頻芯片移植的過程,其他平臺操作方法類似,希望為大家提供幫助。
    的頭像 發表于 05-17 11:33 ?1441次閱讀
    淺析在NXP <b class='flag-5'>I</b>.MX6ULL+Linux平臺下進行<b class='flag-5'>WM8960</b><b class='flag-5'>音頻芯片</b>移植的過程

    stm32f2系列芯片I2C1和I2C3,為什么I2C3總是顯示總線繁忙?

    使用I2C1和I2C3分別讀兩個傳感器,其中I2C1可以正常讀傳感器,但是I2C3總是顯示總線繁忙,請問這是什么原因?該怎么解決?
    發表于 04-11 06:32
    什么叫百家乐的玩法技巧和规则| 新全讯网网址g2vvv| 百家乐官网注册平台排名| 百家乐具体怎么收费的| 六合彩开奖| 百家乐真人游戏娱乐平台| 百家乐官网押注最多是多少| 澳门顶级赌场官网| 百家乐全自动分析软件| 百家乐官网桌子豪华| 现金轮盘游戏| 希尔顿百家乐娱乐城 | 带百家乐官网的时时彩平台 | 现场百家乐投注| 新濠峰百家乐官网的玩法技巧和规则 | 佳豪国际| 大发888娱乐城贴吧| 百家乐棋牌作弊器| 十三张百家乐官网的玩法技巧和规则 | 大发88846| 米其林百家乐的玩法技巧和规则| 百家乐节目视频| 网上百家乐官网是真的| 凯旋门百家乐官网游戏| 六盘水市| 网上真钱棋牌游戏| 太阳城申博娱乐| 宝龙百家乐的玩法技巧和规则 | 赌场百家乐实战| 赌百家乐官网波音备用网| 千亿国际娱乐城| 太阳神网上娱乐| 皇宝国际| 大发888娱乐城攻略| 全讯网下载| 百家乐第三张规则| 免费百家乐追号| 凯斯网百家乐的玩法技巧和规则 | 百家乐真人赌场娱乐网规则| 百家乐娱乐网址| 木星百家乐的玩法技巧和规则|