Hi All,
I am having our custom board which is having imx6d processor.In this we connected Telephony chip(Le9641) which will receive and transmit PCM samples.It is having internal audio processing units which will convert analog voice signals to raw PCM samples and vice versa.It requires clock from processor.
Now i want to capture and send PCM data from/to our chip.For that i made the following changes.
>>Configured SSI as i2s-master.
>>registered dummy sound card.
My dts entries are as follows.
sound{
compatible = "fsl,imx-dummy";
model = "imx6q-dummy";
ssi-controller = <&ssi1>;
mux-int-port = <5>;
mux-ext-port = <2>;
};
&ssi1 {
fsl,mode = "i2s-master";
status = "okay";
};
&audmux {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_audmux_3>;
status = "okay";
};
pinctrl_audmux_3: audmux-3 {
fsl,pins = <
MX6QDL_PAD_KEY_ROW1__AUD5_RXD 0x130b0
MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0
MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x110b0
MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0
>;
};
In DAI format i am using "SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |SND_SOC_DAIFMT_CBS_CFS"
I am able to load my driver and dummy sound card also registering.But i am not able get the clock.Can any one help me what i am missing?
Thanks.
Hi saisurya
if you wish just to test hardware, it may be more suitable to capture
raw data with SDK audio test
i.MX 6Series Platform SDK : Bare-metal SDK
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi igorpadykov ,
I have posted my question at here imx7 how to capture raw PCM samples from I2S and you answered me. but after I changed an error, your answer is not there. but I can read your answer in my email. after read it. I have a little confuse:
my question is that :
do you have linux user space code to read I2S data directly? the code at here (GitHub - flit/imx6_platform_sdk: Bare metal SDK for i.MX6 Q/D/DL/S/SL ) It seems it not running on linux , it's non-system code,is it right? if the code is there for linux , which file can be change to read i2s directly?
In my application. imx7 i2s as slave mode(technexion pico-pi-imx7 board), my device is spi master to continuously send data to imx7 i2s (same as spi data. but imx7 spi salve not works well, so I try to use i2s pcm. I use raspberry pi pcm as spi slave worked well before, but raspberry can not be productions,so we choose imx7 to try).
Thank you very much.