|
| 1 | +# SPDX-License-Identifier: BSD-3-Clause |
| 2 | +# Copyright, Linaro Ltd, 2025 |
| 3 | +include(`audioreach/audioreach.m4') |
| 4 | +include(`audioreach/stream-subgraph.m4') |
| 5 | +include(`audioreach/device-subgraph.m4') |
| 6 | +include(`util/route.m4') |
| 7 | +include(`util/mixer.m4') |
| 8 | +include(`audioreach/tokens.m4') |
| 9 | +# |
| 10 | +# Stream SubGraph for MultiMedia Playback |
| 11 | +# |
| 12 | +# ______________________________________________ |
| 13 | +# | Sub Graph 1 | |
| 14 | +# | [WR_SH] -> [PCM DEC] -> [PCM CONV] -> [LOG] |- Kcontrol |
| 15 | +# |______________________________________________| |
| 16 | +# |
| 17 | +dnl Playback MultiMedia1 |
| 18 | +STREAM_SG_PCM_ADD(audioreach/subgraph-stream-vol-playback.m4, FRONTEND_DAI_MULTIMEDIA1, |
| 19 | + `S16_LE', 48000, 48000, 2, 2, |
| 20 | + 0x00004001, 0x00004001, 0x00006001, `110000') |
| 21 | +dnl Playback MultiMedia2 |
| 22 | +STREAM_SG_PCM_ADD(audioreach/subgraph-stream-vol-playback.m4, FRONTEND_DAI_MULTIMEDIA2, |
| 23 | + `S16_LE', 48000, 48000, 2, 2, |
| 24 | + 0x00004002, 0x00004002, 0x00006010, `110000') |
| 25 | +dnl Capture MultiMedia3 |
| 26 | +STREAM_SG_PCM_ADD(audioreach/subgraph-stream-capture.m4, FRONTEND_DAI_MULTIMEDIA3, |
| 27 | + `S16_LE', 48000, 48000, 1, 2, |
| 28 | + 0x00004003, 0x00004003, 0x00006020, `110000') |
| 29 | +# |
| 30 | +# |
| 31 | +# Device SubGraph for WSA RX0 Backend |
| 32 | +# |
| 33 | +# ___________________ |
| 34 | +# | Sub Graph 2 | |
| 35 | +# Mixer -| [LOG] -> [WSA EP] | |
| 36 | +# |___________________| |
| 37 | +# |
| 38 | +dnl DEVICE_SG_ADD(stream, stream-dai-id, stream-index, |
| 39 | +dnl format, min-rate, max-rate, min-channels, max-channels, |
| 40 | +dnl interface-type, interface-index, data-format, |
| 41 | +dnl sg-iid-start, cont-iid-start, mod-iid-start |
| 42 | +dnl WCDRX Playback |
| 43 | +DEVICE_SG_ADD(audioreach/subgraph-device-codec-dma-playback.m4, `RX_CODEC_DMA_RX_0', RX_CODEC_DMA_RX_0, |
| 44 | + `S16_LE', 48000, 48000, 2, 2, |
| 45 | + LPAIF_INTF_TYPE_RXTX, CODEC_INTF_IDX_RX0, 0, DATA_FORMAT_FIXED_POINT, |
| 46 | + 0x00004011, 0x00004011, 0x00006110) |
| 47 | +dnl |
| 48 | +dnl Display port0 Playback |
| 49 | +DEVICE_SG_ADD(audioreach/subgraph-device-display-port-playback.m4, `DISPLAY_PORT_RX_0', DISPLAY_PORT_RX_0, |
| 50 | + `S16_LE', 48000, 48000, 2, 2, |
| 51 | + 0, 0, 0, DATA_FORMAT_FIXED_POINT, |
| 52 | + 0x00004012, 0x00004012, 0x00006120, `DISPLAY_PORT_RX_0') |
| 53 | + |
| 54 | +dnl WCDTX Capture |
| 55 | +DEVICE_SG_ADD(audioreach/subgraph-device-codec-dma-capture.m4, `TX_CODEC_DMA_TX_3', TX_CODEC_DMA_TX_3, |
| 56 | + `S16_LE', 48000, 48000, 1, 2, |
| 57 | + LPAIF_INTF_TYPE_RXTX, CODEC_INTF_IDX_TX3, 0, DATA_FORMAT_FIXED_POINT, |
| 58 | + 0x00004016, 0x00004016, 0x00006160) |
| 59 | + |
| 60 | +STREAM_DEVICE_PLAYBACK_MIXER(RX_CODEC_DMA_RX_0, ``RX_CODEC_DMA_RX_0'', ``MultiMedia1'', ``MultiMedia2'') |
| 61 | +STREAM_DEVICE_PLAYBACK_MIXER(DISPLAY_PORT_RX_0, ``DISPLAY_PORT_RX_0'', ``MultiMedia1'', ``MultiMedia2'') |
| 62 | + |
| 63 | +STREAM_DEVICE_PLAYBACK_ROUTE(RX_CODEC_DMA_RX_0, ``RX_CODEC_DMA_RX_0 Audio Mixer'', ``MultiMedia1, stream0.logger1'', ``MultiMedia2, stream1.logger1'') |
| 64 | +STREAM_DEVICE_PLAYBACK_ROUTE(DISPLAY_PORT_RX_0, ``DISPLAY_PORT_RX_0 Audio Mixer'', ``MultiMedia1, stream0.logger1'', ``MultiMedia2, stream1.logger1'') |
| 65 | + |
| 66 | +dnl STREAM_DEVICE_CAPTURE_MIXER(stream-index, kcontro1, kcontrol2... kcontrolN) |
| 67 | +STREAM_DEVICE_CAPTURE_MIXER(FRONTEND_DAI_MULTIMEDIA3, ``TX_CODEC_DMA_TX_3'' ) |
| 68 | + |
| 69 | +dnl STREAM_DEVICE_CAPTURE_ROUTE(stream-index, mixer-name, route1, route2.. routeN) |
| 70 | +STREAM_DEVICE_CAPTURE_ROUTE(FRONTEND_DAI_MULTIMEDIA3, ``MultiMedia3 Mixer'', ``TX_CODEC_DMA_TX_3, device120.logger1'') |
0 commit comments