The Firefly RK3288’s PCM mode works well, but I want to use I2S audio output with ALSA. I don’t know how to configure ES8323 I2S output mode. Please let me know the configuration for the I2S audio output.
Thanks.
?
The Firefly RK3288’s PCM mode works well, but I want to use I2S audio output with ALSA. I don’t know how to configure ES8323 I2S output mode. Please let me know the configuration for the I2S audio output.
Thanks.
?
en,I am also not goot at this.
You can try to view RKDocs,Good luck!
│ Symbol: SND_RK_SOC_ES8323 [=y] │
│ Type : tristate │
│ Prompt: SoC I2S Audio support for rockchip - ES8323 │
│ Location: │
│ → Device Drivers │
│ → Sound card support (SOUND [=y]) │
│ → Advanced Linux Sound Architecture (SND [=y]) │
│ (1) → ALSA for SoC audio support (SND_SOC [=y]) │
│ Defined at sound/soc/rockchip/Kconfig:54 │
│ Depends on: SOUND [=y] && !M68K && !UML && SND [=y] && SND_SOC [=y] && SND_RK_SOC [=y] │
│ Selects: SND_RK_SOC_I2S [=y] && SND_SOC_ES8323 [=y]
1828.png
As you know default kernel image that Firefly provides is ES8323 PCM output. In the kernel compile configuration, there are two options “SoC I2S Audio support for rockchip -ES8323” and “Soc I2S Audio Support for rockchip - ES8323 for PCM modem”. So you suggest that I should compile “SoC I2S Audio support for rockchip - ES8323” option. Is it right? Default kernel device driver in ALSA always provide PCM output and that’s why I was wondering about using I2S mode.
Yes!
i use the i2s mode and it works well 。
I compiled kernel with “SoC I2S Audio support for rockchip -ES8323” option. But I can’t see the I2S driver in Unbuntu. When I list with “aplay -l” command, I see the following devices. There is no I2S driver for ES8323. Could you help me how to setup I2S?
**** List of PLAYBACK Hardware Devices ****
card 0: RKES8323 [RK_ES8323], device 0: ES8323 PCM ES8323 HiFi-0
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: RKHDMISPDIF [RK-HDMI-SPDIF], device 0: SPDIF PCM Playback rk-hdmi-spdif-hifi-0
Subdevices: 1/1
Subdevice #0: subdevice #0
As I know , the ES8323 PCM mode & I2S mode are the different serial audio data interface.
it is just a transport type between MCU and Audio codec .
you can check it on the document of ES8323_DS.pdf which can be downloaded on our website.
and here :
“The device provides four formats of serial audio data interface to the input of the DAC or output from the ADC through LRCK, SCLK and SDIN/SDOUT pins. The four formats are I2S, left justified, right justified and DSP/PCM mode.”
here is the figure of the I2S mode format:

and the pcm mode :

and both of them are delivered the PCM DATA .
So ,I guees the “PCM” from the “aplay -l” command means the “PCM DATA”, not the interface。
however, I’m not very sure about it .please tell me if I was wrong.
I try to connect my PCM5102 DAC through I2S into Firefly Rk3288’s GPIO6 I2S pin. But I still can’t connect I2S device from GPIO6 I2S at Firefly. Stereo output at Firefly is working but I want a i2s output from Firefly. When I see “/proc/i2s_reg”, there is no register values, so I think i2s device driver is not loaded. I2S device driver file which is “kernel/sound/soc/rockchip/rk30_i2s.c” is compiled, but I think it is not loaded. How can I output i2s signal from GPIO6 at Firefly to my PCM5102 I2S device?
hi , the firefly board use the es8323 as default Aduio DAC , it’s also connect to the I2S0(GPIO6). so.you would do nothing to get I2S out from I2S0(GPIO6).
Hi,
In the datasheet of RK3288 it says that PCM and I2S cannot be used together. I think somehow you should disable the built in from the kernel and run through I2S. As far as I see it is 8ch I2S with outs and ins.
Well can you check lsmod?
Regards.
This article has helped me look at the problem from different perspectives, and I’ve gained a lot. I’m sharing the Valid practice PRINCE2-Agile-Foundation exam online resources for free—best of luck to you!