zhu944567126 发表于 2023-1-11 09:47:25

rk3566jd4,最新sdk,android11,请问如何设置i2s2的M1能正常使能。请大佬指点下

本帖最后由 zhu944567126 于 2023-1-11 09:59 编辑

我当前的默认dts i2s2的一些引脚情况如下

pin 133 (gpio4-5): vcc5v0-usb30-regulator gpio4:133 function usb group vcc5v0-usb30-drv
pin 138 (gpio4-10): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 145 (gpio4-17): (MUX UNCLAIMED) (GPIO UNCLAIMED)

pin 82 (gpio2-18): fe420000.i2s (GPIO UNCLAIMED) function i2s2 group i2s2m0-sclktx
pin 83 (gpio2-19): fe420000.i2s gpio2:83 function i2s2 group i2s2m0-lrcktx
pin 84 (gpio2-20): fe420000.i2s (GPIO UNCLAIMED) function i2s2 group i2s2m0-sdo
pin 85 (gpio2-21): fe420000.i2s (GPIO UNCLAIMED) function i2s2 group i2s2m0-sdi


我的需求是音频输入到i2s2中, 我用示波器已测量I2S2_SCLK_RX_M1,I2S2_LRCK_RX_M1,I2S2_SDI_M1(前二个脚有信号时钟,当有声音输入第三个脚测量是信号时钟)。 说明我的i2s2的输入都正常设置号了。

现在要解决的问题是dts 如何配置相关i2s2的输入的脚。

我尝试过把上面i2s2m0-sclktx,i2s2m0-lrcktx,i2s2m0-sdo,i2s2m0-sdi在dts中关闭换成如下dts,结果也是不行。
    i2s2_2ch: i2s@fe420000 {

      compatible = "rockchip,rk3568-i2s-tdm";
      reg = <0x0 0xfe420000 0x0 0x1000>;
      interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
      clocks = <&cru MCLK_I2S2_2CH>, <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>;
      clock-names = "mclk_tx", "mclk_rx", "hclk";
      dmas = <&dmac1 4>, <&dmac1 5>;
      dma-names = "tx", "rx";
      rockchip,cru = <&cru>;
      rockchip,grf = <&grf>;
      rockchip,clk-trcm = <1>;
      #sound-dai-cells = <0>;
      pinctrl-names = "default";
      // pinctrl-0 = <&i2s2m0_sclktx
      //       &i2s2m0_lrcktx
      //       &i2s2m0_sdi
      //       &i2s2m0_sdo>;

      pinctrl-0 = <&i2s2m1_sclkrx
            &i2s2m1_lrckrx
            &i2s2m1_sdi
            &i2s2m1_sdo>;

      status = "disabled";

    };





cat /proc/asound/cards                                                         <
0 : rockchip_hdmi - rockchip,hdmi
                      rockchip,hdmi
1 : rockchip_rk809- - rockchip,rk809-codec
                      rockchip,rk809-codec

rk3566_firefly_aiojd4:/data/mig $ ls /dev/snd/                                 
controlC0controlC1pcmC0D0ppcmC1D0cpcmC1D0ptimer

rk3566_firefly_aiojd4:/data/mig $ cat /pro
proc/   product/
cat /proc/asound/devices                                                       <
2: [ 0- 0]: digital audio playback
3: [ 0]   : control
4: [ 1- 0]: digital audio playback
5: [ 1- 0]: digital audio capture
6: [ 1]   : control
33:      : timer





firefly_zhongw 发表于 2023-1-11 10:03:35

1. 根据硬件原理图,dts里检查 I2S2_M1 所用到的pin脚有没有被复用成其他功能,如果被复用成其他功能,就disabled掉。
2. pinctrl如何使用,参考SDK内 RKDocs/common/PIN-Ctrl/Rockchip-Developer-Guide-Linux-Pin-Ctrl-CN.pdf

zhu944567126 发表于 2023-1-11 10:12:08

本帖最后由 zhu944567126 于 2023-1-11 10:15 编辑

firefly_zhongw 发表于 2023-1-11 10:03
1. 根据硬件原理图,dts里检查 I2S2_M1 所用到的pin脚有没有被复用成其他功能,如果被复用成其他功能,就di ...
i2s2的M1脚当前还没复用也还没使用,关键是,你们天启设置i2s2的dts 具体是那个dts文件,请告知。

我就是看到没设置所以才发帖找你们,了解具体的dts在哪里,参考那个i2s的dts配置。



我发帖第一行就写出了 M1脚的情况 ,
pin 133 (gpio4-5): vcc5v0-usb30-regulator gpio4:133 function usb group vcc5v0-usb30-drv
pin 138 (gpio4-10): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 145 (gpio4-17): (MUX UNCLAIMED) (GPIO UNCLAIMED)

zhu944567126 发表于 2023-1-11 10:17:19

本帖最后由 zhu944567126 于 2023-1-11 10:21 编辑

我发帖是想咨询天启的rk3566的 i2s2接收输入音频,参考的,具体dts是那文件,请回答。其他回答都是无效回答。
现在是rk3566 I2S2_M1都找不到是哪个dts文件里设置,你说I2S2_M1的复用脚需要禁用。你说的有什么意义。


现在就是一个问题,请指点rk3566 I2S2_M1 在哪dts文件设置的。 我只有看到设置了,再找复用脚去设置或者禁止。
现在就是一个问题,请指点rk3566 I2S2_M1 在哪dts文件设置的。 我只有看到设置了,再找复用脚去设置或者禁止。
现在就是一个问题,请指点rk3566 I2S2_M1 在哪dts文件设置的。 我只有看到设置了,再找复用脚去设置或者禁止。

firefly_zhongw 发表于 2023-1-11 11:07:12

1. 公版硬件没有用到 I2S2_M1,公版dts也不会去配置
2. 公版dts用的是哪个,麻烦看维基教程kernel编译章节
3. 要想基于公版dts去使用I2S2_M1,那就根据公版硬件去找I2S2_M1引脚用在了哪个硬件模块上,然后在dts里去disabled掉
4. 硬件资料找商务要
页: [1]
查看完整版本: rk3566jd4,最新sdk,android11,请问如何设置i2s2的M1能正常使能。请大佬指点下