Enable I2S audio path


#1

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.

Thanks,
Kevin


#2

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

Regards,
Deepak


#3

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?


#4

Update:

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.

Thanks,
Kevin


#5

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

Thanks,
NY


#6

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.