[
  {
    "path": "Android.mk",
    "content": "#\n# Copyright (C) 2016 The CyanogenMod Project\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\nLOCAL_PATH := $(call my-dir)\n\nifeq ($(TARGET_DEVICE),bacon)\n\ninclude $(call all-subdir-makefiles,$(LOCAL_PATH))\n\nendif\n"
  },
  {
    "path": "AndroidProducts.mk",
    "content": "#\n# Copyright (C) 2018-2019 The LineageOS Project\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nPRODUCT_MAKEFILES := \\\n    $(LOCAL_DIR)/lineage_bacon.mk\n\nCOMMON_LUNCH_CHOICES := \\\n    lineage_bacon-eng \\\n    lineage_bacon-userdebug\n"
  },
  {
    "path": "BoardConfig.mk",
    "content": "#\n# Copyright (C) 2016 The CyanogenMod Project\n# Copyright (C) 2017 The LineageOS Project\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n# inherit from Oppo msm8974-common\n-include device/oppo/msm8974-common/BoardConfigCommon.mk\n\nDEVICE_PATH := device/oneplus/bacon\n\n# Kernel\nBOARD_KERNEL_CMDLINE := androidboot.hardware=bacon ehci-hcd.park=3 androidboot.bootdevice=msm_sdcc.1\nTARGET_KERNEL_CONFIG := lineageos_bacon_defconfig\nTARGET_KERNEL_SOURCE := kernel/oppo/msm8974\n\n# Assert\nTARGET_OTA_ASSERT_DEVICE := bacon,A0001\n\n# Audio\nAUDIO_FEATURE_ENABLED_LOW_LATENCY_CAPTURE := true\nAUDIO_FEATURE_LOW_LATENCY_PRIMARY := true\n\n# Bluetooth\nBOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth\n\n# Display\nTARGET_SCREEN_DENSITY := 480\n\n# Filesystem\nBOARD_BOOTIMAGE_PARTITION_SIZE     := 16777216\nBOARD_CACHEIMAGE_PARTITION_SIZE    := 536870912\nBOARD_PERSISTIMAGE_PARTITION_SIZE  := 33554432\nBOARD_RECOVERYIMAGE_PARTITION_SIZE := 16777216\nBOARD_ROOT_EXTRA_FOLDERS := firmware persist\nBOARD_SYSTEMIMAGE_PARTITION_SIZE   := 1388314624\nBOARD_USERDATAIMAGE_PARTITION_SIZE := 13271448576\nBOARD_USERDATAEXTRAIMAGE_PARTITION_SIZE := 59914792960\nBOARD_USERDATAEXTRAIMAGE_PARTITION_NAME := 64G\n\nTARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs\n\n# Init\nSOONG_CONFIG_OPPO_MSM8974_INIT_DEVICE_LIB := //$(DEVICE_PATH):libinit_bacon\n\n# ODM Manifests\nODM_MANIFEST_SKUS := jdi sharp truly\nODM_MANIFEST_JDI_FILES := $(DEVICE_PATH)/odm_manifest_jdi.xml\nODM_MANIFEST_SHARP_FILES := $(DEVICE_PATH)/odm_manifest_sharp.xml\nODM_MANIFEST_TRULY_FILES := $(DEVICE_PATH)/odm_manifest_truly.xml\n\n# Properties\nTARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop\n\n# Recovery\nTARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.recovery\n\n# SELinux\nBOARD_SEPOLICY_DIRS += \\\n    $(DEVICE_PATH)/sepolicy\n\n# TWRP\nifeq ($(WITH_TWRP),true)\nTARGET_RECOVERY_DEVICE_DIRS += $(DEVICE_PATH)/twrp\nBOARD_HAS_NO_REAL_SDCARD := true\nRECOVERY_SDCARD_ON_DATA := true\nendif\n\n# Inherit from the proprietary version\ninclude vendor/oneplus/bacon/BoardConfigVendor.mk\n"
  },
  {
    "path": "MODULE_LICENSE_APACHE2",
    "content": ""
  },
  {
    "path": "README.md",
    "content": "# Device Tree for OnePlus One (bacon)\n\nCopyright 2014-2016, The CyanogenMod Project\nCopyright 2017-2018, The LineageOS Project\n\nThe OnePlus One (codenamed _\"bacon\"_) is a flagship smartphone from OnePlus.\nIt was released in June 2014.\n\n| Basic                   | Spec Sheet                                             |\n|------------------------:|:-------------------------------------------------------|\n| Chipset                 | Qualcomm MSM8974AC Snapdragon 801                      |\n| CPU                     | Quad-core 2.5 GHz Krait 400                            |\n| GPU                     | Adreno 330                                             |\n| RAM                     | 3 GB                                                   |\n| Storage                 | 16/64 GB                                               |\n| Battery                 | Non-removable Li-Po 3100 mAh                           |\n| Dimensions              | 152.9 x 75.9 x 8.9 mm                                  |\n| Display                 | IPS, 1080 x 1920 pixels, 5.5 inches (~401 ppi density) |\n| Rear camera             | 13 MP (f/2.0, 1/3\", 1.12µm, AF), Dual LED flash        |\n| Front camera            | 5 MP (f/2.0), No flash                                 |\n| Shipped Android Version | 4.4.2                                                  |\n\n<img src=\"https://wiki.lineageos.org/images/devices/bacon.png\" width=\"40%\">\n"
  },
  {
    "path": "audio/audio_platform_info.xml",
    "content": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<!-- Copyright (c) 2014, The Linux Foundation. All rights reserved.         -->\n<!--                                                                        -->\n<!-- Redistribution and use in source and binary forms, with or without     -->\n<!-- modification, are permitted provided that the following conditions are -->\n<!-- met:                                                                   -->\n<!--     * Redistributions of source code must retain the above copyright   -->\n<!--       notice, this list of conditions and the following disclaimer.    -->\n<!--     * Redistributions in binary form must reproduce the above          -->\n<!--       copyright notice, this list of conditions and the following      -->\n<!--       disclaimer in the documentation and/or other materials provided  -->\n<!--       with the distribution.                                           -->\n<!--     * Neither the name of The Linux Foundation nor the names of its    -->\n<!--       contributors may be used to endorse or promote products derived  -->\n<!--       from this software without specific prior written permission.    -->\n<!--                                                                        -->\n<!-- THIS SOFTWARE IS PROVIDED \"AS IS\" AND ANY EXPRESS OR IMPLIED           -->\n<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF   -->\n<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->\n<!-- ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->\n<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->\n<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF   -->\n<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        -->\n<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  -->\n<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->\n<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          -->\n<audio_platform_info>\n    <acdb_ids>\n        <device name=\"SND_DEVICE_IN_CAMCORDER_MIC\" acdb_id=\"35\" />\n        <device name=\"SND_DEVICE_IN_HANDSET_MIC\" acdb_id=\"40\" />\n        <device name=\"SND_DEVICE_IN_HANDSET_STEREO_DMIC\" acdb_id=\"35\" />\n        <device name=\"SND_DEVICE_IN_HEADSET_MIC\" acdb_id=\"8\" />\n        <device name=\"SND_DEVICE_IN_SPEAKER_MIC\" acdb_id=\"42\" />\n        <device name=\"SND_DEVICE_IN_SPEAKER_STEREO_DMIC\" acdb_id=\"35\" />\n        <device name=\"SND_DEVICE_IN_VOICE_DMIC\" acdb_id=\"41\" />\n        <device name=\"SND_DEVICE_IN_VOICE_REC_DMIC_STEREO\" acdb_id=\"35\" />\n        <device name=\"SND_DEVICE_IN_VOICE_REC_MIC\" acdb_id=\"119\" />\n        <device name=\"SND_DEVICE_IN_VOICE_SPEAKER_DMIC\" acdb_id=\"42\" />\n        <device name=\"SND_DEVICE_OUT_HANDSET\" acdb_id=\"7\" />\n        <device name=\"SND_DEVICE_OUT_HEADPHONES\" acdb_id=\"10\" />\n        <device name=\"SND_DEVICE_OUT_LINE\" acdb_id=\"10\"/>\n        <device name=\"SND_DEVICE_OUT_SPEAKER\" acdb_id=\"15\" />\n        <device name=\"SND_DEVICE_OUT_SPEAKER_AND_LINE\" acdb_id=\"10\"/>\n        <device name=\"SND_DEVICE_OUT_VOICE_HANDSET\" acdb_id=\"7\" />\n        <device name=\"SND_DEVICE_OUT_VOICE_HEADPHONES\" acdb_id=\"10\" />\n        <device name=\"SND_DEVICE_OUT_VOICE_LINE\" acdb_id=\"10\"/>\n        <device name=\"SND_DEVICE_OUT_VOICE_SPEAKER\" acdb_id=\"15\" />\n    </acdb_ids>\n\n    <backend_names>\n        <!-- empty -->\n    </backend_names>\n\n    <pcm_ids>\n        <!-- empty -->\n    </pcm_ids>\n\n    <device_names>\n        <!-- empty -->\n    </device_names>\n</audio_platform_info>\n"
  },
  {
    "path": "audio/audio_policy_configuration.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<!-- Copyright (c) 2016-2017, The Linux Foundation. All rights reserved\n     Not a Contribution.\n-->\n<!-- Copyright (C) 2016 The Android Open Source Project\n\n     Licensed under the Apache License, Version 2.0 (the \"License\");\n     you may not use this file except in compliance with the License.\n     You may obtain a copy of the License at\n\n          http://www.apache.org/licenses/LICENSE-2.0\n\n     Unless required by applicable law or agreed to in writing, software\n     distributed under the License is distributed on an \"AS IS\" BASIS,\n     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n     See the License for the specific language governing permissions and\n     limitations under the License.\n-->\n\n<audioPolicyConfiguration version=\"1.0\" xmlns:xi=\"http://www.w3.org/2001/XInclude\">\n    <!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->\n\n    <!-- Global configuration Decalaration -->\n    <globalConfiguration speaker_drc_enabled=\"false\"/>\n\n\n    <!-- Modules section:\n        There is one section per audio HW module present on the platform.\n        Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.\n        The module names are the same as in current .conf file:\n                “primary”, “A2DP”, “remote_submix”, “USB”\n        Each module will contain the following sections:\n        “devicePorts”: a list of device descriptors for all input and output devices accessible via this\n        module.\n        This contains both permanently attached devices and removable devices.\n        “mixPorts”: listing all output and input streams exposed by the audio HAL\n        “routes”: list of possible connections between input and output devices or between stream and\n        devices.\n            \"route\": is defined by an attribute:\n                -\"type\": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix)\n                -\"sink\": the sink involved in this route\n                -\"sources\": all the sources than can be connected to the sink via vis route\n        “attachedDevices”: permanently attached devices.\n        The attachedDevices section is a list of devices names. The names correspond to device names\n        defined in <devicePorts> section.\n        “defaultOutputDevice”: device to be used by default when no policy rule applies\n    -->\n    <modules>\n        <!-- Primary Audio HAL -->\n        <module name=\"primary\" halVersion=\"2.0\">\n            <attachedDevices>\n                <item>Earpiece</item>\n                <item>Speaker</item>\n                <item>Telephony Tx</item>\n                <item>Built-In Mic</item>\n                <item>Built-In Back Mic</item>\n                <item>FM Tuner</item>\n                <item>Telephony Rx</item>\n            </attachedDevices>\n            <defaultOutputDevice>Speaker</defaultOutputDevice>\n            <mixPorts>\n                <mixPort name=\"primary output\" role=\"source\" flags=\"AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"44100,48000\" channelMasks=\"AUDIO_CHANNEL_OUT_STEREO\"/>\n                </mixPort>\n                <mixPort name=\"deep_buffer\" role=\"source\"\n                        flags=\"AUDIO_OUTPUT_FLAG_DEEP_BUFFER\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,11025,12000,16000,22050,24000,32000,44100,48000\" channelMasks=\"AUDIO_CHANNEL_OUT_STEREO\"/>\n                </mixPort>\n                <mixPort name=\"compressed_offload\" role=\"source\"\n                         flags=\"AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_MP2\"\n                             samplingRates=\"8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000\"\n                             channelMasks=\"AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1\"/>\n                    <profile name=\"\" format=\"AUDIO_FORMAT_MP3\"\n                             samplingRates=\"8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000\"\n                             channelMasks=\"AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1\"/>\n                    <profile name=\"\" format=\"AUDIO_FORMAT_AAC_LC\"\n                             samplingRates=\"8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000\"\n                             channelMasks=\"AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1\"/>\n                    <profile name=\"\" format=\"AUDIO_FORMAT_AAC_HE_V1\"\n                             samplingRates=\"8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000\"\n                             channelMasks=\"AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1\"/>\n                    <profile name=\"\" format=\"AUDIO_FORMAT_AAC_HE_V2\"\n                             samplingRates=\"8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000\"\n                             channelMasks=\"AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1\"/>\n                </mixPort>\n                <mixPort name=\"voice_tx\" role=\"source\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,16000,48000\"\n                             channelMasks=\"AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO\"/>\n                </mixPort>\n                <mixPort name=\"primary input\" role=\"sink\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,11025,12000,16000,22050,24000,32000,44100,48000\"\n                             channelMasks=\"AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK\"/>\n                </mixPort>\n                <mixPort name=\"voice_rx\" role=\"sink\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,16000,48000\"\n                             channelMasks=\"AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO\"/>\n                </mixPort>\n            </mixPorts>\n\n            <devicePorts>\n                <!-- Output devices declaration, i.e. Sink DEVICE PORT -->\n                <devicePort tagName=\"Earpiece\" type=\"AUDIO_DEVICE_OUT_EARPIECE\" role=\"sink\">\n                   <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                            samplingRates=\"48000\" channelMasks=\"AUDIO_CHANNEL_IN_MONO\"/>\n                </devicePort>\n                <devicePort tagName=\"Speaker\" role=\"sink\" type=\"AUDIO_DEVICE_OUT_SPEAKER\" address=\"\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"48000\" channelMasks=\"AUDIO_CHANNEL_OUT_STEREO\"/>\n                </devicePort>\n                <devicePort tagName=\"Wired Headset\" type=\"AUDIO_DEVICE_OUT_WIRED_HEADSET\" role=\"sink\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"48000\" channelMasks=\"AUDIO_CHANNEL_OUT_STEREO\"/>\n                </devicePort>\n                <devicePort tagName=\"Wired Headphones\" type=\"AUDIO_DEVICE_OUT_WIRED_HEADPHONE\" role=\"sink\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"48000\" channelMasks=\"AUDIO_CHANNEL_OUT_STEREO\"/>\n                </devicePort>\n                <devicePort tagName=\"Line Out\" type=\"AUDIO_DEVICE_OUT_LINE\" role=\"sink\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"48000\" channelMasks=\"AUDIO_CHANNEL_OUT_STEREO\"/>\n                </devicePort>\n                <devicePort tagName=\"BT SCO\" type=\"AUDIO_DEVICE_OUT_BLUETOOTH_SCO\" role=\"sink\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,16000\" channelMasks=\"AUDIO_CHANNEL_OUT_MONO\"/>\n                </devicePort>\n                <devicePort tagName=\"BT SCO Headset\" type=\"AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET\" role=\"sink\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,16000\" channelMasks=\"AUDIO_CHANNEL_OUT_MONO\"/>\n                </devicePort>\n                <devicePort tagName=\"BT SCO Car Kit\" type=\"AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT\" role=\"sink\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,16000\" channelMasks=\"AUDIO_CHANNEL_OUT_MONO\"/>\n                </devicePort>\n                <devicePort tagName=\"Telephony Tx\" type=\"AUDIO_DEVICE_OUT_TELEPHONY_TX\" role=\"sink\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,16000\" channelMasks=\"AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO\"/>\n                </devicePort>\n                <devicePort tagName=\"Proxy\" type=\"AUDIO_DEVICE_OUT_PROXY\" role=\"sink\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000\" channelMasks=\"dynamic\"/>\n                </devicePort>\n                <devicePort tagName=\"FM\" type=\"AUDIO_DEVICE_OUT_FM\" role=\"sink\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"48000\" channelMasks=\"AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO\"/>\n                </devicePort>\n\n                <devicePort tagName=\"Built-In Mic\" type=\"AUDIO_DEVICE_IN_BUILTIN_MIC\" role=\"source\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,11025,12000,16000,22050,24000,32000,44100,48000\"\n                             channelMasks=\"AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK\"/>\n                </devicePort>\n                <devicePort tagName=\"Built-In Back Mic\" type=\"AUDIO_DEVICE_IN_BACK_MIC\" role=\"source\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,11025,12000,16000,22050,24000,32000,44100,48000\"\n                             channelMasks=\"AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK\"/>\n                </devicePort>\n                <devicePort tagName=\"FM Tuner\" type=\"AUDIO_DEVICE_IN_FM_TUNER\" role=\"source\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"48000\"\n                             channelMasks=\"AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO\"/>\n                </devicePort>\n                <devicePort tagName=\"Wired Headset Mic\" type=\"AUDIO_DEVICE_IN_WIRED_HEADSET\" role=\"source\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,11025,12000,16000,22050,24000,32000,44100,48000\"\n                             channelMasks=\"AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK\"/>\n                </devicePort>\n                <devicePort tagName=\"BT SCO Headset Mic\" type=\"AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET\" role=\"source\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,16000\" channelMasks=\"AUDIO_CHANNEL_IN_MONO\"/>\n                </devicePort>\n                <devicePort tagName=\"Telephony Rx\" type=\"AUDIO_DEVICE_IN_TELEPHONY_RX\" role=\"source\">\n                    <profile name=\"\" format=\"AUDIO_FORMAT_PCM_16_BIT\"\n                             samplingRates=\"8000,16000,48000\" channelMasks=\"AUDIO_CHANNEL_IN_MONO\"/>\n                </devicePort>\n            </devicePorts>\n            <!-- route declaration, i.e. list all available sources for a given sink -->\n            <routes>\n                <route type=\"mix\" sink=\"Earpiece\"\n                       sources=\"primary output,deep_buffer\"/>\n                <route type=\"mix\" sink=\"Speaker\"\n                       sources=\"primary output,deep_buffer,compressed_offload\"/>\n                <route type=\"mix\" sink=\"Wired Headset\"\n                       sources=\"primary output,deep_buffer,compressed_offload\"/>\n                <route type=\"mix\" sink=\"Wired Headphones\"\n                       sources=\"primary output,deep_buffer,compressed_offload\"/>\n                <route type=\"mix\" sink=\"Line Out\"\n                       sources=\"primary output,deep_buffer,compressed_offload\"/>\n                <route type=\"mix\" sink=\"Proxy\"\n                       sources=\"primary output,deep_buffer,compressed_offload\"/>\n                <route type=\"mix\" sink=\"FM\"\n                       sources=\"primary output\"/>\n                <route type=\"mix\" sink=\"BT SCO\"\n                       sources=\"primary output,deep_buffer,compressed_offload\"/>\n                <route type=\"mix\" sink=\"BT SCO Headset\"\n                       sources=\"primary output,deep_buffer,compressed_offload\"/>\n                <route type=\"mix\" sink=\"BT SCO Car Kit\"\n                       sources=\"primary output,deep_buffer,compressed_offload\"/>\n                <route type=\"mix\" sink=\"Telephony Tx\"\n                       sources=\"voice_tx\"/>\n                <route type=\"mix\" sink=\"primary input\"\n                       sources=\"Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx\"/>\n                <route type=\"mix\" sink=\"voice_rx\"\n                       sources=\"Telephony Rx\"/>\n            </routes>\n\n        </module>\n\n        <!-- A2dp Audio HAL -->\n        <xi:include href=\"/vendor/etc/a2dp_audio_policy_configuration.xml\"/>\n\n        <!-- Usb Audio HAL -->\n        <xi:include href=\"/vendor/etc/usb_audio_policy_configuration.xml\"/>\n\n        <!-- Remote Submix Audio HAL -->\n        <xi:include href=\"/vendor/etc/r_submix_audio_policy_configuration.xml\"/>\n\n    </modules>\n    <!-- End of Modules section -->\n\n    <!-- Volume section -->\n    <xi:include href=\"/vendor/etc/audio_policy_volumes.xml\"/>\n    <xi:include href=\"/vendor/etc/default_volume_tables.xml\"/>\n    <!-- End of Volume section -->\n\n</audioPolicyConfiguration>\n"
  },
  {
    "path": "audio/mixer_paths.xml",
    "content": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<mixer>\n    <!-- These are the initial mixer settings -->\n    <ctl name=\"Voice Rx Device Mute\" id=\"0\" value=\"0\" />\n    <ctl name=\"Voice Rx Device Mute\" id=\"1\" value=\"-1\" />\n    <ctl name=\"Voice Rx Device Mute\" id=\"2\" value=\"20\" />\n    <ctl name=\"Voice Tx Mute\" id=\"0\" value=\"0\" />\n    <ctl name=\"Voice Tx Mute\" id=\"1\" value=\"-1\" />\n    <ctl name=\"Voice Tx Mute\" id=\"2\" value=\"500\" />\n    <ctl name=\"Voice Rx Gain\" id=\"0\" value=\"0\" />\n    <ctl name=\"Voice Rx Gain\" id=\"1\" value=\"-1\" />\n    <ctl name=\"Voice Rx Gain\" id=\"2\" value=\"20\" />\n    <ctl name=\"Voip Tx Mute\" id=\"0\" value=\"0\" />\n    <ctl name=\"Voip Tx Mute\" id=\"1\" value=\"500\" />\n    <ctl name=\"Voip Rx Gain\" id=\"0\" value=\"0\" />\n    <ctl name=\"Voip Rx Gain\" id=\"1\" value=\"20\" />\n    <ctl name=\"Voip Mode Config\" value=\"12\" />\n    <ctl name=\"Voip Rate Config\" value=\"0\" />\n    <ctl name=\"Voip Evrc Min Max Rate Config\" id=\"0\" value=\"1\" />\n    <ctl name=\"Voip Evrc Min Max Rate Config\" id=\"1\" value=\"4\" />\n    <ctl name=\"Voip Dtx Mode\" value=\"0\" />\n    <ctl name=\"TTY Mode\" value=\"OFF\" />\n    <ctl name=\"LINEOUT1 Volume\" value=\"0\" />\n    <ctl name=\"LINEOUT2 Volume\" value=\"0\" />\n    <ctl name=\"LINEOUT3 Volume\" value=\"0\" />\n    <ctl name=\"LINEOUT4 Volume\" value=\"0\" />\n    <ctl name=\"HPHL Volume\" value=\"0\" />\n    <ctl name=\"HPHR Volume\" value=\"0\" />\n    <ctl name=\"RX1 Digital Volume\" value=\"0\" />\n    <ctl name=\"RX2 Digital Volume\" value=\"0\" />\n    <ctl name=\"RX3 Digital Volume\" value=\"0\" />\n    <ctl name=\"RX4 Digital Volume\" value=\"0\" />\n    <ctl name=\"RX5 Digital Volume\" value=\"0\" />\n    <ctl name=\"RX6 Digital Volume\" value=\"0\" />\n    <ctl name=\"RX7 Digital Volume\" value=\"-\" />\n    <ctl name=\"ADC1 Volume\" value=\"0\" />\n    <ctl name=\"ADC2 Volume\" value=\"0\" />\n    <ctl name=\"ADC3 Volume\" value=\"19\" />\n    <ctl name=\"ADC4 Volume\" value=\"0\" />\n    <ctl name=\"ADC5 Volume\" value=\"0\" />\n    <ctl name=\"ADC6 Volume\" value=\"0\" />\n    <ctl name=\"DEC1 Volume\" value=\"0\" />\n    <ctl name=\"DEC2 Volume\" value=\"84\" />\n    <ctl name=\"DEC3 Volume\" value=\"84\" />\n    <ctl name=\"DEC4 Volume\" value=\"84\" />\n    <ctl name=\"DEC5 Volume\" value=\"84\" />\n    <ctl name=\"DEC6 Volume\" value=\"0\" />\n    <ctl name=\"DEC7 Volume\" value=\"0\" />\n    <ctl name=\"DEC8 Volume\" value=\"0\" />\n    <ctl name=\"DEC9 Volume\" value=\"0\" />\n    <ctl name=\"DEC10 Volume\" value=\"0\" />\n    <ctl name=\"COMP0 Switch\" value=\"0\" />\n    <ctl name=\"COMP1 Switch\" value=\"0\" />\n    <ctl name=\"COMP2 Switch\" value=\"0\" />\n    <ctl name=\"SLIMBUS_3_RX Port Mixer MI2S_TX\" value=\"0\" />\n    <ctl name=\"SLIMBUS_0_RX Port Mixer SLIM_0_TX\" value=\"0\" />\n    <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia2\" value=\"0\" />\n    <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia3\" value=\"0\" />\n    <ctl name=\"AUX_PCM_RX Audio Mixer MultiMedia5\" value=\"0\" />\n    <ctl name=\"AUX_PCM_RX_Voice Mixer CSVoice\" value=\"0\" />\n    <ctl name=\"SEC_AUX_PCM_RX_Voice Mixer CSVoice\" value=\"0\" />\n    <ctl name=\"Voice_Tx Mixer SLIM_0_TX_Voice\" value=\"0\" />\n    <ctl name=\"Voice_Tx Mixer SEC_AUX_PCM_TX_Voice\" value=\"0\" />\n    <!-- Audio BTSCO -->\n    <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1\" value=\"0\" />\n    <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4\" value=\"0\" />\n    <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5\" value=\"0\" />\n    <ctl name=\"MultiMedia1 Mixer INTERNAL_BT_SCO_TX\" value=\"0\" />\n    <!-- Voice BTSCO -->\n    <ctl name=\"Internal BTSCO SampleRate\" value=\"8000\" />\n    <ctl name=\"INTERNAL_BT_SCO_RX_Voice Mixer CSVoice\" value=\"0\" />\n    <ctl name=\"MultiMedia6 Mixer SLIM_0_TX\" value=\"0\" />\n    <ctl name=\"Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice\" value=\"0\" />\n    <ctl name=\"SLIM_0_RX_Voice Mixer CSVoice\" value=\"0\" />\n    <ctl name=\"SLIMBUS_4_RX Audio Mixer MultiMedia1\" value=\"0\" />\n    <ctl name=\"SLIMBUS_4_RX Audio Mixer MultiMedia2\" value=\"0\" />\n    <ctl name=\"MultiMedia5 Mixer SLIM_0_TX\" value=\"0\" />\n    <ctl name=\"MultiMedia5 Mixer AFE_PCM_TX\" value=\"0\" />\n    <ctl name=\"MultiMedia1 Mixer MI2S_TX\" value=\"0\" />\n    <ctl name=\"MultiMedia1 Mixer SLIM_0_TX\" value=\"0\" />\n    <ctl name=\"MultiMedia1 Mixer SLIM_4_TX\" value=\"0\" />\n    <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia1\" value=\"0\" />\n    <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia2\" value=\"0\" />\n    <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia3\" value=\"0\" />\n    <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia4\" value=\"0\" />\n    <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia5\" value=\"0\" />\n    <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia6\" value=\"0\" />\n    <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia7\" value=\"0\" />\n    <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia8\" value=\"0\" />\n    <ctl name=\"IIR1 INP1 MUX\" value=\"ZERO\" />\n    <ctl name=\"SLIM0_RX_VI_FB_LCH_MUX\" value=\"ZERO\" />\n    <ctl name=\"SLIM TX10 MUX\" value=\"ZERO\" />\n    <ctl name=\"SLIM TX9 MUX\" value=\"ZERO\" />\n    <ctl name=\"SLIM TX8 MUX\" value=\"ZERO\" />\n    <ctl name=\"SLIM TX7 MUX\" value=\"ZERO\" />\n    <ctl name=\"SLIM TX6 MUX\" value=\"ZERO\" />\n    <ctl name=\"SLIM TX5 MUX\" value=\"ZERO\" />\n    <ctl name=\"SLIM TX4 MUX\" value=\"ZERO\" />\n    <ctl name=\"SLIM TX3 MUX\" value=\"ZERO\" />\n    <ctl name=\"SLIM TX2 MUX\" value=\"ZERO\" />\n    <ctl name=\"SLIM TX1 MUX\" value=\"ZERO\" />\n    <ctl name=\"DEC10 MUX\" value=\"ZERO\" />\n    <ctl name=\"DEC9 MUX\" value=\"ZERO\" />\n    <ctl name=\"DEC8 MUX\" value=\"ZERO\" />\n    <ctl name=\"DEC7 MUX\" value=\"ZERO\" />\n    <ctl name=\"DEC6 MUX\" value=\"ZERO\" />\n    <ctl name=\"DEC5 MUX\" value=\"ZERO\" />\n    <ctl name=\"DEC4 MUX\" value=\"ZERO\" />\n    <ctl name=\"DEC3 MUX\" value=\"ZERO\" />\n    <ctl name=\"DEC2 MUX\" value=\"ZERO\" />\n    <ctl name=\"DEC1 MUX\" value=\"ZERO\" />\n    <ctl name=\"RX2 MIX2 INP2\" value=\"ZERO\" />\n    <ctl name=\"RX2 MIX2 INP1\" value=\"ZERO\" />\n    <ctl name=\"RX1 MIX2 INP2\" value=\"ZERO\" />\n    <ctl name=\"RX1 MIX2 INP1\" value=\"ZERO\" />\n    <ctl name=\"RX7 MIX1 INP2\" value=\"ZERO\" />\n    <ctl name=\"RX7 MIX1 INP1\" value=\"ZERO\" />\n    <ctl name=\"RX6 MIX1 INP2\" value=\"ZERO\" />\n    <ctl name=\"RX6 MIX1 INP1\" value=\"ZERO\" />\n    <ctl name=\"RX5 MIX1 INP2\" value=\"ZERO\" />\n    <ctl name=\"RX5 MIX1 INP1\" value=\"ZERO\" />\n    <ctl name=\"RX4 MIX1 INP2\" value=\"ZERO\" />\n    <ctl name=\"RX4 MIX1 INP1\" value=\"ZERO\" />\n    <ctl name=\"RX3 MIX1 INP2\" value=\"ZERO\" />\n    <ctl name=\"RX3 MIX1 INP1\" value=\"ZERO\" />\n    <ctl name=\"RX2 MIX1 INP2\" value=\"ZERO\" />\n    <ctl name=\"RX2 MIX1 INP1\" value=\"ZERO\" />\n    <ctl name=\"RX1 MIX1 INP3\" value=\"ZERO\" />\n    <ctl name=\"RX1 MIX1 INP2\" value=\"ZERO\" />\n    <ctl name=\"RX1 MIX1 INP1\" value=\"ZERO\" />\n    <ctl name=\"HPHL DAC Switch\" value=\"0\" />\n    <ctl name=\"DAC1 Switch\" value=\"0\" />\n    <ctl name=\"SLIM_0_RX Channels\" value=\"One\" />\n    <ctl name=\"SLIM_0_TX Channels\" value=\"One\" />\n    <ctl name=\"SLIM RX1 MUX\" value=\"ZERO\" />\n    <ctl name=\"EAR PA Gain\" value=\"POS_0_DB\" />\n    <ctl name=\"SLIM RX2 MUX\" value=\"ZERO\" />\n    <ctl name=\"AIF1_CAP Mixer SLIM TX7\" value=\"0\" />\n    <ctl name=\"AIF1_CAP Mixer SLIM TX8\" value=\"0\"/>\n    <ctl name=\"CLASS_H_DSM MUX\" value=\"ZERO\" />\n    <ctl name=\"RDAC5 MUX\" value=\"ZERO\" />\n\n    <!-- usb headset -->\n    <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia1\" value=\"0\" />\n    <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia4\" value=\"0\" />\n    <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia5\" value=\"0\" />\n    <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia8\" value=\"0\" />\n    <ctl name=\"MultiMedia1 Mixer AFE_PCM_TX\" value=\"0\" />\n    <ctl name=\"AFE_PCM_RX_Voice Mixer CSVoice\" value=\"0\" />\n    <ctl name=\"Voice_Tx Mixer AFE_PCM_TX_Voice\" value=\"0\" />\n    <!-- usb headset end -->\n\n    <!-- Incall Recording -->\n    <ctl name=\"MultiMedia1 Mixer VOC_REC_UL\" value=\"0\" />\n    <ctl name=\"MultiMedia1 Mixer VOC_REC_DL\" value=\"0\" />\n\n    <!-- VoLTE -->\n    <ctl name=\"SLIM_0_RX_Voice Mixer VoLTE\" value=\"0\" />\n    <ctl name=\"VoLTE_Tx Mixer SLIM_0_TX_VoLTE\" value=\"0\" />\n    <ctl name=\"INTERNAL_BT_SCO_RX_Voice Mixer VoLTE\" value=\"0\" />\n    <ctl name=\"VoLTE_Tx Mixer INTERNAL_BT_SCO_TX_VoLTE\" value=\"0\" />\n    <ctl name=\"AFE_PCM_RX_Voice Mixer VoLTE\" value=\"0\" />\n    <ctl name=\"VoLTE_Tx Mixer AFE_PCM_TX_VoLTE\" value=\"0\" />\n    <!-- VoLTE end-->\n\n    <!-- Voice2 -->\n    <ctl name=\"SLIM_0_RX_Voice Mixer Voice2\" value=\"0\" />\n    <ctl name=\"Voice2_Tx Mixer SLIM_0_TX_Voice2\" value=\"0\" />\n    <ctl name=\"Voice2_Tx Mixer SLIM_0_TX_Voice2\" value=\"0\" />\n    <ctl name=\"INTERNAL_BT_SCO_RX_Voice Mixer Voice2\" value=\"0\" />\n    <ctl name=\"Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2\" value=\"0\" />\n    <ctl name=\"AFE_PCM_RX_Voice Mixer Voice2\" value=\"0\" />\n    <ctl name=\"Voice2_Tx Mixer AFE_PCM_TX_Voice2\" value=\"0\" />\n    <!-- Voice2 End-->\n\n    <!-- compress-voip-call -->\n    <ctl name=\"SLIM_0_RX_Voice Mixer Voip\" value=\"0\" />\n    <ctl name=\"Voip_Tx Mixer SLIM_0_TX_Voip\" value=\"0\" />\n    <ctl name=\"INTERNAL_BT_SCO_RX_Voice Mixer Voip\" value=\"0\" />\n    <ctl name=\"Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip\" value=\"0\" />\n    <ctl name=\"AFE_PCM_RX_Voice Mixer Voip\" value=\"0\" />\n    <ctl name=\"Voip_Tx Mixer AFE_PCM_TX_Voip\" value=\"0\" />\n    <!-- compress-voip-call End-->\n\n    <!-- audio record compress-->\n    <ctl name=\"MultiMedia8 Mixer SLIM_0_TX\" value=\"0\" />\n    <ctl name=\"MultiMedia8 Mixer INTERNAL_BT_SCO_TX\" value=\"0\" />\n    <ctl name=\"MultiMedia8 Mixer AFE_PCM_TX\" value=\"0\" />\n    <ctl name=\"MultiMedia8 Mixer VOC_REC_UL\" value=\"0\" />\n    <ctl name=\"MultiMedia8 Mixer VOC_REC_DL\" value=\"0\" />\n    <!-- audio record compress end-->\n\n    <!-- listen -->\n    <ctl name=\"LSM1 MUX\" value=\"None\" />\n    <ctl name=\"LSM2 MUX\" value=\"None\" />\n    <ctl name=\"LSM3 MUX\" value=\"None\" />\n    <ctl name=\"LSM4 MUX\" value=\"None\" />\n    <ctl name=\"LSM5 MUX\" value=\"None\" />\n    <ctl name=\"LSM6 MUX\" value=\"None\" />\n    <ctl name=\"LSM7 MUX\" value=\"None\" />\n    <ctl name=\"LSM8 MUX\" value=\"None\" />\n    <ctl name=\"SLIMBUS_5_TX LSM Function\" value=\"None\" />\n    <ctl name=\"MADONOFF Switch\" value=\"0\" />\n    <ctl name=\"MAD Input\" value=\"ADC3\" />\n    <!-- listen end-->\n\n    <!-- EC_REF -->\n    <ctl name=\"AUDIO_REF_EC_UL1 MUX\" value=\"None\" />\n\n    <!-- afe-proxy -->\n    <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia2\" value=\"0\" />\n    <!-- afe-proxy end-->\n\n    <!-- BT SCO samplerate -->\n    <path name=\"bt-sco-samplerate\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"8000\" />\n    </path>\n\n    <!-- BT SCO WB Sample Rate -->\n    <path name=\"bt-sco-wb-samplerate\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n    </path>\n\n    <!-- 24bit/96KHz toggle -->\n    <ctl name=\"SLIM_0_RX Format\" value=\"S16_LE\" />\n    <ctl name=\"SLIM_0_RX SampleRate\" value=\"KHZ_48\" />\n\n    <!-- These are audio route (FE to BE) specific mixer settings -->\n    <path name=\"deep-buffer-playback\">\n        <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia1\" value=\"1\" />\n    </path>\n\n    <path name=\"deep-buffer-playback bt-sco\">\n        <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1\" value=\"1\" />\n    </path>\n\n    <path name=\"deep-buffer-playback bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"deep-buffer-playback bt-sco\" />\n    </path>\n\n    <path name=\"deep-buffer-playback afe-proxy\">\n        <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia1\" value=\"1\" />\n    </path>\n\n    <path name=\"deep-buffer-playback usb-headphones\">\n        <path name=\"deep-buffer-playback afe-proxy\" />\n    </path>\n\n    <path name=\"deep-buffer-playback speaker-and-usb-headphones\">\n        <path name=\"deep-buffer-playback usb-headphones\" />\n        <path name=\"deep-buffer-playback\" />\n    </path>\n\n    <path name=\"low-latency-playback\">\n        <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia5\" value=\"1\" />\n    </path>\n\n    <path name=\"low-latency-playback bt-sco\">\n        <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5\" value=\"1\" />\n    </path>\n\n    <path name=\"low-latency-playback bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"low-latency-playback bt-sco\" />\n    </path>\n\n    <path name=\"low-latency-playback afe-proxy\">\n        <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia5\" value=\"1\" />\n    </path>\n\n    <path name=\"low-latency-playback usb-headphones\">\n        <path name=\"low-latency-playback afe-proxy\" />\n    </path>\n\n    <path name=\"low-latency-playback speaker-and-usb-headphones\">\n        <path name=\"low-latency-playback usb-headphones\" />\n        <path name=\"low-latency-playback\" />\n    </path>\n\n    <path name=\"audio-ull-playback\">\n        <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia3\" value=\"1\" />\n    </path>\n\n    <path name=\"audio-ull-playback bt-sco\">\n        <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia3\" value=\"1\" />\n    </path>\n\n    <path name=\"audio-ull-playback bt-sco-wb\">\n        <path name=\"audio-ull-playback bt-sco\" />\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n    </path>\n\n    <path name=\"audio-ull-playback afe-proxy\">\n        <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia3\" value=\"1\" />\n    </path>\n\n    <path name=\"audio-ull-playback usb-headphones\">\n        <path name=\"audio-ull-playback afe-proxy\" />\n    </path>\n\n    <path name=\"audio-ull-playback speaker-and-usb-headphones\">\n        <path name=\"audio-ull-playback usb-headphones\" />\n        <path name=\"audio-ull-playback\" />\n    </path>\n\n    <path name=\"multi-channel-playback afe-proxy\">\n        <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia2\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback\">\n        <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia4\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback bt-sco\">\n        <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"compress-offload-playback bt-sco\" />\n    </path>\n\n    <path name=\"compress-offload-playback afe-proxy\">\n        <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia4\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback usb-headphones\">\n        <path name=\"compress-offload-playback afe-proxy\" />\n    </path>\n\n    <path name=\"compress-offload-playback speaker-and-usb-headphones\">\n        <path name=\"compress-offload-playback usb-headphones\" />\n        <path name=\"compress-offload-playback\" />\n    </path>\n\n    <path name=\"compress-offload-playback2\">\n        <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia6\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback2 bt-sco\">\n        <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback2 bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"compress-offload-playback2 bt-sco\" />\n    </path>\n\n    <path name=\"compress-offload-playback2 afe-proxy\">\n        <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia6\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback2 usb-headphones\">\n        <path name=\"compress-offload-playback2 afe-proxy\" />\n    </path>\n\n    <path name=\"compress-offload-playback2 speaker-and-usb-headphones\">\n        <path name=\"compress-offload-playback2 usb-headphones\" />\n        <path name=\"compress-offload-playback2\" />\n    </path>\n\n    <path name=\"compress-offload-playback3\">\n        <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia7\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback3 bt-sco\">\n        <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback3 bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"compress-offload-playback3 bt-sco\" />\n    </path>\n\n    <path name=\"compress-offload-playback3 afe-proxy\">\n        <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia7\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback3 usb-headphones\">\n        <path name=\"compress-offload-playback3 afe-proxy\" />\n    </path>\n\n    <path name=\"compress-offload-playback3 speaker-and-usb-headphones\">\n        <path name=\"compress-offload-playback3 usb-headphones\" />\n        <path name=\"compress-offload-playback3\" />\n    </path>\n\n    <path name=\"compress-offload-playback8\">\n        <ctl name=\"SLIMBUS_0_RX Audio Mixer MultiMedia8\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback8 bt-sco\">\n        <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia8\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback8 bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"compress-offload-playback8 bt-sco\" />\n    </path>\n\n    <path name=\"compress-offload-playback8 afe-proxy\">\n        <ctl name=\"AFE_PCM_RX Audio Mixer MultiMedia8\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-offload-playback8 usb-headphones\">\n        <path name=\"compress-offload-playback8 afe-proxy\" />\n    </path>\n\n    <path name=\"compress-offload-playback8 speaker-and-usb-headphones\">\n        <path name=\"compress-offload-playback8 usb-headphones\" />\n        <path name=\"compress-offload-playback8\" />\n    </path>\n\n\n    <path name=\"audio-record\">\n        <ctl name=\"MultiMedia1 Mixer SLIM_0_TX\" value=\"1\" />\n    </path>\n\n    <path name=\"audio-record usb-headset-mic\">\n        <ctl name=\"MultiMedia1 Mixer AFE_PCM_TX\" value=\"1\" />\n    </path>\n\n    <path name=\"audio-record bt-sco\">\n        <ctl name=\"MultiMedia1 Mixer INTERNAL_BT_SCO_TX\" value=\"1\" />\n    </path>\n\n    <path name=\"audio-record bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"audio-record bt-sco\" />\n    </path>\n\n    <path name=\"low-latency-record\">\n        <ctl name=\"MultiMedia5 Mixer SLIM_0_TX\" value=\"1\" />\n    </path>\n\n    <path name=\"low-latency-record usb-headset-mic\">\n        <ctl name=\"MultiMedia5 Mixer AFE_PCM_TX\" value=\"1\" />\n    </path>\n\n    <path name=\"low-latency-record bt-sco\">\n        <ctl name=\"MultiMedia5 Mixer INTERNAL_BT_SCO_TX\" value=\"1\" />\n    </path>\n\n    <path name=\"low-latency-record bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"audio-record bt-sco\" />\n    </path>\n\n    <path name=\"audio-record-compress\">\n        <ctl name=\"MultiMedia8 Mixer SLIM_0_TX\" value=\"1\" />\n    </path>\n\n    <path name=\"audio-record-compress bt-sco\">\n        <ctl name=\"MultiMedia8 Mixer INTERNAL_BT_SCO_TX\" value=\"1\" />\n    </path>\n\n    <path name=\"audio-record-compress bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"audio-record-compress bt-sco\" />\n    </path>\n\n    <path name=\"audio-record-compress usb-headset-mic\">\n        <ctl name=\"MultiMedia8 Mixer AFE_PCM_TX\" value=\"1\" />\n    </path>\n\n    <path name=\"voice-call\">\n        <ctl name=\"SLIM_0_RX_Voice Mixer CSVoice\" value=\"1\" />\n        <ctl name=\"Voice_Tx Mixer SLIM_0_TX_Voice\" value=\"1\" />\n    </path>\n\n    <path name=\"voice-call bt-sco\">\n        <ctl name=\"INTERNAL_BT_SCO_RX_Voice Mixer CSVoice\" value=\"1\" />\n        <ctl name=\"Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice\" value=\"1\" />\n    </path>\n\n    <path name=\"voice-call bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"voice-call bt-sco\" />\n    </path>\n\n    <path name=\"voice-call afe-proxy\">\n        <ctl name=\"AFE_PCM_RX_Voice Mixer CSVoice\" value=\"1\" />\n        <ctl name=\"Voice_Tx Mixer AFE_PCM_TX_Voice\" value=\"1\" />\n    </path>\n\n    <path name=\"afe-proxy-playback afe-proxy\">\n    </path>\n\n    <path name=\"afe-proxy-record afe-proxy\">\n    </path>\n\n    <path name=\"voice-call usb-headphones\">\n        <ctl name=\"AFE_PCM_RX_Voice Mixer CSVoice\" value=\"1\" />\n        <ctl name=\"Voice_Tx Mixer AFE_PCM_TX_Voice\" value=\"1\" />\n    </path>\n\n    <path name=\"voice2-call\">\n        <ctl name=\"SLIM_0_RX_Voice Mixer Voice2\" value=\"1\" />\n        <ctl name=\"Voice2_Tx Mixer SLIM_0_TX_Voice2\" value=\"1\" />\n    </path>\n\n    <path name=\"voice2-call bt-sco\">\n        <ctl name=\"INTERNAL_BT_SCO_RX_Voice Mixer Voice2\" value=\"1\" />\n        <ctl name=\"Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2\" value=\"1\" />\n    </path>\n\n    <path name=\"voice2-call bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"voice2-call bt-sco\" />\n    </path>\n\n    <path name=\"voice2-call usb-headphones\">\n        <ctl name=\"AFE_PCM_RX_Voice Mixer Voice2\" value=\"1\" />\n        <ctl name=\"Voice2_Tx Mixer AFE_PCM_TX_Voice2\" value=\"1\" />\n    </path>\n\n    <path name=\"hfp-sco\">\n        <ctl name=\"SLIMBUS_0_RX Port Mixer INTERNAL_BT_SCO_TX\" value=\"1\" />\n        <ctl name=\"INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6\" value=\"1\" />\n        <ctl name=\"MultiMedia6 Mixer SLIM_0_TX\" value=\"1\" />\n        <ctl name=\"SLIMBUS_DL_HL Switch\" value=\"1\" />\n    </path>\n\n    <path name=\"hfp-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"hfp-sco\" />\n    </path>\n\n    <path name=\"incall-rec-uplink\">\n        <ctl name=\"MultiMedia1 Mixer VOC_REC_UL\" value=\"1\" />\n    </path>\n\n    <path name=\"incall-rec-uplink bt-sco\">\n        <path name=\"incall-rec-uplink\" />\n    </path>\n\n    <path name=\"incall-rec-uplink bt-sco-wb\">\n        <path name=\"incall-rec-uplink\" />\n    </path>\n\n    <path name=\"incall-rec-uplink usb-headset-mic\">\n        <path name=\"incall-rec-uplink\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-compress\">\n        <ctl name=\"MultiMedia8 Mixer VOC_REC_UL\" value=\"1\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-compress bt-sco\">\n        <path name=\"incall-rec-uplink-compress\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-compress bt-sco-wb\">\n        <path name=\"incall-rec-uplink-compress\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-compress usb-headset-mic\">\n        <path name=\"incall-rec-uplink-compress\" />\n    </path>\n\n    <path name=\"incall-rec-downlink\">\n        <ctl name=\"MultiMedia1 Mixer VOC_REC_DL\" value=\"1\" />\n    </path>\n\n    <path name=\"incall-rec-downlink bt-sco\">\n        <path name=\"incall-rec-downlink\" />\n    </path>\n\n    <path name=\"incall-rec-downlink bt-sco-wb\">\n        <path name=\"incall-rec-downlink\" />\n    </path>\n\n    <path name=\"incall-rec-downlink usb-headset-mic\">\n        <path name=\"incall-rec-downlink\" />\n    </path>\n\n    <path name=\"incall-rec-downlink-compress\">\n        <ctl name=\"MultiMedia8 Mixer VOC_REC_DL\" value=\"1\" />\n    </path>\n\n    <path name=\"incall-rec-downlink-compress bt-sco\">\n        <path name=\"incall-rec-downlink-compress\" />\n    </path>\n\n    <path name=\"incall-rec-downlink-compress bt-sco-wb\">\n        <path name=\"incall-rec-downlink-compress\" />\n    </path>\n\n    <path name=\"incall-rec-downlink-compress usb-headset-mic\">\n        <path name=\"incall-rec-downlink-compress\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-and-downlink\">\n        <path name=\"incall-rec-uplink\" />\n        <path name=\"incall-rec-downlink\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-and-downlink bt-sco\">\n        <path name=\"incall-rec-uplink-and-downlink\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-and-downlink bt-sco-wb\">\n        <path name=\"incall-rec-uplink-and-downlink\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-and-downlink usb-headset-mic\">\n        <path name=\"incall-rec-uplink-and-downlink\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-and-downlink-compress\">\n        <path name=\"incall-rec-uplink-compress\" />\n        <path name=\"incall-rec-downlink-compress\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-and-downlink-compress bt-sco\">\n        <path name=\"incall-rec-uplink-and-downlink-compress\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-and-downlink-compress bt-sco-wb\">\n        <path name=\"incall-rec-uplink-and-downlink-compress\" />\n    </path>\n\n    <path name=\"incall-rec-uplink-and-downlink-compress usb-headset-mic\">\n        <path name=\"incall-rec-uplink-and-downlink-compress\" />\n    </path>\n\n    <path name=\"volte-call\">\n        <ctl name=\"SLIM_0_RX_Voice Mixer VoLTE\" value=\"1\" />\n        <ctl name=\"VoLTE_Tx Mixer SLIM_0_TX_VoLTE\" value=\"1\" />\n    </path>\n\n    <path name=\"volte-call bt-sco\">\n        <ctl name=\"INTERNAL_BT_SCO_RX_Voice Mixer VoLTE\" value=\"1\" />\n        <ctl name=\"VoLTE_Tx Mixer INTERNAL_BT_SCO_TX_VoLTE\" value=\"1\" />\n    </path>\n\n    <path name=\"volte-call bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"volte-call bt-sco\" />\n    </path>\n\n    <path name=\"volte-call usb-headphones\">\n        <ctl name=\"AFE_PCM_RX_Voice Mixer VoLTE\" value=\"1\" />\n        <ctl name=\"VoLTE_Tx Mixer AFE_PCM_TX_VoLTE\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-voip-call\">\n        <ctl name=\"SLIM_0_RX_Voice Mixer Voip\" value=\"1\" />\n        <ctl name=\"Voip_Tx Mixer SLIM_0_TX_Voip\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-voip-call bt-sco\">\n        <ctl name=\"INTERNAL_BT_SCO_RX_Voice Mixer Voip\" value=\"1\" />\n        <ctl name=\"Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip\" value=\"1\" />\n    </path>\n\n    <path name=\"compress-voip-call bt-sco-wb\">\n        <ctl name=\"Internal BTSCO SampleRate\" value=\"16000\" />\n        <path name=\"compress-voip-call bt-sco\" />\n    </path>\n\n    <path name=\"compress-voip-call usb-headphones\">\n        <ctl name=\"AFE_PCM_RX_Voice Mixer Voip\" value=\"1\" />\n        <ctl name=\"Voip_Tx Mixer AFE_PCM_TX_Voip\" value=\"1\" />\n    </path>\n\n    <path name=\"listen-voice-wakeup-1\">\n        <ctl name=\"LSM1 MUX\" value=\"SLIMBUS_5_TX\" />\n        <ctl name=\"SLIMBUS_5_TX LSM Function\" value=\"AUDIO\" />\n    </path>\n\n    <path name=\"listen-voice-wakeup-2\">\n        <ctl name=\"LSM2 MUX\" value=\"SLIMBUS_5_TX\" />\n        <ctl name=\"SLIMBUS_5_TX LSM Function\" value=\"AUDIO\" />\n    </path>\n\n    <path name=\"listen-voice-wakeup-3\">\n        <ctl name=\"LSM3 MUX\" value=\"SLIMBUS_5_TX\" />\n        <ctl name=\"SLIMBUS_5_TX LSM Function\" value=\"AUDIO\" />\n    </path>\n\n    <path name=\"listen-voice-wakeup-4\">\n        <ctl name=\"LSM4 MUX\" value=\"SLIMBUS_5_TX\" />\n        <ctl name=\"SLIMBUS_5_TX LSM Function\" value=\"AUDIO\" />\n    </path>\n\n    <path name=\"listen-voice-wakeup-5\">\n        <ctl name=\"LSM5 MUX\" value=\"SLIMBUS_5_TX\" />\n        <ctl name=\"SLIMBUS_5_TX LSM Function\" value=\"AUDIO\" />\n    </path>\n\n    <path name=\"listen-voice-wakeup-6\">\n        <ctl name=\"LSM6 MUX\" value=\"SLIMBUS_5_TX\" />\n        <ctl name=\"SLIMBUS_5_TX LSM Function\" value=\"AUDIO\" />\n    </path>\n\n    <path name=\"listen-voice-wakeup-7\">\n        <ctl name=\"LSM7 MUX\" value=\"SLIMBUS_5_TX\" />\n        <ctl name=\"SLIMBUS_5_TX LSM Function\" value=\"AUDIO\" />\n    </path>\n\n    <path name=\"listen-voice-wakeup-8\">\n        <ctl name=\"LSM8 MUX\" value=\"SLIMBUS_5_TX\" />\n        <ctl name=\"SLIMBUS_5_TX LSM Function\" value=\"AUDIO\" />\n    </path>\n\n\n    <!-- Analog output devices -->\n    <path name=\"ear\">\n        <ctl name=\"RX1 MIX1 INP1\" value=\"RX1\" />\n        <ctl name=\"CLASS_H_DSM MUX\" value=\"DSM_HPHL_RX1\" />\n        <ctl name=\"RX1 Digital Volume\" value=\"90\" />\n        <ctl name=\"EAR PA Gain\" value=\"POS_6_DB\" />\n        <ctl name=\"DAC1 Switch\" value=\"1\" />\n    </path>\n\n    <path name=\"spk\">\n        <ctl name=\"SLIM RX1 MUX\" value=\"AIF1_PB\" />\n        <ctl name=\"SLIM_0_RX Channels\" value=\"One\" />\n        <ctl name=\"RX3 MIX1 INP1\" value=\"RX1\" />\n        <ctl name=\"RDAC5 MUX\" value=\"DEM3_INV\" />\n        <ctl name=\"COMP2 Switch\" value=\"1\" />\n        <ctl name=\"LINEOUT1 Volume\" value=\"13\" />\n        <ctl name=\"LINEOUT3 Volume\" value=\"13\" />\n    </path>\n\n    <path name=\"hph\">\n        <ctl name=\"SLIM RX1 MUX\" value=\"AIF1_PB\" />\n        <ctl name=\"SLIM RX2 MUX\" value=\"AIF1_PB\" />\n        <ctl name=\"SLIM_0_RX Channels\" value=\"Two\" />\n        <ctl name=\"RX1 MIX1 INP1\" value=\"RX1\" />\n        <ctl name=\"RX2 MIX1 INP1\" value=\"RX2\" />\n        <ctl name=\"CLASS_H_DSM MUX\" value=\"DSM_HPHL_RX1\" />\n        <ctl name=\"HPHL DAC Switch\" value=\"1\" />\n        <ctl name=\"COMP1 Switch\" value=\"1\" />\n        <ctl name=\"HPHL Volume\" value=\"20\" />\n        <ctl name=\"HPHR Volume\" value=\"20\" />\n    </path>\n\n    <path name=\"spk-hph\">\n        <path name=\"hph\" />\n        <ctl name=\"RX3 MIX1 INP1\" value=\"RX1\" />\n        <ctl name=\"RDAC5 MUX\" value=\"DEM3_INV\" />\n        <ctl name=\"COMP2 Switch\" value=\"1\" />\n        <ctl name=\"LINEOUT1 Volume\" value=\"14\" />\n        <ctl name=\"LINEOUT3 Volume\" value=\"14\" />\n    </path>\n\n\n    <!-- Output paths -->\n    <path name=\"handset\">\n        <ctl name=\"SLIM RX1 MUX\" value=\"AIF1_PB\" />\n        <ctl name=\"SLIM_0_RX Channels\" value=\"One\" />\n        <path name=\"ear\" />\n    </path>\n\n    <path name=\"voice-handset\">\n        <path name=\"handset\" />\n    </path>\n\n    <path name=\"speaker\">\n        <path name=\"spk\" />\n        <ctl name=\"RX3 Digital Volume\" value=\"80\" />\n        <ctl name=\"RX4 Digital Volume\" value=\"80\" />\n    </path>\n\n    <path name=\"voice-speaker\">\n        <path name=\"spk\" />\n        <ctl name=\"RX3 Digital Volume\" value=\"92\" />\n        <ctl name=\"RX4 Digital Volume\" value=\"92\" />\n    </path>\n\n    <path name=\"headphones\">\n        <path name=\"hph\" />\n        <ctl name=\"RX1 Digital Volume\" value=\"84\" />\n        <ctl name=\"RX2 Digital Volume\" value=\"84\" />\n    </path>\n\n    <path name=\"line\">\n        <path name=\"headphones\" />\n    </path>\n\n    <path name=\"voice-headphones\">\n        <path name=\"hph\" />\n        <ctl name=\"RX1 Digital Volume\" value=\"85\" />\n        <ctl name=\"RX2 Digital Volume\" value=\"85\" />\n    </path>\n\n    <path name=\"voice-line\">\n        <path name=\"voice-headphones\" />\n    </path>\n\n    <path name=\"speaker-and-headphones\">\n        <path name=\"spk-hph\" />\n        <ctl name=\"RX1 Digital Volume\" value=\"84\" />\n        <ctl name=\"RX2 Digital Volume\" value=\"84\" />\n        <ctl name=\"RX3 Digital Volume\" value=\"80\" />\n        <ctl name=\"RX4 Digital Volume\" value=\"80\" />\n    </path>\n\n    <path name=\"speaker-and-line\">\n        <path name=\"speaker-and-headphones\" />\n    </path>\n\n\n    <!-- Analog input devices -->\n    <path name=\"hph-mic\">\n        <ctl name=\"DEC5 MUX\" value=\"ADC2\" />\n        <ctl name=\"IIR1 INP1 MUX\" value=\"DEC5\" />\n    </path>\n\n    <path name=\"main-mic\">\n        <ctl name=\"AIF1_CAP Mixer SLIM TX7\" value=\"1\"/>\n        <ctl name=\"SLIM TX7 MUX\" value=\"DEC4\" />\n        <ctl name=\"DEC4 MUX\" value=\"ADC3\" />\n    </path>\n\n    <path name=\"anc-mic\">\n        <ctl name=\"DEC2 MUX\" value=\"ADC5\" />\n    </path>\n\n\n    <!-- Recording paths -->\n    <path name=\"handset-mic\">\n        <path name=\"main-mic\" />\n        <ctl name=\"SLIM_0_TX Channels\" value=\"One\" />\n        <ctl name=\"ADC3 Volume\" value=\"19\" />\n    </path>\n\n    <path name=\"speaker-mic\">\n        <ctl name=\"AIF1_CAP Mixer SLIM TX7\" value=\"1\" />\n        <ctl name=\"SLIM_0_TX Channels\" value=\"One\" />\n        <ctl name=\"SLIM TX7 MUX\" value=\"DEC2\" />\n        <ctl name=\"ADC5 Volume\" value=\"19\" />\n        <path name=\"anc-mic\" />\n    </path>\n\n    <path name=\"headset-mic\">\n        <ctl name=\"AIF1_CAP Mixer SLIM TX7\" value=\"1\"/>\n        <ctl name=\"SLIM_0_TX Channels\" value=\"One\" />\n        <ctl name=\"SLIM TX7 MUX\" value=\"DEC5\" />\n        <ctl name=\"ADC2 Volume\" value=\"13\" />\n        <path name=\"hph-mic\" />\n    </path>\n\n    <path name=\"voice-rec-mic\">\n        <path name=\"main-mic\" />\n        <ctl name=\"SLIM_0_TX Channels\" value=\"One\" />\n        <ctl name=\"ADC3 Volume\" value=\"19\" />\n    </path>\n\n    <path name=\"voice-speaker-mic\">\n        <path name=\"speaker-mic\" />\n    </path>\n\n    <path name=\"voice-headset-mic\">\n        <ctl name=\"AIF1_CAP Mixer SLIM TX7\" value=\"1\" />\n        <ctl name=\"SLIM_0_TX Channels\" value=\"One\" />\n        <ctl name=\"SLIM TX7 MUX\" value=\"DEC5\" />\n        <ctl name=\"ADC2 Volume\" value=\"13\" />\n        <path name=\"hph-mic\" />\n    </path>\n\n\n    <!-- USB digital audio -->\n    <path name=\"usb-headphones\">\n    </path>\n\n    <path name=\"speaker-and-usb-headphones\">\n        <path name=\"speaker\" />\n        <path name=\"usb-headphones\" />\n    </path>\n\n    <path name=\"usb-headset-mic\">\n    </path>\n\n\n    <!-- AFE proxy -->\n    <path name=\"afe-proxy\">\n    </path>\n\n\n    <!-- Bluetooth -->\n    <path name=\"bt-sco-headset\">\n    </path>\n\n    <path name=\"bt-sco-mic\">\n    </path>\n\n    <path name=\"bt-sco-headset-wb\">\n    </path>\n\n    <path name=\"bt-sco-mic-wb\">\n    </path>\n\n    <!-- Dual-mic recording -->\n    <path name=\"handset-dmic\">\n        <ctl name=\"AIF1_CAP Mixer SLIM TX7\" value=\"1\" />\n        <ctl name=\"AIF1_CAP Mixer SLIM TX8\" value=\"1\" />\n        <ctl name=\"SLIM_0_TX Channels\" value=\"Two\" />\n        <ctl name=\"SLIM TX7 MUX\" value=\"DEC4\" />\n        <ctl name=\"DEC4 MUX\" value=\"ADC3\" />\n        <ctl name=\"SLIM TX8 MUX\" value=\"DEC3\" />\n        <ctl name=\"DEC3 MUX\" value=\"ADC4\" />\n    </path>\n\n    <path name=\"dmic-endfire\">\n        <path name=\"handset-dmic\" />\n        <ctl name=\"ADC3 Volume\" value=\"9\" />\n        <ctl name=\"ADC4 Volume\" value=\"9\" />\n    </path>\n\n    <path name=\"voice-dmic-ef\">\n        <path name=\"dmic-endfire\" />\n    </path>\n\n    <path name=\"voice-speaker-dmic-ef\">\n        <ctl name=\"AIF1_CAP Mixer SLIM TX7\" value=\"1\"/>\n        <ctl name=\"SLIM_0_TX Channels\" value=\"One\" />\n        <ctl name=\"SLIM TX7 MUX\" value=\"DEC3\" />\n        <ctl name=\"DEC3 MUX\" value=\"ADC4\" />\n        <ctl name=\"ADC4 Volume\" value=\"19\" />\n        <ctl name=\"DEC3 Volume\" value=\"84\" />\n    </path>\n\n    <!-- Stereo recording -->\n    <path name=\"speaker-stereo-dmic-ef\">\n        <ctl name=\"AIF1_CAP Mixer SLIM TX7\" value=\"1\" />\n        <ctl name=\"AIF1_CAP Mixer SLIM TX8\" value=\"1\" />\n        <ctl name=\"SLIM_0_TX Channels\" value=\"Two\" />\n        <ctl name=\"SLIM TX7 MUX\" value=\"DEC4\" />\n        <ctl name=\"DEC4 MUX\" value=\"ADC3\" />\n        <ctl name=\"SLIM TX8 MUX\" value=\"DEC2\" />\n        <ctl name=\"DEC2 MUX\" value=\"ADC5\" />\n        <ctl name=\"ADC3 Volume\" value=\"19\" />\n        <ctl name=\"ADC5 Volume\" value=\"19\" />\n    </path>\n\n    <path name=\"speaker-dmic-endfire\">\n        <path name=\"speaker-stereo-dmic-ef\" />\n    </path>\n\n    <path name=\"handset-stereo-dmic-ef\">\n        <path name=\"handset-dmic\" />\n        <ctl name=\"ADC3 Volume\" value=\"19\" />\n        <ctl name=\"ADC4 Volume\" value=\"19\" />\n    </path>\n\n    <path name=\"camcorder-mic\">\n        <path name=\"speaker-stereo-dmic-ef\" />\n    </path>\n\n    <path name=\"voice-rec-dmic-ef\">\n        <path name=\"speaker-stereo-dmic-ef\" />\n    </path>\n\n    <!-- TTY devices -->\n    <path name=\"tty-headphones\">\n        <ctl name=\"SLIM RX1 MUX\" value=\"AIF1_PB\" />\n        <ctl name=\"SLIM_0_RX Channels\" value=\"One\" />\n        <ctl name=\"RX1 MIX1 INP1\" value=\"RX1\" />\n        <ctl name=\"CLASS_H_DSM MUX\" value=\"DSM_HPHL_RX1\" />\n        <ctl name=\"HPHL DAC Switch\" value=\"1\" />\n        <ctl name=\"COMP1 Switch\" value=\"1\" />\n        <ctl name=\"HPHL Volume\" value=\"20\" />\n    </path>\n\n    <path name=\"voice-tty-full-headphones\">\n        <ctl name=\"TTY Mode\" value=\"FULL\" />\n        <path name=\"tty-headphones\" />\n    </path>\n\n    <path name=\"voice-tty-vco-headphones\">\n        <ctl name=\"TTY Mode\" value=\"VCO\" />\n        <path name=\"tty-headphones\" />\n    </path>\n\n    <path name=\"voice-tty-hco-handset\">\n        <ctl name=\"TTY Mode\" value=\"HCO\" />\n        <path name=\"handset\" />\n    </path>\n\n    <path name=\"voice-tty-full-headset-mic\">\n        <path name=\"hph-mic\" />\n        <ctl name=\"ADC2 Volume\" value=\"12\" />\n    </path>\n\n    <path name=\"voice-tty-hco-headset-mic\">\n        <path name=\"voice-tty-full-headset-mic\" />\n    </path>\n\n    <path name=\"voice-tty-vco-handset-mic\">\n        <path name=\"handset-mic\" />\n    </path>\n\n\n    <!-- MAD -->\n    <path name=\"listen-handset-mic\">\n        <ctl name=\"MADONOFF Switch\" value=\"1\" />\n        <ctl name=\"MAD Input\" value=\"ADC3\" />\n    </path>\n\n    <path name=\"voice-rx\">\n    </path>\n\n    <path name=\"voice-tx\">\n    </path>\n\n    <path name=\"echo-reference\">\n        <ctl name=\"AUDIO_REF_EC_UL1 MUX\" value=\"SLIM_RX\" />\n    </path>\n</mixer>\n"
  },
  {
    "path": "bacon.mk",
    "content": "#\n# Copyright (C) 2016 The CyanogenMod Project\n# Copyright (C) 2018 The LineageOS Project\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n# Overlays\nDEVICE_PACKAGE_OVERLAYS += \\\n    $(LOCAL_PATH)/overlay \\\n    $(LOCAL_PATH)/overlay-lineage\n\n# Audio\nPRODUCT_COPY_FILES += \\\n    $(LOCAL_PATH)/audio/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \\\n    $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \\\n    $(LOCAL_PATH)/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \\\n    frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \\\n    frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \\\n    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \\\n    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \\\n    frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml\n\n# Boot animation\nTARGET_SCREEN_HEIGHT := 1920\nTARGET_SCREEN_WIDTH := 1080\n\n# Camera\nPRODUCT_PACKAGES += \\\n    camera.msm8974\n\n# Display\nPRODUCT_AAPT_CONFIG := normal\nPRODUCT_AAPT_PREF_CONFIG := xxhdpi\n\n# NFC\nPRODUCT_PACKAGES += \\\n    com.android.nfc_extras \\\n    NfcNci \\\n    Tag\n\nPRODUCT_COPY_FILES += \\\n    $(LOCAL_PATH)/configs/libnfc-nxp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nxp.conf \\\n    $(LOCAL_PATH)/configs/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci.conf\n\n# Permissions\nPRODUCT_COPY_FILES += \\\n    frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \\\n    frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \\\n    frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml\n\n# Ramdisk\nPRODUCT_PACKAGES += \\\n    fstab.bacon \\\n    init.bacon.rc \\\n    init.qcom.usb.rc \\\n    init.recovery.bacon.rc \\\n    ueventd.bacon.rc\n\n# Recorder\nPRODUCT_PACKAGES += \\\n    Recorder\n\n# Shipping API\n$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_k.mk)\n\n# Vendor security patch level\nPRODUCT_PROPERTY_OVERRIDES += \\\n    ro.lineage.build.vendor_security_patch=2016-09-01\n\n# Call the proprietary setup\n$(call inherit-product, vendor/oneplus/bacon/bacon-vendor.mk)\n\n# Inherit from msm8974-common\n$(call inherit-product, device/oppo/msm8974-common/msm8974.mk)\n"
  },
  {
    "path": "bluetooth/bdroid_buildcfg.h",
    "content": "/*\n * Copyright (C) 2016 The CyanogenMod Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n#ifndef _BDROID_BUILDCFG_H\n#define _BDROID_BUILDCFG_H\n\n#define BTM_DEF_LOCAL_NAME        \"OnePlus One\"\n\n#define BLUETOOTH_QTI_SW          TRUE\n#define BT_CLEAN_TURN_ON_DISABLED TRUE\n\n#endif\n"
  },
  {
    "path": "config.fs",
    "content": "[firmware/]\nmode: 0771\nuser: AID_SYSTEM\ngroup: AID_SYSTEM\ncaps: 0\n\n[persist/]\nmode: 0771\nuser: AID_SYSTEM\ngroup: AID_SYSTEM\ncaps: 0\n"
  },
  {
    "path": "configs/libnfc-nci.conf",
    "content": "## this file is used by Broadcom's Hardware Abstraction Layer at external/libnfc-nci/halimpl/\n\n###############################################################################\n# Application options\nAPPL_TRACE_LEVEL=0x02\nPROTOCOL_TRACE_LEVEL=0xFFFFFFFF\n\n###############################################################################\n# performance measurement\n# Change this setting to control how often USERIAL log the performance (throughput)\n# data on read/write/poll\n# defailt is to log performance dara for every 100 read or write\n#REPORT_PERFORMANCE_MEASURE=100\n\n###############################################################################\n# File used for NFA storage\nNFA_STORAGE=\"/data/nfc\"\n\n###############################################################################\n# Snooze Mode Settings\n#\n#  By default snooze mode is enabled.  Set SNOOZE_MODE_CFG byte[0] to 0\n#  to disable.\n#\n#  If SNOOZE_MODE_CFG is not provided, the default settings are used:\n#  They are as follows:\n#       8             Sleep Mode (0=Disabled 1=UART 8=SPI/I2C)\n#       0             Idle Threshold Host\n#       0             Idle Threshold HC\n#       0             NFC Wake active mode (0=ActiveLow 1=ActiveHigh)\n#       1             Host Wake active mode (0=ActiveLow 1=ActiveHigh)\n#\n#SNOOZE_MODE_CFG={08:00:00:00:01}\n\n###############################################################################\n# Insert a delay in milliseconds after NFC_WAKE and before write to NFCC\nNFC_WAKE_DELAY=20\n\n###############################################################################\n# Various Delay settings (in ms) used in USERIAL\n#  POWER_ON_DELAY\n#    Delay after turning on chip, before writing to transport (default 300)\n#  PRE_POWER_OFF_DELAY\n#    Delay after deasserting NFC-Wake before turn off chip (default 0)\n#  POST_POWER_OFF_DELAY\n#    Delay after turning off chip, before USERIAL_close returns (default 0)\n#\n#POWER_ON_DELAY=300\n#PRE_POWER_OFF_DELAY=0\n#POST_POWER_OFF_DELAY=0\n\n###############################################################################\n# LPTD mode configuration\n#  byte[0] is the length of the remaining bytes in this value\n#     if set to 0, LPTD params will NOT be sent to NFCC (i.e. disabled).\n#  byte[1] is the param id it should be set to B9.\n#  byte[2] is the length of the LPTD parameters\n#  byte[3] indicates if LPTD is enabled\n#     if set to 0, LPTD will be disabled (parameters will still be sent).\n#  byte[4-n] are the LPTD parameters.\n#  By default, LPTD is enabled and default settings are used.\n#  See nfc_hal_dm_cfg.c for defaults\nLPTD_CFG={23:B9:21:01:02:FF:FF:04:A0:0F:40:00:80:02:02:10:00:00:00:31:0C:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00}\n\n###############################################################################\n# Startup Configuration (100 bytes maximum)\n#\n# For the 0xCA parameter, byte[9] (marked by 'AA') is for UICC0, and byte[10] (marked by BB) is\n#    for UICC1.  The values are defined as:\n#   0 : UICCx only supports ISO_DEP in low power mode.\n#   2 : UICCx only supports Mifare in low power mode.\n#   3 : UICCx supports both ISO_DEP and Mifare in low power mode.\n#\n#                                                                          AA BB\nNFA_DM_START_UP_CFG={1F:CB:01:01:A5:01:01:CA:14:00:00:00:00:06:E8:03:00:00:00:00:00:00:00:00:00:00:00:00:00:80:01:01}\n\n###############################################################################\n# Startup Vendor Specific Configuration (100 bytes maximum);\n#  byte[0] TLV total len = 0x5\n#  byte[1] NCI_MTS_CMD|NCI_GID_PROP = 0x2f\n#  byte[2] NCI_MSG_FRAME_LOG = 0x9\n#  byte[3] 2\n#  byte[4] 0=turn off RF frame logging; 1=turn on\n#  byte[5] 0=turn off SWP frame logging; 1=turn on\n#  NFA_DM_START_UP_VSC_CFG={05:2F:09:02:01:01}\n\n###############################################################################\n# Antenna Configuration - This data is used when setting 0xC8 config item\n# at startup (before discovery is started).  If not used, no value is sent.\n#\n# The settings for this value are documented here:\n# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/\n#   Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx\n# This document is maintained by Paul Forshaw.\n#\n# The values marked as ?? should be tweaked per antenna or customer/app:\n# {20:C8:1E:06:??:00:??:??:??:00:??:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:??:01:00:00:40:04}\n# array[0] = 0x20 is length of the payload from array[1] to the end\n# array[1] = 0xC8 is PREINIT_DSP_CFG\n#PREINIT_DSP_CFG={20:C8:1E:06:1F:00:0F:03:3C:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:48:01:00:00:40:04}\n\n###############################################################################\n# Configure crystal frequency when internal LPO can't detect the frequency.\n#XTAL_FREQUENCY=0\n###############################################################################\n# Configure the default Destination Gate used by HCI (the default is 4, which\n# is the ETSI loopback gate.\nNFA_HCI_DEFAULT_DEST_GATE=0xF0\n\n###############################################################################\n# Configure the single default SE to use.  The default is to use the first\n# SE that is detected by the stack.  This value might be used when the phone\n# supports multiple SE (e.g. 0xF3 and 0xF4) but you want to force it to use\n# one of them (e.g. 0xF4).\n#ACTIVE_SE=0xF3\n\n###############################################################################\n# Configure the NFC Extras to open and use a static pipe.  If the value is\n# not set or set to 0, then the default is use a dynamic pipe based on a\n# destination gate (see NFA_HCI_DEFAULT_DEST_GATE).  Note there is a value\n# for each UICC (where F3=\"UICC0\" and F4=\"UICC1\")\n#NFA_HCI_STATIC_PIPE_ID_F3=0x70\n#NFA_HCI_STATIC_PIPE_ID_01=0x19\nNFA_HCI_STATIC_PIPE_ID_C0=0x19\n###############################################################################\n# When disconnecting from Oberthur secure element, perform a warm-reset of\n# the secure element to deselect the applet.\n# The default hex value of the command is 0x3.  If this variable is undefined,\n# then this feature is not used.\nOBERTHUR_WARM_RESET_COMMAND=0x03\n\n###############################################################################\n# Force UICC to only listen to the following technology(s).\n# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.\n# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F\nUICC_LISTEN_TECH_MASK=0xC7\n\n###############################################################################\n# Force HOST listen feature enable or disable.\n# 0: Disable\n# 1: Enable\nHOST_LISTEN_ENABLE=0x01\n\n###############################################################################\n# Allow UICC to be powered off if there is no traffic.\n# Timeout is in ms. If set to 0, then UICC will not be powered off.\n#UICC_IDLE_TIMEOUT=30000\nUICC_IDLE_TIMEOUT=0\n\n###############################################################################\n# AID for Empty Select command\n# If specified, this AID will be substituted when an Empty SELECT command is\n# detected.  The first byte is the length of the AID.  Maximum length is 16.\nAID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}\n\n###############################################################################\n# This setting allows you to disable registering the T4t Virtual SE that causes\n# the NFCC to send PPSE requests to the DH.\n# The default setting is enabled (i.e. T4t Virtual SE is registered).\n#REGISTER_VIRTUAL_SE=1\n\n###############################################################################\n# When screen is turned off, specify the desired power state of the controller.\n# 0: power-off-sleep state; DEFAULT\n# 1: full-power state\n# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)\nSCREEN_OFF_POWER_STATE=1\n\n###############################################################################\n# Firmware patch file\n#  If the value is not set then patch download is disabled.\nFW_PATCH=\"/vendor/firmware/bcm2079x_firmware.ncd\"\n\n###############################################################################\n# Firmware pre-patch file (sent before the above patch file)\n#  If the value is not set then pre-patch is not used.\nFW_PRE_PATCH=\"/vendor/firmware/bcm2079x_pre_firmware.ncd\"\n\n###############################################################################\n# Firmware patch format\n#   1 = HCD\n#   2 = NCD (default)\n#NFA_CONFIG_FORMAT=2\n\n###############################################################################\n# SPD Debug mode\n#  If set to 1, any failure of downloading a patch will trigger a hard-stop\n#SPD_DEBUG=0\n\n###############################################################################\n# SPD Max Retry Count\n#  The number of attempts to download a patch before giving up (defualt is 3).\n#  Note, this resets after a power-cycle.\n#SPD_MAX_RETRY_COUNT=3\n\n###############################################################################\n# transport driver\n#\n# TRANSPORT_DRIVER=<driver>\n#\n#  where <driver> can be, for example:\n#    \"/dev/ttyS\"        (UART)\n#    \"/dev/bcmi2cnfc\"   (I2C)\n#    \"hwtun\"            (HW Tunnel)\n#    \"/dev/bcmspinfc\"   (SPI)\n#    \"/dev/btusb0\"      (BT USB)\nTRANSPORT_DRIVER=\"/dev/bcm2079x\"\n\n###############################################################################\n# power control driver\n# Specify a kernel driver that support ioctl commands to control NFC_EN and\n# NFC_WAKE gpio signals.\n#\n# POWER_CONTRL_DRIVER=<driver>\n#  where <driver> can be, for example:\n#    \"/dev/nfcpower\"\n#    \"/dev/bcmi2cnfc\"   (I2C)\n#    \"/dev/bcmspinfc\"   (SPI)\n#    i2c and spi driver may be used to control NFC_EN and NFC_WAKE signal\nPOWER_CONTROL_DRIVER=\"/dev/bcm2079x\"\n\n###############################################################################\n# I2C transport driver options\n#\nBCMI2CNFC_ADDRESS=0\n\n###############################################################################\n# I2C transport driver try to read multiple packets in read() if data is available\n# remove the comment below to enable this feature\n#READ_MULTIPLE_PACKETS=1\n\n###############################################################################\n# SPI transport driver options\n#SPI_NEGOTIATION={0A:F0:00:01:00:00:00:FF:FF:00:00}\n\n###############################################################################\n# UART transport driver options\n#\n# PORT=1,2,3,...\n# BAUD=115200, 19200, 9600, 4800,\n# DATABITS=8, 7, 6, 5\n# PARITY=\"even\" | \"odd\" | \"none\"\n# STOPBITS=\"0\" | \"1\" | \"1.5\" | \"2\"\n\n#UART_PORT=2\n#UART_BAUD=115200\n#UART_DATABITS=8\n#UART_PARITY=\"none\"\n#UART_STOPBITS=\"1\"\n\n###############################################################################\n# Insert a delay in microseconds per byte after a write to NFCC.\n# after writing a block of data to the NFCC, delay this an amopunt of time before\n# writing next block of data.  the delay is calculated as below\n#   NFC_WRITE_DELAY * (number of byte written) / 1000 milliseconds\n# e.g. after 259 bytes is written, delay (259 * 20 / 1000) 5 ms before next write\nNFC_WRITE_DELAY=20\n\n###############################################################################\n# Maximum Number of Credits to be allowed by the NFCC\n#   This value overrides what the NFCC specifices allowing the host to have\n#   the control to work-around transport limitations.  If this value does\n#   not exist or is set to 0, the NFCC will provide the number of credits.\nMAX_RF_DATA_CREDITS=1\n\n###############################################################################\n# Antenna Configuration - This data is used when setting 0xC8 config item\n# at startup (before discovery is started).  If not used, no value is sent.\n#\n# The settings for this value are documented here:\n# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/\n#   Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx\n# This document is maintained by Paul Forshaw.\n#\n# The values marked as ?? should be tweaked per antenna or customer/app:\n# {20:C8:1E:06:??:00:??:??:??:00:??:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:??:01:00:00:40:04}\n# array[0] = 0x20 is length of the payload from array[1] to the end\n# array[1] = 0xC8 is PREINIT_DSP_CFG\n#PREINIT_DSP_CFG={20:C8:1E:06:1F:00:0F:03:3C:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:48:01:00:00:40:04}\n\n\n###############################################################################\n# Force tag polling for the following technology(s).\n# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.\n# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |\n#            NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |\n#            NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO |\n#            NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE.\n#\n# Notable bits:\n# NFA_TECHNOLOGY_MASK_A             0x01    /* NFC Technology A             */\n# NFA_TECHNOLOGY_MASK_B             0x02    /* NFC Technology B             */\n# NFA_TECHNOLOGY_MASK_F             0x04    /* NFC Technology F             */\n# NFA_TECHNOLOGY_MASK_ISO15693\t    0x08    /* Proprietary Technology       */\n# NFA_TECHNOLOGY_MASK_KOVIO\t        0x20    /* Proprietary Technology       */\n# NFA_TECHNOLOGY_MASK_A_ACTIVE      0x40    /* NFC Technology A active mode */\n# NFA_TECHNOLOGY_MASK_F_ACTIVE      0x80    /* NFC Technology F active mode */\nPOLLING_TECH_MASK=0xEF\n\n###############################################################################\n# Force P2P to only listen for the following technology(s).\n# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.\n# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |\n#            NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE\n#\n# Notable bits:\n# NFA_TECHNOLOGY_MASK_A\t            0x01    /* NFC Technology A             */\n# NFA_TECHNOLOGY_MASK_F\t            0x04    /* NFC Technology F             */\n# NFA_TECHNOLOGY_MASK_A_ACTIVE      0x40    /* NFC Technology A active mode */\n# NFA_TECHNOLOGY_MASK_F_ACTIVE      0x80    /* NFC Technology F active mode */\nP2P_LISTEN_TECH_MASK=0xC5        \n\nPRESERVE_STORAGE=0x01\n\n###############################################################################\n# Maximum EE supported number\n# NXP PN547C2 0x02\n# NXP PN65T 0x03\nNFA_MAX_EE_SUPPORTED=0x03\n\n###############################################################################\n# NCI Hal Module name\nNCI_HAL_MODULE=\"nfc_nci.pn54x\"\n\n###############################################################################\n# Vendor Specific Proprietary Protocol & Discovery Configuration\n# Set to 0xFF if unsupported\n#  byte[0] NCI_PROTOCOL_18092_ACTIVE\n#  byte[1] NCI_PROTOCOL_B_PRIME\n#  byte[2] NCI_PROTOCOL_DUAL\n#  byte[3] NCI_PROTOCOL_15693\n#  byte[4] NCI_PROTOCOL_KOVIO\n#  byte[5] NCI_PROTOCOL_MIFARE\n#  byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO\n#  byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME\n#  byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME\nNFA_PROPRIETARY_CFG={05:FF:FF:06:81:80:77:FF:FF}\n\n###############################################################################\n# Enable/Disable NFC-F HCE\n# Disable       0x00\n# Enable        non-zero value\nENABLE_NFCF_HCE=0x00\n\n###############################################################################\n# Set max transceive length for IsoDep frames\n# Standard      0x105 (261)\n# Extended      0xFEFF (65279)\nISO_DEP_MAX_TRANSCEIVE=0xFEFF\n\n###############################################################################\n# Mifare Tag implementation\n# 0: General implementation\n# 1: Legacy implementation\nLEGACY_MIFARE_READER=1\n"
  },
  {
    "path": "configs/libnfc-nxp.conf",
    "content": "## This file is used by NFC NXP NCI HAL(external/libnfc-nci/halimpl/pn547) \n## and NFC Service Java Native Interface Extensions (packages/apps/Nfc/nci/jni/extns/pn547)\n\n###############################################################################\n# Application options\n# Logging Levels\n# NXPLOG_DEFAULT_LOGLEVEL    0x01\n# ANDROID_LOG_DEBUG          0x03\n# ANDROID_LOG_WARN           0x02\n# ANDROID_LOG_ERROR          0x01\n# ANDROID_LOG_SILENT         0x00\n#\nNXPLOG_EXTNS_LOGLEVEL=0x02\nNXPLOG_NCIHAL_LOGLEVEL=0x02\nNXPLOG_NCIX_LOGLEVEL=0x02\nNXPLOG_NCIR_LOGLEVEL=0x02\nNXPLOG_FWDNLD_LOGLEVEL=0x02\nNXPLOG_TML_LOGLEVEL=0x02\n\n###############################################################################\n# Nfc Device Node name\nNXP_NFC_DEV_NODE=\"/dev/pn544\"\n\n###############################################################################\n# Extension for Mifare reader enable\n#    0x00 - Disabled\n#    0x01 - Enabled\nMIFARE_READER_ENABLE=0x01\n\n###############################################################################\n# File location for Firmware\n#FW_STORAGE=\"/etc/firmware/libpn547_fw.so\"\n\n###############################################################################\n# System clock source selection configuration\n#    CLK_SRC_XTAL     - 0x01\n#    CLK_SRC_PLL      - 0x02\nNXP_SYS_CLK_SRC_SEL=0x02\n\n###############################################################################\n# System clock frequency selection configuration for PLL\n#    CLK_FREQ_13MHZ   - 0x01\n#    CLK_FREQ_19_2MHZ - 0x02\n#    CLK_FREQ_24MHZ   - 0x03\n#    CLK_FREQ_26MHZ   - 0x04\n#    CLK_FREQ_38_4MHZ - 0x05\n#    CLK_FREQ_52MHZ   - 0x06\nNXP_SYS_CLK_FREQ_SEL=0x02\n\n###############################################################################\n# The timeout value to be used for clock request acknowledgment\n# min value = 0x01 to max = 0x0A\nNXP_SYS_CLOCK_TO_CFG=0x0A\n\n###############################################################################\n# NXP proprietary settings\nNXP_ACT_PROP_EXTN={2F, 02, 00}\n\n###############################################################################\n# NFC forum profile settings\nNXP_NFC_PROFILE_EXTN={20, 02, 05, 01, A0, 44, 01, 00}\n\n###############################################################################\n# Standby enable settings\n#    0x00 - Disabled\n#    0x01 - Enabled\nNXP_CORE_STANDBY={2F, 00, 01, 01}\n\n\n###############################################################################\n# NXP RF ALM (NO BOOSTER) configuration settings for FW VERSION = 08.01.18\n###############################################################################\n#    A0, 0D, 03, 00, 40, 02                RF_CLIF_BOOT                CLIF_ANA_NFCLD_REG\n#    A0, 0D, 03, 04, 43, 20                RF_CLIF_CFG_INITIATOR       CLIF_ANA_PBF_CONTROL_REG\n#    A0, 0D, 03, 04, FF, 05                RF_CLIF_CFG_INITIATOR       SMU_PMU_REG (0x40024010)\n#    A0, 0D, 06, 06, 44, A3, 90, 03, 00    RF_CLIF_CFG_TARGET          CLIF_ANA_RX_REG\n#    A0, 0D, 06, 06, 30, CF, 00, 08, 00    RF_CLIF_CFG_TARGET          CLIF_SIGPRO_ADCBCM_THRESHOLD_REG\n#    A0, 0D, 06, 06, 2F, 8F, 05, 80, 0C    RF_CLIF_CFG_TARGET          CLIF_SIGPRO_ADCBCM_CONFIG_REG\n#    A0, 0D, 04, 06, 03, 00, 6E            RF_CLIF_CFG_TARGET          CLIF_TRANSCEIVE_CONTROL_REG\n#    A0, 0D, 03, 06, 48, 1F                RF_CLIF_CFG_TARGET          CLIF_ANA_CLK_MAN_REG\n#    A0, 0D, 03, 06, 43, A0                RF_CLIF_CFG_TARGET          CLIF_ANA_PBF_CONTROL_REG\n#    A0, 0D, 06, 06, 42, 00, 00, FF, FF    RF_CLIF_CFG_TARGET          CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 06, 06, 41, 80, 00, 00, 00    RF_CLIF_CFG_TARGET          CLIF_ANA_TX_CLK_CONTROL_REG\n#    A0, 0D, 03, 06, 37, 18                RF_CLIF_CFG_TARGET          CLIF_TX_CONTROL_REG\n#    A0, 0D, 03, 06, 16, 00                RF_CLIF_CFG_TARGET          CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 06, 15, 00                RF_CLIF_CFG_TARGET          CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 06, FF, 05, 00, 00, 00    RF_CLIF_CFG_TARGET          SMU_PMU_REG (0x40024010)\n#    A0, 0D, 06, 08, 44, 00, 00, 00, 00    RF_CLIF_CFG_I_PASSIVE       CLIF_ANA_RX_REG\n#    A0, 0D, 06, 20, 4A, 00, 00, 00, 00    RF_CLIF_CFG_TECHNO_I_TX15693CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 06, 20, 42, 88, 10, FF, FF    RF_CLIF_CFG_TECHNO_I_TX15693CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 03, 20, 16, 00                RF_CLIF_CFG_TECHNO_I_TX15693CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 20, 15, 00                RF_CLIF_CFG_TECHNO_I_TX15693CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 22, 44, 22, 00, 02, 00    RF_CLIF_CFG_TECHNO_I_RX15693CLIF_ANA_RX_REG\n#    A0, 0D, 06, 22, 2D, 50, 44, 0C, 00    RF_CLIF_CFG_TECHNO_I_RX15693CLIF_SIGPRO_RM_CONFIG1_REG\n#    A0, 0D, 04, 32, 03, 40, 3D            RF_CLIF_CFG_BR_106_I_TXA    CLIF_TRANSCEIVE_CONTROL_REG\n#    A0, 0D, 06, 32, 42, F8, 10, FF, FF    RF_CLIF_CFG_BR_106_I_TXA    CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 03, 32, 16, 00                RF_CLIF_CFG_BR_106_I_TXA    CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 32, 15, 01                RF_CLIF_CFG_BR_106_I_TXA    CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 32, 0D, 22                RF_CLIF_CFG_BR_106_I_TXA    CLIF_TX_DATA_MOD_REG\n#    A0, 0D, 03, 32, 14, 22                RF_CLIF_CFG_BR_106_I_TXA    CLIF_TX_SYMBOL23_MOD_REG\n#    A0, 0D, 06, 32, 4A, 30, 0F, 01, 1F    RF_CLIF_CFG_BR_106_I_TXA    CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 06, 34, 2D, 24, 77, 0C, 00    RF_CLIF_CFG_BR_106_I_RXA_P  CLIF_SIGPRO_RM_CONFIG1_REG\n#    A0, 0D, 06, 34, 44, 21, 00, 02, 00    RF_CLIF_CFG_BR_106_I_RXA_P  CLIF_ANA_RX_REG\n#    A0, 0D, 06, 35, 44, 21, 00, 02, 00    RF_CLIF_CFG_BR_106_I_RXA_P  CLIF_ANA_RX_REG\n#    A0, 0D, 06, 38, 4A, 53, 07, 01, 1B    RF_CLIF_CFG_BR_212_I_TXA    CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 06, 38, 42, 68, 10, FF, FF    RF_CLIF_CFG_BR_212_I_TXA    CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 03, 38, 16, 00                RF_CLIF_CFG_BR_212_I_TXA    CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 38, 15, 00                RF_CLIF_CFG_BR_212_I_TXA    CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 3A, 2D, 15, 47, 0D, 00    RF_CLIF_CFG_BR_212_I_RXA    CLIF_SIGPRO_RM_CONFIG1_REG\n#    A0, 0D, 06, 3C, 4A, 52, 07, 01, 1B    RF_CLIF_CFG_BR_424_I_TXA    CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 06, 3C, 42, 68, 10, FF, FF    RF_CLIF_CFG_BR_424_I_TXA    CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 03, 3C, 16, 00                RF_CLIF_CFG_BR_424_I_TXA    CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 3C, 15, 00                RF_CLIF_CFG_BR_424_I_TXA    CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 3E, 2D, 15, 47, 0D, 00    RF_CLIF_CFG_BR_424_I_RXA    CLIF_SIGPRO_RM_CONFIG1_REG\n#    A0, 0D, 06, 40, 42, F0, 10, FF, FF    RF_CLIF_CFG_BR_848_I_TXA    CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 03, 40, 0D, 02                RF_CLIF_CFG_BR_848_I_TXA    CLIF_TX_DATA_MOD_REG\n#    A0, 0D, 03, 40, 14, 02                RF_CLIF_CFG_BR_848_I_TXA    CLIF_TX_SYMBOL23_MOD_REG\n#    A0, 0D, 06, 40, 4A, 12, 07, 00, 00    RF_CLIF_CFG_BR_848_I_TXA    CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 03, 40, 16, 00                RF_CLIF_CFG_BR_848_I_TXA    CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 40, 15, 00                RF_CLIF_CFG_BR_848_I_TXA    CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 42, 2D, 15, 47, 0D, 00    RF_CLIF_CFG_BR_848_I_RXA    CLIF_SIGPRO_RM_CONFIG1_REG\n#    A0, 0D, 06, 46, 44, 21, 00, 02, 00    RF_CLIF_CFG_BR_106_I_RXB    CLIF_ANA_RX_REG\n#    A0, 0D, 06, 46, 2D, 05, 47, 0E, 00    RF_CLIF_CFG_BR_106_I_RXB    CLIF_SIGPRO_RM_CONFIG1_REG\n#    A0, 0D, 06, 44, 4A, 33, 07, 01, 07    RF_CLIF_CFG_BR_106_I_TXB    CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 06, 44, 42, 88, 10, FF, FF    RF_CLIF_CFG_BR_106_I_TXB    CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 03, 44, 16, 00                RF_CLIF_CFG_BR_106_I_TXB    CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 44, 15, 00                RF_CLIF_CFG_BR_106_I_TXB    CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 4A, 44, 22, 00, 02, 00    RF_CLIF_CFG_BR_212_I_RXB    CLIF_ANA_RX_REG\n#    A0, 0D, 06, 4A, 2D, 05, 37, 0C, 00    RF_CLIF_CFG_BR_212_I_RXB    CLIF_SIGPRO_RM_CONFIG1_REG\n#    A0, 0D, 06, 48, 4A, 33, 07, 01, 07    RF_CLIF_CFG_BR_212_I_TXB    CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 06, 48, 42, 88, 10, FF, FF    RF_CLIF_CFG_BR_212_I_TXB    CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 03, 48, 16, 00                RF_CLIF_CFG_BR_212_I_TXB    CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 48, 15, 00                RF_CLIF_CFG_BR_212_I_TXB    CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 4E, 44, 22, 00, 02, 00    RF_CLIF_CFG_BR_424_I_RXB    CLIF_ANA_RX_REG\n#    A0, 0D, 06, 4E, 2D, 05, 37, 0C, 00    RF_CLIF_CFG_BR_424_I_RXB    CLIF_SIGPRO_RM_CONFIG1_REG\n#    A0, 0D, 06, 4C, 4A, 33, 07, 01, 07    RF_CLIF_CFG_BR_424_I_TXB    CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 06, 4C, 42, 88, 10, FF, FF    RF_CLIF_CFG_BR_424_I_TXB    CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 03, 4C, 16, 00                RF_CLIF_CFG_BR_424_I_TXB    CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 4C, 15, 00                RF_CLIF_CFG_BR_424_I_TXB    CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 52, 44, 22, 00, 02, 00    RF_CLIF_CFG_BR_848_I_RXB    CLIF_ANA_RX_REG\n#    A0, 0D, 06, 52, 2D, 05, 25, 0C, 00    RF_CLIF_CFG_BR_848_I_RXB    CLIF_SIGPRO_RM_CONFIG1_REG\n#    A0, 0D, 06, 50, 42, 90, 10, FF, FF    RF_CLIF_CFG_BR_848_I_TXB    CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 06, 50, 4A, 11, 0F, 01, 07    RF_CLIF_CFG_BR_848_I_TXB    CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 03, 50, 16, 00                RF_CLIF_CFG_BR_848_I_TXB    CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 50, 15, 00                RF_CLIF_CFG_BR_848_I_TXB    CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 56, 2D, 05, 9E, 0C, 00    RF_CLIF_CFG_BR_212_I_RXF_P  CLIF_SIGPRO_RM_CONFIG1_REG\n#    A0, 0D, 06, 56, 44, 22, 00, 02, 00    RF_CLIF_CFG_BR_212_I_RXF_P  CLIF_ANA_RX_REG\n#    A0, 0D, 06, 5C, 2D, 05, 69, 0C, 00    RF_CLIF_CFG_BR_424_I_RXF_P  CLIF_SIGPRO_RM_CONFIG1_REG\n#    A0, 0D, 06, 5C, 44, 21, 00, 02, 00    RF_CLIF_CFG_BR_424_I_RXF_P  CLIF_ANA_RX_REG\n#    A0, 0D, 06, 54, 42, 88, 10, FF, FF    RF_CLIF_CFG_BR_212_I_TXF    CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 06, 54, 4A, 33, 07, 01, 07    RF_CLIF_CFG_BR_212_I_TXF    CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 03, 54, 16, 00                RF_CLIF_CFG_BR_212_I_TXF    CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 54, 15, 00                RF_CLIF_CFG_BR_212_I_TXF    CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 5A, 42, 90, 10, FF, FF    RF_CLIF_CFG_BR_424_I_TXF    CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 06, 5A, 4A, 31, 07, 01, 07    RF_CLIF_CFG_BR_424_I_TXF    CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 03, 5A, 16, 00                RF_CLIF_CFG_BR_424_I_TXF    CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 5A, 15, 00                RF_CLIF_CFG_BR_424_I_TXF    CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 98, 2F, AF, 05, 80, 0F    RF_CLIF_GTM_B               CLIF_SIGPRO_ADCBCM_CONFIG_REG\n#    A0, 0D, 06, 9A, 42, 00, 00, FF, FF    RF_CLIF_GTM_FELICA          CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 06, 30, 44, A3, 90, 03, 00    RF_CLIF_CFG_TECHNO_T_RXF    CLIF_ANA_RX_REG\n#    A0, 0D, 06, 6C, 44, A3, 90, 03, 00    RF_CLIF_CFG_BR_106_T_RXA    CLIF_ANA_RX_REG\n#    A0, 0D, 06, 6C, 30, CF, 00, 08, 00    RF_CLIF_CFG_BR_106_T_RXA    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG\n#    A0, 0D, 06, 6C, 2F, 8F, 05, 80, 0C    RF_CLIF_CFG_BR_106_T_RXA    CLIF_SIGPRO_ADCBCM_CONFIG_REG\n#    A0, 0D, 06, 70, 2F, 8F, 05, 80, 12    RF_CLIF_CFG_BR_212_T_RXA    CLIF_SIGPRO_ADCBCM_CONFIG_REG\n#    A0, 0D, 06, 70, 30, CF, 00, 08, 00    RF_CLIF_CFG_BR_212_T_RXA    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG\n#    A0, 0D, 06, 74, 2F, 8F, 05, 80, 12    RF_CLIF_CFG_BR_424_T_RXA    CLIF_SIGPRO_ADCBCM_CONFIG_REG\n#    A0, 0D, 06, 74, 30, DF, 00, 07, 00    RF_CLIF_CFG_BR_424_T_RXA    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG\n#    A0, 0D, 06, 78, 2F, 1F, 06, 80, 01    RF_CLIF_CFG_BR_848_T_RXA    CLIF_SIGPRO_ADCBCM_CONFIG_REG\n#    A0, 0D, 06, 78, 30, 3F, 00, 04, 00    RF_CLIF_CFG_BR_848_T_RXA    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG\n#    A0, 0D, 06, 78, 44, A2, 90, 03, 00    RF_CLIF_CFG_BR_848_T_RXA    CLIF_ANA_RX_REG\n#    A0, 0D, 03, 78, 47, 00                RF_CLIF_CFG_BR_848_T_RXA    CLIF_ANA_AGC_REG\n#    A0, 0D, 06, 7C, 2F, AF, 05, 80, 0F    RF_CLIF_CFG_BR_106_T_RXB    CLIF_SIGPRO_ADCBCM_CONFIG_REG\n#    A0, 0D, 06, 7C, 30, CF, 00, 07, 00    RF_CLIF_CFG_BR_106_T_RXB    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG\n#    A0, 0D, 06, 7C, 44, A3, 90, 03, 00    RF_CLIF_CFG_BR_106_T_RXB    CLIF_ANA_RX_REG\n#    A0, 0D, 06, 7D, 30, CF, 00, 08, 00    RF_CLIF_CFG_BR_106_T_RXB    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG\n#    A0, 0D, 06, 80, 2F, AF, 05, 80, 90    RF_CLIF_CFG_BR_212_T_RXB    CLIF_SIGPRO_ADCBCM_CONFIG_REG\n#    A0, 0D, 06, 80, 44, A3, 90, 03, 00    RF_CLIF_CFG_BR_212_T_RXB    CLIF_ANA_RX_REG\n#    A0, 0D, 06, 84, 2F, AF, 05, 80, 92    RF_CLIF_CFG_BR_424_T_RXB    CLIF_SIGPRO_ADCBCM_CONFIG_REG\n#    A0, 0D, 06, 84, 44, A3, 90, 03, 00    RF_CLIF_CFG_BR_424_T_RXB    CLIF_ANA_RX_REG\n#    A0, 0D, 06, 88, 2F, 7F, 04, 80, 10    RF_CLIF_CFG_BR_848_T_RXB    CLIF_SIGPRO_ADCBCM_CONFIG_REG\n#    A0, 0D, 06, 88, 30, 5F, 00, 16, 00    RF_CLIF_CFG_BR_848_T_RXB    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG\n#    A0, 0D, 03, 88, 47, 00                RF_CLIF_CFG_BR_848_T_RXB    CLIF_ANA_AGC_REG\n#    A0, 0D, 06, 88, 44, A1, 90, 03, 00    RF_CLIF_CFG_BR_848_T_RXB    CLIF_ANA_RX_REG\n#    A0, 0D, 03, 0C, 48, 1F                RF_CLIF_CFG_T_PASSIVE       CLIF_ANA_CLK_MAN_REG\n#    A0, 0D, 03, 10, 43, 20                RF_CLIF_CFG_T_ACTIVE        CLIF_ANA_PBF_CONTROL_REG\n#    A0, 0D, 06, 6A, 42, F8, 10, FF, FF    RF_CLIF_CFG_BR_106_T_TXA_A  CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 03, 6A, 16, 00                RF_CLIF_CFG_BR_106_T_TXA_A  CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 6A, 15, 01                RF_CLIF_CFG_BR_106_T_TXA_A  CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 6A, 4A, 30, 0F, 01, 1F    RF_CLIF_CFG_BR_106_T_TXA_A  CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 06, 8C, 42, 88, 10, FF, FF    RF_CLIF_CFG_BR_212_T_TXF_A  CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 06, 8C, 4A, 33, 07, 01, 07    RF_CLIF_CFG_BR_212_T_TXF_A  CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 03, 8C, 16, 00                RF_CLIF_CFG_BR_212_T_TXF_A  CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 8C, 15, 00                RF_CLIF_CFG_BR_212_T_TXF_A  CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 92, 42, 90, 10, FF, FF    RF_CLIF_CFG_BR_424_T_TXF_A  CLIF_ANA_TX_AMPLITUDE_REG\n#    A0, 0D, 06, 92, 4A, 31, 07, 01, 07    RF_CLIF_CFG_BR_424_T_TXF_A  CLIF_ANA_TX_SHAPE_CONTROL_REG\n#    A0, 0D, 03, 92, 16, 00                RF_CLIF_CFG_BR_424_T_TXF_A  CLIF_TX_UNDERSHOOT_CONFIG_REG\n#    A0, 0D, 03, 92, 15, 00                RF_CLIF_CFG_BR_424_T_TXF_A  CLIF_TX_OVERSHOOT_CONFIG_REG\n#    A0, 0D, 06, 0A, 30, CF, 00, 08, 00    RF_CLIF_CFG_I_ACTIVE        CLIF_SIGPRO_ADCBCM_THRESHOLD_REG\n#    A0, 0D, 06, 0A, 2F, 8F, 05, 80, 0C    RF_CLIF_CFG_I_ACTIVE        CLIF_SIGPRO_ADCBCM_CONFIG_REG\n#    A0, 0D, 03, 0A, 48, 10                RF_CLIF_CFG_I_ACTIVE        CLIF_ANA_CLK_MAN_REG\n#    A0, 0D, 06, 0A, 44, A3, 90, 03, 00    RF_CLIF_CFG_I_ACTIVE        CLIF_ANA_RX_REG\n\n# *** ALM(NO BOOSTER) FW VERSION = 08.01.18 ***\nNXP_RF_CONF_BLK_1={\n    20, 02, F3, 20,\n    A0, 0D, 03, 00, 40, 02,\n    A0, 0D, 03, 04, 43, 20,\n    A0, 0D, 03, 04, FF, 05,\n    A0, 0D, 06, 06, 44, A3, 90, 03, 00,\n    A0, 0D, 06, 06, 30, CF, 00, 08, 00,\n    A0, 0D, 06, 06, 2F, 8F, 05, 80, 0C,\n    A0, 0D, 04, 06, 03, 00, 6E,\n    A0, 0D, 03, 06, 48, 1A,\n    A0, 0D, 03, 06, 43, A0,\n    A0, 0D, 06, 06, 42, 00, 00, F6, F6,\n    A0, 0D, 06, 06, 41, 80, 00, 00, 00,\n    A0, 0D, 03, 06, 37, 18,\n    A0, 0D, 03, 06, 16, 00,\n    A0, 0D, 03, 06, 15, 00,\n    A0, 0D, 06, 06, FF, 05, 00, 00, 00,\n    A0, 0D, 06, 08, 44, 00, 00, 00, 00,\n    A0, 0D, 06, 20, 4A, 00, 00, 00, 00,\n    A0, 0D, 06, 20, 42, 88, 10, FF, FF,\n    A0, 0D, 03, 20, 16, 00,\n    A0, 0D, 03, 20, 15, 00,\n    A0, 0D, 06, 22, 44, 22, 00, 02, 00,\n    A0, 0D, 06, 22, 2D, 50, 44, 0C, 00,\n    A0, 0D, 04, 32, 03, 40, 3D,\n    A0, 0D, 06, 32, 42, F8, 10, FF, FF,\n    A0, 0D, 03, 32, 16, 00,\n    A0, 0D, 03, 32, 15, 01,\n    A0, 0D, 03, 32, 0D, 22,\n    A0, 0D, 03, 32, 14, 22,\n    A0, 0D, 06, 32, 4A, 30, 0F, 01, 1F,\n    A0, 0D, 06, 34, 2D, 24, 77, 0C, 00,\n    A0, 0D, 06, 34, 44, 21, 00, 02, 00,\n    A0, 0D, 06, 35, 44, 21, 00, 02, 00\n}\n# *** ALM(NO BOOSTER) FW VERSION = 08.01.18 ***\nNXP_RF_CONF_BLK_2={\n    20, 02, F4, 1F,\n    A0, 0D, 06, 38, 4A, 53, 07, 01, 1B,\n    A0, 0D, 06, 38, 42, 68, 10, FF, FF,\n    A0, 0D, 03, 38, 16, 00,\n    A0, 0D, 03, 38, 15, 00,\n    A0, 0D, 06, 3A, 2D, 15, 47, 0D, 00,\n    A0, 0D, 06, 3C, 4A, 52, 07, 01, 1B,\n    A0, 0D, 06, 3C, 42, 68, 10, FF, FF,\n    A0, 0D, 03, 3C, 16, 00,\n    A0, 0D, 03, 3C, 15, 00,\n    A0, 0D, 06, 3E, 2D, 15, 47, 0D, 00,\n    A0, 0D, 06, 40, 42, F0, 10, FF, FF,\n    A0, 0D, 03, 40, 0D, 02,\n    A0, 0D, 03, 40, 14, 02,\n    A0, 0D, 06, 40, 4A, 12, 07, 00, 00,\n    A0, 0D, 03, 40, 16, 00,\n    A0, 0D, 03, 40, 15, 00,\n    A0, 0D, 06, 42, 2D, 15, 47, 0D, 00,\n    A0, 0D, 06, 46, 44, 21, 00, 02, 00,\n    A0, 0D, 06, 46, 2D, 05, 47, 0E, 00,\n    A0, 0D, 06, 44, 4A, 33, 07, 01, 07,\n    A0, 0D, 06, 44, 42, 88, 10, FF, FF,\n    A0, 0D, 03, 44, 16, 00,\n    A0, 0D, 03, 44, 15, 00,\n    A0, 0D, 06, 4A, 44, 22, 00, 02, 00,\n    A0, 0D, 06, 4A, 2D, 05, 37, 0C, 00,\n    A0, 0D, 06, 48, 4A, 33, 07, 01, 07,\n    A0, 0D, 06, 48, 42, 88, 10, FF, FF,\n    A0, 0D, 03, 48, 16, 00,\n    A0, 0D, 03, 48, 15, 00,\n    A0, 0D, 06, 4E, 44, 22, 00, 02, 00,\n    A0, 0D, 06, 4E, 2D, 05, 37, 0C, 00\n}\n# *** ALM(NO BOOSTER) FW VERSION = 08.01.18 ***\nNXP_RF_CONF_BLK_3={\n    20, 02, F7, 1E,\n    A0, 0D, 06, 4C, 4A, 33, 07, 01, 07,\n    A0, 0D, 06, 4C, 42, 88, 10, FF, FF,\n    A0, 0D, 03, 4C, 16, 00,\n    A0, 0D, 03, 4C, 15, 00,\n    A0, 0D, 06, 52, 44, 22, 00, 02, 00,\n    A0, 0D, 06, 52, 2D, 05, 25, 0C, 00,\n    A0, 0D, 06, 50, 42, 90, 10, FF, FF,\n    A0, 0D, 06, 50, 4A, 11, 0F, 01, 07,\n    A0, 0D, 03, 50, 16, 00,\n    A0, 0D, 03, 50, 15, 00,\n    A0, 0D, 06, 56, 2D, 05, 9E, 0C, 00,\n    A0, 0D, 06, 56, 44, 22, 00, 02, 00,\n    A0, 0D, 06, 5C, 2D, 05, 69, 0C, 00,\n    A0, 0D, 06, 5C, 44, 21, 00, 02, 00,\n    A0, 0D, 06, 54, 42, 88, 10, FF, FF,\n    A0, 0D, 06, 54, 4A, 33, 07, 01, 07,\n    A0, 0D, 03, 54, 16, 00,\n    A0, 0D, 03, 54, 15, 00,\n    A0, 0D, 06, 5A, 42, 90, 10, FF, FF,\n    A0, 0D, 06, 5A, 4A, 31, 07, 01, 07,\n    A0, 0D, 03, 5A, 16, 00,\n    A0, 0D, 03, 5A, 15, 00,\n    A0, 0D, 06, 98, 2F, AF, 05, 80, 0F,\n    A0, 0D, 06, 9A, 42, 00, 00, FF, FF,\n    A0, 0D, 06, 30, 44, A3, 90, 03, 00,\n    A0, 0D, 06, 6C, 44, A3, 90, 03, 00,\n    A0, 0D, 06, 6C, 30, CF, 00, 08, 00,\n    A0, 0D, 06, 6C, 2F, 8F, 05, 80, 0C,\n    A0, 0D, 06, 70, 2F, 8F, 05, 80, 12,\n    A0, 0D, 06, 70, 30, CF, 00, 08, 00\n}\n# *** ALM(NO BOOSTER) FW VERSION = 08.01.18 ***\nNXP_RF_CONF_BLK_4={\n    20, 02, F7, 1E,\n    A0, 0D, 06, 74, 2F, 8F, 05, 80, 12,\n    A0, 0D, 06, 74, 30, DF, 00, 07, 00,\n    A0, 0D, 06, 78, 2F, 1F, 06, 80, 01,\n    A0, 0D, 06, 78, 30, 3F, 00, 04, 00,\n    A0, 0D, 06, 78, 44, A2, 90, 03, 00,\n    A0, 0D, 03, 78, 47, 00,\n    A0, 0D, 06, 7C, 2F, AF, 05, 80, 0F,\n    A0, 0D, 06, 7C, 30, CF, 00, 07, 00,\n    A0, 0D, 06, 7C, 44, A3, 90, 03, 00,\n    A0, 0D, 06, 7D, 30, CF, 00, 08, 00,\n    A0, 0D, 06, 80, 2F, AF, 05, 80, 90,\n    A0, 0D, 06, 80, 44, A3, 90, 03, 00,\n    A0, 0D, 06, 84, 2F, AF, 05, 80, 92,\n    A0, 0D, 06, 84, 44, A3, 90, 03, 00,\n    A0, 0D, 06, 88, 2F, 7F, 04, 80, 10,\n    A0, 0D, 06, 88, 30, 5F, 00, 16, 00,\n    A0, 0D, 03, 88, 47, 00,\n    A0, 0D, 06, 88, 44, A1, 90, 03, 00,\n    A0, 0D, 03, 0C, 48, 1A,\n    A0, 0D, 03, 10, 43, 20,\n    A0, 0D, 06, 6A, 42, F8, 10, FF, FF,\n    A0, 0D, 03, 6A, 16, 00,\n    A0, 0D, 03, 6A, 15, 01,\n    A0, 0D, 06, 6A, 4A, 30, 0F, 01, 1F,\n    A0, 0D, 06, 8C, 42, 88, 10, FF, FF,\n    A0, 0D, 06, 8C, 4A, 33, 07, 01, 07,\n    A0, 0D, 03, 8C, 16, 00,\n    A0, 0D, 03, 8C, 15, 00,\n    A0, 0D, 06, 92, 42, 90, 10, FF, FF,\n    A0, 0D, 06, 92, 4A, 31, 07, 01, 07\n}\n\n###############################################################################\n# Core configuration extensions\n# It includes\n# A002      - Clock Request\n#             0x00 - Disabled\n#             0x01 - Enabled\n# A003      - Clock Selection\n#             Please refer to User Manual\n# A004      - Clock Time Out\n#             Defined in ms\n# A00E      - Load Modulation Mode\n#             0x00 - PLM\n#             0x01 - ALM\n# A011      - Clock specific configuration\n#             Please refer to User Manual\n# A012      - NFCEE interface 2 configuration\n#             0x00 - SWP 2 interface is used\n#             0x02 - DWP interface is used\n# A013      - TVdd configuration\n#             0x00 - TVdd is set to 3.1V in Poll mode\n#             0x02 - TVdd is set to 2.7V in Poll mode\n# A040-A043 - Low Power Card Detector\n#             Please refer to Application Note of LPCD\n# A05E      - Jewel Reader\n#             0x00 - RID is not sent during activation\n#             0x01 - RID is sent during activation\n# A061      - Retry after LPCD\n#             0b0000XXXX - Number of retry if activation failed\n#             0bXXXX0000 - Duration to wait before retry (10ms per step)\n#             Please refer to User Manual\n# A0CD      - SWP interface 1: S1 line behavior\n#             Defined S1 High time-out during Activation sequence\n# A0EC      - SWP1 interface\n#             0x00 - Disabled\n#             0x01 - Enabled\n# A0ED      - SWP2 interface\n#             0x00 - Disabled\n#             0x01 - Enabled\nNXP_CORE_CONF_EXTN={20, 02, 52, 13,\n        A0, 02, 01, 01,\n        A0, 03, 01, 11,\n        A0, 04, 01, 0A,\n        A0, 07, 01, 03,\n        A0, 09, 02, E8, 03,\n        A0, 0E, 01, 01,\n        A0, 11, 04, CD, 67, 22, 01,\n        A0, 12, 01, 02,\n        A0, 13, 01, 00,\n        A0, 40, 01, 01,\n        A0, 41, 01, 02,\n        A0, 42, 01, 19,\n        A0, 43, 01, 00,\n        A0, 47, 02, BA, 27,\n        A0, 5E, 01, 01,\n        A0, 61, 01, 00,\n        A0, CD, 01, 0F,\n        A0, EC, 01, 01,\n        A0, ED, 01, 01\n        }\n\n###############################################################################\n# Core configuration settings\n# It includes\n# 18        - Poll Mode NFC-F:   PF_BIT_RATE\n# 21        - Poll Mode ISO-DEP: PI_BIT_RATE\n# 28        - Poll Mode NFC-DEP: PN_NFC_DEP_SPEED\n# 30        - Lis. Mode NFC-A:   LA_BIT_FRAME_SDD\n# 31        - Lis. Mode NFC-A:   LA_PLATFORM_CONFIG\n# 33        - Lis. Mode NFC-A:   LA_SEL_INFO\n# 50        - Lis. Mode NFC-F:   LF_PROTOCOL_TYPE\n# 54        - Lis. Mode NFC-F:   LF_CON_BITR_F\n# 5B        - Lis. Mode ISO-DEP: LI_BIT_RATE\n# 60        - Lis. Mode NFC-DEP: LN_WT\n# 80        - Other Param.:      RF_FIELD_INFO\n# 81        - Other Param.:      RF_NFCEE_ACTION\n# 82        - Other Param.:      NFCDEP_OP\nNXP_CORE_CONF={ 20, 02, 2B, 0D,\n        18, 01, 01,\n        21, 01, 00,\n        28, 01, 00,\n        30, 01, 08,\n        31, 01, 03,\n        33, 04, 01, 02, 03, 04,\n        50, 01, 02,\n        54, 01, 06,\n        5B, 01, 02,\n        60, 01, 0E,\n        80, 01, 01,\n        81, 01, 01,\n        82, 01, 0E\n        }\n\n###############################################################################\n# Mifare Classic Key settings\n#NXP_CORE_MFCKEY_SETTING={20, 02, 25,04, A0, 51, 06, A0, A1, A2, A3, A4, A5,\n#                                     A0, 52, 06, D3, F7, D3, F7, D3, F7,\n#                                     A0, 53, 06, FF, FF, FF, FF, FF, FF,\n#                                     A0, 54, 06, 00, 00, 00, 00, 00, 00}\n\n###############################################################################\n# Default SE Options\n# No secure element 0x00\n# eSE               0x01\n# UICC              0x02\n# MULTI_SE          0x03\nNXP_DEFAULT_SE=0x01\n\n###############################################################################\nNXP_DEFAULT_NFCEE_TIMEOUT=0x06\n\n###############################################################################\n#Enable SWP full power mode when phone is power off\nNXP_SWP_FULL_PWR_ON=0x00\n\n###############################################################################\n#Chip type\n#PN547C2            0x01\n#PN65T              0x02\nNXP_NFC_CHIP=0x02\n\n###############################################################################\n#SWP Reader feature\n#Timeout in seconds\nNXP_SWP_RD_START_TIMEOUT=0x0A\n#Timeout in seconds\nNXP_SWP_RD_TAG_OP_TIMEOUT=0x01\n\n"
  },
  {
    "path": "extract-files.sh",
    "content": "#!/bin/bash\n#\n# Copyright (C) 2016 The CyanogenMod Project\n# Copyright (C) 2017-2020 The LineageOS Project\n#\n# SPDX-License-Identifier: Apache-2.0\n#\n\n\n# If we're being sourced by the common script that we called,\n# stop right here. No need to go down the rabbit hole.\nif [ \"${BASH_SOURCE[0]}\" != \"${0}\" ]; then\n    return\nfi\n\nset -e\n\nexport DEVICE=bacon\nexport DEVICE_COMMON=msm8974-common\nexport VENDOR_DEVICE=oneplus\nexport VENDOR_COMMON=oppo\n\n\"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/extract-files.sh\" \"$@\"\n"
  },
  {
    "path": "init/Android.bp",
    "content": "//\n// Copyright (C) 2020 The LineageOS Project\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n\ncc_library_static {\n    name: \"libinit_bacon\",\n    recovery_available: true,\n    srcs: [\"init_bacon.cpp\"],\n    include_dirs: [\n        \"device/oppo/msm8974-common/init\",\n        \"system/core/base/include\",\n        \"system/core/init\",\n    ]\n}\n"
  },
  {
    "path": "init/init_bacon.cpp",
    "content": "/*\n   Copyright (c) 2016, The CyanogenMod Project\n                 2020, The LineageOS Project\n\n   Redistribution and use in source and binary forms, with or without\n   modification, are permitted provided that the following conditions are\n   met:\n    * Redistributions of source code must retain the above copyright\n      notice, this list of conditions and the following disclaimer.\n    * Redistributions in binary form must reproduce the above\n      copyright notice, this list of conditions and the following\n      disclaimer in the documentation and/or other materials provided\n      with the distribution.\n    * Neither the name of The Linux Foundation nor the names of its\n      contributors may be used to endorse or promote products derived\n      from this software without specific prior written permission.\n\n   THIS SOFTWARE IS PROVIDED \"AS IS\" AND ANY EXPRESS OR IMPLIED\n   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT\n   ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS\n   BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR\n   BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\n   OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN\n   IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n#include <android-base/file.h>\n#include <android-base/strings.h>\n\n#include \"DeviceLibinit.h\"\n#include \"init_msm8974.h\"\n#include \"vendor_init.h\"\n\nusing android::base::ReadFileToString;\nusing android::base::Split;\n\nvoid import_kernel_cmdline(const std::function<void(const std::string&, const std::string&)>& fn) {\n    std::string cmdline;\n    android::base::ReadFileToString(\"/proc/cmdline\", &cmdline);\n\n    for (const auto& entry : android::base::Split(android::base::Trim(cmdline), \" \")) {\n        std::vector<std::string> pieces = android::base::Split(entry, \"=\");\n        if (pieces.size() == 2) {\n            fn(pieces[0], pieces[1]);\n        }\n    }\n}\n\nstatic void import_kernel_nv(const std::string& key, const std::string& value)\n{\n    if (key.empty()) return;\n\n    if (key == \"oppo.rf_version\") {\n        property_override(\"ro.oppo.rf_version\", value.c_str());\n    } else if (key == \"oppo.pcb_version\") {\n        property_override(\"ro.oppo.pcb_version\", value.c_str());\n    }\n}\n\nstatic void vendor_set_sku(const std::string& key, const std::string& value)\n{\n    if (key.empty()) return;\n\n    if (key == \"mdss_mdp.panel\" && value == \"1:dsi:0:qcom,mdss_dsi_jdi_1080p_cmd\") {\n        property_override(\"ro.boot.hardware.sku\", \"jdi\");\n    } else if (key == \"mdss_mdp.panel\" && value == \"1:dsi:0:qcom,mdss_dsi_sharp_1080p_cmd\") {\n        property_override(\"ro.boot.hardware.sku\", \"sharp\");\n    } else if (key == \"mdss_mdp.panel\" && value == \"1:dsi:0:qcom,mdss_dsi_truly_1080p_cmd\") {\n        property_override(\"ro.boot.hardware.sku\", \"truly\");\n    }\n}\n\nvoid vendor_load_device_properties()\n{\n    import_kernel_cmdline(import_kernel_nv);\n    import_kernel_cmdline(vendor_set_sku);\n}\n"
  },
  {
    "path": "lineage.dependencies",
    "content": "[\n  {\n    \"repository\": \"android_device_oppo_msm8974-common\",\n    \"target_path\": \"device/oppo/msm8974-common\"\n  },\n  {\n    \"repository\": \"android_kernel_oppo_msm8974\",\n    \"target_path\": \"kernel/oppo/msm8974\"\n  }\n]\n"
  },
  {
    "path": "lineage_bacon.mk",
    "content": "#\n# Copyright (C) 2015-2016 The CyanogenMod Project\n#               2017-2018 The LineageOS Project\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n# Inherit framework first\n$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)\n\n# Inherit from bacon device\n$(call inherit-product, device/oneplus/bacon/bacon.mk)\n\n# Inherit some common Lineage stuff.\n$(call inherit-product, vendor/lineage/config/common_mini_phone.mk)\n\nPRODUCT_NAME := lineage_bacon\nPRODUCT_DEVICE := bacon\nPRODUCT_BRAND := oneplus\nPRODUCT_MANUFACTURER := OnePlus\nPRODUCT_MODEL := A0001\n\nPRODUCT_GMS_CLIENTID_BASE := android-oneplus\n\nPRODUCT_BUILD_PROP_OVERRIDES += \\\n    PRIVATE_BUILD_DESC=\"bacon-user 5.0.2 LRX22G YNG1TAS0YL release-keys\" \\\n    PRODUCT_NAME=bacon\n\nBUILD_FINGERPRINT := oneplus/bacon/A0001:5.0.2/LRX22G/YNG1TAS0YL:user/release-keys\n"
  },
  {
    "path": "odm_manifest_jdi.xml",
    "content": "<manifest version=\"1.0\" type=\"device\">\n   <hal format=\"hidl\">\n        <name>vendor.lineage.livedisplay</name>\n        <transport>hwbinder</transport>\n        <version>2.0</version>\n        <interface>\n            <name>IAdaptiveBacklight</name>\n            <instance>default</instance>\n        </interface>\n        <interface>\n            <name>IAutoContrast</name>\n            <instance>default</instance>\n        </interface>\n        <interface>\n            <name>IColorEnhancement</name>\n            <instance>default</instance>\n        </interface>\n        <interface>\n            <name>IDisplayColorCalibration</name>\n            <instance>default</instance>\n        </interface>\n        <interface>\n            <name>ISunlightEnhancement</name>\n            <instance>default</instance>\n        </interface>\n    </hal>\n</manifest>\n"
  },
  {
    "path": "odm_manifest_sharp.xml",
    "content": "<manifest version=\"1.0\" type=\"device\">\n   <hal format=\"hidl\">\n        <name>vendor.lineage.livedisplay</name>\n        <transport>hwbinder</transport>\n        <version>2.0</version>\n        <interface>\n            <name>IAdaptiveBacklight</name>\n            <instance>default</instance>\n        </interface>\n        <interface>\n            <name>IAutoContrast</name>\n            <instance>default</instance>\n        </interface>\n        <interface>\n            <name>IDisplayColorCalibration</name>\n            <instance>default</instance>\n        </interface>\n        <interface>\n            <name>ISunlightEnhancement</name>\n            <instance>default</instance>\n        </interface>\n    </hal>\n</manifest>\n"
  },
  {
    "path": "odm_manifest_truly.xml",
    "content": "<manifest version=\"1.0\" type=\"device\">\n   <hal format=\"hidl\">\n        <name>vendor.lineage.livedisplay</name>\n        <transport>hwbinder</transport>\n        <version>2.0</version>\n        <interface>\n            <name>IAdaptiveBacklight</name>\n            <instance>default</instance>\n        </interface>\n        <interface>\n            <name>IAutoContrast</name>\n            <instance>default</instance>\n        </interface>\n        <interface>\n            <name>IColorEnhancement</name>\n            <instance>default</instance>\n        </interface>\n        <interface>\n            <name>IDisplayColorCalibration</name>\n            <instance>default</instance>\n        </interface>\n        <interface>\n            <name>ISunlightEnhancement</name>\n            <instance>default</instance>\n        </interface>\n    </hal>\n</manifest>\n"
  },
  {
    "path": "overlay/frameworks/base/core/res/res/values/config.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n/*\n** Copyright 2013, The Android Open Source Project\n**\n** Licensed under the Apache License, Version 2.0 (the \"License\");\n** you may not use this file except in compliance with the License.\n** You may obtain a copy of the License at\n**\n**     http://www.apache.org/licenses/LICENSE-2.0\n**\n** Unless required by applicable law or agreed to in writing, software\n** distributed under the License is distributed on an \"AS IS\" BASIS,\n** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n** See the License for the specific language governing permissions and\n** limitations under the License.\n*/\n-->\n\n<resources xmlns:xliff=\"urn:oasis:names:tc:xliff:document:1.2\">\n\n    <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.\n         The N entries of this array define N  1 zones as follows:\n\n         Zone 0:        0 <= LUX < array[0]\n         Zone 1:        array[0] <= LUX < array[1]\n         ...\n         Zone N:        array[N - 1] <= LUX < array[N]\n         Zone N + 1     array[N] <= LUX < infinity\n\n         Must be overridden in platform specific overlays -->\n    <integer-array name=\"config_autoBrightnessLevels\">\n        <item>2</item>\n        <item>7</item>\n        <item>15</item>\n        <item>50</item>\n        <item>100</item>\n        <item>200</item>\n        <item>400</item>\n        <item>1000</item>\n        <item>2000</item>\n        <item>3000</item>\n        <item>5000</item>\n        <item>10000</item>\n        <item>30000</item>\n    </integer-array>\n\n    <!-- Array of output values for LCD backlight corresponding to the LUX values\n         in the config_autoBrightnessLevels array.  This array should have size one greater\n         than the size of the config_autoBrightnessLevels array.\n         This must be overridden in platform specific overlays -->\n    <integer-array name=\"config_autoBrightnessLcdBacklightValues\">\n        <item>13</item>   <!-- 0-2 -->\n        <item>25</item>   <!-- 3-7 -->\n        <item>32</item>   <!-- 5-15 -->\n        <item>41</item>   <!-- 15-50 -->\n        <item>52</item>   <!-- 50-100 -->\n        <item>62</item>   <!-- 100-200 -->\n        <item>69</item>   <!-- 200-400 -->\n        <item>78</item>   <!-- 400-1000 -->\n        <item>88</item>   <!-- 1000-2000 -->\n        <item>134</item>  <!-- 2000-3000 -->\n        <item>178</item>  <!-- 3000-5000 -->\n        <item>225</item>  <!-- 5000-10000 -->\n        <item>255</item>  <!-- 10000-30000 -->\n        <item>255</item>  <!-- 30000+ -->\n    </integer-array>\n\n    <!-- Minimum screen brightness setting allowed by the power manager.\n         The user is forbidden from setting the brightness below this level. -->\n    <integer name=\"config_screenBrightnessSettingMinimum\">2</integer>\n\n    <!-- Default color for notification LED is white. -->\n    <color name=\"config_defaultNotificationColor\">#ffffffff</color>\n\n    <!-- Base \"touch slop\" value used by ViewConfiguration as a\n         movement threshold where scrolling should begin. -->\n    <dimen name=\"config_viewConfigurationTouchSlop\">4dp</dimen>\n\n    <!-- Vibrator pattern for feedback about a long screen/key press -->\n    <integer-array name=\"config_longPressVibePattern\">\n        <item>0</item>\n        <item>25</item>\n        <item>10</item>\n    </integer-array>\n\n    <!-- Vibrator pattern for feedback about touching a virtual key -->\n    <integer-array name=\"config_virtualKeyVibePattern\">\n        <item>0</item>\n        <item>25</item>\n        <item>8</item>\n    </integer-array>\n\n    <!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->\n    <integer-array name=\"config_keyboardTapVibePattern\">\n        <item>25</item>\n    </integer-array>\n\n    <!-- ComponentName of a dream to show whenever the system would otherwise have\n         gone to sleep.  When the PowerManager is asked to go to sleep, it will instead\n         try to start this dream if possible.  The dream should typically call startDozing()\n         to put the display into a low power state and allow the application processor\n         to be suspended.  When the dream ends, the system will go to sleep as usual.\n         Specify the component name or an empty string if none.\n         Note that doze dreams are not subject to the same start conditions as ordinary dreams.\n         Doze dreams will run whenever the power manager is in a dozing state. -->\n    <string name=\"config_dozeComponent\">com.android.systemui/com.android.systemui.doze.DozeService</string>\n\n    <!-- Screen brightness used to dim the screen while dozing in a very low power state.\n         May be less than the minimum allowed brightness setting\n         that can be set by the user. -->\n    <integer name=\"config_screenBrightnessDoze\">17</integer>\n\n    <!-- If true, the doze component is not started until after the screen has been\n         turned off and the screen off animation has been performed. -->\n    <bool name=\"config_dozeAfterScreenOffByDefault\">true</bool>\n\n    <!-- Power Management: Specifies whether to decouple the interactive state of the\n         device from the display on/off state.\n         When false, setInteractive(..., true) will be called before the display is turned on\n         and setInteractive(..., false) will be called after the display is turned off.\n         This mode provides best compatibility for devices that expect the interactive\n         state to be tied to the display state.\n         When true, setInteractive(...) will be called independently of whether the display\n         is being turned on or off.  This mode enables the power manager to reduce\n         clocks and disable the touch controller while the display is on.\n         This resource should be set to \"true\" when a doze component has been specified\n         to maximize power savings but not all devices support it.\n         Refer to power.h for details.\n    -->\n    <bool name=\"config_powerDecoupleInteractiveModeFromDisplay\">true</bool>\n\n</resources>\n"
  },
  {
    "path": "overlay/frameworks/base/core/res/res/xml/power_profile.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n**\n** Copyright 2009, The Android Open Source Project\n**\n** Licensed under the Apache License, Version 2.0 (the \"License\")\n** you may not use this file except in compliance with the License.\n** You may obtain a copy of the License at\n**\n**     http://www.apache.org/licenses/LICENSE-2.0\n**\n** Unless required by applicable law or agreed to in writing, software\n** distributed under the License is distributed on an \"AS IS\" BASIS,\n** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n** See the License for the specific language governing permissions and\n** limitations under the License.\n*/\n-->\n\n<device name=\"Android\">\n  <!-- All values are in mAh except as noted -->\n  <item name=\"none\">0</item>\n    <item name=\"screen.on\">71.55</item>\n    <item name=\"screen.full\">211.6</item>\n    <item name=\"bluetooth.active\">59.22</item>\n    <item name=\"bluetooth.on\">0.7</item>\n    <item name=\"wifi.on\">3.30</item>\n    <item name=\"wifi.active\">62.09</item>\n    <item name=\"wifi.scan\">52.1</item>\n    <item name=\"dsp.audio\">0.1</item>\n    <item name=\"dsp.video\">0.1</item>\n    <item name=\"gps.on\">20.9</item>\n  <!-- The current consumed by the radio when it is scanning for a signal -->\n    <item name=\"radio.active\">185.6</item>\n    <item name=\"radio.scanning\">122.68</item>\n  <!-- Current consumed by the radio at different signal strengths, when paging -->\n  <array name=\"radio.on\"> <!-- Strength 0 to BINS-1 -->\n        <value>1.16</value>\n        <value>2.15</value>\n  </array>\n  <!-- Different CPU speeds as reported in\n       /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state -->\n  <array name=\"cpu.speeds\">\n        <value>384000</value>\n        <value>486000</value>\n        <value>594000</value>\n        <value>702000</value>\n        <value>810000</value>\n        <value>918000</value>\n        <value>1026000</value>\n        <value>1134000</value>\n        <value>1242000</value>\n        <value>1350000</value>\n        <value>1458000</value>\n        <value>1512000</value>\n  </array>\n  <!-- Power consumption when CPU is idle -->\n    <item name=\"cpu.idle\">3.5</item>\n    <item name=\"cpu.awake\">10.43</item>\n  <!-- Power consumption at different speeds -->\n  <array name=\"cpu.active\">\n        <value>92.6</value>\n        <value>108.6</value>\n        <value>118.8</value>\n        <value>121.4</value>\n        <value>127.3</value>\n        <value>133.1</value>\n        <value>173.3</value>\n        <value>209.5</value>\n        <value>216.5</value>\n        <value>228.5</value>\n        <value>236.0</value>\n        <value>239.7</value>\n  </array>\n  <!-- This is the battery capacity in mAh -->\n    <item name=\"battery.capacity\">3100</item>\n</device>\n"
  },
  {
    "path": "overlay/frameworks/base/packages/SystemUI/res/values/config.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n/*\n** Copyright 2013, The Android Open Source Project\n** Copyright 2014, The CyanogenMod Project\n**\n** Licensed under the Apache License, Version 2.0 (the \"License\");\n** you may not use this file except in compliance with the License.\n** You may obtain a copy of the License at\n**\n**     http://www.apache.org/licenses/LICENSE-2.0\n**\n** Unless required by applicable law or agreed to in writing, software\n** distributed under the License is distributed on an \"AS IS\" BASIS,\n** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n** See the License for the specific language governing permissions and\n** limitations under the License.\n*/\n-->\n\n<!-- These resources are around just to allow their values to be customized\n     for different hardware and product builds. -->\n<resources>\n\n    <!-- Doze: does this device support STATE_DOZE and STATE_DOZE_SUSPEND?  -->\n    <bool name=\"doze_display_state_supported\">true</bool>\n    <bool name=\"doze_pulse_on_pick_up\">true</bool>\n</resources>\n"
  },
  {
    "path": "overlay/packages/apps/Settings/res/values/config.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2007 The Android Open Source Project\n\n     Licensed under the Apache License, Version 2.0 (the \"License\");\n     you may not use this file except in compliance with the License.\n     You may obtain a copy of the License at\n\n          http://www.apache.org/licenses/LICENSE-2.0\n\n     Unless required by applicable law or agreed to in writing, software\n     distributed under the License is distributed on an \"AS IS\" BASIS,\n     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n     See the License for the specific language governing permissions and\n     limitations under the License.\n-->\n\n<resources xmlns:xliff=\"urn:oasis:names:tc:xliff:document:1.2\">\n    <!-- SAR Level for a device -->\n    <!-- Must be overlaid by device -->\n    <bool name=\"config_show_sar_enable\" translatable=\"false\">true</bool>\n    <!-- Maximum Specific Absorption Rate for head -->\n    <string name=\"sar_head_level\" translatable=\"false\">0.270</string>\n    <!-- Maximum Specific Absorption Rate for body -->\n    <string name=\"sar_body_level\" translatable=\"false\">0.540</string>\n\n    <!-- IC Code for a device -->\n    <!-- Must be overlaid by device -->\n    <bool name=\"config_show_ic_enable\" translatable=\"false\">true</bool>\n    <!-- IC Code -->\n    <string name=\"ic_model\" translatable=\"false\">ONE A0001</string>\n    <string name=\"ic_code\" translatable=\"false\">12739A-A0001</string>\n\n    <!-- Regulatory Info -->\n    <!-- Whether to show a preference item for regulatory information in About phone -->\n    <bool name=\"config_show_regulatory_info\">true</bool>\n</resources>\n"
  },
  {
    "path": "overlay/packages/services/Telephony/res/values/config.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2014 The CyanogenMod Project\n\n     Licensed under the Apache License, Version 2.0 (the \"License\");\n     you may not use this file except in compliance with the License.\n     You may obtain a copy of the License at\n\n          http://www.apache.org/licenses/LICENSE-2.0\n\n     Unless required by applicable law or agreed to in writing, software\n     distributed under the License is distributed on an \"AS IS\" BASIS,\n     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n     See the License for the specific language governing permissions and\n     limitations under the License.\n-->\n\n<resources>\n    <bool name=\"allow_emergency_numbers_in_call_log\">true</bool>\n\n</resources>\n"
  },
  {
    "path": "overlay/packages/services/Telephony/res/values/network_mode.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2007 The Android Open Source Project\n\n     Licensed under the Apache License, Version 2.0 (the \"License\");\n     you may not use this file except in compliance with the License.\n     You may obtain a copy of the License at\n\n          http://www.apache.org/licenses/LICENSE-2.0\n\n     Unless required by applicable law or agreed to in writing, software\n     distributed under the License is distributed on an \"AS IS\" BASIS,\n     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n     See the License for the specific language governing permissions and\n     limitations under the License.\n-->\n\n<resources xmlns:xliff=\"urn:oasis:names:tc:xliff:document:1.2\">\n    <!-- Mobile network settings, network mode choices for a device supporting CDMA and LTE [CHAR LIMIT=25] -->\n    <string-array name=\"preferred_network_mode_choices_cm\">\n        <item>LTE/CDMA/EvDo/GSM/WCDMA</item>\n        <item>LTE/GSM/WCDMA</item>\n        <item>LTE/CDMA/EvDo</item>\n        <item>CDMA/EvDo auto</item>\n        <item>GSM/WCDMA auto</item>\n        <item>WCDMA only</item>\n        <item>GSM only</item>\n        <item>GSM/WCDMA preferred</item>\n    </string-array>\n    <string-array name=\"preferred_network_mode_choices\">\n        <item>LTE/CDMA/EvDo/GSM/WCDMA</item>\n        <item>LTE/GSM/WCDMA</item>\n        <item>LTE/CDMA/EvDo</item>\n        <item>CDMA/EvDo auto</item>\n        <item>GSM/WCDMA auto</item>\n        <item>WCDMA only</item>\n        <item>GSM only</item>\n        <item>GSM/WCDMA preferred</item>\n    </string-array>\n    <string-array name=\"preferred_network_mode_values\" translatable=\"false\">\n        <item>\"10\"</item>\n        <item>\"9\"</item>\n        <item>\"8\"</item>\n        <item>\"4\"</item>\n        <item>\"3\"</item>\n        <item>\"2\"</item>\n        <item>\"1\"</item>\n        <item>\"0\"</item>\n    </string-array>\n</resources>\n"
  },
  {
    "path": "overlay/packages/services/Telephony/res/values-mcc460/config.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2014 The CyanogenMod Project\n\n     Licensed under the Apache License, Version 2.0 (the \"License\");\n     you may not use this file except in compliance with the License.\n     You may obtain a copy of the License at\n\n          http://www.apache.org/licenses/LICENSE-2.0\n\n     Unless required by applicable law or agreed to in writing, software\n     distributed under the License is distributed on an \"AS IS\" BASIS,\n     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n     See the License for the specific language governing permissions and\n     limitations under the License.\n-->\n\n<resources>\n    <bool name=\"config_enabled_tdscdma\" translatable=\"false\">true</bool>\n</resources>\n"
  },
  {
    "path": "overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n     Copyright (C) 2015-2016 The CyanogenMod Project\n\n     Licensed under the Apache License, Version 2.0 (the \"License\");\n     you may not use this file except in compliance with the License.\n     You may obtain a copy of the License at\n\n          http://www.apache.org/licenses/LICENSE-2.0\n\n     Unless required by applicable law or agreed to in writing, software\n     distributed under the License is distributed on an \"AS IS\" BASIS,\n     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n     See the License for the specific language governing permissions and\n     limitations under the License.\n-->\n<resources>\n    <!-- All the capabilities of the LEDs on this device, stored as a bit field.\n         This integer should equal the sum of the corresponding value for each\n         of the following capabilities present:\n\n         LIGHTS_RGB_NOTIFICATION_LED = 1\n         LIGHTS_RGB_BATTERY_LED = 2\n         LIGHTS_MULTIPLE_NOTIFICATION_LED = 4 (deprecated)\n         LIGHTS_PULSATING_LED = 8\n         LIGHTS_SEGMENTED_BATTERY_LED = 16\n         LIGHTS_ADJUSTABLE_NOTIFICATION_LED_BRIGHTNESS = 32\n         LIGHTS_BATTERY_LED = 64\n\n         For example, a device with notification and battery lights\n         that support pulsating and RGB control would set this config\n         to 75. -->\n    <integer name=\"config_deviceLightCapabilities\">107</integer>\n</resources>\n"
  },
  {
    "path": "proprietary-files.txt",
    "content": "# Camera\nbin/mm-qcamera-daemon:vendor/bin/mm-qcamera-daemon\nvendor/lib/libjpegdhw.so\nvendor/lib/libjpegehw.so\nvendor/lib/libmmcamera2_c2d_module.so\nvendor/lib/libmmcamera2_cpp_module.so\nvendor/lib/libmmcamera2_frame_algorithm.so\nvendor/lib/libmmcamera2_iface_modules.so\nvendor/lib/libmmcamera2_imglib_modules.so\nvendor/lib/libmmcamera2_is.so\nvendor/lib/libmmcamera2_isp_modules.so\nvendor/lib/libmmcamera2_pproc_modules.so\nvendor/lib/libmmcamera2_q3a_special.so\nvendor/lib/libmmcamera2_sensor_modules.so\nvendor/lib/libmmcamera2_stats_algorithm.so\nvendor/lib/libmmcamera2_stats_modules.so\nvendor/lib/libmmcamera2_vpe_module.so\nvendor/lib/libmmcamera2_wnr_module.so\nvendor/lib/libmmcamera_faceproc.so\nvendor/lib/libmmcamera_hdr_gb_lib.so\nvendor/lib/libmmcamera_hdr_lib.so\nvendor/lib/libmmcamera_imglib.so\nvendor/lib/libmmcamera_imx214.so\nvendor/lib/libmmcamera_ov5648.so\nvendor/lib/libmmcamera_sony_imx214_eeprom.so\nvendor/lib/libmmcamera_tintless_algo.so\nvendor/lib/libmmcamera_tintless_bg_pca_algo.so\nvendor/lib/libmmcamera_wavelet_lib.so\nvendor/lib/libmmipl.so\nvendor/lib/libmmjpeg.so\nvendor/lib/libmmqjpeg_codec.so\nvendor/lib/liboemcamera.so\nvendor/lib/libqomx_jpegdec.so\nvendor/lib/libqomx_jpegenc.so\n\n# Camera Actuator\nvendor/lib/libactuator_dw9714.so\nvendor/lib/libactuator_dw9714_camera.so\nvendor/lib/libactuator_dw9714_camcorder.so\n\n# Camera Chromatix\nvendor/lib/libchromatix_imx214_common.so\nvendor/lib/libchromatix_imx214_default_video.so\nvendor/lib/libchromatix_imx214_hfr_120.so\nvendor/lib/libchromatix_imx214_hfr_60.so\nvendor/lib/libchromatix_imx214_liveshot.so\nvendor/lib/libchromatix_imx214_preview.so\nvendor/lib/libchromatix_imx214_preview_binning.so\nvendor/lib/libchromatix_imx214_snapshot.so\nvendor/lib/libchromatix_imx214_snapshot_hdr.so\nvendor/lib/libchromatix_imx214_video_binning.so\nvendor/lib/libchromatix_imx214_video_cmcc.so\nvendor/lib/libchromatix_imx214_video_hdr.so\nvendor/lib/libchromatix_ov5648_common.so\nvendor/lib/libchromatix_ov5648_default_video.so\nvendor/lib/libchromatix_ov5648_preview.so\nvendor/lib/libchromatix_ov5648_preview_fb.so\nvendor/lib/libchromatix_ov5648_video_cmcc.so\nvendor/lib/libchromatix_ov5648_zsl.so\nvendor/lib/libchromatix_ov5648_zsl_fb.so\n\n# Camera Firmware\netc/firmware/cpp_firmware_v1_2_0.fw:vendor/firmware/cpp_firmware_v1_2_0.fw\n\n# NFC\nvendor/firmware/libpn547_fw.so\nvendor/lib/hw/nfc_nci.bacon.so\nvendor/lib/hw/android.hardware.nfc@1.0-impl.so|8f69fedc7191d559793f47dc1915192c870fb797\n\n# Sensors\netc/sensor_def_qcomdev.conf\nvendor/lib/libAKM8963.so\n"
  },
  {
    "path": "rootdir/Android.mk",
    "content": "LOCAL_PATH:= $(call my-dir)\ninclude $(CLEAR_VARS)\n\n# Device init files\n\ninclude $(CLEAR_VARS)\nLOCAL_MODULE       := fstab.bacon\nLOCAL_MODULE_TAGS  := optional\nLOCAL_MODULE_CLASS := ETC\nLOCAL_SRC_FILES    := etc/fstab.bacon\nLOCAL_MODULE_PATH  := $(TARGET_OUT_VENDOR_ETC)\ninclude $(BUILD_PREBUILT)\n\ninclude $(CLEAR_VARS)\nLOCAL_MODULE       := init.bacon.rc\nLOCAL_MODULE_TAGS  := optional\nLOCAL_MODULE_CLASS := ETC\nLOCAL_SRC_FILES    := etc/init.bacon.rc\nLOCAL_MODULE_PATH  := $(TARGET_OUT_VENDOR_ETC)/init/hw\ninclude $(BUILD_PREBUILT)\n\ninclude $(CLEAR_VARS)\nLOCAL_MODULE       := init.qcom.usb.rc\nLOCAL_MODULE_TAGS  := optional\nLOCAL_MODULE_CLASS := ETC\nLOCAL_SRC_FILES    := etc/init.qcom.usb.rc\nLOCAL_MODULE_PATH  := $(TARGET_OUT_VENDOR_ETC)/init/hw\ninclude $(BUILD_PREBUILT)\n"
  },
  {
    "path": "rootdir/etc/fstab.bacon",
    "content": "# Android fstab file.\n#<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_mgr_flags>\n# The filesystem that contains the filesystem checker binary (typically /system) cannot\n# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK\n\n/dev/block/platform/msm_sdcc.1/by-name/userdata     /data           ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic,journal_async_commit wait,check,formattable,latemount,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4\n/dev/block/platform/msm_sdcc.1/by-name/userdata     /data           f2fs    noatime,nosuid,nodev,rw,inline_xattr                            wait,check,formattable,latemount,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4\n/dev/block/platform/msm_sdcc.1/by-name/cache        /cache          ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic,journal_async_commit wait,check,formattable\n/dev/block/platform/msm_sdcc.1/by-name/cache        /cache          f2fs    noatime,nosuid,nodev,rw,inline_xattr                            wait,check,formattable\n/dev/block/platform/msm_sdcc.1/by-name/persist      /persist        ext4    nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait,check,notrim\n/dev/block/platform/msm_sdcc.1/by-name/boot         /boot           emmc    defaults                                                        defaults\n/dev/block/platform/msm_sdcc.1/by-name/recovery     /recovery       emmc    defaults                                                        defaults\n/dev/block/platform/msm_sdcc.1/by-name/misc         /misc           emmc    defaults                                                        defaults\n/dev/block/platform/msm_sdcc.1/by-name/modem        /firmware       vfat    ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0        wait\n\n/devices/platform/xhci-hcd*                         auto            auto    defaults                                                        voldmanaged=usb:auto\n"
  },
  {
    "path": "rootdir/etc/fstab.recovery",
    "content": "# Android fstab file.\n#<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_mgr_flags>\n# The filesystem that contains the filesystem checker binary (typically /system) cannot\n# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK\n\n/dev/block/platform/msm_sdcc.1/by-name/system       /system         ext4    ro,barrier=1                                                    wait\n/dev/block/platform/msm_sdcc.1/by-name/userdata     /data           ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic,journal_async_commit wait,check,formattable,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4\n/dev/block/platform/msm_sdcc.1/by-name/userdata     /data           f2fs    noatime,nosuid,nodev,rw,inline_xattr                            wait,check,formattable,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4\n/dev/block/platform/msm_sdcc.1/by-name/cache        /cache          ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic,journal_async_commit wait,check,formattable\n/dev/block/platform/msm_sdcc.1/by-name/cache        /cache          f2fs    noatime,nosuid,nodev,rw,inline_xattr                            wait,check,formattable\n/dev/block/platform/msm_sdcc.1/by-name/persist      /persist        ext4    nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait,check,notrim\n/dev/block/platform/msm_sdcc.1/by-name/boot         /boot           emmc    defaults                                                        defaults\n/dev/block/platform/msm_sdcc.1/by-name/recovery     /recovery       emmc    defaults                                                        defaults\n/dev/block/platform/msm_sdcc.1/by-name/misc         /misc           emmc    defaults                                                        defaults\n/dev/block/platform/msm_sdcc.1/by-name/modem        /firmware       vfat    ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0        wait\n\n/devices/platform/xhci-hcd*                         auto            auto    defaults                                                        voldmanaged=usb:auto\n"
  },
  {
    "path": "rootdir/etc/init.bacon.rc",
    "content": "#\n# Copyright 2016 The CyanogenMod Project\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\nimport /vendor/etc/init/hw/init.qcom-common.rc\n\non init\n    # Property used by vintf for sku specific manifests\n    setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku}\n\non fs\n    mount_all /vendor/etc/fstab.bacon --early\n\n    # Start HW service manager early\n    start hwservicemanager\n\non late-fs\n    # Start services for Boot Animation\n    start hwservicemanager\n    start servicemanager\n    start surfaceflinger\n    start bootanim\n\n    start configstore-hal-1-0\n    start gralloc-2-0\n\n    # Mount RW partitions which need run fsck\n    mount_all /vendor/etc/fstab.bacon --late\n\non post-fs-data\n    # Torch\n    chown system camera /sys/class/leds/torch-light/brightness\n    chmod 0660 /sys/class/leds/torch-light/brightness\n"
  },
  {
    "path": "rootdir/etc/init.qcom.usb.rc",
    "content": "# Copyright (c) 2011-2012, Code Aurora Forum. All rights reserved.\n#\n# Redistribution and use in source and binary forms, with or without\n# modification, are permitted provided that the following conditions are met:\n#     * Redistributions of source code must retain the above copyright\n#       notice, this list of conditions and the following disclaimer.\n#     * Redistributions in binary form must reproduce the above copyright\n#       notice, this list of conditions and the following disclaimer in the\n#       documentation and/or other materials provided with the distribution.\n#     * Neither the name of Code Aurora nor\n#       the names of its contributors may be used to endorse or promote\n#       products derived from this software without specific prior written\n#       permission.\n#\n# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n# NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR\n# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\n# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\n# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\n# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n#\n\non boot\n    write /sys/class/android_usb/android0/iSerial ${ro.serialno}\n    write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}\n    write /sys/class/android_usb/android0/iProduct ${ro.product.model}\n    write /sys/class/android_usb/android0/f_rndis/manufacturer ${ro.product.manufacturer}\n    write /sys/class/android_usb/android0/f_rndis/vendorID 22D9\n    write /sys/class/android_usb/android0/f_rndis/wceis 1\n\non property:sys.usb.config=mtp\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6764\n    write /sys/class/android_usb/android0/functions mtp\n    write /sys/class/android_usb/android0/enable 1\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=mtp,adb\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6765\n    write /sys/class/android_usb/android0/functions mtp,adb\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=rndis,adb\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6766\n    write /sys/class/android_usb/android0/functions rndis,adb\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=mass_storage,adb\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6767\n    write /sys/class/android_usb/android0/functions adb,mass_storage\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=mass_storage\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6768\n    write /sys/class/android_usb/android0/functions mass_storage\n    write /sys/class/android_usb/android0/enable 1\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=adb\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6769\n    write /sys/class/android_usb/android0/functions adb\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=rndis\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 676A\n    write /sys/class/android_usb/android0/functions rndis\n    write /sys/class/android_usb/android0/enable 1\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=diag,adb\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/iSerial 0123456789ABCDEF\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 676C\n    write /sys/class/android_usb/android0/f_diag/clients diag\n    write /sys/class/android_usb/android0/f_serial/transports tty\n    write /sys/class/android_usb/android0/functions diag,adb\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=diag_mdm,adb\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/iSerial 0123456789ABCDEF\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 676D\n    write /sys/class/android_usb/android0/f_diag/clients diag_mdm\n    write /sys/class/android_usb/android0/f_serial/transports hsic\n    write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic\n    write /sys/class/android_usb/android0/functions diag,adb\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/iSerial 0123456789ABCDEF\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 676F\n    write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm\n    write /sys/class/android_usb/android0/f_serial/transports hsic,tty\n    write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic\n    write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic\n    write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic\n    write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\n#added some configs for support ptp and cdrom by Xinhua.Song 2014-05-10    \non property:sys.usb.config=ptp\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6771\n    write /sys/class/android_usb/android0/functions ptp\n    write /sys/class/android_usb/android0/enable 1\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=ptp,adb\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6772\n    write /sys/class/android_usb/android0/functions ptp,adb\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=mtp,mass_storage\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6773\n    write /sys/class/android_usb/android0/functions mtp,mass_storage\n    write /sys/class/android_usb/android0/enable 1\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=mtp,mass_storage,adb\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6774\n    write /sys/class/android_usb/android0/functions mtp,mass_storage,adb\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=rndis,diag,adb\n    stop adbd\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/iSerial 0123456789ABCDEF\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6775\n    write /sys/class/android_usb/android0/f_diag/clients diag\n    write /sys/class/android_usb/android0/functions rndis,diag,adb\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\n# USB midi configuration\non property:sys.usb.config=midi\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6776\n    write /sys/class/android_usb/android0/functions ${sys.usb.config}\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\n# USB midi configuration, with adb\non property:sys.usb.config=midi,adb\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 6777\n    write /sys/class/android_usb/android0/functions ${sys.usb.config}\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n\non property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb\n    write /sys/class/android_usb/android0/enable 0\n    write /sys/class/android_usb/android0/iSerial 0123456789ABCDEF\n    write /sys/class/android_usb/android0/idVendor 05C6\n    write /sys/class/android_usb/android0/idProduct 9025\n    write /sys/class/android_usb/android0/f_diag/clients diag\n    write /sys/class/android_usb/android0/f_serial/transports smd,tty\n    write /sys/class/android_usb/android0/f_rmnet/transports smd,bam\n    write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage\n    write /sys/class/android_usb/android0/enable 1\n    start adbd\n    setprop sys.usb.state ${sys.usb.config}\n"
  },
  {
    "path": "sepolicy/device.te",
    "content": "type reserve4_block_device, dev_type;\n"
  },
  {
    "path": "sepolicy/file_contexts",
    "content": "# Reserve4 filesystem for encryption\n/dev/block/platform/msm_sdcc\\.1/by-name/reserve4        u:object_r:reserve4_block_device:s0\n"
  },
  {
    "path": "sepolicy/vold.te",
    "content": "# Encryption\nallow vold reserve4_block_device:blk_file rw_file_perms;\n"
  },
  {
    "path": "setup-makefiles.sh",
    "content": "#!/bin/bash\n#\n# Copyright (C) 2016 The CyanogenMod Project\n# Copyright (C) 2017-2020 The LineageOS Project\n#\n# SPDX-License-Identifier: Apache-2.0\n#\n\nset -e\n\nexport DEVICE=bacon\nexport DEVICE_COMMON=msm8974-common\nexport VENDOR_DEVICE=oneplus\nexport VENDOR_COMMON=oppo\n\n\"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/setup-makefiles.sh\" \"$@\"\n"
  },
  {
    "path": "system.prop",
    "content": "#\n# system.prop for one+\n#\n\n# CABL\nro.qualcomm.cabl=0\n\n# Radio\nrild.libpath=/system/vendor/lib/libril-qc-qmi-1.so\npersist.radio.add_power_save=1\npersist.radio.apm_sim_not_pwdn=1\nro.ril.ext.ecclist=112,911,999,110,122,119,120,000,08,118\n\n# Sensors\nro.qc.sdk.camera.facialproc=true\nro.qc.sdk.gestures.camera=false\nro.qti.sdk.sensors.gestures=true\nro.qti.sensors.bte=true\nro.qti.sensors.gtap=true\nro.qti.sensors.ir_proximity=true\nro.qti.sensors.vmd=true\n"
  },
  {
    "path": "twrp/recovery/root/etc/twrp.fstab",
    "content": "/system          ext4     /dev/block/platform/msm_sdcc.1/by-name/system\n/system_image    emmc     /dev/block/platform/msm_sdcc.1/by-name/system\n/data            ext4     /dev/block/platform/msm_sdcc.1/by-name/userdata   flags=encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4\n/cache           ext4     /dev/block/platform/msm_sdcc.1/by-name/cache\n/persist         ext4     /dev/block/platform/msm_sdcc.1/by-name/persist    flags=backup=1;display=\"Persist\"\n/boot            emmc     /dev/block/platform/msm_sdcc.1/by-name/boot\n/recovery        emmc     /dev/block/platform/msm_sdcc.1/by-name/recovery   flags=backup=1\n/misc            emmc     /dev/block/platform/msm_sdcc.1/by-name/misc\n/firmware        vfat     /dev/block/platform/msm_sdcc.1/by-name/modem      flags=mounttodecrypt;fsflags=ro;display=\"Firmware\"\n\n/usb-otg         vfat     /dev/block/sda1        /dev/block/sda             flags=removable;storage;wipeingui;display=\"USB OTG\"\n"
  },
  {
    "path": "twrp/recovery/root/fstab.bacon",
    "content": "# Android fstab file.\n#<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_mgr_flags>\n# The filesystem that contains the filesystem checker binary (typically /system) cannot\n# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK\n\n/dev/block/platform/msm_sdcc.1/by-name/userdata     /data           ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,errors=panic,journal_async_commit wait,check,formattable,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4\n/dev/block/platform/msm_sdcc.1/by-name/userdata     /data           f2fs    noatime,nosuid,nodev,rw,inline_xattr                            wait,check,formattable,encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4\n"
  }
]