Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit af656061 authored by Derek Chen's avatar Derek Chen
Browse files

configs: msmnile_au: add routing for car streams

Update audio policy configuration and mixer paths
to support routing of the car streams to bus devices
for automotive platforms.
Add audio HAL maj version 3 for automotive.
Enable auto hal audio extension feature flag.

Change-Id: Ib35e1e531fcb305b328767fb53bfcb403aaa5d21
parent 13c0c1fa
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2014, 2016-2018, The Linux Foundation. All rights reserved. -->
<!-- Copyright (c) 2014, 2016-2019, The Linux Foundation. All rights reserved. -->
<!--                                                                        -->
<!-- Redistribution and use in source and binary forms, with or without     -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -29,6 +29,10 @@
        <device name="SND_DEVICE_OUT_HANDSET" acdb_id="78"/>
        <device name="SND_DEVICE_OUT_SPEAKER" acdb_id="78"/>
        <device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="78"/>
        <device name="SND_DEVICE_OUT_BUS_MEDIA" acdb_id="78"/>
        <device name="SND_DEVICE_OUT_BUS_SYS" acdb_id="78"/>
        <device name="SND_DEVICE_OUT_BUS_NAV" acdb_id="14"/>
        <device name="SND_DEVICE_OUT_BUS_PHN" acdb_id="94"/>
        <device name="SND_DEVICE_OUT_BT_SCO" acdb_id="94"/>
        <device name="SND_DEVICE_OUT_BT_SCO_WB" acdb_id="94"/>
        <device name="SND_DEVICE_OUT_BT_A2DP" acdb_id="78"/>
@@ -36,6 +40,7 @@
        <device name="SND_DEVICE_OUT_VOICE_SPEAKER" acdb_id="94"/>
        <device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="11"/>
        <device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="11"/>
        <device name="SND_DEVICE_IN_BUS" acdb_id="11"/>
        <device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="11"/>
        <device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" acdb_id="95"/>
        <device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" acdb_id="95"/>
+72 −5
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@
    <!-- Global configuration Decalaration -->
    <globalConfiguration speaker_drc_enabled="true"/>


    <!-- Modules section:
        There is one section per audio HW module present on the platform.
        Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.
@@ -33,6 +32,11 @@
        “devicePorts”: a list of device descriptors for all input and output devices accessible via this
        module.
        This contains both permanently attached devices and removable devices.
            "gain": constraints applied to the millibel values:
                - maxValueMB >= minValueMB
                - defaultValueMB >= minValueMB && defaultValueMB <= maxValueMB
                - (maxValueMB - minValueMB) % stepValueMB == 0
                - (defaultValueMB - minValueMB) % stepValueMB == 0
        “mixPorts”: listing all output and input streams exposed by the audio HAL
        “routes”: list of possible connections between input and output devices or between stream and
        devices.
@@ -47,18 +51,37 @@
    -->
    <modules>
        <!-- Primary Audio HAL -->
        <module name="primary" halVersion="2.0">
        <module name="primary" halVersion="3.0">
            <attachedDevices>
                <item>Earpiece</item>
                <item>Speaker</item>
                <item>Media Bus</item>
                <item>Sys Notification Bus</item>
                <item>Nav Guidance Bus</item>
                <item>Phone Bus</item>
                <item>Telephony Tx</item>
                <item>Built-In Mic</item>
                <item>Built-In Back Mic</item>
                <item>FM Tuner</item>
                <item>Telephony Rx</item>
            </attachedDevices>
            <defaultOutputDevice>Speaker</defaultOutputDevice>
            <defaultOutputDevice>Media Bus</defaultOutputDevice>
            <mixPorts>
                <mixPort name="media" role="source"
                         flags="AUDIO_OUTPUT_FLAG_PRIMARY">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                </mixPort>
                <mixPort name="sys_notification" role="source">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                </mixPort>
                <mixPort name="nav_guidance" role="source">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                </mixPort>
                <mixPort name="phone" role="source">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                </mixPort>
                <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
@@ -197,6 +220,42 @@

            <devicePorts>
                <!-- Output devices declaration, i.e. Sink DEVICE PORT -->
                <devicePort tagName="Media Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
                        address="BUS00_MEDIA">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                    <gains>
                        <gain name="" mode="AUDIO_GAIN_MODE_JOINT"
                                minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
                    </gains>
                </devicePort>
                <devicePort tagName="Sys Notification Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
                        address="BUS01_SYS_NOTIFICATION">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                    <gains>
                        <gain name="" mode="AUDIO_GAIN_MODE_JOINT"
                                minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
                    </gains>
                </devicePort>
                <devicePort tagName="Nav Guidance Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
                        address="BUS02_NAV_GUIDANCE">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                    <gains>
                        <gain name="" mode="AUDIO_GAIN_MODE_JOINT"
                                minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
                    </gains>
                </devicePort>
                <devicePort tagName="Phone Bus" role="sink" type="AUDIO_DEVICE_OUT_BUS"
                        address="BUS03_PHONE">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                    <gains>
                        <gain name="" mode="AUDIO_GAIN_MODE_JOINT"
                                minValueMB="-6000" maxValueMB="600" defaultValueMB="0" stepValueMB="100"/>
                    </gains>
                </devicePort>
                <devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
                   <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                            samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
@@ -295,6 +354,14 @@
            </devicePorts>
            <!-- route declaration, i.e. list all available sources for a given sink -->
            <routes>
                <route type="mix" sink="Media Bus"
                       sources="media,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
                <route type="mix" sink="Sys Notification Bus"
                       sources="sys_notification"/>
                <route type="mix" sink="Nav Guidance Bus"
                       sources="nav_guidance"/>
                <route type="mix" sink="Phone Bus"
                       sources="phone"/>
                <route type="mix" sink="Earpiece"
                       sources="primary output,raw,deep_buffer,direct_pcm,compressed_offload,voip_rx,mmap_no_irq_out"/>
                <route type="mix" sink="Speaker"
+28 −1
Original line number Diff line number Diff line
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.    -->
<!-- Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.    -->
<!--                                                                        -->
<!-- Redistribution and use in source and binary forms, with or without     -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -1387,6 +1387,27 @@
        <path name="compress-offload-playback9" />
    </path>

    <!-- The following use cases are used for car streams  -->
    <path name="media-playback">
        <ctl name="TERT_TDM_RX_0 Channels" value="Six" />
        <ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia1" value="1" />
    </path>

    <path name="sys-notification-playback">
        <ctl name="TERT_TDM_RX_0 Channels" value="Six" />
        <ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia5" value="1" />
    </path>

    <path name="nav-guidance-playback">
        <ctl name="TERT_TDM_RX_1 Channels" value="One" />
        <ctl name="TERT_TDM_RX_1 Audio Mixer MultiMedia2" value="1" />
    </path>

    <path name="phone-playback">
        <ctl name="TERT_TDM_RX_2 Channels" value="One" />
        <ctl name="TERT_TDM_RX_2 Audio Mixer MultiMedia10" value="1" />
    </path>

    <path name="audio-record">
        <ctl name="TERT_TDM_TX_0 Channels" value="One" />
        <ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
@@ -1957,9 +1978,15 @@
    </path>

    <path name="speaker-adp">
        <!--ctl name="TERT_TDM_RX_0 Channels" value="Six" /-->
    </path>

    <path name="speaker-custom">
        <!--ctl name="TERT_TDM_RX_0 Channels" value="Six" /-->
    </path>

    <path name="bus-speaker">
        <!--ctl name="TERT_TDM_RX_0 Channels" value="Six" /-->
    </path>

   <path name="sidetone-iir">
+28 −1
Original line number Diff line number Diff line
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.    -->
<!-- Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.    -->
<!--                                                                        -->
<!-- Redistribution and use in source and binary forms, with or without     -->
<!-- modification, are permitted provided that the following conditions are -->
@@ -1383,6 +1383,27 @@
        <path name="compress-offload-playback9" />
    </path>

    <!-- The following use cases are used for car streams  -->
    <path name="media-playback">
        <ctl name="TERT_TDM_RX_0 Channels" value="Six" />
        <ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia1" value="1" />
    </path>

    <path name="sys-notification-playback">
        <ctl name="TERT_TDM_RX_0 Channels" value="Six" />
        <ctl name="TERT_TDM_RX_0 Audio Mixer MultiMedia5" value="1" />
    </path>

    <path name="nav-guidance-playback">
        <ctl name="TERT_TDM_RX_1 Channels" value="One" />
        <ctl name="TERT_TDM_RX_1 Audio Mixer MultiMedia2" value="1" />
    </path>

    <path name="phone-playback">
        <ctl name="TERT_TDM_RX_2 Channels" value="One" />
        <ctl name="TERT_TDM_RX_2 Audio Mixer MultiMedia10" value="1" />
    </path>

    <path name="audio-record">
        <ctl name="TERT_TDM_TX_0 Channels" value="One" />
        <ctl name="MultiMedia1 Mixer TERT_TDM_TX_0" value="1" />
@@ -1953,9 +1974,15 @@
    </path>

    <path name="speaker-adp">
        <!--ctl name="TERT_TDM_RX_0 Channels" value="Six" /-->
    </path>

    <path name="speaker-custom">
        <!--ctl name="TERT_TDM_RX_0 Channels" value="Six" /-->
    </path>

    <path name="bus-speaker">
        <!--ctl name="TERT_TDM_RX_0 Channels" value="Six" /-->
    </path>

   <path name="sidetone-iir">
+10 −1
Original line number Diff line number Diff line
@@ -69,8 +69,8 @@ AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := false
AUDIO_FEATURE_ENABLED_BATTERY_LISTENER := false
##AUDIO_FEATURE_FLAGS

AUDIO_FEATURE_ENABLED_AUTO_HAL := true
AUDIO_FEATURE_ENABLED_EXT_HW_PLUGIN := true
AUDIO_FEATURE_ENABLED_BUS_ADDRESS := true
AUDIO_FEATURE_ENABLED_AUDIO_CONTROL_HAL := true
##AUTOMOTIVE_AUDIO_FEATURE_FLAGS

@@ -110,6 +110,10 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
    vendor/qcom/opensource/audio-hal/primary-hal/configs/msmnile_au/listen_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/listen_platform_info.xml

#Audio HAL version
PRODUCT_PROPERTY_OVERRIDES += \
vendor.audio.hal.maj.version=3

# Reduce client buffer size for fast audio output tracks
PRODUCT_PROPERTY_OVERRIDES += \
    af.fast_track_multiplier=1
@@ -273,3 +277,8 @@ PRODUCT_PACKAGES += \
    android.hardware.audio@4.0-impl \
    android.hardware.audio.effect@4.0 \
    android.hardware.audio.effect@4.0-impl

# for HIDL related audiocontrol packages
PRODUCT_PACKAGES += \
    vendor.qti.hardware.automotive.audiocontrol@1.0-service \
    android.hardware.automotive.audiocontrol@1.0