Arduino ventuno (#55)

audioreach: add support for Arduino VENTUNO board
    
Arduino VENTUNO has 1xHDMI, 1xDP, Headset(Mic and speakers), LineOut and
    EarOut connectors.
    
    Add support for all of these in this tplg firmware.
This commit is contained in:
Srinivas Kandagatla 2026-04-02 10:29:56 +01:00 committed by GitHub
commit 58d9fc741c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 97 additions and 0 deletions

View file

@ -3,6 +3,7 @@
cmake_minimum_required(VERSION 3.10)
# Array of "input-file-name;output-file-name;"
set(TPLGS
"arduino-monza\;arduino-monza\;qcom/qcs8300\;"
"LEMANS-EVK\;LEMANS-EVK\;qcom/sa8775p\;"
"MONACO-EVK\;MONACO-EVK\;qcom/qcs8300\;"
"Qualcomm-RB5-WSA8815-Speakers-DMIC0\;Qualcomm-RB5-WSA8815-Speakers-DMIC0\;qcom/sm8250\;"

86
arduino-monza.m4 Normal file
View file

@ -0,0 +1,86 @@
# Copyright, Linaro Ltd, 2023
# SPDX-License-Identifier: BSD-3-Clause
include(`audioreach/audioreach.m4')
include(`audioreach/stream-subgraph.m4')
include(`audioreach/device-subgraph.m4')
include(`util/route.m4')
include(`util/mixer.m4')
include(`audioreach/tokens.m4')
#
# Stream SubGraph for MultiMedia Playback
#
# ______________________________________________
# | Sub Graph 1 |
# | [WR_SH] -> [PCM DEC] -> [PCM CONV] -> [LOG] |- Kcontrol
# |______________________________________________|
#
dnl Playback MultiMedia1 Headset/Lineout/Earout.
STREAM_SG_PCM_ADD(audioreach/subgraph-stream-vol-playback.m4, FRONTEND_DAI_MULTIMEDIA1,
`S16_LE', 48000, 48000, 2, 2,
0x00004001, 0x00004001, 0x00006001, `110000')
dnl Playback MultiMedia2 HDMI
STREAM_SG_PCM_ADD(audioreach/subgraph-stream-vol-playback.m4, FRONTEND_DAI_MULTIMEDIA2,
`S16_LE', 48000, 48000, 2, 2,
0x00004002, 0x00004002, 0x00006010, `110000')
dnl Display Port
STREAM_SG_PCM_ADD(audioreach/subgraph-stream-vol-playback.m4, FRONTEND_DAI_MULTIMEDIA3,
`S16_LE', 48000, 48000, 2, 2,
0x00004003, 0x00004003, 0x00006020, `110000')
dnl Capture MultiMedia4 Headset Mic
STREAM_SG_PCM_ADD(audioreach/subgraph-stream-capture.m4, FRONTEND_DAI_MULTIMEDIA4,
`S16_LE', 48000, 48000, 1, 2,
0x00004004, 0x00004004, 0x00006030, `110000')
dnl External Mic
STREAM_SG_PCM_ADD(audioreach/subgraph-stream-capture.m4, FRONTEND_DAI_MULTIMEDIA5,
`S16_LE', 48000, 48000, 1, 2,
0x00004005, 0x00004005, 0x00006040, `110000')
dnl
#
#
# Device SubGraph for WSA RX0 Backend
#
# ___________________
# | Sub Graph 2 |
# Mixer -| [LOG] -> [WSA EP] |
# |___________________|
#
dnl DEVICE_SG_ADD(stream, stream-dai-id, stream-index,
dnl format, min-rate, max-rate, min-channels, max-channels,
dnl interface-type, interface-index, data-format,
dnl sg-iid-start, cont-iid-start, mod-iid-start
dnl LPI QUAD Playback
DEVICE_SG_ADD(audioreach/subgraph-device-i2s-playback.m4, `LPI RX0', LPI_MI2S_RX_0,
`S16_LE', 48000, 48000, 2, 2,
LPAIF_INTF_TYPE_RXTX, I2S_INTF_TYPE_PRIMARY, SD_LINE_IDX_I2S_SD0, DATA_FORMAT_FIXED_POINT,
0x00004006, 0x00004006, 0x00006060, `LPI_MI2S_RX_0')
dnl
dnl LPI QUAD Capture //FIXME.. WHY SD1 ??
DEVICE_SG_ADD(audioreach/subgraph-device-i2s-capture.m4, `LPI TX0', LPI_MI2S_TX_0,
`S16_LE', 48000, 48000, 1, 2,
LPAIF_INTF_TYPE_RXTX, I2S_INTF_TYPE_PRIMARY, SD_LINE_IDX_I2S_SD1, DATA_FORMAT_FIXED_POINT,
0x00004008, 0x00004008, 0x00006080, `LPI_MI2S_TX_0', `LPI_MI2S_TX_0')
dnl LPI MI2S4 using WSA DMA
DEVICE_SG_ADD(audioreach/subgraph-device-i2s-playback.m4, `LPI RX4', LPI_MI2S_RX_4,
`S16_LE', 48000, 48000, 2, 2,
LPAIF_INTF_TYPE_WSA2, I2S_INTF_TYPE_PRIMARY, SD_LINE_IDX_I2S_SD0, DATA_FORMAT_FIXED_POINT,
0x00004009, 0x00004009, 0x00006070, `LPI_MI2S_RX_4')
STREAM_DEVICE_PLAYBACK_MIXER(LPI_MI2S_RX_0, ``LPI_MI2S_RX_0'', ``MultiMedia1'', ``MultiMedia2'', ``MultiMedia3'')
STREAM_DEVICE_PLAYBACK_MIXER(LPI_MI2S_RX_4, ``LPI_MI2S_RX_4'', ``MultiMedia1'', ``MultiMedia2'', ``MultiMedia3'')
STREAM_DEVICE_PLAYBACK_ROUTE(LPI_MI2S_RX_0, ``LPI_MI2S_RX_0 Audio Mixer'',
``MultiMedia1, stream0.logger1'', ``MultiMedia2, stream1.logger1'', ``MultiMedia3, stream2.logger1'')
STREAM_DEVICE_PLAYBACK_ROUTE(LPI_MI2S_RX_4, ``LPI_MI2S_RX_4 Audio Mixer'',
``MultiMedia1, stream0.logger1'', ``MultiMedia2, stream1.logger1'', ``MultiMedia3, stream2.logger1'')
dnl STREAM_DEVICE_CAPTURE_MIXER(stream-index, kcontro1, kcontrol2... kcontrolN)
STREAM_DEVICE_CAPTURE_MIXER(FRONTEND_DAI_MULTIMEDIA4, ``LPI_MI2S_TX_0'')
STREAM_DEVICE_CAPTURE_MIXER(FRONTEND_DAI_MULTIMEDIA5, ``LPI_MI2S_TX_0'')
dnl STREAM_DEVICE_CAPTURE_ROUTE(stream-index, mixer-name, route1, route2.. routeN)
STREAM_DEVICE_CAPTURE_ROUTE(FRONTEND_DAI_MULTIMEDIA4, ``MultiMedia4 Mixer'', ``LPI_MI2S_TX_0, device138.logger1'')
STREAM_DEVICE_CAPTURE_ROUTE(FRONTEND_DAI_MULTIMEDIA5, ``MultiMedia5 Mixer'', ``LPI_MI2S_TX_0, device138.logger1'')

View file

@ -257,6 +257,16 @@ define(`DISPLAY_PORT_RX_4', `132') dnl
define(`DISPLAY_PORT_RX_5', `133') dnl
define(`DISPLAY_PORT_RX_6', `134') dnl
define(`DISPLAY_PORT_RX_7', `135') dnl
define(`LPI_MI2S_RX_0', `137') dnl
define(`LPI_MI2S_TX_0', `138') dnl
define(`LPI_MI2S_RX_1', `139') dnl
define(`LPI_MI2S_TX_1', `140') dnl
define(`LPI_MI2S_RX_2', `141') dnl
define(`LPI_MI2S_TX_2', `142') dnl
define(`LPI_MI2S_RX_3', `143') dnl
define(`LPI_MI2S_TX_3', `144') dnl
define(`LPI_MI2S_RX_4', `145') dnl
define(`LPI_MI2S_TX_4', `146') dnl
define(`SND_SOC_AR_TPLG_FE_BE_GRAPH_CTL_MIX', `256') dnl
define(`SND_SOC_AR_TPLG_VOL_CTL', `257') dnl
define(`NONE_IID', `0x0') dnl