lineage-18.1 7a4af4ba2100 cached
42 files
147.1 KB
46.8k tokens
4 symbols
1 requests
Download .txt
Repository: LineageOS/android_device_oneplus_bacon
Branch: lineage-18.1
Commit: 7a4af4ba2100
Files: 42
Total size: 147.1 KB

Directory structure:
gitextract_0wgc5gti/

├── Android.mk
├── AndroidProducts.mk
├── BoardConfig.mk
├── MODULE_LICENSE_APACHE2
├── README.md
├── audio/
│   ├── audio_platform_info.xml
│   ├── audio_policy_configuration.xml
│   └── mixer_paths.xml
├── bacon.mk
├── bluetooth/
│   └── bdroid_buildcfg.h
├── config.fs
├── configs/
│   ├── libnfc-nci.conf
│   └── libnfc-nxp.conf
├── extract-files.sh
├── init/
│   ├── Android.bp
│   └── init_bacon.cpp
├── lineage.dependencies
├── lineage_bacon.mk
├── odm_manifest_jdi.xml
├── odm_manifest_sharp.xml
├── odm_manifest_truly.xml
├── overlay/
│   ├── frameworks/
│   │   └── base/
│   │       ├── core/
│   │       │   └── res/
│   │       │       └── res/
│   │       │           ├── values/
│   │       │           │   └── config.xml
│   │       │           └── xml/
│   │       │               └── power_profile.xml
│   │       └── packages/
│   │           └── SystemUI/
│   │               └── res/
│   │                   └── values/
│   │                       └── config.xml
│   └── packages/
│       ├── apps/
│       │   └── Settings/
│       │       └── res/
│       │           └── values/
│       │               └── config.xml
│       └── services/
│           └── Telephony/
│               └── res/
│                   ├── values/
│                   │   ├── config.xml
│                   │   └── network_mode.xml
│                   └── values-mcc460/
│                       └── config.xml
├── overlay-lineage/
│   └── lineage-sdk/
│       └── lineage/
│           └── res/
│               └── res/
│                   └── values/
│                       └── config.xml
├── proprietary-files.txt
├── rootdir/
│   ├── Android.mk
│   └── etc/
│       ├── fstab.bacon
│       ├── fstab.recovery
│       ├── init.bacon.rc
│       └── init.qcom.usb.rc
├── sepolicy/
│   ├── device.te
│   ├── file_contexts
│   └── vold.te
├── setup-makefiles.sh
├── system.prop
└── twrp/
    └── recovery/
        └── root/
            ├── etc/
            │   └── twrp.fstab
            └── fstab.bacon

================================================
FILE CONTENTS
================================================

================================================
FILE: Android.mk
================================================
#
# Copyright (C) 2016 The CyanogenMod Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

LOCAL_PATH := $(call my-dir)

ifeq ($(TARGET_DEVICE),bacon)

include $(call all-subdir-makefiles,$(LOCAL_PATH))

endif


================================================
FILE: AndroidProducts.mk
================================================
#
# Copyright (C) 2018-2019 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

PRODUCT_MAKEFILES := \
    $(LOCAL_DIR)/lineage_bacon.mk

COMMON_LUNCH_CHOICES := \
    lineage_bacon-eng \
    lineage_bacon-userdebug


================================================
FILE: BoardConfig.mk
================================================
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# inherit from Oppo msm8974-common
-include device/oppo/msm8974-common/BoardConfigCommon.mk

DEVICE_PATH := device/oneplus/bacon

# Kernel
BOARD_KERNEL_CMDLINE := androidboot.hardware=bacon ehci-hcd.park=3 androidboot.bootdevice=msm_sdcc.1
TARGET_KERNEL_CONFIG := lineageos_bacon_defconfig
TARGET_KERNEL_SOURCE := kernel/oppo/msm8974

# Assert
TARGET_OTA_ASSERT_DEVICE := bacon,A0001

# Audio
AUDIO_FEATURE_ENABLED_LOW_LATENCY_CAPTURE := true
AUDIO_FEATURE_LOW_LATENCY_PRIMARY := true

# Bluetooth
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth

# Display
TARGET_SCREEN_DENSITY := 480

# Filesystem
BOARD_BOOTIMAGE_PARTITION_SIZE     := 16777216
BOARD_CACHEIMAGE_PARTITION_SIZE    := 536870912
BOARD_PERSISTIMAGE_PARTITION_SIZE  := 33554432
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 16777216
BOARD_ROOT_EXTRA_FOLDERS := firmware persist
BOARD_SYSTEMIMAGE_PARTITION_SIZE   := 1388314624
BOARD_USERDATAIMAGE_PARTITION_SIZE := 13271448576
BOARD_USERDATAEXTRAIMAGE_PARTITION_SIZE := 59914792960
BOARD_USERDATAEXTRAIMAGE_PARTITION_NAME := 64G

TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs

# Init
SOONG_CONFIG_OPPO_MSM8974_INIT_DEVICE_LIB := //$(DEVICE_PATH):libinit_bacon

# ODM Manifests
ODM_MANIFEST_SKUS := jdi sharp truly
ODM_MANIFEST_JDI_FILES := $(DEVICE_PATH)/odm_manifest_jdi.xml
ODM_MANIFEST_SHARP_FILES := $(DEVICE_PATH)/odm_manifest_sharp.xml
ODM_MANIFEST_TRULY_FILES := $(DEVICE_PATH)/odm_manifest_truly.xml

# Properties
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop

# Recovery
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.recovery

# SELinux
BOARD_SEPOLICY_DIRS += \
    $(DEVICE_PATH)/sepolicy

# TWRP
ifeq ($(WITH_TWRP),true)
TARGET_RECOVERY_DEVICE_DIRS += $(DEVICE_PATH)/twrp
BOARD_HAS_NO_REAL_SDCARD := true
RECOVERY_SDCARD_ON_DATA := true
endif

# Inherit from the proprietary version
include vendor/oneplus/bacon/BoardConfigVendor.mk


================================================
FILE: MODULE_LICENSE_APACHE2
================================================


================================================
FILE: README.md
================================================
# Device Tree for OnePlus One (bacon)

Copyright 2014-2016, The CyanogenMod Project
Copyright 2017-2018, The LineageOS Project

The OnePlus One (codenamed _"bacon"_) is a flagship smartphone from OnePlus.
It was released in June 2014.

| Basic                   | Spec Sheet                                             |
|------------------------:|:-------------------------------------------------------|
| Chipset                 | Qualcomm MSM8974AC Snapdragon 801                      |
| CPU                     | Quad-core 2.5 GHz Krait 400                            |
| GPU                     | Adreno 330                                             |
| RAM                     | 3 GB                                                   |
| Storage                 | 16/64 GB                                               |
| Battery                 | Non-removable Li-Po 3100 mAh                           |
| Dimensions              | 152.9 x 75.9 x 8.9 mm                                  |
| Display                 | IPS, 1080 x 1920 pixels, 5.5 inches (~401 ppi density) |
| Rear camera             | 13 MP (f/2.0, 1/3", 1.12µm, AF), Dual LED flash        |
| Front camera            | 5 MP (f/2.0), No flash                                 |
| Shipped Android Version | 4.4.2                                                  |

<img src="https://wiki.lineageos.org/images/devices/bacon.png" width="40%">


================================================
FILE: audio/audio_platform_info.xml
================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2014, The Linux Foundation. All rights reserved.         -->
<!--                                                                        -->
<!-- Redistribution and use in source and binary forms, with or without     -->
<!-- modification, are permitted provided that the following conditions are -->
<!-- met:                                                                   -->
<!--     * Redistributions of source code must retain the above copyright   -->
<!--       notice, this list of conditions and the following disclaimer.    -->
<!--     * Redistributions in binary form must reproduce the above          -->
<!--       copyright notice, this list of conditions and the following      -->
<!--       disclaimer in the documentation and/or other materials provided  -->
<!--       with the distribution.                                           -->
<!--     * Neither the name of The Linux Foundation nor the names of its    -->
<!--       contributors may be used to endorse or promote products derived  -->
<!--       from this software without specific prior written permission.    -->
<!--                                                                        -->
<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED           -->
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF   -->
<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
<!-- ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF   -->
<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        -->
<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  -->
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                          -->
<audio_platform_info>
    <acdb_ids>
        <device name="SND_DEVICE_IN_CAMCORDER_MIC" acdb_id="35" />
        <device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="40" />
        <device name="SND_DEVICE_IN_HANDSET_STEREO_DMIC" acdb_id="35" />
        <device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="8" />
        <device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="42" />
        <device name="SND_DEVICE_IN_SPEAKER_STEREO_DMIC" acdb_id="35" />
        <device name="SND_DEVICE_IN_VOICE_DMIC" acdb_id="41" />
        <device name="SND_DEVICE_IN_VOICE_REC_DMIC_STEREO" acdb_id="35" />
        <device name="SND_DEVICE_IN_VOICE_REC_MIC" acdb_id="119" />
        <device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC" acdb_id="42" />
        <device name="SND_DEVICE_OUT_HANDSET" acdb_id="7" />
        <device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="10" />
        <device name="SND_DEVICE_OUT_LINE" acdb_id="10"/>
        <device name="SND_DEVICE_OUT_SPEAKER" acdb_id="15" />
        <device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" acdb_id="10"/>
        <device name="SND_DEVICE_OUT_VOICE_HANDSET" acdb_id="7" />
        <device name="SND_DEVICE_OUT_VOICE_HEADPHONES" acdb_id="10" />
        <device name="SND_DEVICE_OUT_VOICE_LINE" acdb_id="10"/>
        <device name="SND_DEVICE_OUT_VOICE_SPEAKER" acdb_id="15" />
    </acdb_ids>

    <backend_names>
        <!-- empty -->
    </backend_names>

    <pcm_ids>
        <!-- empty -->
    </pcm_ids>

    <device_names>
        <!-- empty -->
    </device_names>
</audio_platform_info>


================================================
FILE: audio/audio_policy_configuration.xml
================================================
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (c) 2016-2017, The Linux Foundation. All rights reserved
     Not a Contribution.
-->
<!-- Copyright (C) 2016 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
    <!-- version section contains a “version” tag in the form “major.minor” e.g version=”1.0” -->

    <!-- Global configuration Decalaration -->
    <globalConfiguration speaker_drc_enabled="false"/>


    <!-- Modules section:
        There is one section per audio HW module present on the platform.
        Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.
        The module names are the same as in current .conf file:
                “primary”, “A2DP”, “remote_submix”, “USB”
        Each module will contain the following sections:
        “devicePorts”: a list of device descriptors for all input and output devices accessible via this
        module.
        This contains both permanently attached devices and removable devices.
        “mixPorts”: listing all output and input streams exposed by the audio HAL
        “routes”: list of possible connections between input and output devices or between stream and
        devices.
            "route": is defined by an attribute:
                -"type": <mux|mix> means all sources are mutual exclusive (mux) or can be mixed (mix)
                -"sink": the sink involved in this route
                -"sources": all the sources than can be connected to the sink via vis route
        “attachedDevices”: permanently attached devices.
        The attachedDevices section is a list of devices names. The names correspond to device names
        defined in <devicePorts> section.
        “defaultOutputDevice”: device to be used by default when no policy rule applies
    -->
    <modules>
        <!-- Primary Audio HAL -->
        <module name="primary" halVersion="2.0">
            <attachedDevices>
                <item>Earpiece</item>
                <item>Speaker</item>
                <item>Telephony Tx</item>
                <item>Built-In Mic</item>
                <item>Built-In Back Mic</item>
                <item>FM Tuner</item>
                <item>Telephony Rx</item>
            </attachedDevices>
            <defaultOutputDevice>Speaker</defaultOutputDevice>
            <mixPorts>
                <mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                </mixPort>
                <mixPort name="deep_buffer" role="source"
                        flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                </mixPort>
                <mixPort name="compressed_offload" role="source"
                         flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
                    <profile name="" format="AUDIO_FORMAT_MP2"
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000"
                             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"/>
                    <profile name="" format="AUDIO_FORMAT_MP3"
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000"
                             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"/>
                    <profile name="" format="AUDIO_FORMAT_AAC_LC"
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000"
                             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"/>
                    <profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000"
                             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"/>
                    <profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000"
                             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"/>
                </mixPort>
                <mixPort name="voice_tx" role="source">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,16000,48000"
                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
                </mixPort>
                <mixPort name="primary input" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
                </mixPort>
                <mixPort name="voice_rx" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,16000,48000"
                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
                </mixPort>
            </mixPorts>

            <devicePorts>
                <!-- Output devices declaration, i.e. Sink DEVICE PORT -->
                <devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
                   <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                            samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                </devicePort>
                <devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER" address="">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                </devicePort>
                <devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                </devicePort>
                <devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                </devicePort>
                <devicePort tagName="Line Out" type="AUDIO_DEVICE_OUT_LINE" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
                </devicePort>
                <devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
                </devicePort>
                <devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
                </devicePort>
                <devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
                </devicePort>
                <devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
                </devicePort>
                <devicePort tagName="Proxy" type="AUDIO_DEVICE_OUT_PROXY" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,128000,176400,192000" channelMasks="dynamic"/>
                </devicePort>
                <devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
                </devicePort>

                <devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
                </devicePort>
                <devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
                </devicePort>
                <devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="48000"
                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO"/>
                </devicePort>
                <devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
                             channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
                </devicePort>
                <devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                </devicePort>
                <devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
                    <profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
                             samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
                </devicePort>
            </devicePorts>
            <!-- route declaration, i.e. list all available sources for a given sink -->
            <routes>
                <route type="mix" sink="Earpiece"
                       sources="primary output,deep_buffer"/>
                <route type="mix" sink="Speaker"
                       sources="primary output,deep_buffer,compressed_offload"/>
                <route type="mix" sink="Wired Headset"
                       sources="primary output,deep_buffer,compressed_offload"/>
                <route type="mix" sink="Wired Headphones"
                       sources="primary output,deep_buffer,compressed_offload"/>
                <route type="mix" sink="Line Out"
                       sources="primary output,deep_buffer,compressed_offload"/>
                <route type="mix" sink="Proxy"
                       sources="primary output,deep_buffer,compressed_offload"/>
                <route type="mix" sink="FM"
                       sources="primary output"/>
                <route type="mix" sink="BT SCO"
                       sources="primary output,deep_buffer,compressed_offload"/>
                <route type="mix" sink="BT SCO Headset"
                       sources="primary output,deep_buffer,compressed_offload"/>
                <route type="mix" sink="BT SCO Car Kit"
                       sources="primary output,deep_buffer,compressed_offload"/>
                <route type="mix" sink="Telephony Tx"
                       sources="voice_tx"/>
                <route type="mix" sink="primary input"
                       sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner,Telephony Rx"/>
                <route type="mix" sink="voice_rx"
                       sources="Telephony Rx"/>
            </routes>

        </module>

        <!-- A2dp Audio HAL -->
        <xi:include href="/vendor/etc/a2dp_audio_policy_configuration.xml"/>

        <!-- Usb Audio HAL -->
        <xi:include href="/vendor/etc/usb_audio_policy_configuration.xml"/>

        <!-- Remote Submix Audio HAL -->
        <xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>

    </modules>
    <!-- End of Modules section -->

    <!-- Volume section -->
    <xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
    <xi:include href="/vendor/etc/default_volume_tables.xml"/>
    <!-- End of Volume section -->

</audioPolicyConfiguration>


================================================
FILE: audio/mixer_paths.xml
================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<mixer>
    <!-- These are the initial mixer settings -->
    <ctl name="Voice Rx Device Mute" id="0" value="0" />
    <ctl name="Voice Rx Device Mute" id="1" value="-1" />
    <ctl name="Voice Rx Device Mute" id="2" value="20" />
    <ctl name="Voice Tx Mute" id="0" value="0" />
    <ctl name="Voice Tx Mute" id="1" value="-1" />
    <ctl name="Voice Tx Mute" id="2" value="500" />
    <ctl name="Voice Rx Gain" id="0" value="0" />
    <ctl name="Voice Rx Gain" id="1" value="-1" />
    <ctl name="Voice Rx Gain" id="2" value="20" />
    <ctl name="Voip Tx Mute" id="0" value="0" />
    <ctl name="Voip Tx Mute" id="1" value="500" />
    <ctl name="Voip Rx Gain" id="0" value="0" />
    <ctl name="Voip Rx Gain" id="1" value="20" />
    <ctl name="Voip Mode Config" value="12" />
    <ctl name="Voip Rate Config" value="0" />
    <ctl name="Voip Evrc Min Max Rate Config" id="0" value="1" />
    <ctl name="Voip Evrc Min Max Rate Config" id="1" value="4" />
    <ctl name="Voip Dtx Mode" value="0" />
    <ctl name="TTY Mode" value="OFF" />
    <ctl name="LINEOUT1 Volume" value="0" />
    <ctl name="LINEOUT2 Volume" value="0" />
    <ctl name="LINEOUT3 Volume" value="0" />
    <ctl name="LINEOUT4 Volume" value="0" />
    <ctl name="HPHL Volume" value="0" />
    <ctl name="HPHR Volume" value="0" />
    <ctl name="RX1 Digital Volume" value="0" />
    <ctl name="RX2 Digital Volume" value="0" />
    <ctl name="RX3 Digital Volume" value="0" />
    <ctl name="RX4 Digital Volume" value="0" />
    <ctl name="RX5 Digital Volume" value="0" />
    <ctl name="RX6 Digital Volume" value="0" />
    <ctl name="RX7 Digital Volume" value="-" />
    <ctl name="ADC1 Volume" value="0" />
    <ctl name="ADC2 Volume" value="0" />
    <ctl name="ADC3 Volume" value="19" />
    <ctl name="ADC4 Volume" value="0" />
    <ctl name="ADC5 Volume" value="0" />
    <ctl name="ADC6 Volume" value="0" />
    <ctl name="DEC1 Volume" value="0" />
    <ctl name="DEC2 Volume" value="84" />
    <ctl name="DEC3 Volume" value="84" />
    <ctl name="DEC4 Volume" value="84" />
    <ctl name="DEC5 Volume" value="84" />
    <ctl name="DEC6 Volume" value="0" />
    <ctl name="DEC7 Volume" value="0" />
    <ctl name="DEC8 Volume" value="0" />
    <ctl name="DEC9 Volume" value="0" />
    <ctl name="DEC10 Volume" value="0" />
    <ctl name="COMP0 Switch" value="0" />
    <ctl name="COMP1 Switch" value="0" />
    <ctl name="COMP2 Switch" value="0" />
    <ctl name="SLIMBUS_3_RX Port Mixer MI2S_TX" value="0" />
    <ctl name="SLIMBUS_0_RX Port Mixer SLIM_0_TX" value="0" />
    <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia2" value="0" />
    <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia3" value="0" />
    <ctl name="AUX_PCM_RX Audio Mixer MultiMedia5" value="0" />
    <ctl name="AUX_PCM_RX_Voice Mixer CSVoice" value="0" />
    <ctl name="SEC_AUX_PCM_RX_Voice Mixer CSVoice" value="0" />
    <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="0" />
    <ctl name="Voice_Tx Mixer SEC_AUX_PCM_TX_Voice" value="0" />
    <!-- Audio BTSCO -->
    <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="0" />
    <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="0" />
    <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="0" />
    <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="0" />
    <!-- Voice BTSCO -->
    <ctl name="Internal BTSCO SampleRate" value="8000" />
    <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="0" />
    <ctl name="MultiMedia6 Mixer SLIM_0_TX" value="0" />
    <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="0" />
    <ctl name="SLIM_0_RX_Voice Mixer CSVoice" value="0" />
    <ctl name="SLIMBUS_4_RX Audio Mixer MultiMedia1" value="0" />
    <ctl name="SLIMBUS_4_RX Audio Mixer MultiMedia2" value="0" />
    <ctl name="MultiMedia5 Mixer SLIM_0_TX" value="0" />
    <ctl name="MultiMedia5 Mixer AFE_PCM_TX" value="0" />
    <ctl name="MultiMedia1 Mixer MI2S_TX" value="0" />
    <ctl name="MultiMedia1 Mixer SLIM_0_TX" value="0" />
    <ctl name="MultiMedia1 Mixer SLIM_4_TX" value="0" />
    <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia1" value="0" />
    <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia2" value="0" />
    <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia3" value="0" />
    <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia4" value="0" />
    <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia5" value="0" />
    <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia6" value="0" />
    <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia7" value="0" />
    <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia8" value="0" />
    <ctl name="IIR1 INP1 MUX" value="ZERO" />
    <ctl name="SLIM0_RX_VI_FB_LCH_MUX" value="ZERO" />
    <ctl name="SLIM TX10 MUX" value="ZERO" />
    <ctl name="SLIM TX9 MUX" value="ZERO" />
    <ctl name="SLIM TX8 MUX" value="ZERO" />
    <ctl name="SLIM TX7 MUX" value="ZERO" />
    <ctl name="SLIM TX6 MUX" value="ZERO" />
    <ctl name="SLIM TX5 MUX" value="ZERO" />
    <ctl name="SLIM TX4 MUX" value="ZERO" />
    <ctl name="SLIM TX3 MUX" value="ZERO" />
    <ctl name="SLIM TX2 MUX" value="ZERO" />
    <ctl name="SLIM TX1 MUX" value="ZERO" />
    <ctl name="DEC10 MUX" value="ZERO" />
    <ctl name="DEC9 MUX" value="ZERO" />
    <ctl name="DEC8 MUX" value="ZERO" />
    <ctl name="DEC7 MUX" value="ZERO" />
    <ctl name="DEC6 MUX" value="ZERO" />
    <ctl name="DEC5 MUX" value="ZERO" />
    <ctl name="DEC4 MUX" value="ZERO" />
    <ctl name="DEC3 MUX" value="ZERO" />
    <ctl name="DEC2 MUX" value="ZERO" />
    <ctl name="DEC1 MUX" value="ZERO" />
    <ctl name="RX2 MIX2 INP2" value="ZERO" />
    <ctl name="RX2 MIX2 INP1" value="ZERO" />
    <ctl name="RX1 MIX2 INP2" value="ZERO" />
    <ctl name="RX1 MIX2 INP1" value="ZERO" />
    <ctl name="RX7 MIX1 INP2" value="ZERO" />
    <ctl name="RX7 MIX1 INP1" value="ZERO" />
    <ctl name="RX6 MIX1 INP2" value="ZERO" />
    <ctl name="RX6 MIX1 INP1" value="ZERO" />
    <ctl name="RX5 MIX1 INP2" value="ZERO" />
    <ctl name="RX5 MIX1 INP1" value="ZERO" />
    <ctl name="RX4 MIX1 INP2" value="ZERO" />
    <ctl name="RX4 MIX1 INP1" value="ZERO" />
    <ctl name="RX3 MIX1 INP2" value="ZERO" />
    <ctl name="RX3 MIX1 INP1" value="ZERO" />
    <ctl name="RX2 MIX1 INP2" value="ZERO" />
    <ctl name="RX2 MIX1 INP1" value="ZERO" />
    <ctl name="RX1 MIX1 INP3" value="ZERO" />
    <ctl name="RX1 MIX1 INP2" value="ZERO" />
    <ctl name="RX1 MIX1 INP1" value="ZERO" />
    <ctl name="HPHL DAC Switch" value="0" />
    <ctl name="DAC1 Switch" value="0" />
    <ctl name="SLIM_0_RX Channels" value="One" />
    <ctl name="SLIM_0_TX Channels" value="One" />
    <ctl name="SLIM RX1 MUX" value="ZERO" />
    <ctl name="EAR PA Gain" value="POS_0_DB" />
    <ctl name="SLIM RX2 MUX" value="ZERO" />
    <ctl name="AIF1_CAP Mixer SLIM TX7" value="0" />
    <ctl name="AIF1_CAP Mixer SLIM TX8" value="0"/>
    <ctl name="CLASS_H_DSM MUX" value="ZERO" />
    <ctl name="RDAC5 MUX" value="ZERO" />

    <!-- usb headset -->
    <ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="0" />
    <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="0" />
    <ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="0" />
    <ctl name="AFE_PCM_RX Audio Mixer MultiMedia8" value="0" />
    <ctl name="MultiMedia1 Mixer AFE_PCM_TX" value="0" />
    <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="0" />
    <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="0" />
    <!-- usb headset end -->

    <!-- Incall Recording -->
    <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="0" />
    <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="0" />

    <!-- VoLTE -->
    <ctl name="SLIM_0_RX_Voice Mixer VoLTE" value="0" />
    <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="0" />
    <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoLTE" value="0" />
    <ctl name="VoLTE_Tx Mixer INTERNAL_BT_SCO_TX_VoLTE" value="0" />
    <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="0" />
    <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="0" />
    <!-- VoLTE end-->

    <!-- Voice2 -->
    <ctl name="SLIM_0_RX_Voice Mixer Voice2" value="0" />
    <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="0" />
    <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="0" />
    <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="0" />
    <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="0" />
    <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="0" />
    <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="0" />
    <!-- Voice2 End-->

    <!-- compress-voip-call -->
    <ctl name="SLIM_0_RX_Voice Mixer Voip" value="0" />
    <ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="0" />
    <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="0" />
    <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="0" />
    <ctl name="AFE_PCM_RX_Voice Mixer Voip" value="0" />
    <ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value="0" />
    <!-- compress-voip-call End-->

    <!-- audio record compress-->
    <ctl name="MultiMedia8 Mixer SLIM_0_TX" value="0" />
    <ctl name="MultiMedia8 Mixer INTERNAL_BT_SCO_TX" value="0" />
    <ctl name="MultiMedia8 Mixer AFE_PCM_TX" value="0" />
    <ctl name="MultiMedia8 Mixer VOC_REC_UL" value="0" />
    <ctl name="MultiMedia8 Mixer VOC_REC_DL" value="0" />
    <!-- audio record compress end-->

    <!-- listen -->
    <ctl name="LSM1 MUX" value="None" />
    <ctl name="LSM2 MUX" value="None" />
    <ctl name="LSM3 MUX" value="None" />
    <ctl name="LSM4 MUX" value="None" />
    <ctl name="LSM5 MUX" value="None" />
    <ctl name="LSM6 MUX" value="None" />
    <ctl name="LSM7 MUX" value="None" />
    <ctl name="LSM8 MUX" value="None" />
    <ctl name="SLIMBUS_5_TX LSM Function" value="None" />
    <ctl name="MADONOFF Switch" value="0" />
    <ctl name="MAD Input" value="ADC3" />
    <!-- listen end-->

    <!-- EC_REF -->
    <ctl name="AUDIO_REF_EC_UL1 MUX" value="None" />

    <!-- afe-proxy -->
    <ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="0" />
    <!-- afe-proxy end-->

    <!-- BT SCO samplerate -->
    <path name="bt-sco-samplerate">
        <ctl name="Internal BTSCO SampleRate" value="8000" />
    </path>

    <!-- BT SCO WB Sample Rate -->
    <path name="bt-sco-wb-samplerate">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
    </path>

    <!-- 24bit/96KHz toggle -->
    <ctl name="SLIM_0_RX Format" value="S16_LE" />
    <ctl name="SLIM_0_RX SampleRate" value="KHZ_48" />

    <!-- These are audio route (FE to BE) specific mixer settings -->
    <path name="deep-buffer-playback">
        <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia1" value="1" />
    </path>

    <path name="deep-buffer-playback bt-sco">
        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia1" value="1" />
    </path>

    <path name="deep-buffer-playback bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="deep-buffer-playback bt-sco" />
    </path>

    <path name="deep-buffer-playback afe-proxy">
        <ctl name="AFE_PCM_RX Audio Mixer MultiMedia1" value="1" />
    </path>

    <path name="deep-buffer-playback usb-headphones">
        <path name="deep-buffer-playback afe-proxy" />
    </path>

    <path name="deep-buffer-playback speaker-and-usb-headphones">
        <path name="deep-buffer-playback usb-headphones" />
        <path name="deep-buffer-playback" />
    </path>

    <path name="low-latency-playback">
        <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia5" value="1" />
    </path>

    <path name="low-latency-playback bt-sco">
        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia5" value="1" />
    </path>

    <path name="low-latency-playback bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="low-latency-playback bt-sco" />
    </path>

    <path name="low-latency-playback afe-proxy">
        <ctl name="AFE_PCM_RX Audio Mixer MultiMedia5" value="1" />
    </path>

    <path name="low-latency-playback usb-headphones">
        <path name="low-latency-playback afe-proxy" />
    </path>

    <path name="low-latency-playback speaker-and-usb-headphones">
        <path name="low-latency-playback usb-headphones" />
        <path name="low-latency-playback" />
    </path>

    <path name="audio-ull-playback">
        <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia3" value="1" />
    </path>

    <path name="audio-ull-playback bt-sco">
        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia3" value="1" />
    </path>

    <path name="audio-ull-playback bt-sco-wb">
        <path name="audio-ull-playback bt-sco" />
        <ctl name="Internal BTSCO SampleRate" value="16000" />
    </path>

    <path name="audio-ull-playback afe-proxy">
        <ctl name="AFE_PCM_RX Audio Mixer MultiMedia3" value="1" />
    </path>

    <path name="audio-ull-playback usb-headphones">
        <path name="audio-ull-playback afe-proxy" />
    </path>

    <path name="audio-ull-playback speaker-and-usb-headphones">
        <path name="audio-ull-playback usb-headphones" />
        <path name="audio-ull-playback" />
    </path>

    <path name="multi-channel-playback afe-proxy">
        <ctl name="AFE_PCM_RX Audio Mixer MultiMedia2" value="1" />
    </path>

    <path name="compress-offload-playback">
        <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia4" value="1" />
    </path>

    <path name="compress-offload-playback bt-sco">
        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia4" value="1" />
    </path>

    <path name="compress-offload-playback bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="compress-offload-playback bt-sco" />
    </path>

    <path name="compress-offload-playback afe-proxy">
        <ctl name="AFE_PCM_RX Audio Mixer MultiMedia4" value="1" />
    </path>

    <path name="compress-offload-playback usb-headphones">
        <path name="compress-offload-playback afe-proxy" />
    </path>

    <path name="compress-offload-playback speaker-and-usb-headphones">
        <path name="compress-offload-playback usb-headphones" />
        <path name="compress-offload-playback" />
    </path>

    <path name="compress-offload-playback2">
        <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia6" value="1" />
    </path>

    <path name="compress-offload-playback2 bt-sco">
        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6" value="1" />
    </path>

    <path name="compress-offload-playback2 bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="compress-offload-playback2 bt-sco" />
    </path>

    <path name="compress-offload-playback2 afe-proxy">
        <ctl name="AFE_PCM_RX Audio Mixer MultiMedia6" value="1" />
    </path>

    <path name="compress-offload-playback2 usb-headphones">
        <path name="compress-offload-playback2 afe-proxy" />
    </path>

    <path name="compress-offload-playback2 speaker-and-usb-headphones">
        <path name="compress-offload-playback2 usb-headphones" />
        <path name="compress-offload-playback2" />
    </path>

    <path name="compress-offload-playback3">
        <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia7" value="1" />
    </path>

    <path name="compress-offload-playback3 bt-sco">
        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia7" value="1" />
    </path>

    <path name="compress-offload-playback3 bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="compress-offload-playback3 bt-sco" />
    </path>

    <path name="compress-offload-playback3 afe-proxy">
        <ctl name="AFE_PCM_RX Audio Mixer MultiMedia7" value="1" />
    </path>

    <path name="compress-offload-playback3 usb-headphones">
        <path name="compress-offload-playback3 afe-proxy" />
    </path>

    <path name="compress-offload-playback3 speaker-and-usb-headphones">
        <path name="compress-offload-playback3 usb-headphones" />
        <path name="compress-offload-playback3" />
    </path>

    <path name="compress-offload-playback8">
        <ctl name="SLIMBUS_0_RX Audio Mixer MultiMedia8" value="1" />
    </path>

    <path name="compress-offload-playback8 bt-sco">
        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia8" value="1" />
    </path>

    <path name="compress-offload-playback8 bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="compress-offload-playback8 bt-sco" />
    </path>

    <path name="compress-offload-playback8 afe-proxy">
        <ctl name="AFE_PCM_RX Audio Mixer MultiMedia8" value="1" />
    </path>

    <path name="compress-offload-playback8 usb-headphones">
        <path name="compress-offload-playback8 afe-proxy" />
    </path>

    <path name="compress-offload-playback8 speaker-and-usb-headphones">
        <path name="compress-offload-playback8 usb-headphones" />
        <path name="compress-offload-playback8" />
    </path>


    <path name="audio-record">
        <ctl name="MultiMedia1 Mixer SLIM_0_TX" value="1" />
    </path>

    <path name="audio-record usb-headset-mic">
        <ctl name="MultiMedia1 Mixer AFE_PCM_TX" value="1" />
    </path>

    <path name="audio-record bt-sco">
        <ctl name="MultiMedia1 Mixer INTERNAL_BT_SCO_TX" value="1" />
    </path>

    <path name="audio-record bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="audio-record bt-sco" />
    </path>

    <path name="low-latency-record">
        <ctl name="MultiMedia5 Mixer SLIM_0_TX" value="1" />
    </path>

    <path name="low-latency-record usb-headset-mic">
        <ctl name="MultiMedia5 Mixer AFE_PCM_TX" value="1" />
    </path>

    <path name="low-latency-record bt-sco">
        <ctl name="MultiMedia5 Mixer INTERNAL_BT_SCO_TX" value="1" />
    </path>

    <path name="low-latency-record bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="audio-record bt-sco" />
    </path>

    <path name="audio-record-compress">
        <ctl name="MultiMedia8 Mixer SLIM_0_TX" value="1" />
    </path>

    <path name="audio-record-compress bt-sco">
        <ctl name="MultiMedia8 Mixer INTERNAL_BT_SCO_TX" value="1" />
    </path>

    <path name="audio-record-compress bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="audio-record-compress bt-sco" />
    </path>

    <path name="audio-record-compress usb-headset-mic">
        <ctl name="MultiMedia8 Mixer AFE_PCM_TX" value="1" />
    </path>

    <path name="voice-call">
        <ctl name="SLIM_0_RX_Voice Mixer CSVoice" value="1" />
        <ctl name="Voice_Tx Mixer SLIM_0_TX_Voice" value="1" />
    </path>

    <path name="voice-call bt-sco">
        <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer CSVoice" value="1" />
        <ctl name="Voice_Tx Mixer INTERNAL_BT_SCO_TX_Voice" value="1" />
    </path>

    <path name="voice-call bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="voice-call bt-sco" />
    </path>

    <path name="voice-call afe-proxy">
        <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" />
        <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" />
    </path>

    <path name="afe-proxy-playback afe-proxy">
    </path>

    <path name="afe-proxy-record afe-proxy">
    </path>

    <path name="voice-call usb-headphones">
        <ctl name="AFE_PCM_RX_Voice Mixer CSVoice" value="1" />
        <ctl name="Voice_Tx Mixer AFE_PCM_TX_Voice" value="1" />
    </path>

    <path name="voice2-call">
        <ctl name="SLIM_0_RX_Voice Mixer Voice2" value="1" />
        <ctl name="Voice2_Tx Mixer SLIM_0_TX_Voice2" value="1" />
    </path>

    <path name="voice2-call bt-sco">
        <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voice2" value="1" />
        <ctl name="Voice2_Tx Mixer INTERNAL_BT_SCO_TX_Voice2" value="1" />
    </path>

    <path name="voice2-call bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="voice2-call bt-sco" />
    </path>

    <path name="voice2-call usb-headphones">
        <ctl name="AFE_PCM_RX_Voice Mixer Voice2" value="1" />
        <ctl name="Voice2_Tx Mixer AFE_PCM_TX_Voice2" value="1" />
    </path>

    <path name="hfp-sco">
        <ctl name="SLIMBUS_0_RX Port Mixer INTERNAL_BT_SCO_TX" value="1" />
        <ctl name="INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6" value="1" />
        <ctl name="MultiMedia6 Mixer SLIM_0_TX" value="1" />
        <ctl name="SLIMBUS_DL_HL Switch" value="1" />
    </path>

    <path name="hfp-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="hfp-sco" />
    </path>

    <path name="incall-rec-uplink">
        <ctl name="MultiMedia1 Mixer VOC_REC_UL" value="1" />
    </path>

    <path name="incall-rec-uplink bt-sco">
        <path name="incall-rec-uplink" />
    </path>

    <path name="incall-rec-uplink bt-sco-wb">
        <path name="incall-rec-uplink" />
    </path>

    <path name="incall-rec-uplink usb-headset-mic">
        <path name="incall-rec-uplink" />
    </path>

    <path name="incall-rec-uplink-compress">
        <ctl name="MultiMedia8 Mixer VOC_REC_UL" value="1" />
    </path>

    <path name="incall-rec-uplink-compress bt-sco">
        <path name="incall-rec-uplink-compress" />
    </path>

    <path name="incall-rec-uplink-compress bt-sco-wb">
        <path name="incall-rec-uplink-compress" />
    </path>

    <path name="incall-rec-uplink-compress usb-headset-mic">
        <path name="incall-rec-uplink-compress" />
    </path>

    <path name="incall-rec-downlink">
        <ctl name="MultiMedia1 Mixer VOC_REC_DL" value="1" />
    </path>

    <path name="incall-rec-downlink bt-sco">
        <path name="incall-rec-downlink" />
    </path>

    <path name="incall-rec-downlink bt-sco-wb">
        <path name="incall-rec-downlink" />
    </path>

    <path name="incall-rec-downlink usb-headset-mic">
        <path name="incall-rec-downlink" />
    </path>

    <path name="incall-rec-downlink-compress">
        <ctl name="MultiMedia8 Mixer VOC_REC_DL" value="1" />
    </path>

    <path name="incall-rec-downlink-compress bt-sco">
        <path name="incall-rec-downlink-compress" />
    </path>

    <path name="incall-rec-downlink-compress bt-sco-wb">
        <path name="incall-rec-downlink-compress" />
    </path>

    <path name="incall-rec-downlink-compress usb-headset-mic">
        <path name="incall-rec-downlink-compress" />
    </path>

    <path name="incall-rec-uplink-and-downlink">
        <path name="incall-rec-uplink" />
        <path name="incall-rec-downlink" />
    </path>

    <path name="incall-rec-uplink-and-downlink bt-sco">
        <path name="incall-rec-uplink-and-downlink" />
    </path>

    <path name="incall-rec-uplink-and-downlink bt-sco-wb">
        <path name="incall-rec-uplink-and-downlink" />
    </path>

    <path name="incall-rec-uplink-and-downlink usb-headset-mic">
        <path name="incall-rec-uplink-and-downlink" />
    </path>

    <path name="incall-rec-uplink-and-downlink-compress">
        <path name="incall-rec-uplink-compress" />
        <path name="incall-rec-downlink-compress" />
    </path>

    <path name="incall-rec-uplink-and-downlink-compress bt-sco">
        <path name="incall-rec-uplink-and-downlink-compress" />
    </path>

    <path name="incall-rec-uplink-and-downlink-compress bt-sco-wb">
        <path name="incall-rec-uplink-and-downlink-compress" />
    </path>

    <path name="incall-rec-uplink-and-downlink-compress usb-headset-mic">
        <path name="incall-rec-uplink-and-downlink-compress" />
    </path>

    <path name="volte-call">
        <ctl name="SLIM_0_RX_Voice Mixer VoLTE" value="1" />
        <ctl name="VoLTE_Tx Mixer SLIM_0_TX_VoLTE" value="1" />
    </path>

    <path name="volte-call bt-sco">
        <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer VoLTE" value="1" />
        <ctl name="VoLTE_Tx Mixer INTERNAL_BT_SCO_TX_VoLTE" value="1" />
    </path>

    <path name="volte-call bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="volte-call bt-sco" />
    </path>

    <path name="volte-call usb-headphones">
        <ctl name="AFE_PCM_RX_Voice Mixer VoLTE" value="1" />
        <ctl name="VoLTE_Tx Mixer AFE_PCM_TX_VoLTE" value="1" />
    </path>

    <path name="compress-voip-call">
        <ctl name="SLIM_0_RX_Voice Mixer Voip" value="1" />
        <ctl name="Voip_Tx Mixer SLIM_0_TX_Voip" value="1" />
    </path>

    <path name="compress-voip-call bt-sco">
        <ctl name="INTERNAL_BT_SCO_RX_Voice Mixer Voip" value="1" />
        <ctl name="Voip_Tx Mixer INTERNAL_BT_SCO_TX_Voip" value="1" />
    </path>

    <path name="compress-voip-call bt-sco-wb">
        <ctl name="Internal BTSCO SampleRate" value="16000" />
        <path name="compress-voip-call bt-sco" />
    </path>

    <path name="compress-voip-call usb-headphones">
        <ctl name="AFE_PCM_RX_Voice Mixer Voip" value="1" />
        <ctl name="Voip_Tx Mixer AFE_PCM_TX_Voip" value="1" />
    </path>

    <path name="listen-voice-wakeup-1">
        <ctl name="LSM1 MUX" value="SLIMBUS_5_TX" />
        <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
    </path>

    <path name="listen-voice-wakeup-2">
        <ctl name="LSM2 MUX" value="SLIMBUS_5_TX" />
        <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
    </path>

    <path name="listen-voice-wakeup-3">
        <ctl name="LSM3 MUX" value="SLIMBUS_5_TX" />
        <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
    </path>

    <path name="listen-voice-wakeup-4">
        <ctl name="LSM4 MUX" value="SLIMBUS_5_TX" />
        <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
    </path>

    <path name="listen-voice-wakeup-5">
        <ctl name="LSM5 MUX" value="SLIMBUS_5_TX" />
        <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
    </path>

    <path name="listen-voice-wakeup-6">
        <ctl name="LSM6 MUX" value="SLIMBUS_5_TX" />
        <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
    </path>

    <path name="listen-voice-wakeup-7">
        <ctl name="LSM7 MUX" value="SLIMBUS_5_TX" />
        <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
    </path>

    <path name="listen-voice-wakeup-8">
        <ctl name="LSM8 MUX" value="SLIMBUS_5_TX" />
        <ctl name="SLIMBUS_5_TX LSM Function" value="AUDIO" />
    </path>


    <!-- Analog output devices -->
    <path name="ear">
        <ctl name="RX1 MIX1 INP1" value="RX1" />
        <ctl name="CLASS_H_DSM MUX" value="DSM_HPHL_RX1" />
        <ctl name="RX1 Digital Volume" value="90" />
        <ctl name="EAR PA Gain" value="POS_6_DB" />
        <ctl name="DAC1 Switch" value="1" />
    </path>

    <path name="spk">
        <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
        <ctl name="SLIM_0_RX Channels" value="One" />
        <ctl name="RX3 MIX1 INP1" value="RX1" />
        <ctl name="RDAC5 MUX" value="DEM3_INV" />
        <ctl name="COMP2 Switch" value="1" />
        <ctl name="LINEOUT1 Volume" value="13" />
        <ctl name="LINEOUT3 Volume" value="13" />
    </path>

    <path name="hph">
        <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
        <ctl name="SLIM RX2 MUX" value="AIF1_PB" />
        <ctl name="SLIM_0_RX Channels" value="Two" />
        <ctl name="RX1 MIX1 INP1" value="RX1" />
        <ctl name="RX2 MIX1 INP1" value="RX2" />
        <ctl name="CLASS_H_DSM MUX" value="DSM_HPHL_RX1" />
        <ctl name="HPHL DAC Switch" value="1" />
        <ctl name="COMP1 Switch" value="1" />
        <ctl name="HPHL Volume" value="20" />
        <ctl name="HPHR Volume" value="20" />
    </path>

    <path name="spk-hph">
        <path name="hph" />
        <ctl name="RX3 MIX1 INP1" value="RX1" />
        <ctl name="RDAC5 MUX" value="DEM3_INV" />
        <ctl name="COMP2 Switch" value="1" />
        <ctl name="LINEOUT1 Volume" value="14" />
        <ctl name="LINEOUT3 Volume" value="14" />
    </path>


    <!-- Output paths -->
    <path name="handset">
        <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
        <ctl name="SLIM_0_RX Channels" value="One" />
        <path name="ear" />
    </path>

    <path name="voice-handset">
        <path name="handset" />
    </path>

    <path name="speaker">
        <path name="spk" />
        <ctl name="RX3 Digital Volume" value="80" />
        <ctl name="RX4 Digital Volume" value="80" />
    </path>

    <path name="voice-speaker">
        <path name="spk" />
        <ctl name="RX3 Digital Volume" value="92" />
        <ctl name="RX4 Digital Volume" value="92" />
    </path>

    <path name="headphones">
        <path name="hph" />
        <ctl name="RX1 Digital Volume" value="84" />
        <ctl name="RX2 Digital Volume" value="84" />
    </path>

    <path name="line">
        <path name="headphones" />
    </path>

    <path name="voice-headphones">
        <path name="hph" />
        <ctl name="RX1 Digital Volume" value="85" />
        <ctl name="RX2 Digital Volume" value="85" />
    </path>

    <path name="voice-line">
        <path name="voice-headphones" />
    </path>

    <path name="speaker-and-headphones">
        <path name="spk-hph" />
        <ctl name="RX1 Digital Volume" value="84" />
        <ctl name="RX2 Digital Volume" value="84" />
        <ctl name="RX3 Digital Volume" value="80" />
        <ctl name="RX4 Digital Volume" value="80" />
    </path>

    <path name="speaker-and-line">
        <path name="speaker-and-headphones" />
    </path>


    <!-- Analog input devices -->
    <path name="hph-mic">
        <ctl name="DEC5 MUX" value="ADC2" />
        <ctl name="IIR1 INP1 MUX" value="DEC5" />
    </path>

    <path name="main-mic">
        <ctl name="AIF1_CAP Mixer SLIM TX7" value="1"/>
        <ctl name="SLIM TX7 MUX" value="DEC4" />
        <ctl name="DEC4 MUX" value="ADC3" />
    </path>

    <path name="anc-mic">
        <ctl name="DEC2 MUX" value="ADC5" />
    </path>


    <!-- Recording paths -->
    <path name="handset-mic">
        <path name="main-mic" />
        <ctl name="SLIM_0_TX Channels" value="One" />
        <ctl name="ADC3 Volume" value="19" />
    </path>

    <path name="speaker-mic">
        <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
        <ctl name="SLIM_0_TX Channels" value="One" />
        <ctl name="SLIM TX7 MUX" value="DEC2" />
        <ctl name="ADC5 Volume" value="19" />
        <path name="anc-mic" />
    </path>

    <path name="headset-mic">
        <ctl name="AIF1_CAP Mixer SLIM TX7" value="1"/>
        <ctl name="SLIM_0_TX Channels" value="One" />
        <ctl name="SLIM TX7 MUX" value="DEC5" />
        <ctl name="ADC2 Volume" value="13" />
        <path name="hph-mic" />
    </path>

    <path name="voice-rec-mic">
        <path name="main-mic" />
        <ctl name="SLIM_0_TX Channels" value="One" />
        <ctl name="ADC3 Volume" value="19" />
    </path>

    <path name="voice-speaker-mic">
        <path name="speaker-mic" />
    </path>

    <path name="voice-headset-mic">
        <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
        <ctl name="SLIM_0_TX Channels" value="One" />
        <ctl name="SLIM TX7 MUX" value="DEC5" />
        <ctl name="ADC2 Volume" value="13" />
        <path name="hph-mic" />
    </path>


    <!-- USB digital audio -->
    <path name="usb-headphones">
    </path>

    <path name="speaker-and-usb-headphones">
        <path name="speaker" />
        <path name="usb-headphones" />
    </path>

    <path name="usb-headset-mic">
    </path>


    <!-- AFE proxy -->
    <path name="afe-proxy">
    </path>


    <!-- Bluetooth -->
    <path name="bt-sco-headset">
    </path>

    <path name="bt-sco-mic">
    </path>

    <path name="bt-sco-headset-wb">
    </path>

    <path name="bt-sco-mic-wb">
    </path>

    <!-- Dual-mic recording -->
    <path name="handset-dmic">
        <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
        <ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
        <ctl name="SLIM_0_TX Channels" value="Two" />
        <ctl name="SLIM TX7 MUX" value="DEC4" />
        <ctl name="DEC4 MUX" value="ADC3" />
        <ctl name="SLIM TX8 MUX" value="DEC3" />
        <ctl name="DEC3 MUX" value="ADC4" />
    </path>

    <path name="dmic-endfire">
        <path name="handset-dmic" />
        <ctl name="ADC3 Volume" value="9" />
        <ctl name="ADC4 Volume" value="9" />
    </path>

    <path name="voice-dmic-ef">
        <path name="dmic-endfire" />
    </path>

    <path name="voice-speaker-dmic-ef">
        <ctl name="AIF1_CAP Mixer SLIM TX7" value="1"/>
        <ctl name="SLIM_0_TX Channels" value="One" />
        <ctl name="SLIM TX7 MUX" value="DEC3" />
        <ctl name="DEC3 MUX" value="ADC4" />
        <ctl name="ADC4 Volume" value="19" />
        <ctl name="DEC3 Volume" value="84" />
    </path>

    <!-- Stereo recording -->
    <path name="speaker-stereo-dmic-ef">
        <ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
        <ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
        <ctl name="SLIM_0_TX Channels" value="Two" />
        <ctl name="SLIM TX7 MUX" value="DEC4" />
        <ctl name="DEC4 MUX" value="ADC3" />
        <ctl name="SLIM TX8 MUX" value="DEC2" />
        <ctl name="DEC2 MUX" value="ADC5" />
        <ctl name="ADC3 Volume" value="19" />
        <ctl name="ADC5 Volume" value="19" />
    </path>

    <path name="speaker-dmic-endfire">
        <path name="speaker-stereo-dmic-ef" />
    </path>

    <path name="handset-stereo-dmic-ef">
        <path name="handset-dmic" />
        <ctl name="ADC3 Volume" value="19" />
        <ctl name="ADC4 Volume" value="19" />
    </path>

    <path name="camcorder-mic">
        <path name="speaker-stereo-dmic-ef" />
    </path>

    <path name="voice-rec-dmic-ef">
        <path name="speaker-stereo-dmic-ef" />
    </path>

    <!-- TTY devices -->
    <path name="tty-headphones">
        <ctl name="SLIM RX1 MUX" value="AIF1_PB" />
        <ctl name="SLIM_0_RX Channels" value="One" />
        <ctl name="RX1 MIX1 INP1" value="RX1" />
        <ctl name="CLASS_H_DSM MUX" value="DSM_HPHL_RX1" />
        <ctl name="HPHL DAC Switch" value="1" />
        <ctl name="COMP1 Switch" value="1" />
        <ctl name="HPHL Volume" value="20" />
    </path>

    <path name="voice-tty-full-headphones">
        <ctl name="TTY Mode" value="FULL" />
        <path name="tty-headphones" />
    </path>

    <path name="voice-tty-vco-headphones">
        <ctl name="TTY Mode" value="VCO" />
        <path name="tty-headphones" />
    </path>

    <path name="voice-tty-hco-handset">
        <ctl name="TTY Mode" value="HCO" />
        <path name="handset" />
    </path>

    <path name="voice-tty-full-headset-mic">
        <path name="hph-mic" />
        <ctl name="ADC2 Volume" value="12" />
    </path>

    <path name="voice-tty-hco-headset-mic">
        <path name="voice-tty-full-headset-mic" />
    </path>

    <path name="voice-tty-vco-handset-mic">
        <path name="handset-mic" />
    </path>


    <!-- MAD -->
    <path name="listen-handset-mic">
        <ctl name="MADONOFF Switch" value="1" />
        <ctl name="MAD Input" value="ADC3" />
    </path>

    <path name="voice-rx">
    </path>

    <path name="voice-tx">
    </path>

    <path name="echo-reference">
        <ctl name="AUDIO_REF_EC_UL1 MUX" value="SLIM_RX" />
    </path>
</mixer>


================================================
FILE: bacon.mk
================================================
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2018 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# Overlays
DEVICE_PACKAGE_OVERLAYS += \
    $(LOCAL_PATH)/overlay \
    $(LOCAL_PATH)/overlay-lineage

# Audio
PRODUCT_COPY_FILES += \
    $(LOCAL_PATH)/audio/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
    $(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
    $(LOCAL_PATH)/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
    frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
    frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
    frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
    frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
    frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml

# Boot animation
TARGET_SCREEN_HEIGHT := 1920
TARGET_SCREEN_WIDTH := 1080

# Camera
PRODUCT_PACKAGES += \
    camera.msm8974

# Display
PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := xxhdpi

# NFC
PRODUCT_PACKAGES += \
    com.android.nfc_extras \
    NfcNci \
    Tag

PRODUCT_COPY_FILES += \
    $(LOCAL_PATH)/configs/libnfc-nxp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nxp.conf \
    $(LOCAL_PATH)/configs/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci.conf

# Permissions
PRODUCT_COPY_FILES += \
    frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
    frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
    frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml

# Ramdisk
PRODUCT_PACKAGES += \
    fstab.bacon \
    init.bacon.rc \
    init.qcom.usb.rc \
    init.recovery.bacon.rc \
    ueventd.bacon.rc

# Recorder
PRODUCT_PACKAGES += \
    Recorder

# Shipping API
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_k.mk)

# Vendor security patch level
PRODUCT_PROPERTY_OVERRIDES += \
    ro.lineage.build.vendor_security_patch=2016-09-01

# Call the proprietary setup
$(call inherit-product, vendor/oneplus/bacon/bacon-vendor.mk)

# Inherit from msm8974-common
$(call inherit-product, device/oppo/msm8974-common/msm8974.mk)


================================================
FILE: bluetooth/bdroid_buildcfg.h
================================================
/*
 * Copyright (C) 2016 The CyanogenMod Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef _BDROID_BUILDCFG_H
#define _BDROID_BUILDCFG_H

#define BTM_DEF_LOCAL_NAME        "OnePlus One"

#define BLUETOOTH_QTI_SW          TRUE
#define BT_CLEAN_TURN_ON_DISABLED TRUE

#endif


================================================
FILE: config.fs
================================================
[firmware/]
mode: 0771
user: AID_SYSTEM
group: AID_SYSTEM
caps: 0

[persist/]
mode: 0771
user: AID_SYSTEM
group: AID_SYSTEM
caps: 0


================================================
FILE: configs/libnfc-nci.conf
================================================
## this file is used by Broadcom's Hardware Abstraction Layer at external/libnfc-nci/halimpl/

###############################################################################
# Application options
APPL_TRACE_LEVEL=0x02
PROTOCOL_TRACE_LEVEL=0xFFFFFFFF

###############################################################################
# performance measurement
# Change this setting to control how often USERIAL log the performance (throughput)
# data on read/write/poll
# defailt is to log performance dara for every 100 read or write
#REPORT_PERFORMANCE_MEASURE=100

###############################################################################
# File used for NFA storage
NFA_STORAGE="/data/nfc"

###############################################################################
# Snooze Mode Settings
#
#  By default snooze mode is enabled.  Set SNOOZE_MODE_CFG byte[0] to 0
#  to disable.
#
#  If SNOOZE_MODE_CFG is not provided, the default settings are used:
#  They are as follows:
#       8             Sleep Mode (0=Disabled 1=UART 8=SPI/I2C)
#       0             Idle Threshold Host
#       0             Idle Threshold HC
#       0             NFC Wake active mode (0=ActiveLow 1=ActiveHigh)
#       1             Host Wake active mode (0=ActiveLow 1=ActiveHigh)
#
#SNOOZE_MODE_CFG={08:00:00:00:01}

###############################################################################
# Insert a delay in milliseconds after NFC_WAKE and before write to NFCC
NFC_WAKE_DELAY=20

###############################################################################
# Various Delay settings (in ms) used in USERIAL
#  POWER_ON_DELAY
#    Delay after turning on chip, before writing to transport (default 300)
#  PRE_POWER_OFF_DELAY
#    Delay after deasserting NFC-Wake before turn off chip (default 0)
#  POST_POWER_OFF_DELAY
#    Delay after turning off chip, before USERIAL_close returns (default 0)
#
#POWER_ON_DELAY=300
#PRE_POWER_OFF_DELAY=0
#POST_POWER_OFF_DELAY=0

###############################################################################
# LPTD mode configuration
#  byte[0] is the length of the remaining bytes in this value
#     if set to 0, LPTD params will NOT be sent to NFCC (i.e. disabled).
#  byte[1] is the param id it should be set to B9.
#  byte[2] is the length of the LPTD parameters
#  byte[3] indicates if LPTD is enabled
#     if set to 0, LPTD will be disabled (parameters will still be sent).
#  byte[4-n] are the LPTD parameters.
#  By default, LPTD is enabled and default settings are used.
#  See nfc_hal_dm_cfg.c for defaults
LPTD_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}

###############################################################################
# Startup Configuration (100 bytes maximum)
#
# For the 0xCA parameter, byte[9] (marked by 'AA') is for UICC0, and byte[10] (marked by BB) is
#    for UICC1.  The values are defined as:
#   0 : UICCx only supports ISO_DEP in low power mode.
#   2 : UICCx only supports Mifare in low power mode.
#   3 : UICCx supports both ISO_DEP and Mifare in low power mode.
#
#                                                                          AA BB
NFA_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}

###############################################################################
# Startup Vendor Specific Configuration (100 bytes maximum);
#  byte[0] TLV total len = 0x5
#  byte[1] NCI_MTS_CMD|NCI_GID_PROP = 0x2f
#  byte[2] NCI_MSG_FRAME_LOG = 0x9
#  byte[3] 2
#  byte[4] 0=turn off RF frame logging; 1=turn on
#  byte[5] 0=turn off SWP frame logging; 1=turn on
#  NFA_DM_START_UP_VSC_CFG={05:2F:09:02:01:01}

###############################################################################
# Antenna Configuration - This data is used when setting 0xC8 config item
# at startup (before discovery is started).  If not used, no value is sent.
#
# The settings for this value are documented here:
# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/
#   Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx
# This document is maintained by Paul Forshaw.
#
# The values marked as ?? should be tweaked per antenna or customer/app:
# {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}
# array[0] = 0x20 is length of the payload from array[1] to the end
# array[1] = 0xC8 is PREINIT_DSP_CFG
#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}

###############################################################################
# Configure crystal frequency when internal LPO can't detect the frequency.
#XTAL_FREQUENCY=0
###############################################################################
# Configure the default Destination Gate used by HCI (the default is 4, which
# is the ETSI loopback gate.
NFA_HCI_DEFAULT_DEST_GATE=0xF0

###############################################################################
# Configure the single default SE to use.  The default is to use the first
# SE that is detected by the stack.  This value might be used when the phone
# supports multiple SE (e.g. 0xF3 and 0xF4) but you want to force it to use
# one of them (e.g. 0xF4).
#ACTIVE_SE=0xF3

###############################################################################
# Configure the NFC Extras to open and use a static pipe.  If the value is
# not set or set to 0, then the default is use a dynamic pipe based on a
# destination gate (see NFA_HCI_DEFAULT_DEST_GATE).  Note there is a value
# for each UICC (where F3="UICC0" and F4="UICC1")
#NFA_HCI_STATIC_PIPE_ID_F3=0x70
#NFA_HCI_STATIC_PIPE_ID_01=0x19
NFA_HCI_STATIC_PIPE_ID_C0=0x19
###############################################################################
# When disconnecting from Oberthur secure element, perform a warm-reset of
# the secure element to deselect the applet.
# The default hex value of the command is 0x3.  If this variable is undefined,
# then this feature is not used.
OBERTHUR_WARM_RESET_COMMAND=0x03

###############################################################################
# Force UICC to only listen to the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F
UICC_LISTEN_TECH_MASK=0xC7

###############################################################################
# Force HOST listen feature enable or disable.
# 0: Disable
# 1: Enable
HOST_LISTEN_ENABLE=0x01

###############################################################################
# Allow UICC to be powered off if there is no traffic.
# Timeout is in ms. If set to 0, then UICC will not be powered off.
#UICC_IDLE_TIMEOUT=30000
UICC_IDLE_TIMEOUT=0

###############################################################################
# AID for Empty Select command
# If specified, this AID will be substituted when an Empty SELECT command is
# detected.  The first byte is the length of the AID.  Maximum length is 16.
AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}

###############################################################################
# This setting allows you to disable registering the T4t Virtual SE that causes
# the NFCC to send PPSE requests to the DH.
# The default setting is enabled (i.e. T4t Virtual SE is registered).
#REGISTER_VIRTUAL_SE=1

###############################################################################
# When screen is turned off, specify the desired power state of the controller.
# 0: power-off-sleep state; DEFAULT
# 1: full-power state
# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
SCREEN_OFF_POWER_STATE=1

###############################################################################
# Firmware patch file
#  If the value is not set then patch download is disabled.
FW_PATCH="/vendor/firmware/bcm2079x_firmware.ncd"

###############################################################################
# Firmware pre-patch file (sent before the above patch file)
#  If the value is not set then pre-patch is not used.
FW_PRE_PATCH="/vendor/firmware/bcm2079x_pre_firmware.ncd"

###############################################################################
# Firmware patch format
#   1 = HCD
#   2 = NCD (default)
#NFA_CONFIG_FORMAT=2

###############################################################################
# SPD Debug mode
#  If set to 1, any failure of downloading a patch will trigger a hard-stop
#SPD_DEBUG=0

###############################################################################
# SPD Max Retry Count
#  The number of attempts to download a patch before giving up (defualt is 3).
#  Note, this resets after a power-cycle.
#SPD_MAX_RETRY_COUNT=3

###############################################################################
# transport driver
#
# TRANSPORT_DRIVER=<driver>
#
#  where <driver> can be, for example:
#    "/dev/ttyS"        (UART)
#    "/dev/bcmi2cnfc"   (I2C)
#    "hwtun"            (HW Tunnel)
#    "/dev/bcmspinfc"   (SPI)
#    "/dev/btusb0"      (BT USB)
TRANSPORT_DRIVER="/dev/bcm2079x"

###############################################################################
# power control driver
# Specify a kernel driver that support ioctl commands to control NFC_EN and
# NFC_WAKE gpio signals.
#
# POWER_CONTRL_DRIVER=<driver>
#  where <driver> can be, for example:
#    "/dev/nfcpower"
#    "/dev/bcmi2cnfc"   (I2C)
#    "/dev/bcmspinfc"   (SPI)
#    i2c and spi driver may be used to control NFC_EN and NFC_WAKE signal
POWER_CONTROL_DRIVER="/dev/bcm2079x"

###############################################################################
# I2C transport driver options
#
BCMI2CNFC_ADDRESS=0

###############################################################################
# I2C transport driver try to read multiple packets in read() if data is available
# remove the comment below to enable this feature
#READ_MULTIPLE_PACKETS=1

###############################################################################
# SPI transport driver options
#SPI_NEGOTIATION={0A:F0:00:01:00:00:00:FF:FF:00:00}

###############################################################################
# UART transport driver options
#
# PORT=1,2,3,...
# BAUD=115200, 19200, 9600, 4800,
# DATABITS=8, 7, 6, 5
# PARITY="even" | "odd" | "none"
# STOPBITS="0" | "1" | "1.5" | "2"

#UART_PORT=2
#UART_BAUD=115200
#UART_DATABITS=8
#UART_PARITY="none"
#UART_STOPBITS="1"

###############################################################################
# Insert a delay in microseconds per byte after a write to NFCC.
# after writing a block of data to the NFCC, delay this an amopunt of time before
# writing next block of data.  the delay is calculated as below
#   NFC_WRITE_DELAY * (number of byte written) / 1000 milliseconds
# e.g. after 259 bytes is written, delay (259 * 20 / 1000) 5 ms before next write
NFC_WRITE_DELAY=20

###############################################################################
# Maximum Number of Credits to be allowed by the NFCC
#   This value overrides what the NFCC specifices allowing the host to have
#   the control to work-around transport limitations.  If this value does
#   not exist or is set to 0, the NFCC will provide the number of credits.
MAX_RF_DATA_CREDITS=1

###############################################################################
# Antenna Configuration - This data is used when setting 0xC8 config item
# at startup (before discovery is started).  If not used, no value is sent.
#
# The settings for this value are documented here:
# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/
#   Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx
# This document is maintained by Paul Forshaw.
#
# The values marked as ?? should be tweaked per antenna or customer/app:
# {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}
# array[0] = 0x20 is length of the payload from array[1] to the end
# array[1] = 0xC8 is PREINIT_DSP_CFG
#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}


###############################################################################
# Force tag polling for the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
#            NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
#            NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO |
#            NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE.
#
# Notable bits:
# NFA_TECHNOLOGY_MASK_A             0x01    /* NFC Technology A             */
# NFA_TECHNOLOGY_MASK_B             0x02    /* NFC Technology B             */
# NFA_TECHNOLOGY_MASK_F             0x04    /* NFC Technology F             */
# NFA_TECHNOLOGY_MASK_ISO15693	    0x08    /* Proprietary Technology       */
# NFA_TECHNOLOGY_MASK_KOVIO	        0x20    /* Proprietary Technology       */
# NFA_TECHNOLOGY_MASK_A_ACTIVE      0x40    /* NFC Technology A active mode */
# NFA_TECHNOLOGY_MASK_F_ACTIVE      0x80    /* NFC Technology F active mode */
POLLING_TECH_MASK=0xEF

###############################################################################
# Force P2P to only listen for the following technology(s).
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
#            NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE
#
# Notable bits:
# NFA_TECHNOLOGY_MASK_A	            0x01    /* NFC Technology A             */
# NFA_TECHNOLOGY_MASK_F	            0x04    /* NFC Technology F             */
# NFA_TECHNOLOGY_MASK_A_ACTIVE      0x40    /* NFC Technology A active mode */
# NFA_TECHNOLOGY_MASK_F_ACTIVE      0x80    /* NFC Technology F active mode */
P2P_LISTEN_TECH_MASK=0xC5        

PRESERVE_STORAGE=0x01

###############################################################################
# Maximum EE supported number
# NXP PN547C2 0x02
# NXP PN65T 0x03
NFA_MAX_EE_SUPPORTED=0x03

###############################################################################
# NCI Hal Module name
NCI_HAL_MODULE="nfc_nci.pn54x"

###############################################################################
# Vendor Specific Proprietary Protocol & Discovery Configuration
# Set to 0xFF if unsupported
#  byte[0] NCI_PROTOCOL_18092_ACTIVE
#  byte[1] NCI_PROTOCOL_B_PRIME
#  byte[2] NCI_PROTOCOL_DUAL
#  byte[3] NCI_PROTOCOL_15693
#  byte[4] NCI_PROTOCOL_KOVIO
#  byte[5] NCI_PROTOCOL_MIFARE
#  byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO
#  byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME
#  byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME
NFA_PROPRIETARY_CFG={05:FF:FF:06:81:80:77:FF:FF}

###############################################################################
# Enable/Disable NFC-F HCE
# Disable       0x00
# Enable        non-zero value
ENABLE_NFCF_HCE=0x00

###############################################################################
# Set max transceive length for IsoDep frames
# Standard      0x105 (261)
# Extended      0xFEFF (65279)
ISO_DEP_MAX_TRANSCEIVE=0xFEFF

###############################################################################
# Mifare Tag implementation
# 0: General implementation
# 1: Legacy implementation
LEGACY_MIFARE_READER=1


================================================
FILE: configs/libnfc-nxp.conf
================================================
## This file is used by NFC NXP NCI HAL(external/libnfc-nci/halimpl/pn547) 
## and NFC Service Java Native Interface Extensions (packages/apps/Nfc/nci/jni/extns/pn547)

###############################################################################
# Application options
# Logging Levels
# NXPLOG_DEFAULT_LOGLEVEL    0x01
# ANDROID_LOG_DEBUG          0x03
# ANDROID_LOG_WARN           0x02
# ANDROID_LOG_ERROR          0x01
# ANDROID_LOG_SILENT         0x00
#
NXPLOG_EXTNS_LOGLEVEL=0x02
NXPLOG_NCIHAL_LOGLEVEL=0x02
NXPLOG_NCIX_LOGLEVEL=0x02
NXPLOG_NCIR_LOGLEVEL=0x02
NXPLOG_FWDNLD_LOGLEVEL=0x02
NXPLOG_TML_LOGLEVEL=0x02

###############################################################################
# Nfc Device Node name
NXP_NFC_DEV_NODE="/dev/pn544"

###############################################################################
# Extension for Mifare reader enable
#    0x00 - Disabled
#    0x01 - Enabled
MIFARE_READER_ENABLE=0x01

###############################################################################
# File location for Firmware
#FW_STORAGE="/etc/firmware/libpn547_fw.so"

###############################################################################
# System clock source selection configuration
#    CLK_SRC_XTAL     - 0x01
#    CLK_SRC_PLL      - 0x02
NXP_SYS_CLK_SRC_SEL=0x02

###############################################################################
# System clock frequency selection configuration for PLL
#    CLK_FREQ_13MHZ   - 0x01
#    CLK_FREQ_19_2MHZ - 0x02
#    CLK_FREQ_24MHZ   - 0x03
#    CLK_FREQ_26MHZ   - 0x04
#    CLK_FREQ_38_4MHZ - 0x05
#    CLK_FREQ_52MHZ   - 0x06
NXP_SYS_CLK_FREQ_SEL=0x02

###############################################################################
# The timeout value to be used for clock request acknowledgment
# min value = 0x01 to max = 0x0A
NXP_SYS_CLOCK_TO_CFG=0x0A

###############################################################################
# NXP proprietary settings
NXP_ACT_PROP_EXTN={2F, 02, 00}

###############################################################################
# NFC forum profile settings
NXP_NFC_PROFILE_EXTN={20, 02, 05, 01, A0, 44, 01, 00}

###############################################################################
# Standby enable settings
#    0x00 - Disabled
#    0x01 - Enabled
NXP_CORE_STANDBY={2F, 00, 01, 01}


###############################################################################
# NXP RF ALM (NO BOOSTER) configuration settings for FW VERSION = 08.01.18
###############################################################################
#    A0, 0D, 03, 00, 40, 02                RF_CLIF_BOOT                CLIF_ANA_NFCLD_REG
#    A0, 0D, 03, 04, 43, 20                RF_CLIF_CFG_INITIATOR       CLIF_ANA_PBF_CONTROL_REG
#    A0, 0D, 03, 04, FF, 05                RF_CLIF_CFG_INITIATOR       SMU_PMU_REG (0x40024010)
#    A0, 0D, 06, 06, 44, A3, 90, 03, 00    RF_CLIF_CFG_TARGET          CLIF_ANA_RX_REG
#    A0, 0D, 06, 06, 30, CF, 00, 08, 00    RF_CLIF_CFG_TARGET          CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
#    A0, 0D, 06, 06, 2F, 8F, 05, 80, 0C    RF_CLIF_CFG_TARGET          CLIF_SIGPRO_ADCBCM_CONFIG_REG
#    A0, 0D, 04, 06, 03, 00, 6E            RF_CLIF_CFG_TARGET          CLIF_TRANSCEIVE_CONTROL_REG
#    A0, 0D, 03, 06, 48, 1F                RF_CLIF_CFG_TARGET          CLIF_ANA_CLK_MAN_REG
#    A0, 0D, 03, 06, 43, A0                RF_CLIF_CFG_TARGET          CLIF_ANA_PBF_CONTROL_REG
#    A0, 0D, 06, 06, 42, 00, 00, FF, FF    RF_CLIF_CFG_TARGET          CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 06, 06, 41, 80, 00, 00, 00    RF_CLIF_CFG_TARGET          CLIF_ANA_TX_CLK_CONTROL_REG
#    A0, 0D, 03, 06, 37, 18                RF_CLIF_CFG_TARGET          CLIF_TX_CONTROL_REG
#    A0, 0D, 03, 06, 16, 00                RF_CLIF_CFG_TARGET          CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 06, 15, 00                RF_CLIF_CFG_TARGET          CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 06, FF, 05, 00, 00, 00    RF_CLIF_CFG_TARGET          SMU_PMU_REG (0x40024010)
#    A0, 0D, 06, 08, 44, 00, 00, 00, 00    RF_CLIF_CFG_I_PASSIVE       CLIF_ANA_RX_REG
#    A0, 0D, 06, 20, 4A, 00, 00, 00, 00    RF_CLIF_CFG_TECHNO_I_TX15693CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 06, 20, 42, 88, 10, FF, FF    RF_CLIF_CFG_TECHNO_I_TX15693CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 03, 20, 16, 00                RF_CLIF_CFG_TECHNO_I_TX15693CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 20, 15, 00                RF_CLIF_CFG_TECHNO_I_TX15693CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 22, 44, 22, 00, 02, 00    RF_CLIF_CFG_TECHNO_I_RX15693CLIF_ANA_RX_REG
#    A0, 0D, 06, 22, 2D, 50, 44, 0C, 00    RF_CLIF_CFG_TECHNO_I_RX15693CLIF_SIGPRO_RM_CONFIG1_REG
#    A0, 0D, 04, 32, 03, 40, 3D            RF_CLIF_CFG_BR_106_I_TXA    CLIF_TRANSCEIVE_CONTROL_REG
#    A0, 0D, 06, 32, 42, F8, 10, FF, FF    RF_CLIF_CFG_BR_106_I_TXA    CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 03, 32, 16, 00                RF_CLIF_CFG_BR_106_I_TXA    CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 32, 15, 01                RF_CLIF_CFG_BR_106_I_TXA    CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 03, 32, 0D, 22                RF_CLIF_CFG_BR_106_I_TXA    CLIF_TX_DATA_MOD_REG
#    A0, 0D, 03, 32, 14, 22                RF_CLIF_CFG_BR_106_I_TXA    CLIF_TX_SYMBOL23_MOD_REG
#    A0, 0D, 06, 32, 4A, 30, 0F, 01, 1F    RF_CLIF_CFG_BR_106_I_TXA    CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 06, 34, 2D, 24, 77, 0C, 00    RF_CLIF_CFG_BR_106_I_RXA_P  CLIF_SIGPRO_RM_CONFIG1_REG
#    A0, 0D, 06, 34, 44, 21, 00, 02, 00    RF_CLIF_CFG_BR_106_I_RXA_P  CLIF_ANA_RX_REG
#    A0, 0D, 06, 35, 44, 21, 00, 02, 00    RF_CLIF_CFG_BR_106_I_RXA_P  CLIF_ANA_RX_REG
#    A0, 0D, 06, 38, 4A, 53, 07, 01, 1B    RF_CLIF_CFG_BR_212_I_TXA    CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 06, 38, 42, 68, 10, FF, FF    RF_CLIF_CFG_BR_212_I_TXA    CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 03, 38, 16, 00                RF_CLIF_CFG_BR_212_I_TXA    CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 38, 15, 00                RF_CLIF_CFG_BR_212_I_TXA    CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 3A, 2D, 15, 47, 0D, 00    RF_CLIF_CFG_BR_212_I_RXA    CLIF_SIGPRO_RM_CONFIG1_REG
#    A0, 0D, 06, 3C, 4A, 52, 07, 01, 1B    RF_CLIF_CFG_BR_424_I_TXA    CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 06, 3C, 42, 68, 10, FF, FF    RF_CLIF_CFG_BR_424_I_TXA    CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 03, 3C, 16, 00                RF_CLIF_CFG_BR_424_I_TXA    CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 3C, 15, 00                RF_CLIF_CFG_BR_424_I_TXA    CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 3E, 2D, 15, 47, 0D, 00    RF_CLIF_CFG_BR_424_I_RXA    CLIF_SIGPRO_RM_CONFIG1_REG
#    A0, 0D, 06, 40, 42, F0, 10, FF, FF    RF_CLIF_CFG_BR_848_I_TXA    CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 03, 40, 0D, 02                RF_CLIF_CFG_BR_848_I_TXA    CLIF_TX_DATA_MOD_REG
#    A0, 0D, 03, 40, 14, 02                RF_CLIF_CFG_BR_848_I_TXA    CLIF_TX_SYMBOL23_MOD_REG
#    A0, 0D, 06, 40, 4A, 12, 07, 00, 00    RF_CLIF_CFG_BR_848_I_TXA    CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 03, 40, 16, 00                RF_CLIF_CFG_BR_848_I_TXA    CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 40, 15, 00                RF_CLIF_CFG_BR_848_I_TXA    CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 42, 2D, 15, 47, 0D, 00    RF_CLIF_CFG_BR_848_I_RXA    CLIF_SIGPRO_RM_CONFIG1_REG
#    A0, 0D, 06, 46, 44, 21, 00, 02, 00    RF_CLIF_CFG_BR_106_I_RXB    CLIF_ANA_RX_REG
#    A0, 0D, 06, 46, 2D, 05, 47, 0E, 00    RF_CLIF_CFG_BR_106_I_RXB    CLIF_SIGPRO_RM_CONFIG1_REG
#    A0, 0D, 06, 44, 4A, 33, 07, 01, 07    RF_CLIF_CFG_BR_106_I_TXB    CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 06, 44, 42, 88, 10, FF, FF    RF_CLIF_CFG_BR_106_I_TXB    CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 03, 44, 16, 00                RF_CLIF_CFG_BR_106_I_TXB    CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 44, 15, 00                RF_CLIF_CFG_BR_106_I_TXB    CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 4A, 44, 22, 00, 02, 00    RF_CLIF_CFG_BR_212_I_RXB    CLIF_ANA_RX_REG
#    A0, 0D, 06, 4A, 2D, 05, 37, 0C, 00    RF_CLIF_CFG_BR_212_I_RXB    CLIF_SIGPRO_RM_CONFIG1_REG
#    A0, 0D, 06, 48, 4A, 33, 07, 01, 07    RF_CLIF_CFG_BR_212_I_TXB    CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 06, 48, 42, 88, 10, FF, FF    RF_CLIF_CFG_BR_212_I_TXB    CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 03, 48, 16, 00                RF_CLIF_CFG_BR_212_I_TXB    CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 48, 15, 00                RF_CLIF_CFG_BR_212_I_TXB    CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 4E, 44, 22, 00, 02, 00    RF_CLIF_CFG_BR_424_I_RXB    CLIF_ANA_RX_REG
#    A0, 0D, 06, 4E, 2D, 05, 37, 0C, 00    RF_CLIF_CFG_BR_424_I_RXB    CLIF_SIGPRO_RM_CONFIG1_REG
#    A0, 0D, 06, 4C, 4A, 33, 07, 01, 07    RF_CLIF_CFG_BR_424_I_TXB    CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 06, 4C, 42, 88, 10, FF, FF    RF_CLIF_CFG_BR_424_I_TXB    CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 03, 4C, 16, 00                RF_CLIF_CFG_BR_424_I_TXB    CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 4C, 15, 00                RF_CLIF_CFG_BR_424_I_TXB    CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 52, 44, 22, 00, 02, 00    RF_CLIF_CFG_BR_848_I_RXB    CLIF_ANA_RX_REG
#    A0, 0D, 06, 52, 2D, 05, 25, 0C, 00    RF_CLIF_CFG_BR_848_I_RXB    CLIF_SIGPRO_RM_CONFIG1_REG
#    A0, 0D, 06, 50, 42, 90, 10, FF, FF    RF_CLIF_CFG_BR_848_I_TXB    CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 06, 50, 4A, 11, 0F, 01, 07    RF_CLIF_CFG_BR_848_I_TXB    CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 03, 50, 16, 00                RF_CLIF_CFG_BR_848_I_TXB    CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 50, 15, 00                RF_CLIF_CFG_BR_848_I_TXB    CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 56, 2D, 05, 9E, 0C, 00    RF_CLIF_CFG_BR_212_I_RXF_P  CLIF_SIGPRO_RM_CONFIG1_REG
#    A0, 0D, 06, 56, 44, 22, 00, 02, 00    RF_CLIF_CFG_BR_212_I_RXF_P  CLIF_ANA_RX_REG
#    A0, 0D, 06, 5C, 2D, 05, 69, 0C, 00    RF_CLIF_CFG_BR_424_I_RXF_P  CLIF_SIGPRO_RM_CONFIG1_REG
#    A0, 0D, 06, 5C, 44, 21, 00, 02, 00    RF_CLIF_CFG_BR_424_I_RXF_P  CLIF_ANA_RX_REG
#    A0, 0D, 06, 54, 42, 88, 10, FF, FF    RF_CLIF_CFG_BR_212_I_TXF    CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 06, 54, 4A, 33, 07, 01, 07    RF_CLIF_CFG_BR_212_I_TXF    CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 03, 54, 16, 00                RF_CLIF_CFG_BR_212_I_TXF    CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 54, 15, 00                RF_CLIF_CFG_BR_212_I_TXF    CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 5A, 42, 90, 10, FF, FF    RF_CLIF_CFG_BR_424_I_TXF    CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 06, 5A, 4A, 31, 07, 01, 07    RF_CLIF_CFG_BR_424_I_TXF    CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 03, 5A, 16, 00                RF_CLIF_CFG_BR_424_I_TXF    CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 5A, 15, 00                RF_CLIF_CFG_BR_424_I_TXF    CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 98, 2F, AF, 05, 80, 0F    RF_CLIF_GTM_B               CLIF_SIGPRO_ADCBCM_CONFIG_REG
#    A0, 0D, 06, 9A, 42, 00, 00, FF, FF    RF_CLIF_GTM_FELICA          CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 06, 30, 44, A3, 90, 03, 00    RF_CLIF_CFG_TECHNO_T_RXF    CLIF_ANA_RX_REG
#    A0, 0D, 06, 6C, 44, A3, 90, 03, 00    RF_CLIF_CFG_BR_106_T_RXA    CLIF_ANA_RX_REG
#    A0, 0D, 06, 6C, 30, CF, 00, 08, 00    RF_CLIF_CFG_BR_106_T_RXA    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
#    A0, 0D, 06, 6C, 2F, 8F, 05, 80, 0C    RF_CLIF_CFG_BR_106_T_RXA    CLIF_SIGPRO_ADCBCM_CONFIG_REG
#    A0, 0D, 06, 70, 2F, 8F, 05, 80, 12    RF_CLIF_CFG_BR_212_T_RXA    CLIF_SIGPRO_ADCBCM_CONFIG_REG
#    A0, 0D, 06, 70, 30, CF, 00, 08, 00    RF_CLIF_CFG_BR_212_T_RXA    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
#    A0, 0D, 06, 74, 2F, 8F, 05, 80, 12    RF_CLIF_CFG_BR_424_T_RXA    CLIF_SIGPRO_ADCBCM_CONFIG_REG
#    A0, 0D, 06, 74, 30, DF, 00, 07, 00    RF_CLIF_CFG_BR_424_T_RXA    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
#    A0, 0D, 06, 78, 2F, 1F, 06, 80, 01    RF_CLIF_CFG_BR_848_T_RXA    CLIF_SIGPRO_ADCBCM_CONFIG_REG
#    A0, 0D, 06, 78, 30, 3F, 00, 04, 00    RF_CLIF_CFG_BR_848_T_RXA    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
#    A0, 0D, 06, 78, 44, A2, 90, 03, 00    RF_CLIF_CFG_BR_848_T_RXA    CLIF_ANA_RX_REG
#    A0, 0D, 03, 78, 47, 00                RF_CLIF_CFG_BR_848_T_RXA    CLIF_ANA_AGC_REG
#    A0, 0D, 06, 7C, 2F, AF, 05, 80, 0F    RF_CLIF_CFG_BR_106_T_RXB    CLIF_SIGPRO_ADCBCM_CONFIG_REG
#    A0, 0D, 06, 7C, 30, CF, 00, 07, 00    RF_CLIF_CFG_BR_106_T_RXB    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
#    A0, 0D, 06, 7C, 44, A3, 90, 03, 00    RF_CLIF_CFG_BR_106_T_RXB    CLIF_ANA_RX_REG
#    A0, 0D, 06, 7D, 30, CF, 00, 08, 00    RF_CLIF_CFG_BR_106_T_RXB    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
#    A0, 0D, 06, 80, 2F, AF, 05, 80, 90    RF_CLIF_CFG_BR_212_T_RXB    CLIF_SIGPRO_ADCBCM_CONFIG_REG
#    A0, 0D, 06, 80, 44, A3, 90, 03, 00    RF_CLIF_CFG_BR_212_T_RXB    CLIF_ANA_RX_REG
#    A0, 0D, 06, 84, 2F, AF, 05, 80, 92    RF_CLIF_CFG_BR_424_T_RXB    CLIF_SIGPRO_ADCBCM_CONFIG_REG
#    A0, 0D, 06, 84, 44, A3, 90, 03, 00    RF_CLIF_CFG_BR_424_T_RXB    CLIF_ANA_RX_REG
#    A0, 0D, 06, 88, 2F, 7F, 04, 80, 10    RF_CLIF_CFG_BR_848_T_RXB    CLIF_SIGPRO_ADCBCM_CONFIG_REG
#    A0, 0D, 06, 88, 30, 5F, 00, 16, 00    RF_CLIF_CFG_BR_848_T_RXB    CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
#    A0, 0D, 03, 88, 47, 00                RF_CLIF_CFG_BR_848_T_RXB    CLIF_ANA_AGC_REG
#    A0, 0D, 06, 88, 44, A1, 90, 03, 00    RF_CLIF_CFG_BR_848_T_RXB    CLIF_ANA_RX_REG
#    A0, 0D, 03, 0C, 48, 1F                RF_CLIF_CFG_T_PASSIVE       CLIF_ANA_CLK_MAN_REG
#    A0, 0D, 03, 10, 43, 20                RF_CLIF_CFG_T_ACTIVE        CLIF_ANA_PBF_CONTROL_REG
#    A0, 0D, 06, 6A, 42, F8, 10, FF, FF    RF_CLIF_CFG_BR_106_T_TXA_A  CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 03, 6A, 16, 00                RF_CLIF_CFG_BR_106_T_TXA_A  CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 6A, 15, 01                RF_CLIF_CFG_BR_106_T_TXA_A  CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 6A, 4A, 30, 0F, 01, 1F    RF_CLIF_CFG_BR_106_T_TXA_A  CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 06, 8C, 42, 88, 10, FF, FF    RF_CLIF_CFG_BR_212_T_TXF_A  CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 06, 8C, 4A, 33, 07, 01, 07    RF_CLIF_CFG_BR_212_T_TXF_A  CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 03, 8C, 16, 00                RF_CLIF_CFG_BR_212_T_TXF_A  CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 8C, 15, 00                RF_CLIF_CFG_BR_212_T_TXF_A  CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 92, 42, 90, 10, FF, FF    RF_CLIF_CFG_BR_424_T_TXF_A  CLIF_ANA_TX_AMPLITUDE_REG
#    A0, 0D, 06, 92, 4A, 31, 07, 01, 07    RF_CLIF_CFG_BR_424_T_TXF_A  CLIF_ANA_TX_SHAPE_CONTROL_REG
#    A0, 0D, 03, 92, 16, 00                RF_CLIF_CFG_BR_424_T_TXF_A  CLIF_TX_UNDERSHOOT_CONFIG_REG
#    A0, 0D, 03, 92, 15, 00                RF_CLIF_CFG_BR_424_T_TXF_A  CLIF_TX_OVERSHOOT_CONFIG_REG
#    A0, 0D, 06, 0A, 30, CF, 00, 08, 00    RF_CLIF_CFG_I_ACTIVE        CLIF_SIGPRO_ADCBCM_THRESHOLD_REG
#    A0, 0D, 06, 0A, 2F, 8F, 05, 80, 0C    RF_CLIF_CFG_I_ACTIVE        CLIF_SIGPRO_ADCBCM_CONFIG_REG
#    A0, 0D, 03, 0A, 48, 10                RF_CLIF_CFG_I_ACTIVE        CLIF_ANA_CLK_MAN_REG
#    A0, 0D, 06, 0A, 44, A3, 90, 03, 00    RF_CLIF_CFG_I_ACTIVE        CLIF_ANA_RX_REG

# *** ALM(NO BOOSTER) FW VERSION = 08.01.18 ***
NXP_RF_CONF_BLK_1={
    20, 02, F3, 20,
    A0, 0D, 03, 00, 40, 02,
    A0, 0D, 03, 04, 43, 20,
    A0, 0D, 03, 04, FF, 05,
    A0, 0D, 06, 06, 44, A3, 90, 03, 00,
    A0, 0D, 06, 06, 30, CF, 00, 08, 00,
    A0, 0D, 06, 06, 2F, 8F, 05, 80, 0C,
    A0, 0D, 04, 06, 03, 00, 6E,
    A0, 0D, 03, 06, 48, 1A,
    A0, 0D, 03, 06, 43, A0,
    A0, 0D, 06, 06, 42, 00, 00, F6, F6,
    A0, 0D, 06, 06, 41, 80, 00, 00, 00,
    A0, 0D, 03, 06, 37, 18,
    A0, 0D, 03, 06, 16, 00,
    A0, 0D, 03, 06, 15, 00,
    A0, 0D, 06, 06, FF, 05, 00, 00, 00,
    A0, 0D, 06, 08, 44, 00, 00, 00, 00,
    A0, 0D, 06, 20, 4A, 00, 00, 00, 00,
    A0, 0D, 06, 20, 42, 88, 10, FF, FF,
    A0, 0D, 03, 20, 16, 00,
    A0, 0D, 03, 20, 15, 00,
    A0, 0D, 06, 22, 44, 22, 00, 02, 00,
    A0, 0D, 06, 22, 2D, 50, 44, 0C, 00,
    A0, 0D, 04, 32, 03, 40, 3D,
    A0, 0D, 06, 32, 42, F8, 10, FF, FF,
    A0, 0D, 03, 32, 16, 00,
    A0, 0D, 03, 32, 15, 01,
    A0, 0D, 03, 32, 0D, 22,
    A0, 0D, 03, 32, 14, 22,
    A0, 0D, 06, 32, 4A, 30, 0F, 01, 1F,
    A0, 0D, 06, 34, 2D, 24, 77, 0C, 00,
    A0, 0D, 06, 34, 44, 21, 00, 02, 00,
    A0, 0D, 06, 35, 44, 21, 00, 02, 00
}
# *** ALM(NO BOOSTER) FW VERSION = 08.01.18 ***
NXP_RF_CONF_BLK_2={
    20, 02, F4, 1F,
    A0, 0D, 06, 38, 4A, 53, 07, 01, 1B,
    A0, 0D, 06, 38, 42, 68, 10, FF, FF,
    A0, 0D, 03, 38, 16, 00,
    A0, 0D, 03, 38, 15, 00,
    A0, 0D, 06, 3A, 2D, 15, 47, 0D, 00,
    A0, 0D, 06, 3C, 4A, 52, 07, 01, 1B,
    A0, 0D, 06, 3C, 42, 68, 10, FF, FF,
    A0, 0D, 03, 3C, 16, 00,
    A0, 0D, 03, 3C, 15, 00,
    A0, 0D, 06, 3E, 2D, 15, 47, 0D, 00,
    A0, 0D, 06, 40, 42, F0, 10, FF, FF,
    A0, 0D, 03, 40, 0D, 02,
    A0, 0D, 03, 40, 14, 02,
    A0, 0D, 06, 40, 4A, 12, 07, 00, 00,
    A0, 0D, 03, 40, 16, 00,
    A0, 0D, 03, 40, 15, 00,
    A0, 0D, 06, 42, 2D, 15, 47, 0D, 00,
    A0, 0D, 06, 46, 44, 21, 00, 02, 00,
    A0, 0D, 06, 46, 2D, 05, 47, 0E, 00,
    A0, 0D, 06, 44, 4A, 33, 07, 01, 07,
    A0, 0D, 06, 44, 42, 88, 10, FF, FF,
    A0, 0D, 03, 44, 16, 00,
    A0, 0D, 03, 44, 15, 00,
    A0, 0D, 06, 4A, 44, 22, 00, 02, 00,
    A0, 0D, 06, 4A, 2D, 05, 37, 0C, 00,
    A0, 0D, 06, 48, 4A, 33, 07, 01, 07,
    A0, 0D, 06, 48, 42, 88, 10, FF, FF,
    A0, 0D, 03, 48, 16, 00,
    A0, 0D, 03, 48, 15, 00,
    A0, 0D, 06, 4E, 44, 22, 00, 02, 00,
    A0, 0D, 06, 4E, 2D, 05, 37, 0C, 00
}
# *** ALM(NO BOOSTER) FW VERSION = 08.01.18 ***
NXP_RF_CONF_BLK_3={
    20, 02, F7, 1E,
    A0, 0D, 06, 4C, 4A, 33, 07, 01, 07,
    A0, 0D, 06, 4C, 42, 88, 10, FF, FF,
    A0, 0D, 03, 4C, 16, 00,
    A0, 0D, 03, 4C, 15, 00,
    A0, 0D, 06, 52, 44, 22, 00, 02, 00,
    A0, 0D, 06, 52, 2D, 05, 25, 0C, 00,
    A0, 0D, 06, 50, 42, 90, 10, FF, FF,
    A0, 0D, 06, 50, 4A, 11, 0F, 01, 07,
    A0, 0D, 03, 50, 16, 00,
    A0, 0D, 03, 50, 15, 00,
    A0, 0D, 06, 56, 2D, 05, 9E, 0C, 00,
    A0, 0D, 06, 56, 44, 22, 00, 02, 00,
    A0, 0D, 06, 5C, 2D, 05, 69, 0C, 00,
    A0, 0D, 06, 5C, 44, 21, 00, 02, 00,
    A0, 0D, 06, 54, 42, 88, 10, FF, FF,
    A0, 0D, 06, 54, 4A, 33, 07, 01, 07,
    A0, 0D, 03, 54, 16, 00,
    A0, 0D, 03, 54, 15, 00,
    A0, 0D, 06, 5A, 42, 90, 10, FF, FF,
    A0, 0D, 06, 5A, 4A, 31, 07, 01, 07,
    A0, 0D, 03, 5A, 16, 00,
    A0, 0D, 03, 5A, 15, 00,
    A0, 0D, 06, 98, 2F, AF, 05, 80, 0F,
    A0, 0D, 06, 9A, 42, 00, 00, FF, FF,
    A0, 0D, 06, 30, 44, A3, 90, 03, 00,
    A0, 0D, 06, 6C, 44, A3, 90, 03, 00,
    A0, 0D, 06, 6C, 30, CF, 00, 08, 00,
    A0, 0D, 06, 6C, 2F, 8F, 05, 80, 0C,
    A0, 0D, 06, 70, 2F, 8F, 05, 80, 12,
    A0, 0D, 06, 70, 30, CF, 00, 08, 00
}
# *** ALM(NO BOOSTER) FW VERSION = 08.01.18 ***
NXP_RF_CONF_BLK_4={
    20, 02, F7, 1E,
    A0, 0D, 06, 74, 2F, 8F, 05, 80, 12,
    A0, 0D, 06, 74, 30, DF, 00, 07, 00,
    A0, 0D, 06, 78, 2F, 1F, 06, 80, 01,
    A0, 0D, 06, 78, 30, 3F, 00, 04, 00,
    A0, 0D, 06, 78, 44, A2, 90, 03, 00,
    A0, 0D, 03, 78, 47, 00,
    A0, 0D, 06, 7C, 2F, AF, 05, 80, 0F,
    A0, 0D, 06, 7C, 30, CF, 00, 07, 00,
    A0, 0D, 06, 7C, 44, A3, 90, 03, 00,
    A0, 0D, 06, 7D, 30, CF, 00, 08, 00,
    A0, 0D, 06, 80, 2F, AF, 05, 80, 90,
    A0, 0D, 06, 80, 44, A3, 90, 03, 00,
    A0, 0D, 06, 84, 2F, AF, 05, 80, 92,
    A0, 0D, 06, 84, 44, A3, 90, 03, 00,
    A0, 0D, 06, 88, 2F, 7F, 04, 80, 10,
    A0, 0D, 06, 88, 30, 5F, 00, 16, 00,
    A0, 0D, 03, 88, 47, 00,
    A0, 0D, 06, 88, 44, A1, 90, 03, 00,
    A0, 0D, 03, 0C, 48, 1A,
    A0, 0D, 03, 10, 43, 20,
    A0, 0D, 06, 6A, 42, F8, 10, FF, FF,
    A0, 0D, 03, 6A, 16, 00,
    A0, 0D, 03, 6A, 15, 01,
    A0, 0D, 06, 6A, 4A, 30, 0F, 01, 1F,
    A0, 0D, 06, 8C, 42, 88, 10, FF, FF,
    A0, 0D, 06, 8C, 4A, 33, 07, 01, 07,
    A0, 0D, 03, 8C, 16, 00,
    A0, 0D, 03, 8C, 15, 00,
    A0, 0D, 06, 92, 42, 90, 10, FF, FF,
    A0, 0D, 06, 92, 4A, 31, 07, 01, 07
}

###############################################################################
# Core configuration extensions
# It includes
# A002      - Clock Request
#             0x00 - Disabled
#             0x01 - Enabled
# A003      - Clock Selection
#             Please refer to User Manual
# A004      - Clock Time Out
#             Defined in ms
# A00E      - Load Modulation Mode
#             0x00 - PLM
#             0x01 - ALM
# A011      - Clock specific configuration
#             Please refer to User Manual
# A012      - NFCEE interface 2 configuration
#             0x00 - SWP 2 interface is used
#             0x02 - DWP interface is used
# A013      - TVdd configuration
#             0x00 - TVdd is set to 3.1V in Poll mode
#             0x02 - TVdd is set to 2.7V in Poll mode
# A040-A043 - Low Power Card Detector
#             Please refer to Application Note of LPCD
# A05E      - Jewel Reader
#             0x00 - RID is not sent during activation
#             0x01 - RID is sent during activation
# A061      - Retry after LPCD
#             0b0000XXXX - Number of retry if activation failed
#             0bXXXX0000 - Duration to wait before retry (10ms per step)
#             Please refer to User Manual
# A0CD      - SWP interface 1: S1 line behavior
#             Defined S1 High time-out during Activation sequence
# A0EC      - SWP1 interface
#             0x00 - Disabled
#             0x01 - Enabled
# A0ED      - SWP2 interface
#             0x00 - Disabled
#             0x01 - Enabled
NXP_CORE_CONF_EXTN={20, 02, 52, 13,
        A0, 02, 01, 01,
        A0, 03, 01, 11,
        A0, 04, 01, 0A,
        A0, 07, 01, 03,
        A0, 09, 02, E8, 03,
        A0, 0E, 01, 01,
        A0, 11, 04, CD, 67, 22, 01,
        A0, 12, 01, 02,
        A0, 13, 01, 00,
        A0, 40, 01, 01,
        A0, 41, 01, 02,
        A0, 42, 01, 19,
        A0, 43, 01, 00,
        A0, 47, 02, BA, 27,
        A0, 5E, 01, 01,
        A0, 61, 01, 00,
        A0, CD, 01, 0F,
        A0, EC, 01, 01,
        A0, ED, 01, 01
        }

###############################################################################
# Core configuration settings
# It includes
# 18        - Poll Mode NFC-F:   PF_BIT_RATE
# 21        - Poll Mode ISO-DEP: PI_BIT_RATE
# 28        - Poll Mode NFC-DEP: PN_NFC_DEP_SPEED
# 30        - Lis. Mode NFC-A:   LA_BIT_FRAME_SDD
# 31        - Lis. Mode NFC-A:   LA_PLATFORM_CONFIG
# 33        - Lis. Mode NFC-A:   LA_SEL_INFO
# 50        - Lis. Mode NFC-F:   LF_PROTOCOL_TYPE
# 54        - Lis. Mode NFC-F:   LF_CON_BITR_F
# 5B        - Lis. Mode ISO-DEP: LI_BIT_RATE
# 60        - Lis. Mode NFC-DEP: LN_WT
# 80        - Other Param.:      RF_FIELD_INFO
# 81        - Other Param.:      RF_NFCEE_ACTION
# 82        - Other Param.:      NFCDEP_OP
NXP_CORE_CONF={ 20, 02, 2B, 0D,
        18, 01, 01,
        21, 01, 00,
        28, 01, 00,
        30, 01, 08,
        31, 01, 03,
        33, 04, 01, 02, 03, 04,
        50, 01, 02,
        54, 01, 06,
        5B, 01, 02,
        60, 01, 0E,
        80, 01, 01,
        81, 01, 01,
        82, 01, 0E
        }

###############################################################################
# Mifare Classic Key settings
#NXP_CORE_MFCKEY_SETTING={20, 02, 25,04, A0, 51, 06, A0, A1, A2, A3, A4, A5,
#                                     A0, 52, 06, D3, F7, D3, F7, D3, F7,
#                                     A0, 53, 06, FF, FF, FF, FF, FF, FF,
#                                     A0, 54, 06, 00, 00, 00, 00, 00, 00}

###############################################################################
# Default SE Options
# No secure element 0x00
# eSE               0x01
# UICC              0x02
# MULTI_SE          0x03
NXP_DEFAULT_SE=0x01

###############################################################################
NXP_DEFAULT_NFCEE_TIMEOUT=0x06

###############################################################################
#Enable SWP full power mode when phone is power off
NXP_SWP_FULL_PWR_ON=0x00

###############################################################################
#Chip type
#PN547C2            0x01
#PN65T              0x02
NXP_NFC_CHIP=0x02

###############################################################################
#SWP Reader feature
#Timeout in seconds
NXP_SWP_RD_START_TIMEOUT=0x0A
#Timeout in seconds
NXP_SWP_RD_TAG_OP_TIMEOUT=0x01



================================================
FILE: extract-files.sh
================================================
#!/bin/bash
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#


# If we're being sourced by the common script that we called,
# stop right here. No need to go down the rabbit hole.
if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
    return
fi

set -e

export DEVICE=bacon
export DEVICE_COMMON=msm8974-common
export VENDOR_DEVICE=oneplus
export VENDOR_COMMON=oppo

"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/extract-files.sh" "$@"


================================================
FILE: init/Android.bp
================================================
//
// Copyright (C) 2020 The LineageOS Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

cc_library_static {
    name: "libinit_bacon",
    recovery_available: true,
    srcs: ["init_bacon.cpp"],
    include_dirs: [
        "device/oppo/msm8974-common/init",
        "system/core/base/include",
        "system/core/init",
    ]
}


================================================
FILE: init/init_bacon.cpp
================================================
/*
   Copyright (c) 2016, The CyanogenMod Project
                 2020, The LineageOS Project

   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions are
   met:
    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the following
      disclaimer in the documentation and/or other materials provided
      with the distribution.
    * Neither the name of The Linux Foundation nor the names of its
      contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

   THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
   ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
   BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
   BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
   OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
   IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include <android-base/file.h>
#include <android-base/strings.h>

#include "DeviceLibinit.h"
#include "init_msm8974.h"
#include "vendor_init.h"

using android::base::ReadFileToString;
using android::base::Split;

void import_kernel_cmdline(const std::function<void(const std::string&, const std::string&)>& fn) {
    std::string cmdline;
    android::base::ReadFileToString("/proc/cmdline", &cmdline);

    for (const auto& entry : android::base::Split(android::base::Trim(cmdline), " ")) {
        std::vector<std::string> pieces = android::base::Split(entry, "=");
        if (pieces.size() == 2) {
            fn(pieces[0], pieces[1]);
        }
    }
}

static void import_kernel_nv(const std::string& key, const std::string& value)
{
    if (key.empty()) return;

    if (key == "oppo.rf_version") {
        property_override("ro.oppo.rf_version", value.c_str());
    } else if (key == "oppo.pcb_version") {
        property_override("ro.oppo.pcb_version", value.c_str());
    }
}

static void vendor_set_sku(const std::string& key, const std::string& value)
{
    if (key.empty()) return;

    if (key == "mdss_mdp.panel" && value == "1:dsi:0:qcom,mdss_dsi_jdi_1080p_cmd") {
        property_override("ro.boot.hardware.sku", "jdi");
    } else if (key == "mdss_mdp.panel" && value == "1:dsi:0:qcom,mdss_dsi_sharp_1080p_cmd") {
        property_override("ro.boot.hardware.sku", "sharp");
    } else if (key == "mdss_mdp.panel" && value == "1:dsi:0:qcom,mdss_dsi_truly_1080p_cmd") {
        property_override("ro.boot.hardware.sku", "truly");
    }
}

void vendor_load_device_properties()
{
    import_kernel_cmdline(import_kernel_nv);
    import_kernel_cmdline(vendor_set_sku);
}


================================================
FILE: lineage.dependencies
================================================
[
  {
    "repository": "android_device_oppo_msm8974-common",
    "target_path": "device/oppo/msm8974-common"
  },
  {
    "repository": "android_kernel_oppo_msm8974",
    "target_path": "kernel/oppo/msm8974"
  }
]


================================================
FILE: lineage_bacon.mk
================================================
#
# Copyright (C) 2015-2016 The CyanogenMod Project
#               2017-2018 The LineageOS Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Inherit framework first
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)

# Inherit from bacon device
$(call inherit-product, device/oneplus/bacon/bacon.mk)

# Inherit some common Lineage stuff.
$(call inherit-product, vendor/lineage/config/common_mini_phone.mk)

PRODUCT_NAME := lineage_bacon
PRODUCT_DEVICE := bacon
PRODUCT_BRAND := oneplus
PRODUCT_MANUFACTURER := OnePlus
PRODUCT_MODEL := A0001

PRODUCT_GMS_CLIENTID_BASE := android-oneplus

PRODUCT_BUILD_PROP_OVERRIDES += \
    PRIVATE_BUILD_DESC="bacon-user 5.0.2 LRX22G YNG1TAS0YL release-keys" \
    PRODUCT_NAME=bacon

BUILD_FINGERPRINT := oneplus/bacon/A0001:5.0.2/LRX22G/YNG1TAS0YL:user/release-keys


================================================
FILE: odm_manifest_jdi.xml
================================================
<manifest version="1.0" type="device">
   <hal format="hidl">
        <name>vendor.lineage.livedisplay</name>
        <transport>hwbinder</transport>
        <version>2.0</version>
        <interface>
            <name>IAdaptiveBacklight</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IAutoContrast</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IColorEnhancement</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IDisplayColorCalibration</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>ISunlightEnhancement</name>
            <instance>default</instance>
        </interface>
    </hal>
</manifest>


================================================
FILE: odm_manifest_sharp.xml
================================================
<manifest version="1.0" type="device">
   <hal format="hidl">
        <name>vendor.lineage.livedisplay</name>
        <transport>hwbinder</transport>
        <version>2.0</version>
        <interface>
            <name>IAdaptiveBacklight</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IAutoContrast</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IDisplayColorCalibration</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>ISunlightEnhancement</name>
            <instance>default</instance>
        </interface>
    </hal>
</manifest>


================================================
FILE: odm_manifest_truly.xml
================================================
<manifest version="1.0" type="device">
   <hal format="hidl">
        <name>vendor.lineage.livedisplay</name>
        <transport>hwbinder</transport>
        <version>2.0</version>
        <interface>
            <name>IAdaptiveBacklight</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IAutoContrast</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IColorEnhancement</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>IDisplayColorCalibration</name>
            <instance>default</instance>
        </interface>
        <interface>
            <name>ISunlightEnhancement</name>
            <instance>default</instance>
        </interface>
    </hal>
</manifest>


================================================
FILE: overlay/frameworks/base/core/res/res/values/config.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2013, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

    <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
         The N entries of this array define N  1 zones as follows:

         Zone 0:        0 <= LUX < array[0]
         Zone 1:        array[0] <= LUX < array[1]
         ...
         Zone N:        array[N - 1] <= LUX < array[N]
         Zone N + 1     array[N] <= LUX < infinity

         Must be overridden in platform specific overlays -->
    <integer-array name="config_autoBrightnessLevels">
        <item>2</item>
        <item>7</item>
        <item>15</item>
        <item>50</item>
        <item>100</item>
        <item>200</item>
        <item>400</item>
        <item>1000</item>
        <item>2000</item>
        <item>3000</item>
        <item>5000</item>
        <item>10000</item>
        <item>30000</item>
    </integer-array>

    <!-- Array of output values for LCD backlight corresponding to the LUX values
         in the config_autoBrightnessLevels array.  This array should have size one greater
         than the size of the config_autoBrightnessLevels array.
         This must be overridden in platform specific overlays -->
    <integer-array name="config_autoBrightnessLcdBacklightValues">
        <item>13</item>   <!-- 0-2 -->
        <item>25</item>   <!-- 3-7 -->
        <item>32</item>   <!-- 5-15 -->
        <item>41</item>   <!-- 15-50 -->
        <item>52</item>   <!-- 50-100 -->
        <item>62</item>   <!-- 100-200 -->
        <item>69</item>   <!-- 200-400 -->
        <item>78</item>   <!-- 400-1000 -->
        <item>88</item>   <!-- 1000-2000 -->
        <item>134</item>  <!-- 2000-3000 -->
        <item>178</item>  <!-- 3000-5000 -->
        <item>225</item>  <!-- 5000-10000 -->
        <item>255</item>  <!-- 10000-30000 -->
        <item>255</item>  <!-- 30000+ -->
    </integer-array>

    <!-- Minimum screen brightness setting allowed by the power manager.
         The user is forbidden from setting the brightness below this level. -->
    <integer name="config_screenBrightnessSettingMinimum">2</integer>

    <!-- Default color for notification LED is white. -->
    <color name="config_defaultNotificationColor">#ffffffff</color>

    <!-- Base "touch slop" value used by ViewConfiguration as a
         movement threshold where scrolling should begin. -->
    <dimen name="config_viewConfigurationTouchSlop">4dp</dimen>

    <!-- Vibrator pattern for feedback about a long screen/key press -->
    <integer-array name="config_longPressVibePattern">
        <item>0</item>
        <item>25</item>
        <item>10</item>
    </integer-array>

    <!-- Vibrator pattern for feedback about touching a virtual key -->
    <integer-array name="config_virtualKeyVibePattern">
        <item>0</item>
        <item>25</item>
        <item>8</item>
    </integer-array>

    <!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
    <integer-array name="config_keyboardTapVibePattern">
        <item>25</item>
    </integer-array>

    <!-- ComponentName of a dream to show whenever the system would otherwise have
         gone to sleep.  When the PowerManager is asked to go to sleep, it will instead
         try to start this dream if possible.  The dream should typically call startDozing()
         to put the display into a low power state and allow the application processor
         to be suspended.  When the dream ends, the system will go to sleep as usual.
         Specify the component name or an empty string if none.
         Note that doze dreams are not subject to the same start conditions as ordinary dreams.
         Doze dreams will run whenever the power manager is in a dozing state. -->
    <string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>

    <!-- Screen brightness used to dim the screen while dozing in a very low power state.
         May be less than the minimum allowed brightness setting
         that can be set by the user. -->
    <integer name="config_screenBrightnessDoze">17</integer>

    <!-- If true, the doze component is not started until after the screen has been
         turned off and the screen off animation has been performed. -->
    <bool name="config_dozeAfterScreenOffByDefault">true</bool>

    <!-- Power Management: Specifies whether to decouple the interactive state of the
         device from the display on/off state.
         When false, setInteractive(..., true) will be called before the display is turned on
         and setInteractive(..., false) will be called after the display is turned off.
         This mode provides best compatibility for devices that expect the interactive
         state to be tied to the display state.
         When true, setInteractive(...) will be called independently of whether the display
         is being turned on or off.  This mode enables the power manager to reduce
         clocks and disable the touch controller while the display is on.
         This resource should be set to "true" when a doze component has been specified
         to maximize power savings but not all devices support it.
         Refer to power.h for details.
    -->
    <bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>

</resources>


================================================
FILE: overlay/frameworks/base/core/res/res/xml/power_profile.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!--
**
** Copyright 2009, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License")
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->

<device name="Android">
  <!-- All values are in mAh except as noted -->
  <item name="none">0</item>
    <item name="screen.on">71.55</item>
    <item name="screen.full">211.6</item>
    <item name="bluetooth.active">59.22</item>
    <item name="bluetooth.on">0.7</item>
    <item name="wifi.on">3.30</item>
    <item name="wifi.active">62.09</item>
    <item name="wifi.scan">52.1</item>
    <item name="dsp.audio">0.1</item>
    <item name="dsp.video">0.1</item>
    <item name="gps.on">20.9</item>
  <!-- The current consumed by the radio when it is scanning for a signal -->
    <item name="radio.active">185.6</item>
    <item name="radio.scanning">122.68</item>
  <!-- Current consumed by the radio at different signal strengths, when paging -->
  <array name="radio.on"> <!-- Strength 0 to BINS-1 -->
        <value>1.16</value>
        <value>2.15</value>
  </array>
  <!-- Different CPU speeds as reported in
       /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state -->
  <array name="cpu.speeds">
        <value>384000</value>
        <value>486000</value>
        <value>594000</value>
        <value>702000</value>
        <value>810000</value>
        <value>918000</value>
        <value>1026000</value>
        <value>1134000</value>
        <value>1242000</value>
        <value>1350000</value>
        <value>1458000</value>
        <value>1512000</value>
  </array>
  <!-- Power consumption when CPU is idle -->
    <item name="cpu.idle">3.5</item>
    <item name="cpu.awake">10.43</item>
  <!-- Power consumption at different speeds -->
  <array name="cpu.active">
        <value>92.6</value>
        <value>108.6</value>
        <value>118.8</value>
        <value>121.4</value>
        <value>127.3</value>
        <value>133.1</value>
        <value>173.3</value>
        <value>209.5</value>
        <value>216.5</value>
        <value>228.5</value>
        <value>236.0</value>
        <value>239.7</value>
  </array>
  <!-- This is the battery capacity in mAh -->
    <item name="battery.capacity">3100</item>
</device>


================================================
FILE: overlay/frameworks/base/packages/SystemUI/res/values/config.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2013, The Android Open Source Project
** Copyright 2014, The CyanogenMod Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->

<!-- These resources are around just to allow their values to be customized
     for different hardware and product builds. -->
<resources>

    <!-- Doze: does this device support STATE_DOZE and STATE_DOZE_SUSPEND?  -->
    <bool name="doze_display_state_supported">true</bool>
    <bool name="doze_pulse_on_pick_up">true</bool>
</resources>


================================================
FILE: overlay/packages/apps/Settings/res/values/config.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- SAR Level for a device -->
    <!-- Must be overlaid by device -->
    <bool name="config_show_sar_enable" translatable="false">true</bool>
    <!-- Maximum Specific Absorption Rate for head -->
    <string name="sar_head_level" translatable="false">0.270</string>
    <!-- Maximum Specific Absorption Rate for body -->
    <string name="sar_body_level" translatable="false">0.540</string>

    <!-- IC Code for a device -->
    <!-- Must be overlaid by device -->
    <bool name="config_show_ic_enable" translatable="false">true</bool>
    <!-- IC Code -->
    <string name="ic_model" translatable="false">ONE A0001</string>
    <string name="ic_code" translatable="false">12739A-A0001</string>

    <!-- Regulatory Info -->
    <!-- Whether to show a preference item for regulatory information in About phone -->
    <bool name="config_show_regulatory_info">true</bool>
</resources>


================================================
FILE: overlay/packages/services/Telephony/res/values/config.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2014 The CyanogenMod Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<resources>
    <bool name="allow_emergency_numbers_in_call_log">true</bool>

</resources>


================================================
FILE: overlay/packages/services/Telephony/res/values/network_mode.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2007 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- Mobile network settings, network mode choices for a device supporting CDMA and LTE [CHAR LIMIT=25] -->
    <string-array name="preferred_network_mode_choices_cm">
        <item>LTE/CDMA/EvDo/GSM/WCDMA</item>
        <item>LTE/GSM/WCDMA</item>
        <item>LTE/CDMA/EvDo</item>
        <item>CDMA/EvDo auto</item>
        <item>GSM/WCDMA auto</item>
        <item>WCDMA only</item>
        <item>GSM only</item>
        <item>GSM/WCDMA preferred</item>
    </string-array>
    <string-array name="preferred_network_mode_choices">
        <item>LTE/CDMA/EvDo/GSM/WCDMA</item>
        <item>LTE/GSM/WCDMA</item>
        <item>LTE/CDMA/EvDo</item>
        <item>CDMA/EvDo auto</item>
        <item>GSM/WCDMA auto</item>
        <item>WCDMA only</item>
        <item>GSM only</item>
        <item>GSM/WCDMA preferred</item>
    </string-array>
    <string-array name="preferred_network_mode_values" translatable="false">
        <item>"10"</item>
        <item>"9"</item>
        <item>"8"</item>
        <item>"4"</item>
        <item>"3"</item>
        <item>"2"</item>
        <item>"1"</item>
        <item>"0"</item>
    </string-array>
</resources>


================================================
FILE: overlay/packages/services/Telephony/res/values-mcc460/config.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2014 The CyanogenMod Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<resources>
    <bool name="config_enabled_tdscdma" translatable="false">true</bool>
</resources>


================================================
FILE: overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2015-2016 The CyanogenMod Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<resources>
    <!-- All the capabilities of the LEDs on this device, stored as a bit field.
         This integer should equal the sum of the corresponding value for each
         of the following capabilities present:

         LIGHTS_RGB_NOTIFICATION_LED = 1
         LIGHTS_RGB_BATTERY_LED = 2
         LIGHTS_MULTIPLE_NOTIFICATION_LED = 4 (deprecated)
         LIGHTS_PULSATING_LED = 8
         LIGHTS_SEGMENTED_BATTERY_LED = 16
         LIGHTS_ADJUSTABLE_NOTIFICATION_LED_BRIGHTNESS = 32
         LIGHTS_BATTERY_LED = 64

         For example, a device with notification and battery lights
         that support pulsating and RGB control would set this config
         to 75. -->
    <integer name="config_deviceLightCapabilities">107</integer>
</resources>


================================================
FILE: proprietary-files.txt
================================================
# Camera
bin/mm-qcamera-daemon:vendor/bin/mm-qcamera-daemon
vendor/lib/libjpegdhw.so
vendor/lib/libjpegehw.so
vendor/lib/libmmcamera2_c2d_module.so
vendor/lib/libmmcamera2_cpp_module.so
vendor/lib/libmmcamera2_frame_algorithm.so
vendor/lib/libmmcamera2_iface_modules.so
vendor/lib/libmmcamera2_imglib_modules.so
vendor/lib/libmmcamera2_is.so
vendor/lib/libmmcamera2_isp_modules.so
vendor/lib/libmmcamera2_pproc_modules.so
vendor/lib/libmmcamera2_q3a_special.so
vendor/lib/libmmcamera2_sensor_modules.so
vendor/lib/libmmcamera2_stats_algorithm.so
vendor/lib/libmmcamera2_stats_modules.so
vendor/lib/libmmcamera2_vpe_module.so
vendor/lib/libmmcamera2_wnr_module.so
vendor/lib/libmmcamera_faceproc.so
vendor/lib/libmmcamera_hdr_gb_lib.so
vendor/lib/libmmcamera_hdr_lib.so
vendor/lib/libmmcamera_imglib.so
vendor/lib/libmmcamera_imx214.so
vendor/lib/libmmcamera_ov5648.so
vendor/lib/libmmcamera_sony_imx214_eeprom.so
vendor/lib/libmmcamera_tintless_algo.so
vendor/lib/libmmcamera_tintless_bg_pca_algo.so
vendor/lib/libmmcamera_wavelet_lib.so
vendor/lib/libmmipl.so
vendor/lib/libmmjpeg.so
vendor/lib/libmmqjpeg_codec.so
vendor/lib/liboemcamera.so
vendor/lib/libqomx_jpegdec.so
vendor/lib/libqomx_jpegenc.so

# Camera Actuator
vendor/lib/libactuator_dw9714.so
vendor/lib/libactuator_dw9714_camera.so
vendor/lib/libactuator_dw9714_camcorder.so

# Camera Chromatix
vendor/lib/libchromatix_imx214_common.so
vendor/lib/libchromatix_imx214_default_video.so
vendor/lib/libchromatix_imx214_hfr_120.so
vendor/lib/libchromatix_imx214_hfr_60.so
vendor/lib/libchromatix_imx214_liveshot.so
vendor/lib/libchromatix_imx214_preview.so
vendor/lib/libchromatix_imx214_preview_binning.so
vendor/lib/libchromatix_imx214_snapshot.so
vendor/lib/libchromatix_imx214_snapshot_hdr.so
vendor/lib/libchromatix_imx214_video_binning.so
vendor/lib/libchromatix_imx214_video_cmcc.so
vendor/lib/libchromatix_imx214_video_hdr.so
vendor/lib/libchromatix_ov5648_common.so
vendor/lib/libchromatix_ov5648_default_video.so
vendor/lib/libchromatix_ov5648_preview.so
vendor/lib/libchromatix_ov5648_preview_fb.so
vendor/lib/libchromatix_ov5648_video_cmcc.so
vendor/lib/libchromatix_ov5648_zsl.so
vendor/lib/libchromatix_ov5648_zsl_fb.so

# Camera Firmware
etc/firmware/cpp_firmware_v1_2_0.fw:vendor/firmware/cpp_firmware_v1_2_0.fw

# NFC
vendor/firmware/libpn547_fw.so
vendor/lib/hw/nfc_nci.bacon.so
vendor/lib/hw/android.hardware.nfc@1.0-impl.so|8f69fedc7191d559793f47dc1915192c870fb797

# Sensors
etc/sensor_def_qcomdev.conf
vendor/lib/libAKM8963.so


================================================
FILE: rootdir/Android.mk
================================================
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

# Device init files

include $(CLEAR_VARS)
LOCAL_MODULE       := fstab.bacon
LOCAL_MODULE_TAGS  := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES    := etc/fstab.bacon
LOCAL_MODULE_PATH  := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT)

include $(CLEAR_VARS)
LOCAL_MODULE       := init.bacon.rc
LOCAL_MODULE_TAGS  := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES    := etc/init.bacon.rc
LOCAL_MODULE_PATH  := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)

include $(CLEAR_VARS)
LOCAL_MODULE       := init.qcom.usb.rc
LOCAL_MODULE_TAGS  := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES    := etc/init.qcom.usb.rc
LOCAL_MODULE_PATH  := $(TARGET_OUT_VENDOR_ETC)/init/hw
include $(BUILD_PREBUILT)


================================================
FILE: rootdir/etc/fstab.bacon
================================================
# Android fstab file.
#<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

/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
/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
/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
/dev/block/platform/msm_sdcc.1/by-name/cache        /cache          f2fs    noatime,nosuid,nodev,rw,inline_xattr                            wait,check,formattable
/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
/dev/block/platform/msm_sdcc.1/by-name/boot         /boot           emmc    defaults                                                        defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery     /recovery       emmc    defaults                                                        defaults
/dev/block/platform/msm_sdcc.1/by-name/misc         /misc           emmc    defaults                                                        defaults
/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

/devices/platform/xhci-hcd*                         auto            auto    defaults                                                        voldmanaged=usb:auto


================================================
FILE: rootdir/etc/fstab.recovery
================================================
# Android fstab file.
#<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

/dev/block/platform/msm_sdcc.1/by-name/system       /system         ext4    ro,barrier=1                                                    wait
/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
/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
/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
/dev/block/platform/msm_sdcc.1/by-name/cache        /cache          f2fs    noatime,nosuid,nodev,rw,inline_xattr                            wait,check,formattable
/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
/dev/block/platform/msm_sdcc.1/by-name/boot         /boot           emmc    defaults                                                        defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery     /recovery       emmc    defaults                                                        defaults
/dev/block/platform/msm_sdcc.1/by-name/misc         /misc           emmc    defaults                                                        defaults
/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

/devices/platform/xhci-hcd*                         auto            auto    defaults                                                        voldmanaged=usb:auto


================================================
FILE: rootdir/etc/init.bacon.rc
================================================
#
# Copyright 2016 The CyanogenMod Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

import /vendor/etc/init/hw/init.qcom-common.rc

on init
    # Property used by vintf for sku specific manifests
    setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku}

on fs
    mount_all /vendor/etc/fstab.bacon --early

    # Start HW service manager early
    start hwservicemanager

on late-fs
    # Start services for Boot Animation
    start hwservicemanager
    start servicemanager
    start surfaceflinger
    start bootanim

    start configstore-hal-1-0
    start gralloc-2-0

    # Mount RW partitions which need run fsck
    mount_all /vendor/etc/fstab.bacon --late

on post-fs-data
    # Torch
    chown system camera /sys/class/leds/torch-light/brightness
    chmod 0660 /sys/class/leds/torch-light/brightness


================================================
FILE: rootdir/etc/init.qcom.usb.rc
================================================
# Copyright (c) 2011-2012, Code Aurora Forum. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#     * Neither the name of Code Aurora nor
#       the names of its contributors may be used to endorse or promote
#       products derived from this software without specific prior written
#       permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

on boot
    write /sys/class/android_usb/android0/iSerial ${ro.serialno}
    write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
    write /sys/class/android_usb/android0/iProduct ${ro.product.model}
    write /sys/class/android_usb/android0/f_rndis/manufacturer ${ro.product.manufacturer}
    write /sys/class/android_usb/android0/f_rndis/vendorID 22D9
    write /sys/class/android_usb/android0/f_rndis/wceis 1

on property:sys.usb.config=mtp
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6764
    write /sys/class/android_usb/android0/functions mtp
    write /sys/class/android_usb/android0/enable 1
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=mtp,adb
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6765
    write /sys/class/android_usb/android0/functions mtp,adb
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=rndis,adb
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6766
    write /sys/class/android_usb/android0/functions rndis,adb
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=mass_storage,adb
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6767
    write /sys/class/android_usb/android0/functions adb,mass_storage
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=mass_storage
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6768
    write /sys/class/android_usb/android0/functions mass_storage
    write /sys/class/android_usb/android0/enable 1
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=adb
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6769
    write /sys/class/android_usb/android0/functions adb
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=rndis
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 676A
    write /sys/class/android_usb/android0/functions rndis
    write /sys/class/android_usb/android0/enable 1
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=diag,adb
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/iSerial 0123456789ABCDEF
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 676C
    write /sys/class/android_usb/android0/f_diag/clients diag
    write /sys/class/android_usb/android0/f_serial/transports tty
    write /sys/class/android_usb/android0/functions diag,adb
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=diag_mdm,adb
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/iSerial 0123456789ABCDEF
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 676D
    write /sys/class/android_usb/android0/f_diag/clients diag_mdm
    write /sys/class/android_usb/android0/f_serial/transports hsic
    write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
    write /sys/class/android_usb/android0/functions diag,adb
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/iSerial 0123456789ABCDEF
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 676F
    write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm
    write /sys/class/android_usb/android0/f_serial/transports hsic,tty
    write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic
    write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic
    write /sys/class/android_usb/android0/f_rmnet/transport_names rmnet_hsic
    write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

#added some configs for support ptp and cdrom by Xinhua.Song 2014-05-10    
on property:sys.usb.config=ptp
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6771
    write /sys/class/android_usb/android0/functions ptp
    write /sys/class/android_usb/android0/enable 1
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=ptp,adb
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6772
    write /sys/class/android_usb/android0/functions ptp,adb
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=mtp,mass_storage
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6773
    write /sys/class/android_usb/android0/functions mtp,mass_storage
    write /sys/class/android_usb/android0/enable 1
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=mtp,mass_storage,adb
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6774
    write /sys/class/android_usb/android0/functions mtp,mass_storage,adb
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=rndis,diag,adb
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/iSerial 0123456789ABCDEF
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6775
    write /sys/class/android_usb/android0/f_diag/clients diag
    write /sys/class/android_usb/android0/functions rndis,diag,adb
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

# USB midi configuration
on property:sys.usb.config=midi
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6776
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

# USB midi configuration, with adb
on property:sys.usb.config=midi,adb
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 6777
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/iSerial 0123456789ABCDEF
    write /sys/class/android_usb/android0/idVendor 05C6
    write /sys/class/android_usb/android0/idProduct 9025
    write /sys/class/android_usb/android0/f_diag/clients diag
    write /sys/class/android_usb/android0/f_serial/transports smd,tty
    write /sys/class/android_usb/android0/f_rmnet/transports smd,bam
    write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}


================================================
FILE: sepolicy/device.te
================================================
type reserve4_block_device, dev_type;


================================================
FILE: sepolicy/file_contexts
================================================
# Reserve4 filesystem for encryption
/dev/block/platform/msm_sdcc\.1/by-name/reserve4        u:object_r:reserve4_block_device:s0


================================================
FILE: sepolicy/vold.te
================================================
# Encryption
allow vold reserve4_block_device:blk_file rw_file_perms;


================================================
FILE: setup-makefiles.sh
================================================
#!/bin/bash
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#

set -e

export DEVICE=bacon
export DEVICE_COMMON=msm8974-common
export VENDOR_DEVICE=oneplus
export VENDOR_COMMON=oppo

"./../../${VENDOR_COMMON}/${DEVICE_COMMON}/setup-makefiles.sh" "$@"


================================================
FILE: system.prop
================================================
#
# system.prop for one+
#

# CABL
ro.qualcomm.cabl=0

# Radio
rild.libpath=/system/vendor/lib/libril-qc-qmi-1.so
persist.radio.add_power_save=1
persist.radio.apm_sim_not_pwdn=1
ro.ril.ext.ecclist=112,911,999,110,122,119,120,000,08,118

# Sensors
ro.qc.sdk.camera.facialproc=true
ro.qc.sdk.gestures.camera=false
ro.qti.sdk.sensors.gestures=true
ro.qti.sensors.bte=true
ro.qti.sensors.gtap=true
ro.qti.sensors.ir_proximity=true
ro.qti.sensors.vmd=true


================================================
FILE: twrp/recovery/root/etc/twrp.fstab
================================================
/system          ext4     /dev/block/platform/msm_sdcc.1/by-name/system
/system_image    emmc     /dev/block/platform/msm_sdcc.1/by-name/system
/data            ext4     /dev/block/platform/msm_sdcc.1/by-name/userdata   flags=encryptable=/dev/block/platform/msm_sdcc.1/by-name/reserve4
/cache           ext4     /dev/block/platform/msm_sdcc.1/by-name/cache
/persist         ext4     /dev/block/platform/msm_sdcc.1/by-name/persist    flags=backup=1;display="Persist"
/boot            emmc     /dev/block/platform/msm_sdcc.1/by-name/boot
/recovery        emmc     /dev/block/platform/msm_sdcc.1/by-name/recovery   flags=backup=1
/misc            emmc     /dev/block/platform/msm_sdcc.1/by-name/misc
/firmware        vfat     /dev/block/platform/msm_sdcc.1/by-name/modem      flags=mounttodecrypt;fsflags=ro;display="Firmware"

/usb-otg         vfat     /dev/block/sda1        /dev/block/sda             flags=removable;storage;wipeingui;display="USB OTG"


================================================
FILE: twrp/recovery/root/fstab.bacon
================================================
# Android fstab file.
#<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK

/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
/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
Download .txt
gitextract_0wgc5gti/

├── Android.mk
├── AndroidProducts.mk
├── BoardConfig.mk
├── MODULE_LICENSE_APACHE2
├── README.md
├── audio/
│   ├── audio_platform_info.xml
│   ├── audio_policy_configuration.xml
│   └── mixer_paths.xml
├── bacon.mk
├── bluetooth/
│   └── bdroid_buildcfg.h
├── config.fs
├── configs/
│   ├── libnfc-nci.conf
│   └── libnfc-nxp.conf
├── extract-files.sh
├── init/
│   ├── Android.bp
│   └── init_bacon.cpp
├── lineage.dependencies
├── lineage_bacon.mk
├── odm_manifest_jdi.xml
├── odm_manifest_sharp.xml
├── odm_manifest_truly.xml
├── overlay/
│   ├── frameworks/
│   │   └── base/
│   │       ├── core/
│   │       │   └── res/
│   │       │       └── res/
│   │       │           ├── values/
│   │       │           │   └── config.xml
│   │       │           └── xml/
│   │       │               └── power_profile.xml
│   │       └── packages/
│   │           └── SystemUI/
│   │               └── res/
│   │                   └── values/
│   │                       └── config.xml
│   └── packages/
│       ├── apps/
│       │   └── Settings/
│       │       └── res/
│       │           └── values/
│       │               └── config.xml
│       └── services/
│           └── Telephony/
│               └── res/
│                   ├── values/
│                   │   ├── config.xml
│                   │   └── network_mode.xml
│                   └── values-mcc460/
│                       └── config.xml
├── overlay-lineage/
│   └── lineage-sdk/
│       └── lineage/
│           └── res/
│               └── res/
│                   └── values/
│                       └── config.xml
├── proprietary-files.txt
├── rootdir/
│   ├── Android.mk
│   └── etc/
│       ├── fstab.bacon
│       ├── fstab.recovery
│       ├── init.bacon.rc
│       └── init.qcom.usb.rc
├── sepolicy/
│   ├── device.te
│   ├── file_contexts
│   └── vold.te
├── setup-makefiles.sh
├── system.prop
└── twrp/
    └── recovery/
        └── root/
            ├── etc/
            │   └── twrp.fstab
            └── fstab.bacon
Download .txt
SYMBOL INDEX (4 symbols across 1 files)

FILE: init/init_bacon.cpp
  function import_kernel_cmdline (line 41) | void import_kernel_cmdline(const std::function<void(const std::string&, ...
  function import_kernel_nv (line 53) | static void import_kernel_nv(const std::string& key, const std::string& ...
  function vendor_set_sku (line 64) | static void vendor_set_sku(const std::string& key, const std::string& va...
  function vendor_load_device_properties (line 77) | void vendor_load_device_properties()
Condensed preview — 42 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (160K chars).
[
  {
    "path": "Android.mk",
    "chars": 716,
    "preview": "#\n# Copyright (C) 2016 The CyanogenMod Project\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you"
  },
  {
    "path": "AndroidProducts.mk",
    "chars": 734,
    "preview": "#\n# Copyright (C) 2018-2019 The LineageOS Project\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# "
  },
  {
    "path": "BoardConfig.mk",
    "chars": 2532,
    "preview": "#\n# Copyright (C) 2016 The CyanogenMod Project\n# Copyright (C) 2017 The LineageOS Project\n#\n# Licensed under the Apache "
  },
  {
    "path": "MODULE_LICENSE_APACHE2",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "README.md",
    "chars": 1418,
    "preview": "# Device Tree for OnePlus One (bacon)\n\nCopyright 2014-2016, The CyanogenMod Project\nCopyright 2017-2018, The LineageOS P"
  },
  {
    "path": "audio/audio_platform_info.xml",
    "chars": 3573,
    "preview": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<!-- Copyright (c) 2014, The Linux Foundation. All rights reserved.         "
  },
  {
    "path": "audio/audio_policy_configuration.xml",
    "chars": 15167,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<!-- Copyright (c) 2016-2017, The Linux Foundation. All rights r"
  },
  {
    "path": "audio/mixer_paths.xml",
    "chars": 35432,
    "preview": "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n<mixer>\n    <!-- These are the initial mixer settings -->\n    <ctl name=\"Voi"
  },
  {
    "path": "bacon.mk",
    "chars": 3293,
    "preview": "#\n# Copyright (C) 2016 The CyanogenMod Project\n# Copyright (C) 2018 The LineageOS Project\n#\n# Licensed under the Apache "
  },
  {
    "path": "bluetooth/bdroid_buildcfg.h",
    "chars": 803,
    "preview": "/*\n * Copyright (C) 2016 The CyanogenMod Project\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n "
  },
  {
    "path": "config.fs",
    "chars": 132,
    "preview": "[firmware/]\nmode: 0771\nuser: AID_SYSTEM\ngroup: AID_SYSTEM\ncaps: 0\n\n[persist/]\nmode: 0771\nuser: AID_SYSTEM\ngroup: AID_SYS"
  },
  {
    "path": "configs/libnfc-nci.conf",
    "chars": 15578,
    "preview": "## this file is used by Broadcom's Hardware Abstraction Layer at external/libnfc-nci/halimpl/\n\n#########################"
  },
  {
    "path": "configs/libnfc-nxp.conf",
    "chars": 24213,
    "preview": "## This file is used by NFC NXP NCI HAL(external/libnfc-nci/halimpl/pn547) \n## and NFC Service Java Native Interface Ext"
  },
  {
    "path": "extract-files.sh",
    "chars": 512,
    "preview": "#!/bin/bash\n#\n# Copyright (C) 2016 The CyanogenMod Project\n# Copyright (C) 2017-2020 The LineageOS Project\n#\n# SPDX-Lice"
  },
  {
    "path": "init/Android.bp",
    "chars": 847,
    "preview": "//\n// Copyright (C) 2020 The LineageOS Project\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// "
  },
  {
    "path": "init/init_bacon.cpp",
    "chars": 3274,
    "preview": "/*\n   Copyright (c) 2016, The CyanogenMod Project\n                 2020, The LineageOS Project\n\n   Redistribution and us"
  },
  {
    "path": "lineage.dependencies",
    "chars": 215,
    "preview": "[\n  {\n    \"repository\": \"android_device_oppo_msm8974-common\",\n    \"target_path\": \"device/oppo/msm8974-common\"\n  },\n  {\n "
  },
  {
    "path": "lineage_bacon.mk",
    "chars": 1336,
    "preview": "#\n# Copyright (C) 2015-2016 The CyanogenMod Project\n#               2017-2018 The LineageOS Project\n#\n# Licensed under t"
  },
  {
    "path": "odm_manifest_jdi.xml",
    "chars": 836,
    "preview": "<manifest version=\"1.0\" type=\"device\">\n   <hal format=\"hidl\">\n        <name>vendor.lineage.livedisplay</name>\n        <t"
  },
  {
    "path": "odm_manifest_sharp.xml",
    "chars": 711,
    "preview": "<manifest version=\"1.0\" type=\"device\">\n   <hal format=\"hidl\">\n        <name>vendor.lineage.livedisplay</name>\n        <t"
  },
  {
    "path": "odm_manifest_truly.xml",
    "chars": 836,
    "preview": "<manifest version=\"1.0\" type=\"device\">\n   <hal format=\"hidl\">\n        <name>vendor.lineage.livedisplay</name>\n        <t"
  },
  {
    "path": "overlay/frameworks/base/core/res/res/values/config.xml",
    "chars": 6016,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n/*\n** Copyright 2013, The Android Open Source Project\n**\n** Licensed under t"
  },
  {
    "path": "overlay/frameworks/base/core/res/res/xml/power_profile.xml",
    "chars": 2716,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n**\n** Copyright 2009, The Android Open Source Project\n**\n** Licensed under t"
  },
  {
    "path": "overlay/frameworks/base/packages/SystemUI/res/values/config.xml",
    "chars": 1050,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n/*\n** Copyright 2013, The Android Open Source Project\n** Copyright 2014, The"
  },
  {
    "path": "overlay/packages/apps/Settings/res/values/config.xml",
    "chars": 1629,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2007 The Android Open Source Project\n\n     Licensed under the "
  },
  {
    "path": "overlay/packages/services/Telephony/res/values/config.xml",
    "chars": 754,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2014 The CyanogenMod Project\n\n     Licensed under the Apache L"
  },
  {
    "path": "overlay/packages/services/Telephony/res/values/network_mode.xml",
    "chars": 1895,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2007 The Android Open Source Project\n\n     Licensed under the "
  },
  {
    "path": "overlay/packages/services/Telephony/res/values-mcc460/config.xml",
    "chars": 761,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2014 The CyanogenMod Project\n\n     Licensed under the Apache L"
  },
  {
    "path": "overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml",
    "chars": 1436,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n     Copyright (C) 2015-2016 The CyanogenMod Project\n\n     Licensed under th"
  },
  {
    "path": "proprietary-files.txt",
    "chars": 2507,
    "preview": "# Camera\nbin/mm-qcamera-daemon:vendor/bin/mm-qcamera-daemon\nvendor/lib/libjpegdhw.so\nvendor/lib/libjpegehw.so\nvendor/lib"
  },
  {
    "path": "rootdir/Android.mk",
    "chars": 776,
    "preview": "LOCAL_PATH:= $(call my-dir)\ninclude $(CLEAR_VARS)\n\n# Device init files\n\ninclude $(CLEAR_VARS)\nLOCAL_MODULE       := fsta"
  },
  {
    "path": "rootdir/etc/fstab.bacon",
    "chars": 2114,
    "preview": "# Android fstab file.\n#<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_m"
  },
  {
    "path": "rootdir/etc/fstab.recovery",
    "chars": 2239,
    "preview": "# Android fstab file.\n#<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_m"
  },
  {
    "path": "rootdir/etc/init.bacon.rc",
    "chars": 1327,
    "preview": "#\n# Copyright 2016 The CyanogenMod Project\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may"
  },
  {
    "path": "rootdir/etc/init.qcom.usb.rc",
    "chars": 10482,
    "preview": "# Copyright (c) 2011-2012, Code Aurora Forum. All rights reserved.\n#\n# Redistribution and use in source and binary forms"
  },
  {
    "path": "sepolicy/device.te",
    "chars": 38,
    "preview": "type reserve4_block_device, dev_type;\n"
  },
  {
    "path": "sepolicy/file_contexts",
    "chars": 129,
    "preview": "# Reserve4 filesystem for encryption\n/dev/block/platform/msm_sdcc\\.1/by-name/reserve4        u:object_r:reserve4_block_d"
  },
  {
    "path": "sepolicy/vold.te",
    "chars": 70,
    "preview": "# Encryption\nallow vold reserve4_block_device:blk_file rw_file_perms;\n"
  },
  {
    "path": "setup-makefiles.sh",
    "chars": 338,
    "preview": "#!/bin/bash\n#\n# Copyright (C) 2016 The CyanogenMod Project\n# Copyright (C) 2017-2020 The LineageOS Project\n#\n# SPDX-Lice"
  },
  {
    "path": "system.prop",
    "chars": 451,
    "preview": "#\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\npersis"
  },
  {
    "path": "twrp/recovery/root/etc/twrp.fstab",
    "chars": 953,
    "preview": "/system          ext4     /dev/block/platform/msm_sdcc.1/by-name/system\n/system_image    emmc     /dev/block/platform/ms"
  },
  {
    "path": "twrp/recovery/root/fstab.bacon",
    "chars": 777,
    "preview": "# Android fstab file.\n#<src>                                         <mnt_point>  <type>  <mnt_flags and options>  <fs_m"
  }
]

About this extraction

This page contains the full source code of the LineageOS/android_device_oneplus_bacon GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 42 files (147.1 KB), approximately 46.8k tokens, and a symbol index with 4 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!