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?

Question asked by lyudmila voronina on Apr 27, 2018

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