基于飞凌imx6q的高版本uboot和内核移植(四、wm8960移植) 6.6.52的内核设备树默认开的wm8962开发板上用的是wm8960内核默认是打开wm8960驱动的下面修改设备树按下面修改imx6qdl-sabresd.dtsi文件i2c1 { clock-frequency 100000; pinctrl-names default; //pinctrl-names default, gpio; pinctrl-0 pinctrl_i2c1; //pinctrl-1 pinctrl_i2c1_gpio; //scl-gpios gpio5 27 GPIO_ACTIVE_HIGH; //sda-gpios gpio5 26 GPIO_ACTIVE_HIGH; status okay; codec: wm89621a { compatible wlf,wm8962; reg 0x1a; clocks clks IMX6QDL_CLK_CKO; DCVDD-supply reg_audio; DBVDD-supply reg_audio; AVDD-supply reg_audio; CPVDD-supply reg_audio; MICVDD-supply reg_audio; PLLVDD-supply reg_audio; SPKVDD1-supply reg_audio; SPKVDD2-supply reg_audio; gpio-cfg 0x0000 /* 0:Default */ 0x0000 /* 1:Default */ 0x0013 /* 2:FN_DMICCLK */ 0x0000 /* 3:Default */ 0x8014 /* 4:FN_DMICCDAT */ 0x0000 /* 5:Default */ ; status disabled; }; codec2: wm89601a { compatible wlf,wm8960; reg 0x1a; clocks clks IMX6QDL_CLK_CKO; DCVDD-supply reg_audio; DBVDD-supply reg_audio; AVDD-supply reg_audio; CPVDD-supply reg_audio; MICVDD-supply reg_audio; PLLVDD-supply reg_audio; SPKVDD1-supply reg_audio; SPKVDD2-supply reg_audio; clock-names mclk; VDD-supply reg_audio; wlf,shared-lrclk; status disabled; }; };按下面修改imx6qdl-sabresd.dts文件codec2 { status okay; }; mx6sound { compatible fsl,imx6q-sabresd-wm8960, fsl,imx-audio-wm8960; model wm8960-audio; audio-codec codec2; audio-routing Headphone Jack, HP_L, Headphone Jack, HP_R, Ext Spk, SPK_RP, Ext Spk, SPK_RN, Ext Spk, SPK_LP, Ext Spk, SPK_LN, AMIC, MICB, LINPUT1, AMIC, LINPUT2, AMIC, RINPUT1, AMIC, RINPUT2, AMIC, LINPUT3, AMIC, RINPUT3, AMIC, DMIC, MICB, LINPUT1, DMIC, LINPUT2, DMIC, RINPUT1, DMIC, RINPUT2, DMIC, CPU-Playback, ASRC-Playback, Playback, CPU-Playback, ASRC-Capture, CPU-Capture, CPU-Capture, Capture; hp-det-gpios gpio7 8 GPIO_ACTIVE_LOW; //hp-det-gpios gpio7 8 0; };进入文件系统后 dmesg | grep -E wm8960|soc-audio|asoc[ 5.391847] #0: wm8960-audio到此wm8960移植完毕