Firefly开源社区

打印 上一主题 下一主题

[技术讨论] RK3308 2通道模拟MIC无法录音

发表于 2020-3-21 14:47:06      楼主
1. pdm_i2s_dais: 这个是适配麦克风阵列板的或者数字mic的
2. 使用耳机mic,可以参考如下
  1. diff --git a/kernel/arch/arm64/boot/dts/rockchip/rk3308-roc-cc-dmic-pdm_emmc.dts b/kernel/arch/arm64/boot/dts/rockchip/rk3308-roc-cc-dmic-pdm_emmc.dts
  2. index b996358..735ddb2 100644
  3. --- a/kernel/arch/arm64/boot/dts/rockchip/rk3308-roc-cc-dmic-pdm_emmc.dts
  4. +++ b/kernel/arch/arm64/boot/dts/rockchip/rk3308-roc-cc-dmic-pdm_emmc.dts
  5. @@ -13,7 +13,7 @@
  6.         compatible = "firefly,rk3308-roc-cc-dmic-pdm_emmc", "firefly,rk3308";

  7.         pdm_i2s_dais: pdm-i2s-dais {
  8. -               status = "okay";
  9. +               status = "disabled";
  10.                 compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais";
  11.                 dais = <&pdm_8ch>, <&i2s_8ch_2>;
  12.                 capture,channel-mapping = <6 2>;
  13. @@ -34,13 +34,23 @@
  14.         };

  15.         vad-sound {
  16. -               status = "okay";
  17. +               status = "disabled";
  18.                 compatible = "rockchip,multicodecs-card";
  19.                 rockchip,card-name = "rockchip,rk3308-vad";
  20.                 rockchip,cpu = <&pdm_i2s_dais>;
  21.                 rockchip,codec = <&acodec>, <&vad>;
  22.         };

  23. +       vad_acodec_sound: vad-acodec-sound {
  24. +                status = "okay";
  25. +                compatible = "rockchip,multicodecs-card";
  26. +                rockchip,card-name = "rockchip,rk3308-acodec";
  27. +                rockchip,codec-hp-det;
  28. +                rockchip,mclk-fs = <256>;
  29. +                rockchip,cpu = <&i2s_8ch_2>;
  30. +                rockchip,codec = <&acodec>, <&vad>;
  31. +        };
  32. +
  33.      leds {
  34.          status = "okay";
  35.          compatible = "gpio-leds";
  36. @@ -63,6 +73,14 @@
  37.         status = "disabled";
  38. };

  39. +&acodec {
  40. +    rockchip,micbias1;
  41. +    rockchip,micbias2;
  42. +    rockchip,en-always-grps = <0 1 2 3>;
  43. +    rockchip,adc-grps-route = <0 1 2 3>;
  44. +    /delete-property/rockchip,loopback-grp;
  45. +};
  46. +
  47. &bluetooth_sound {
  48.      status = "okay";
  49. };
  50. @@ -74,7 +92,7 @@
  51. };

  52. &pdm_8ch {
  53. -       status = "okay";
  54. +       status = "disabled";
  55.         #sound-dai-cells = <0>;
  56.         rockchip,no-dmaengine;
  57.         pinctrl-names = "default";
  58. @@ -88,7 +106,7 @@

  59. &vad {
  60.         status = "okay";
  61. -       rockchip,audio-src = <&pdm_8ch>;
  62. +       rockchip,audio-src = <&i2s_8ch_2>;
  63.         rockchip,det-channel = <0>;
  64.         rockchip,mode = <1>;
  65.         rockchip,buffer-time-ms = <200>;
  66. @@ -102,7 +120,7 @@
  67. };

  68. &pdm_i2s_dais {
  69. -       status = "okay";
  70. +       status = "disabled";
  71.         #sound-dai-cells = <0>;
  72. };
复制代码
回复

使用道具 举报

发表于 2020-3-23 10:45:49      沙发
本帖最后由 firefly_zhongw 于 2020-3-23 11:19 编辑

1. 数字音频总线跟内置codec mic是不一样的通道
2. 数字音频接口数据拼接: capture,channel-mapping = <6, 2>;表示pdm占据前6ch,i2s占据后2ch,构成录音8ch
3. 如果要用内置的codec mic录音就要配置内置codec并检查原理图上的耳机座子是否有接入mic

回复

使用道具 举报

发表于 2020-3-23 14:21:32      板凳
1.可以同时工作,只要gpio口不复用
2. ROC-RK3308-CC和ROC-RK3308B-CC是不同的开发板,拿到的开发板找对应的原理图
回复

使用道具 举报

发表于 2020-4-1 09:10:18      地板
本帖最后由 firefly_zhongw 于 2020-4-1 09:11 编辑

1. 先确定开发板的型号
2. ROC-RK3308-CC开发板耳机座子没有接mic

QQ截图20200401090823.png (84.92 KB, 下载次数: 299)

QQ截图20200401090823.png
回复

使用道具 举报

发表于 2020-4-2 09:50:11      5#
1. kernel/arch/arm64/boot/dts/rockchip/rk3308-roc-cc-dmic-pdm_emmc.dts修改文件贴出来
2. 从arecord -l看,声卡设备0都没有
arecord -l查看到的设备如下:# arecord -l
**** List of CAPTURE Hardware Devices ****
card 7: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 7: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
回复

使用道具 举报

发表于 2020-4-3 09:45:28      6#
本帖最后由 firefly_zhongw 于 2020-4-3 10:05 编辑
  1. &i2s_8ch_2 {
  2.         status = "okay";
  3. };
复制代码
  1. &acodec {
  2.         rockchip,micbias1;
  3.         rockchip,micbias2;
  4.         rockchip,en-always-grps = <0 1 2 3>;
  5.         rockchip,adc-grps-route = <3 0 1 2>;
  6.         /delete-property/rockchip,loopback-grp;
  7. };
复制代码
具体参考附件dts

rk3308-roc-cc-amic_emmc.dts.rar

1.13 KB, 下载次数: 31, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

发表于 2020-4-8 19:02:35      7#
手头上没有ROC-RK3308-CC V13的开发板
回复

使用道具 举报

发表于 2020-4-9 09:06:55      8#
录音通道有效性,要看硬件上接了几个mic
回复

使用道具 举报

发表于 2020-4-21 16:51:04      9#
以开发板上的版本丝印为准,找对应的原理图。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表