Enable I2S audio path

Hi all,

Anybody knows how to configure tinymix to send audio signal through MI2S pins?
I’m trying to set ‘PRI/SEC/QUAT_MI2S_RX Audio Mixer MultiMedia1’ to 1,
but I’m still not able to get any signal from exposed 110/113/114 pin.


1 Like

Hi Kevin,

you need to apply following patch to your Android kernel.

diff --git a/arch/arm/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm/boot/dts/qcom/apq8016-sbc.dtsi
index fadf005..b0d5140 100644
--- a/arch/arm/boot/dts/qcom/apq8016-sbc.dtsi
+++ b/arch/arm/boot/dts/qcom/apq8016-sbc.dtsi
@@ -204,7 +204,7 @@
        qcom,model = "msm8x16-snd-card-sbc";
        qcom,msm-snd-card-id = <0>;
        qcom,msm-codec-type = "internal";
-       qcom,msm-ext-pa = "quaternary";
+       qcom,msm-ext-pa = "secondary";
        qcom,msm-mclk-freq = <9600000>;
        qcom,msm-mbhc-hphl-swh = <0>;
        qcom,msm-mbhc-gnd-swh = <0>;

After flashing with new boot.img, you have to run following command into your board.

# Enable
tinymix "SEC_MI2S_RX Audio Mixer MultiMedia1"  1
tinyplay /data/boot.wav

# Disable
tinymix "SEC_MI2S_RX Audio Mixer MultiMedia1"  0


Hi Deepak,

Thanks for your reply, will try it later.
But since from datasheet, both PRI_MI2S_RX and SEC_MI2S_RX are connected to external i2s pins through a MUX, can I config the devicetree as
qcom,msm-ext-pa = "primary";

and enable it as
tinymix "PRI_MI2S_RX Audio Mixer MultiMedia1" 1?


After modified as Deepak’s suggestions, kernel message will complain something like “GPIO 113 is already claimed by 0-0039”. It’s because two sensors are reuse pin 113 and 115 as interrupt pin.

I comment out “mpu6050@68 {}” and “avago@39 {}” block in apq8016-sbc.dtsi, then I2S works perfectly.


Do you know how to enable I2S on 40 pin expansion connector of Hikey Board for Android build?


Did anyone know how to enable the i2s path for hikey?

I connected the low speed expansion header to my i2s device but nothing working.