I’d like to use an i2s microphone with my Rock-5T board.
I’ve noticed the following labelled in the user manual for the 40pin GPIO header.
| I2S1_SDO2_M0 |
|---|
| I2S1_SDO1_M0 |
| I2S1_MCLK_M1 |
| I2S1_SCLK_M1 |
| I2S2_SCLK_M1 |
| I2S2_SDI_M1 |
| I2S2_SDO_M1 |
Which of these can I use for an i2s microphone input, and how can I enable it?
radxa@rock-5t:~/VideoPlayer$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 3: rockchiphdmiin [rockchip,hdmiin], device 0: rockchip,hdmiin i2s-hifi-0 [rockchip,hdmiin i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 4: rockchipes8316 [rockchip-es8316], device 0: dailink-multicodecs ES8316 HiFi-0 [dailink-multicodecs ES8316 HiFi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
radxa@rock-5t:~/VideoPlayer$ gst-device-monitor-1.0
Probing devices…
Device found:
name : Built-in Audio Stereo
class : Audio/Sink
caps : audio/x-raw, layout=interleaved, format={ (string)S24_32LE, (string)S16LE }, rate=[ 16000, 48000 ], channels=2
properties:
alsa.card = 4
alsa.card_name = rockchip-es8316
alsa.class = generic
alsa.device = 0
alsa.driver_name = snd_soc_rockchip_multicodecs
alsa.id = dailink-multicodecs ES8316 HiFi-0
alsa.long_card_name = rockchip-es8316
alsa.name = dailink-multicodecs ES8316 HiFi-0
alsa.resolution_bits = 16
alsa.subclass = generic-mix
alsa.subdevice = 0
alsa.subdevice_name = subdevice #0
api.alsa.card.longname = rockchip-es8316
api.alsa.card.name = rockchip-es8316
api.alsa.path = hw:4
api.alsa.pcm.card = 4
api.alsa.pcm.stream = playback
audio.channels = 2
audio.position = FL,FR
card.profile.device = 3
device.api = alsa
device.class = sound
device.id = 41
device.profile.description = Stereo
device.profile.name = stereo-fallback
device.routes = 2
factory.name = api.alsa.pcm.sink
media.class = Audio/Sink
node.description = Built-in Audio Stereo
node.name = alsa_output.platform-es8316-sound.stereo-fallback
node.nick = dailink-multicodecs ES8316 HiFi-0
node.pause-on-idle = false
object.path = alsa:pcm:4:hw:4:playback
priority.driver = 1000
priority.session = 1000
factory.id = 18
clock.quantum-limit = 8192
client.id = 34
node.driver = true
factory.mode = merge
audio.adapt.follower =
library.name = audioconvert/libspa-audioconvert
object.id = 50
object.serial = 50
gst-launch-1.0 ... ! pipewiresink target-object=50
Device found:
name : Built-in Audio Stereo
class : Audio/Source
caps : audio/x-raw, layout=interleaved, format={ (string)S24_32LE, (string)S16LE }, rate=[ 16000, 48000 ], channels=2
properties:
alsa.card = 4
alsa.card_name = rockchip-es8316
alsa.class = generic
alsa.device = 0
alsa.driver_name = snd_soc_rockchip_multicodecs
alsa.id = dailink-multicodecs ES8316 HiFi-0
alsa.long_card_name = rockchip-es8316
alsa.name = dailink-multicodecs ES8316 HiFi-0
alsa.resolution_bits = 16
alsa.subclass = generic-mix
alsa.subdevice = 0
alsa.subdevice_name = subdevice #0
api.alsa.card.longname = rockchip-es8316
api.alsa.card.name = rockchip-es8316
api.alsa.path = hw:4
api.alsa.pcm.card = 4
api.alsa.pcm.stream = capture
audio.channels = 2
audio.position = FL,FR
card.profile.device = 2
device.api = alsa
device.class = sound
device.id = 41
device.profile.description = Stereo
device.profile.name = stereo-fallback
device.routes = 1
factory.name = api.alsa.pcm.source
media.class = Audio/Source
node.description = Built-in Audio Stereo
node.name = alsa_input.platform-es8316-sound.stereo-fallback
node.nick = dailink-multicodecs ES8316 HiFi-0
node.pause-on-idle = false
object.path = alsa:pcm:4:hw:4:capture
priority.driver = 2000
priority.session = 2000
factory.id = 18
clock.quantum-limit = 8192
client.id = 34
node.driver = true
factory.mode = split
audio.adapt.follower =
library.name = audioconvert/libspa-audioconvert
object.id = 51
object.serial = 51
gst-launch-1.0 pipewiresrc target-object=51 ! ...