I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之声卡驱动移植

经过前面的移植,tqimx6q已经可以正常驱动触摸屏了,本文我们来移植声卡驱动。

DTS编写

由于tqimx6q搭载的声卡是sgtl5000芯片,因此,参考dts目录下其它开发板的相应信息,我们可以在DTS中添加如下内容:

  1. / {  
  2.   
  3.     ...  
  4.       
  5.     regulators {  
  6.       
  7.         ...  
  8.   
  9.         reg_3p3v: 3p3v {  
  10.             compatible = "regulator-fixed";  
  11.             regulator-name = "3P3V";  
  12.             regulator-min-microvolt = <3300000>;  
  13.             regulator-max-microvolt = <3300000>;  
  14.             regulator-always-on;  
  15.         };  
  16.     };  
  17.       
  18.     ...  
  19.   
  20.     sound {  
  21.         compatible = "fsl,imx-audio-sgtl5000";  
  22.         model = "imx6q-sgtl5000";  
  23.         ssi-controller = <&ssi1>;  
  24.         audio-codec = <&codec>;  
  25.         audio-routing =  
  26.             "MIC_IN""Mic Jack",  
  27.             "Mic Jack""Mic Bias",  
  28.             "Headphone Jack""HP_OUT";  
  29.         mux-int-port = <1>;  
  30.         mux-ext-port = <3>;  
  31.     };  
  32. };  
  33.   
  34. ...  
  35.   
  36. &i2c2 {  
  37.     clock-frequency = <100000>;  
  38.     pinctrl-names = "default";  
  39.     pinctrl-0 = <&pinctrl_i2c2_2>;  
  40.     status = "okay";  
  41.   
  42.     codec: sgtl5000@0a {  
  43.         compatible = "fsl,sgtl5000";  
  44.         reg = <0x0a>;  
  45.         clocks = <&clks 201>;  
  46.         VDDA-supply = <&reg_3p3v>;  
  47.         VDDIO-supply = <&reg_3p3v>;  
  48.         VDDD-supply = <&reg_1p2v>;  
  49.     };  
  50. };  
  51.   
  52. &ssi1 {  
  53.     fsl,mode = "i2s-slave";  
  54.     status = "okay";  
  55. };  
  56.   
  57. &audmux {  
  58.     pinctrl-names = "default";  
  59.     pinctrl-0 = <&pinctrl_audmux_2>;  
  60.     status = "okay";  
  61. };  
  62.   
  63. &iomuxc {  
  64.     pinctrl-names = "default";  
  65.     pinctrl-0 = <&pinctrl_hog>;  
  66.   
  67.     ...  
  68.   
  69.     hog {  
  70.         pinctrl_hog: hoggrp-1 {  
  71.             fsl,pins = <  
  72.                 MX6QDL_PAD_GPIO_0__CCM_CLKO1    0x80000000  
  73.             >;  
  74.         };  
  75.     };  
  76. };  
添加以上内容后重新编译并烧写DTB即可。

测试方法

测试方法当然还是使用alsa-lib和alsa-utils。相关工具的移植方法如下:

Step1. 获取并交叉编译alsa-lib:

  1. wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.29.tar.bz2  
  2. tar jxf alsa-lib-1.0.29.tar.bz2  
  3. cd alsa-lib-1.0.29  
  4. /configure --host=arm-linux-gnueabi --prefix=/mnt/usr/lib/alsa-lib  
  5. make  
  6. sudo make install  
Step2. 获取并交叉编译alsa-utils:
  1. wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.29.tar.bz2  
  2. tar jxf alsa-utils-1.0.29.tar.bz2  
  3. cd alsa-utils-1.0.29  
  4. ./configure --host=arm-linux-gnueabi --prefix=/usr/share/arm-alsa --with-alsa-inc-prefix=/usr/share/arm-alsa/include --with-alsa-prefix=/usr/share/arm-alsa/lib --disable-alsamixer --disable-xmlto  
  5. make   
  6. sudo make install  
Step3. 检测交叉编译是否成功:
  1. file aplay  
如果显示内容大致如下:
  1. aplay: ELF 32-bit LSB  executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=280644397dc85eaf1f1dc26b03be754ac4777cff, not stripped  
则表示交叉编译成功,关键词是ARM。

Step4. 将交叉编译好的alsa拷贝到根文件系统:

  1. sudo cp /usr/share/arm-alsa/ /mnt/usr/share/ -rfa  
  2. sudo cp /usr/share/arm-alsa/* /mnt/ -rfa  
  3. sync  
接下来就可以用新的跟文件系统启动开发板了。

Step5. 测试录音:

  1. arecord -f dat test.wav  
执行以上指令后对着开发板说话,说完之后通过ctrl+C键中断录音。

Step5. 播放录音:

  1. aplay test.wav  
如果按照以上步骤正确的进行了移植,就可以听到录音时自己说的话了。

启动Log

完整的启动Log如下:

  1. U-Boot 2013.04-04987-g98fdbdc-dirty (May 03 2015 - 11:46:24)  
  2.   
  3. CPU:   Freescale i.MX6Q rev1.2 at 792 MHz  
  4. CPU:   Temperature 26 C, calibration data: 0x54e4bb69  
  5. Reset cause: POR  
  6. Board: MX6Q/SDL-SabreSD  
  7. I2C:   ready  
  8. DRAM:  1 GiB  
  9. MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2  
  10. No panel detected: default to Hannstar-XGA  
  11. Display: Hannstar-XGA (1024x768)  
  12. In:    serial  
  13. Out:   serial  
  14. Err:   serial  
  15. mmc0 is current device  
  16. Net:   Phy not found  
  17. PHY reset timed out  
  18. FEC [PRIME]  
  19. Warning: failed to set MAC address  
  20.   
  21. Normal Boot  
  22. Hit any key to stop autoboot:  0   
  23. mmc0 is current device  
  24.   
  25. MMC read: dev # 0, block # 2048, count 12288 ... 12288 blocks read: OK  
  26.   
  27. MMC read: dev # 0, block # 20480, count 2048 ... 2048 blocks read: OK  
  28. ## Booting kernel from Legacy Image at 11ffffc0 ...  
  29.    Image Name:   Linux-3.10.17-80739-g33597e3-dir  
  30.    Image Type:   ARM Linux Kernel Image (uncompressed)  
  31.    Data Size:    5289360 Bytes = 5 MiB  
  32.    Load Address: 12000000  
  33.    Entry Point:  12000000  
  34.    Verifying Checksum ... OK  
  35. ## Flattened Device Tree blob at 18000000  
  36.    Booting using the fdt blob at 0x18000000  
  37.    XIP Kernel Image ... OK  
  38. OK  
  39.    Using Device Tree in place at 18000000, end 1800d14d  
  40.   
  41. Starting kernel ...  
  42.   
  43. Booting Linux on physical CPU 0x0  
  44. Linux version 3.10.17-80739-g33597e3-dirty (lilianrong@lenovo) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #3 SMP PREEMPT Wed May 13 00:16:49 CST 2015  
  45. CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d  
  46. CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache  
  47. Machine: Freescale i.MX6 Quad/DualLite (Device Tree), model: Freescale i.MX6 Quad TQIMX6Q Smart Device Board  
  48. cma: CMA: reserved 320 MiB at 3c000000  
  49. Memory policy: ECC disabled, Data cache writealloc  
  50. PERCPU: Embedded 8 pages/cpu @814fa000 s8896 r8192 d15680 u32768  
  51. Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096  
  52. Kernel command line: noinitrd console=ttymxc0,115200 root=/dev/mmcblk0p1 rw rootfstype=ext4 init=/linuxrc  
  53. PID hash table entries: 4096 (order: 2, 16384 bytes)  
  54. Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)  
  55. Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)  
  56. Memory: 1024MB = 1024MB total  
  57. Memory: 697784k/697784k available, 350792k reserved, 0K highmem  
  58. Virtual kernel memory layout:  
  59.     vector  : 0xffff0000 - 0xffff1000   (   4 kB)  
  60.     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)  
  61.     vmalloc : 0xc0800000 - 0xff000000   (1000 MB)  
  62.     lowmem  : 0x80000000 - 0xc0000000   (1024 MB)  
  63.     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)  
  64.     modules : 0x7f000000 - 0x7fe00000   (  14 MB)  
  65.       .text : 0x80008000 - 0x80be704c   (12157 kB)  
  66.       .init : 0x80be8000 - 0x80c2a2c0   ( 265 kB)  
  67.       .data : 0x80c2c000 - 0x80c7c260   ( 321 kB)  
  68.        .bss : 0x80c7c260 - 0x80ce5434   ( 421 kB)  
  69. SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1  
  70. Preemptible hierarchical RCU implementation.  
  71. NR_IRQS:16 nr_irqs:16 16  
  72. L310 cache controller enabled  
  73. l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1048576 B  
  74. sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms  
  75. CPU identified as i.MX6Q, silicon rev 1.2  
  76. Console: colour dummy device 80x30  
  77. Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)  
  78. pid_max: default: 32768 minimum: 301  
  79. Mount-cache hash table entries: 512  
  80. CPU: Testing write buffer coherency: ok  
  81. CPU0: thread -1, cpu 0, socket 0, mpidr 80000000  
  82. Setting up static identity map for 0x806106a8 - 0x80610700  
  83. CPU1: Booted secondary processor  
  84. CPU1: thread -1, cpu 1, socket 0, mpidr 80000001  
  85. CPU2: Booted secondary processor  
  86. CPU2: thread -1, cpu 2, socket 0, mpidr 80000002  
  87. CPU3: Booted secondary processor  
  88. CPU3: thread -1, cpu 3, socket 0, mpidr 80000003  
  89. Brought up 4 CPUs  
  90. SMP: Total of 4 processors activated (6324.22 BogoMIPS).  
  91. CPU: All CPU(s) started in SVC mode.  
  92. devtmpfs: initialized  
  93. pinctrl core: initialized pinctrl subsystem  
  94. regulator-dummy: no parameters  
  95. NET: Registered protocol family 16  
  96. DMA: preallocated 256 KiB pool for atomic coherent allocations  
  97. Use WDOG1 as reset source  
  98. syscon 20c8000.anatop: regmap [mem 0x020c8000-0x020c8fff] registered  
  99. vdd1p1: 800 <--> 1375 mV at 1125 mV   
  100. vdd3p0: 2800 <--> 3150 mV at 3000 mV   
  101. vdd2p5: 2000 <--> 2750 mV at 2425 mV   
  102. cpu: 725 <--> 1450 mV at 1150 mV   
  103. vddpu: 725 <--> 1450 mV   
  104. vddsoc: 725 <--> 1450 mV at 1200 mV   
  105. syscon 20e0000.iomuxc-gpr: regmap [mem 0x020e0000-0x020e0037] registered  
  106. syscon 21bc000.ocotp-ctrl: regmap [mem 0x021bc000-0x021bffff] registered  
  107. hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.  
  108. hw-breakpoint: maximum watchpoint size is 4 bytes.  
  109. imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver  
  110. bio: create slab <bio-0> at 0  
  111. mxs-dma 110000.dma-apbh: initialized  
  112. usb_otg_vbus: 5000 mV   
  113. mipi_dsi_pwr_on: no parameters  
  114. 3P3V: 3300 mV   
  115. 1P2V: 1200 mV   
  116. i2c-core: driver [max17135] using legacy suspend method  
  117. i2c-core: driver [max17135] using legacy resume method  
  118. SCSI subsystem initialized  
  119. usbcore: registered new interface driver usbfs  
  120. usbcore: registered new interface driver hub  
  121. usbcore: registered new device driver usb  
  122. i2c i2c-0: IMX I2C adapter registered  
  123. i2c i2c-1: IMX I2C adapter registered  
  124. Linux video capture interface: v2.00  
  125. pps_core: LinuxPPS API ver. 1 registered  
  126. pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>  
  127. PTP clock support registered  
  128. imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)  
  129. imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)  
  130. MIPI CSI2 driver module loaded  
  131. Advanced Linux Sound Architecture Driver Initialized.  
  132. cfg80211: Calling CRDA to update world regulatory domain  
  133. Switching to clocksource mxc_timer1  
  134. NET: Registered protocol family 2  
  135. TCP established hash table entries: 8192 (order: 4, 65536 bytes)  
  136. TCP bind hash table entries: 8192 (order: 4, 65536 bytes)  
  137. TCP: Hash tables configured (established 8192 bind 8192)  
  138. TCP: reno registered  
  139. UDP hash table entries: 512 (order: 2, 16384 bytes)  
  140. UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)  
  141. NET: Registered protocol family 1  
  142. RPC: Registered named UNIX socket transport module.  
  143. RPC: Registered udp transport module.  
  144. RPC: Registered tcp transport module.  
  145. RPC: Registered tcp NFSv4.1 backchannel transport module.  
  146. hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available  
  147. pureg-dummy: no parameters  
  148. imx6_busfreq busfreq.15: DDR medium rate not supported.  
  149. Bus freq driver module loaded  
  150. VFS: Disk quotas dquot_6.5.2  
  151. Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)  
  152. NFS: Registering the id_resolver key type  
  153. Key type id_resolver registered  
  154. Key type id_legacy registered  
  155. jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.  
  156. fuse init (API version 7.22)  
  157. msgmni has been set to 2002  
  158. io scheduler noop registered  
  159. io scheduler deadline registered  
  160. io scheduler cfq registered (default)  
  161. imx-weim 21b8000.weim: WEIM driver registered.  
  162. mxc_mipi_dsi 21e0000.mipi: i.MX MIPI DSI driver probed  
  163. MIPI DSI driver module loaded  
  164. mxc_sdc_fb fb.26: register mxc display driver lcd  
  165. Console: switching to colour frame buffer device 100x30  
  166. imx-sdma 20ec000.sdma: no iram assigned, using external mem  
  167. imx-sdma 20ec000.sdma: loaded firmware 1.1  
  168. imx-sdma 20ec000.sdma: initialized  
  169. Serial: IMX driver  
  170. 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX  
  171. console [ttymxc0] enabled  
  172. 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX  
  173. 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX  
  174. 21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX  
  175. 21f4000.serial: ttymxc4 at MMIO 0x21f4000 (irq = 62) is a IMX  
  176. serial: Freescale lpuart driver  
  177. [drm] Initialized drm 1.1.0 20060810  
  178. [drm] Initialized vivante 1.0.0 20120216 on minor 0  
  179. brd: module loaded  
  180. loop: module loaded  
  181. CAN device driver interface  
  182. flexcan 2090000.can: device registered (reg_base=c0a38000, irq=142)  
  183. fec 2188000.ethernet (unregistered net_device): Invalid MAC address: 00:00:00:00:00:00  
  184. fec 2188000.ethernet (unregistered net_device): Using random MAC address: c2:9c:30:14:aa:25  
  185. libphy: fec_enet_mii_bus: probed  
  186. fec 2188000.ethernet eth0: registered PHC device 0  
  187. ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver  
  188. usbcore: registered new interface driver usb-storage  
  189. ci_hdrc ci_hdrc.1: doesn't support gadget  
  190. ci_hdrc ci_hdrc.1: EHCI Host Controller  
  191. ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1  
  192. ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00  
  193. hub 1-0:1.0: USB hub found  
  194. hub 1-0:1.0: 1 port detected  
  195. mousedev: PS/2 mouse device common for all mice  
  196. i2c-core: driver [isl29023] using legacy suspend method  
  197. i2c-core: driver [isl29023] using legacy resume method  
  198. snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0  
  199. i2c /dev entries driver  
  200. i2c-core: driver [mag3110] using legacy suspend method  
  201. i2c-core: driver [mag3110] using legacy resume method  
  202. imx2-wdt 20bc000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)  
  203. cpuidle: using governor ladder  
  204. cpuidle: using governor menu  
  205. sdhci: Secure Digital Host Controller Interface driver  
  206. sdhci: Copyright(c) Pierre Ossman  
  207. sdhci-pltfm: SDHCI platform and OF driver helper  
  208. mmc0: no vqmmc regulator found  
  209. mmc0: no vmmc regulator found  
  210. mmc0: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA  
  211. mmc1: no vqmmc regulator found  
  212. mmc1: no vmmc regulator found  
  213. mmc1: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA  
  214. mmc0: new high speed SDHC card at address e624  
  215. mmcblk0: mmc0:e624 SS08G 7.40 GiB   
  216.  mmcblk0: p1  
  217. mmc1: BKOPS_EN bit is not set  
  218. usb 1-1: new high-speed USB device number 2 using ci_hdrc  
  219. mmc1: new high speed DDR MMC card at address 0001  
  220. mmcblk1: mmc1:0001 008G92 7.28 GiB   
  221. mmcblk1boot0: mmc1:0001 008G92 partition 1 4.00 MiB  
  222. mmcblk1boot1: mmc1:0001 008G92 partition 2 4.00 MiB  
  223. mmcblk1rpmb: mmc1:0001 008G92 partition 3 512 KiB  
  224.  mmcblk1: p1  
  225.  mmcblk1boot1: unknown partition table  
  226.  mmcblk1boot0: unknown partition table  
  227. hub 1-1:1.0: USB hub found  
  228. hub 1-1:1.0: 4 ports detected  
  229. Galcore version 4.6.9.9754  
  230. mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed  
  231. mxc_asrc 2034000.asrc: mxc_asrc registered  
  232. mxc_vpu 2040000.vpu: VPU initialized  
  233. leds-gpio gpio-leds.22: pins are not configured from the driver  
  234. caam 2100000.caam: device ID = 0x0a16010000000000 (Era -524)  
  235. caam 2100000.caam: job rings = 2, qi = 0  
  236. caam 2100000.caam: authenc-hmac-md5-cbc-aes-caam  
  237. caam 2100000.caam: authencesn-hmac-md5-cbc-aes-caam  
  238. caam 2100000.caam: authenc-hmac-sha1-cbc-aes-caam  
  239. caam 2100000.caam: authencesn-hmac-sha1-cbc-aes-caam  
  240. caam 2100000.caam: authenc-hmac-sha224-cbc-aes-caam  
  241. caam 2100000.caam: authencesn-hmac-sha224-cbc-aes-caam  
  242. caam 2100000.caam: authenc-hmac-sha256-cbc-aes-caam  
  243. caam 2100000.caam: authencesn-hmac-sha256-cbc-aes-caam  
  244. caam 2100000.caam: authenc-hmac-md5-cbc-des3_ede-caam  
  245. caam 2100000.caam: authencesn-hmac-md5-cbc-des3_ede-caam  
  246. caam 2100000.caam: authenc-hmac-sha1-cbc-des3_ede-caam  
  247. caam 2100000.caam: authencesn-hmac-sha1-cbc-des3_ede-caam  
  248. caam 2100000.caam: authenc-hmac-sha224-cbc-des3_ede-caam  
  249. caam 2100000.caam: authencesn-hmac-sha224-cbc-des3_ede-caam  
  250. caam 2100000.caam: authenc-hmac-sha256-cbc-des3_ede-caam  
  251. caam 2100000.caam: authencesn-hmac-sha256-cbc-des3_ede-caam  
  252. caam 2100000.caam: authenc-hmac-md5-cbc-des-caam  
  253. caam 2100000.caam: authencesn-hmac-md5-cbc-des-caam  
  254. caam 2100000.caam: authenc-hmac-sha1-cbc-des-caam  
  255. caam 2100000.caam: authencesn-hmac-sha1-cbc-des-caam  
  256. caam 2100000.caam: authenc-hmac-sha224-cbc-des-caam  
  257. caam 2100000.caam: authencesn-hmac-sha224-cbc-des-caam  
  258. caam 2100000.caam: authenc-hmac-sha256-cbc-des-caam  
  259. caam 2100000.caam: authencesn-hmac-sha256-cbc-des-caam  
  260. caam 2100000.caam: ecb-des-caam  
  261. caam 2100000.caam: ecb-arc4-caam  
  262. caam 2100000.caam: ecb-aes-caam  
  263. caam 2100000.caam: ctr-aes-caam  
  264. caam 2100000.caam: cbc-aes-caam  
  265. caam 2100000.caam: ecb-des3-caam  
  266. caam 2100000.caam: cbc-3des-caam  
  267. caam 2100000.caam: cbc-des-caam  
  268. caam 2100000.caam: fsl,sec-v4.0 algorithms registered in /proc/crypto  
  269. platform 2101000.jr0: registering rng-caam  
  270. platform caam_sm: caam_sm_test: 8-byte key test match OK  
  271. platform caam_sm: caam_sm_test: 16-byte key test match OK  
  272. platform caam_sm: caam_sm_test: 32-byte key test match OK  
  273. platform caam_secvio.28: security violation service handlers armed  
  274. usbcore: registered new interface driver usbhid  
  275. usbhid: USB HID core driver  
  276. i2c-core: driver [cs42888] using legacy suspend method  
  277. i2c-core: driver [cs42888] using legacy resume method  
  278. sgtl5000 1-000a: sgtl5000 revision 0x11  
  279. 1-000a: 1200 mV normal   
  280. sgtl5000 1-000a: Using internal LDO instead of VDDD  
  281. imx-sgtl5000 sound.27:  sgtl5000 <-> 2028000.ssi mapping ok  
  282. TCP: cubic registered  
  283. NET: Registered protocol family 10  
  284. sit: IPv6 over IPv4 tunneling driver  
  285. NET: Registered protocol family 17  
  286. can: controller area network core (rev 20120528 abi 9)  
  287. NET: Registered protocol family 29  
  288. can: raw protocol (rev 20120528)  
  289. can: broadcast manager protocol (rev 20120528 t)  
  290. can: netlink gateway (rev 20130117) max_hops=1  
  291. 8021q: 802.1Q VLAN Support v1.8  
  292. Key type dns_resolver registered  
  293. VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4  
  294. input: gpio-keys.21 as /devices/soc0/gpio-keys.21/input/input0  
  295. snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)  
  296. ALSA device list:  
  297.   #0: imx6q-sgtl5000  
  298. EXT4-fs (mmcblk0p1): recovery complete  
  299. EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)  
  300. VFS: Mounted root (ext4 filesystem) on device 179:1.  
  301. devtmpfs: mounted  
  302. Freeing unused kernel memory: 264K (80be8000 - 80c2a000)  
  303. ----------mount all..........  
  304. ----------Starting mdev......  
  305.   
  306. Please press Enter to activate this console.   
  307. @tqimx6q #  
至此,就完成了tqimx6q的声卡驱动移植,有任何疑问欢迎留言讨论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值