AnsweredAssumed Answered

Is there a way to tell the device tree that the codec control via I2C is absent and there is only SAI2/I2S driver or maybe there are other solutions of this question, for example the library of drivers for GSM modules?

Question asked by lyudmila voronina on Apr 27, 2018
Latest reply on May 30, 2018 by lyudmila voronina

I want to use the SIM5320 PCM interface with my twr-vf65gs10 Vybrid board (SAI2/I2S). I want to control the module SIM5320 via UART2 in my application.
I want to mark that I set ALSA library in Linux kernel on the twr-vf65gs10 device.

 

Is there a way to tell the device tree that the codec control via I2C is absent and there is only SAI2/I2S driver or maybe there are other solutions of this question, for example the library of drivers for GSM modules?

Fragment from the devices tree which I have at the moment:

 

    sound {
        compatible = "simple-audio-card";
        simple-audio-card,format = "i2s";
        simple-audio-card,widgets =
            "Microphone", "Microphone Jack",
            "Headphone", "Headphone Jack",
            "Speaker", "Speaker Ext",
            "Line", "Line In Jack";
        simple-audio-card,routing =
            "MIC_IN", "Microphone Jack",
            "Microphone Jack", "Mic Bias",
            "LINE_IN", "Line In Jack",
            "Headphone Jack", "HP_OUT",
            "Speaker Ext", "LINE_OUT";

 

        simple-audio-card,cpu {
            sound-dai = <&sai2>;
            master-clkdir-out;
            frame-master;
            bitclock-master;
        };

 

        simple-audio-card,codec {
            sound-dai = <&codec>;
            frame-master;
            bitclock-master;
        };
    };

 

&i2c0 {
    clock-frequency = <100000>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c0>;
    status = "okay";

 

    codec: sgtl5000@0a {
           #sound-dai-cells = <0>;
           compatible = "fsl,sgtl5000";
           reg = <0x0a>;
           VDDA-supply = <&reg_3p3v>;
           VDDIO-supply = <&reg_3p3v>;
           clocks = <&clks VF610_CLK_SAI2>;
       };

 

    touch: crtouch@49 {
        compatible = "fsl,crtouch_ts";
        reg = <0x49>;
    };
};

 

            sai2: sai@40031000 {
                compatible = "fsl,vf610-sai";
                reg = <0x40031000 0x1000>;
                interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&clks VF610_CLK_SAI2>;
                clock-names = "sai";
                dma-names = "tx", "rx";
                dmas = <&edma0 0 21>,
                    <&edma0 0 20>;
                status = "disabled";
            };

Outcomes