Firefly开源社区

打印 上一主题 下一主题

RK3566 PDM 使用与设备树dts配置咨询

182

积分

0

威望

0

贡献

技术小白

积分
182

RK3566 PDM 使用与设备树dts配置咨询

发表于 2022-3-31 12:52:30      浏览:5351 | 回复:2        打印      只看该作者   [复制链接] 楼主
本帖最后由 szzhangzhen 于 2022-3-31 12:59 编辑

RK3566平台,使用其PDM接口作为Audio input Capture通道,具体硬件结构框图如下。


参考rk3566-evb-lp4x-v10-pdm-mic-array.dts  有如下配置


/ {
  model = "Rockchip RK3566 EVB2 LP4X V10 Board PDM Mic Array";
  compatible = "rockchip,rk3566-evb2-lp4x-v10", "rockchip,rk3566";

  rk809_sound_micarray: rk809-sound-micarray {
    compatible = "simple-audio-card";
    simple-audio-card,format = "i2s";
    simple-audio-card,name = "rockchip,rk809-codec";
    simple-audio-card,mclk-fs = <256>;

    simple-audio-card,dai-link@0 {
      format = "i2s";
      cpu {
        sound-dai = <&i2s1_8ch>;
      };
      codec {
        sound-dai = <&rk809_codec 0>;
      };
    };
    simple-audio-card,dai-link@1 {
      format = "pdm";
      cpu {
        sound-dai = <&pdm>;
      };
      codec {
        sound-dai = <&rk809_codec 1>;
      };
    };
    simple-audio-card,dai-link@2 {
      format = "pdm";
      cpu {
        sound-dai = <&pdm>;
      };
      codec {
        sound-dai = <&es7202>;
      };
    };
  };
};

&i2c3 {
  status = "okay";

  es7202: es7202@30 {
    status = "okay";
    #sound-dai-cells = <0>;
    compatible = "ES7202_PDM_ADC_1";
    reg = <0x30>;
  };

  es7202_31: es7202@31 {
    status = "okay";
    #sound-dai-cells = <0>;
    compatible = "ES7202_PDM_ADC_2";
    reg = <0x31>;
  };
};

&i2s1_8ch {
  status = "okay";
  #sound-dai-cells = <0>;
  rockchip,clk-trcm = <1>;
  pinctrl-names = "default";
  pinctrl-0 = <&i2s1m0_sclktx
         &i2s1m0_lrcktx
         &i2s1m0_sdo0>;
};

&pdm {
  status = "okay";
  #sound-dai-cells = <0>;
  pinctrl-names = "default";
  pinctrl-0 = <&pdmm0_clk
      &pdmm0_clk1
      &pdmm0_sdi0
      &pdmm0_sdi1
      &pdmm0_sdi2
      &pdmm0_sdi3>;
};

&rk809_codec {
  #sound-dai-cells = <1>;
  compatible = "rockchip,rk809-codec", "rockchip,rk817-codec";
  clocks = <&cru I2S1_MCLKOUT>;
  clock-names = "mclk";
  assigned-clocks = <&cru I2S1_MCLKOUT>, <&cru I2S1_MCLK_TX_IOE>;
  assigned-clock-rates = <12288000>;
  assigned-clock-parents = <&cru I2S1_MCLKOUT_TX>, <&cru I2S1_MCLKOUT_TX>;
  pinctrl-names = "default";
  pinctrl-0 = <&i2s1m0_mclk>;
  pdmdata-out-enable;
  adc-for-loopback;
  hp-volume = <20>;
  spk-volume = <3>;
  mic-in-differential;
  status = "okay";
};

&rk809_sound {
  status = "disabled";
};


参照此dts能基本理解其含义,rk809_sound_micarray节点下
1、simple-audio-card,dai-link@0 用于配置RK809 Audio output,
2、simple-audio-card,dai-link@1 用于配置rk809使用PDM接口录音,
3、simple-audio-card,dai-link@2 用于配置es7202使用PDM接口录音,

但是从其中无法获悉,loopback如何配置。
根据参考devicetree,结合自身硬件构成,可知ES7202应如下配置
&i2c3 {
    status = "okay";
        clock-frequency = <400000>;

        es7202_30: es7202@30 {
                status = "okay";
                #sound-dai-cells = <0>;
                compatible = "ES7202_PDM_ADC_1";
                reg = <0x30>;
    };
        es7202_31: es7202@31 {
                status = "okay";
                #sound-dai-cells = <0>;
                compatible = "ES7202_PDM_ADC_2";
                reg = <0x31>;
    };

        es7202_32: es7202@32 {
                status = "okay";
                #sound-dai-cells = <0>;
                compatible = "ES7202_PDM_ADC_3";
                reg = <0x32>;
    };

};

请问,如何配置音频输入loopback、mic array?
是否应该像如下形式进行配置
sound_micarray {
  compatible = "simple-audio-card";
  simple-audio-card,format = "i2s";
  simple-audio-card,name = "rockchip,rk809-codec";
  simple-audio-card,mclk-fs = <256>;

  simple-audio-card,dai-link@0 {
    format = "i2s";
    cpu {
      sound-dai = <&i2s1_8ch>;
    };
    codec {
      sound-dai = <&rk809_codec 0>;
    };
  };


  simple-audio-card,dai-link@1 {
    format = "pdm";
    cpu {
      sound-dai = <&pdm>;
    };
    codec {
      sound-dai = <&es7202_30>;
    };
  };

  simple-audio-card,dai-link@2 {
    format = "pdm";
    cpu {
      sound-dai = <&pdm>;
    };
    codec {
      sound-dai = <&es7202_31>;
    };
  };

  simple-audio-card,dai-link@3 {
    format = "pdm";
    cpu {
      sound-dai = <&pdm>;
    };
    codec {
      sound-dai = <&es7202_32>;
    };
  };  
};




回复

使用道具 举报

发表于 2022-3-31 14:41:04        只看该作者  沙发
1. 参考SDK的RKDocs/common/Audio/里的文档
2. es7202没有调试过,需要自己验证
3. 如果需要我司调试,请联系商务sales@t-firefly.com
回复

使用道具 举报

10

积分

0

威望

0

贡献

技术小白

积分
10
发表于 2023-7-5 14:08:16        只看该作者  板凳
请问你最后怎么配置的呢,可用吗
回复

使用道具 举报

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

本版积分规则

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