19 Commits
Author SHA1 Message Date
emil 5868255fbb fstab: auto -> ext4 2026-09-27 21:43:34 +02:00
emil de9c7341b5 build: simplify mkbootimg 2026-09-16 13:30:54 +02:00
emil c11bb0c109 fstab: internationalization 2026-09-16 12:38:00 +02:00
emil 4b13867f43 fstab: add labels + microsd removable 2026-09-16 12:24:34 +02:00
emil 9092f1aabf general: stock fstab, encryption support 2026-09-16 12:08:11 +02:00
emil 3745a61fee genral: remove files irrelevant to twrp 2026-09-15 09:39:30 +02:00
emil e6ce72e1dc general: simplify configs and build scripts 2026-09-15 08:44:51 +02:00
emil 9b51d96ee4 docs: update readme 2026-09-14 07:56:12 +02:00
emil 58b5bb9a77 boardconfig: remove most likely useless qc flag 2026-09-13 20:32:16 +02:00
emil 518863e3a1 general: bring back f2fs & all extras
This is possible due to the msm8226 kernel being smaller.
2026-09-13 20:32:16 +02:00
emil 86873f61fd boardconfig: prepare for msm8226 kernel 2026-09-13 20:32:16 +02:00
emil 67081aeee3 docs: readme correction 2026-09-13 20:32:16 +02:00
emil c025690067 build: ship all languages 2026-09-13 20:04:26 +02:00
emil af02377cb6 build: strip f2fs tools 2026-09-13 20:04:26 +02:00
emil f0b24a6093 general: drop f2fs and modify documentation 2026-09-13 20:04:26 +02:00
emil 04e83acad5 build: switch ramdisk to LZMA and trim payload 2026-09-13 20:04:26 +02:00
emil 7e5446e707 build: fix dt.img path expansion 2026-09-13 20:04:26 +02:00
emil 9d574fb316 general: device tree for source kernel; dt.img 2026-09-13 20:04:15 +02:00
emil d7ad50bab4 Initial commit 2026-04-05 18:48:42 +02:00
34 changed files with 1420 additions and 2182 deletions
+5
View File
@@ -0,0 +1,5 @@
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),rubenslte)
include $(call all-subdir-makefiles,$(LOCAL_PATH))
endif
+1 -1
View File
@@ -1 +1 @@
PRODUCT_MAKEFILES := $(LOCAL_DIR)/lineage_rubenslte.mk
PRODUCT_MAKEFILES := $(LOCAL_DIR)/omni_rubenslte.mk
+39 -46
View File
@@ -1,57 +1,50 @@
-include device/samsung/msm8226-common/BoardConfigCommon.mk
DEVICE_TREE := device/samsung/rubenslte
BOARD_CUSTOM_BOOTIMG_MK := $(DEVICE_TREE)/mkbootimg.mk
TARGET_OTA_ASSERT_DEVICE := rubenslte,rubensltexx
TARGET_CPU_VARIANT := cortex-a7
DEVICE_PATH := device/samsung/rubenslte
# Kernel
BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_PAGESIZE := 2048
BOARD_KERNEL_SEPARATED_DT := true
BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom androidboot.selinux=permissive \
androidboot.bootdevice=msm_sdcc.1 zcache.enabled=1 user_debug=23
BOARD_KERNEL_IMAGE_NAME := zImage
INSTALLED_DTIMAGE_TARGET = $(PRODUCT_OUT)/dt.img
BOARD_MKBOOTIMG_ARGS = --kernel_offset 0x00008000 --ramdisk_offset 0x02000000 --tags_offset 0x01e00000 --dt $(INSTALLED_DTIMAGE_TARGET)
TARGET_ARCH := arm
TARGET_CPU_VARIANT := cortex-a7
TARGET_ARCH_VARIANT := armv7-a-neon
TARGET_CPU_ABI := armeabi-v7a
BOARD_VENDOR := samsung
TARGET_BOARD_PLATFORM := msm8226
TARGET_BOARD_PLATFORM_GPU := qcom-adreno305
TARGET_BOOTLOADER_BOARD_NAME := MSM8226
TARGET_KERNEL_SOURCE := kernel/samsung/rubenslte
TARGET_KERNEL_CONFIG := lineage_rubenslte_defconfig
KERNEL_TOOLCHAIN_PREFIX := arm-eabi-
# Partitions
BOARD_BOOTIMAGE_PARTITION_SIZE := 10485248
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 10485248
BOARD_KERNEL_CMDLINE := console=null androidboot.console=null androidboot.hardware=qcom user_debug=23 androidboot.selinux=permissive
BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_PAGESIZE := 2048
BOARD_HAS_LARGE_FILESYSTEM := true
BOARD_USES_QC_TIME_SERVICES := true
BOARD_IMAGE_PARTITION_SIZE := 10485248
BOARD_BOOTIMAGE_PARTITION_SIZE := $(BOARD_IMAGE_PARTITION_SIZE)
BOARD_RECOVERYIMAGE_PARTITION_SIZE := $(BOARD_IMAGE_PARTITION_SIZE)
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2411724288
BOARD_CACHEIMAGE_PARTITION_SIZE := 314572288
BOARD_USERDATAIMAGE_PARTITION_SIZE := 12843662336
BOARD_CACHEIMAGE_PARTITION_SIZE := 314572288
BOARD_FLASH_BLOCK_SIZE := 131072
# Boot & recovery
BOARD_CUSTOM_BOOTIMG := true
BOARD_CUSTOM_BOOTIMG_MK := hardware/samsung/mkbootimg.mk
BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x00008000 --ramdisk_offset 0x02000000 --tags_offset 0x01e00000
LZMA_RAMDISK_TARGETS := recovery
RECOVERY_SDCARD_ON_DATA := true
TARGET_USE_CUSTOM_LUN_FILE_PATH := "/sys/devices/platform/msm_hsusb/gadget/lun%d/file"
# Bluetooth
BOARD_HAVE_BLUETOOTH_QCOM := true
QCOM_BT_USE_BTNV := true
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth
TARGET_SCREEN_HEIGHT := 1280
TARGET_SCREEN_WIDTH := 800
TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
# Audio
USE_CUSTOM_AUDIO_POLICY := 1
USE_XML_AUDIO_POLICY_CONF := 1
# Lights
TARGET_SPECIFIC_HEADER_PATH := $(DEVICE_PATH)/include
# Radio
BOARD_HAVE_QCOM_FM := true
# Recovery
TARGET_RECOVERY_DENSITY := hdpi
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom
# Miscellaneous
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
SF_PRIMARY_DISPLAY_ORIENTATION := 180 # The panel is mounted upside down.
# Vibrator HIDL manifest fragment (appended to msm8226-common's device manifest)
DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest.xml
-include vendor/samsung/rubenslte/BoardConfigVendor.mk
TW_BRIGHTNESS_PATH := "/sys/class/leds/lcd-backlight/brightness"
TW_MAX_BRIGHTNESS := 255
TW_DEFAULT_BRIGHTNESS := 128
TW_NO_REBOOT_BOOTLOADER := true
TW_HAS_DOWNLOAD_MODE := true
TW_MTP_DEVICE := "/dev/mtp_usb"
TW_INCLUDE_CRYPTO := true
-83
View File
@@ -1,83 +0,0 @@
# SM-T365 feature checklist
Legend: `[ ]` untested, `[x]` works, `[~]` partial / known issue.
## Boot
- [x] Boots
- [x] Setup wizard
- [x] Reboot / power off
- [x] Date & time
- [ ] No SELinux denials (`dmesg | grep avc`)
## Display & touch
- [x] Display (no artifacts)
- [x] Manual brightness
- [x] Adaptive brightness
- [x] Auto-rotate
- [x] Touch / multitouch
- [x] Night Light
## Audio
- [x] Speaker
- [x] Headphones
- [x] Microphone
- [x] Volume adjustment
## Camera
- [ ] Rear photo
- [ ] Rear video
- [ ] Flash / torch
- [ ] Front photo / video
## Wi-Fi
- [x] Connect
- [x] Hotspot
- [ ] Reconnect after sleep
## Bluetooth
- [ ] Pair
- [ ] A2DP
- [ ] BLE
## Cellular
- [ ] SIM / network
- [ ] Mobile data
- [ ] Calls
- [ ] SMS
## GPS
- [x] Fix
- [x] Location in Maps
- [ ] GLONASS
## Sensors
- [x] Accelerometer
- [x] Light
- [x] Proximity
## NFC
- [ ] Tag read
## USB
- [x] adb
- [x] MTP / PTP
- [x] Charging
- [ ] Tethering
## Storage
- [ ] Internal
- [ ] microSD
## Power
- [x] Battery %
- [x] Charging status
- [x] Offline charging animation
## Buttons & haptics
- [x] Power
- [x] Volume
- [x] Home / Recents / Back
- [x] Vibrator
## Security
- [ ] Lockscreen
+2 -2
View File
@@ -208,7 +208,7 @@ If you develop a new program, and you want it to be of the greatest possible use
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
android_device_samsung_rubenslte
twrp_device_samsung_rubenslte
Copyright (C) 2026 rubenslte
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
@@ -221,7 +221,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
android_device_samsung_rubenslte Copyright (C) 2026 rubenslte
twrp_device_samsung_rubenslte Copyright (C) 2026 rubenslte
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+7 -8
View File
@@ -1,6 +1,6 @@
# android_device_samsung_rubenslte
Device tree for rubenslte
Device tree for rubenslte (TWRP)
## Device information
@@ -27,12 +27,11 @@ Device tree for rubenslte
## Flashing
| Mode | Key combo |
|---------------------------|---------------------|
| Recovery | Vol+ & Home & Power |
| Download | Vol- & Home & Power |
| Turn off when bootlooping | Vol- & Power |
| Mode | Key combo |
|----------|---------------------|
| Recovery | Vol+ & Home & Power |
| Download | Vol- & Home & Power |
Boot into recovery and flash the ROM zip, or extract partitions and
flash using `heimdall` in download mode.
Boot into download mode, then run `heimdall flash --RECOVERY
recovery.img`.
-4
View File
@@ -1,4 +0,0 @@
# SM-T365 to-do list
- [ ] Check if brightness curve and min/max values truly fit the
stock; they seem to be a bit excessive for the min I think.
-54
View File
@@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
<libraries>
<library name="bundle" path="libbundlewrapper.so"/>
<library name="reverb" path="libreverbwrapper.so"/>
<library name="qcbassboost" path="libqcbassboost.so"/>
<library name="qcvirt" path="libqcvirt.so"/>
<library name="qcreverb" path="libqcreverb.so"/>
<library name="visualizer_sw" path="libvisualizer.so"/>
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
<library name="downmix" path="libdownmix.so"/>
<library name="loudness_enhancer" path="libldnhncr.so"/>
<library name="proxy" path="libeffectproxy.so"/>
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
<libsw library="qcbassboost" uuid="23aca180-44bd-11e2-bcfd-0800200c9a66"/>
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
<libsw library="qcvirt" uuid="e6c98a16-22a3-11e2-b87b-f23c91aec05e"/>
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="equalizer" library="proxy" uuid="c8e70ecd-48ca-456e-8a4f-0002a5d5c51b">
<libsw library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
<libhw library="offload_bundle" uuid="a0dac280-401c-11e3-9379-0002a5d5c51b"/>
</effectProxy>
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
<libsw library="qcreverb" uuid="a8c1e5f3-293d-43cd-95ec-d5e26c02e217"/>
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
<libsw library="qcreverb" uuid="791fff8b-8129-4655-83a4-59bc61034c3a"/>
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
<libsw library="qcreverb" uuid="53ef1db5-c0c0-445b-b060-e34d20ebb70a"/>
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
<libsw library="qcreverb" uuid="b08a0e38-22a5-11e2-b87b-f23c91aec05e"/>
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
</effectProxy>
<effectProxy name="visualizer" library="proxy" uuid="1d0a1a53-7d5d-48f2-8e71-27fbd10d842c">
<libsw library="visualizer_sw" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
<libhw library="visualizer_hw" uuid="7a8044a0-1a71-11e3-a184-0002a5d5c51b"/>
</effectProxy>
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
</effects>
</audio_effects_conf>
-94
View File
@@ -1,94 +0,0 @@
<?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>
<!-- Output devices -->
<device name="SND_DEVICE_OUT_SPEAKER" acdb_id="15" />
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" acdb_id="15" />
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" acdb_id="15" />
<device name="SND_DEVICE_OUT_USB_HEADSET" acdb_id="98" />
<!-- Input devices -->
<device name="SND_DEVICE_IN_HANDSET_DMIC" acdb_id="4" />
<device name="SND_DEVICE_IN_SPEAKER_MIC" acdb_id="4" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC" acdb_id="4" />
<device name="SND_DEVICE_IN_VOICE_DMIC" acdb_id="4" />
<device name="SND_DEVICE_IN_VOICE_REC_MIC" acdb_id="53" />
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" acdb_id="4" />
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC" acdb_id="4" />
<device name="SND_DEVICE_IN_VOIP_HANDSET_MIC" acdb_id="57" />
<device name="SND_DEVICE_IN_VOIP_SPEAKER_MIC" acdb_id="64" />
</acdb_ids>
<backend_names>
<!-- empty -->
</backend_names>
<pcm_ids>
<!-- empty -->
</pcm_ids>
<device_names>
<!-- Output devices -->
<device name="SND_DEVICE_OUT_HEADPHONES" alias="headset" />
<device name="SND_DEVICE_OUT_VOICE_HANDSET" alias="voice-call-handset" />
<device name="SND_DEVICE_OUT_VOICE_SPEAKER" alias="voice-call-speaker" />
<device name="SND_DEVICE_OUT_VOICE_HEADPHONES" alias="voice-call-headset" />
<device name="SND_DEVICE_OUT_VOICE_TTY_FULL_HEADPHONES" alias="TTY-full" />
<device name="SND_DEVICE_OUT_VOICE_TTY_VCO_HEADPHONES" alias="TTY-headset" />
<device name="SND_DEVICE_OUT_VOICE_TTY_HCO_HANDSET" alias="TTY-handset" />
<!-- Input devices -->
<device name="SND_DEVICE_IN_HANDSET_MIC" alias="rec-main-mic" />
<device name="SND_DEVICE_IN_HANDSET_DMIC" alias="voice-call-main-mic" />
<device name="SND_DEVICE_IN_HANDSET_DMIC_NS" alias="voice-call-NS-mic-handset" />
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC" alias="voice-call-main-mic" />
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" alias="voice-call-main-mic" />
<device name="SND_DEVICE_IN_SPEAKER_MIC" alias="rec-main-mic" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC" alias="voice-call-main-mic" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" alias="voice-call-NS-mic-speaker" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" alias="voice-call-main-mic" />
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" alias="voice-call-main-mic" />
<device name="SND_DEVICE_IN_HEADSET_MIC" alias="rec-headset-mic" />
<device name="SND_DEVICE_IN_HEADSET_MIC_FLUENCE" alias="rec-main-mic" />
<device name="SND_DEVICE_IN_VOICE_SPEAKER_MIC" alias="voice-call-main-mic" />
<device name="SND_DEVICE_IN_VOICE_HEADSET_MIC" alias="voice-call-headset-mic" />
<device name="SND_DEVICE_IN_CAMCORDER_MIC" alias="rec-main-mic" />
<device name="SND_DEVICE_IN_VOICE_DMIC" alias="voice-call-main-mic" />
<device name="SND_DEVICE_IN_VOICE_SPEAKER_DMIC" alias="voice-call-main-mic" />
<device name="SND_DEVICE_IN_VOICE_TTY_FULL_HEADSET_MIC" alias="TTY-full-mic" />
<device name="SND_DEVICE_IN_VOICE_TTY_VCO_HANDSET_MIC" alias="TTY-vco-mic" />
<device name="SND_DEVICE_IN_VOICE_TTY_HCO_HEADSET_MIC" alias="TTY-headset-mic" />
<device name="SND_DEVICE_IN_VOICE_REC_MIC" alias="vr-main-mic" />
<device name="SND_DEVICE_IN_VOICE_REC_MIC_NS" alias="svoice-NS-mic" />
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_STEREO" alias="vr-main-mic" />
<device name="SND_DEVICE_IN_HANDSET_STEREO_DMIC" alias="rec-stereo-mic" />
<device name="SND_DEVICE_IN_SPEAKER_STEREO_DMIC" alias="rec-stereo-mic" />
<device name="SND_DEVICE_IN_VOIP_SPEAKER_MIC" alias="voip-main-mic-others" />
</device_names>
</audio_platform_info>
-218
View File
@@ -1,218 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright (C) 2015 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="true"/>
<!-- Modules section:
There is one section per audio HW module present on the platform.
Each module section will contains two mandatory tags for audio HAL “halVersion” and “name”.
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>Built-In Mic</item>
<item>Built-In Back Mic</item>
<item>FM Tuner</item>
<item>Telephony Rx</item>
<item>Telephony Tx</item>
</attachedDevices>
<defaultOutputDevice>Speaker</defaultOutputDevice>
<mixPorts>
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="low_latency" role="source" flags="AUDIO_OUTPUT_FLAG_FAST">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="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_MP3"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
<profile name="" format="AUDIO_FORMAT_AAC_LC"
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
</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="voip_rx" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX" />
</mixPort>
<mixPort name="incall_music" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_INCALL_MUSIC" />
</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,AUDIO_CHANNEL_IN_5POINT1"/>
</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="16000,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="16000,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,48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
</devicePort>
<devicePort tagName="HDMI" type="AUDIO_DEVICE_OUT_AUX_DIGITAL" 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="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="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="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" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
</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>
</devicePorts>
<!-- route declaration, i.e. list all available sources for a given sink -->
<routes>
<route type="mix" sink="Earpiece"
sources="primary output,low_latency,compressed_offload,BT SCO Headset Mic,voip_rx"/>
<route type="mix" sink="Speaker"
sources="primary output,low_latency,compressed_offload,BT SCO Headset Mic,Telephony Rx,voip_rx"/>
<route type="mix" sink="Wired Headset"
sources="primary output,low_latency,compressed_offload,BT SCO Headset Mic,Telephony Rx,incall_music,voip_rx"/>
<route type="mix" sink="Wired Headphones"
sources="primary output,low_latency,compressed_offload,BT SCO Headset Mic,Telephony Rx,incall_music,voip_rx"/>
<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"/>
<route type="mix" sink="voice_rx"
sources="Telephony Rx"/>
<route type="mix" sink="HDMI"
sources="primary output,low_latency,compressed_offload"/>
<route type="mix" sink="Proxy"
sources="primary output,low_latency,compressed_offload"/>
</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 diff suppressed because it is too large Load Diff
-9
View File
@@ -1,9 +0,0 @@
#ifndef _BDROID_BUILDCFG_H
#define _BDROID_BUILDCFG_H
#define BTM_DEF_LOCAL_NAME "Samsung Galaxy Tab Active"
#define BTM_WBS_INCLUDED TRUE
#define BTIF_HF_WBS_PREFERRED TRUE
#endif
-1
View File
@@ -1 +0,0 @@
/system/lib/hw/sensors.msm8226.so
+15
View File
@@ -0,0 +1,15 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
dtbtool.c
LOCAL_CFLAGS += \
-Wall
## Hybrid v1/v2 dtbTool. Use a different name to avoid conflicts with copies in device repos
LOCAL_MODULE := dtbToolLineage
LOCAL_MODULE_TAGS := optional
include $(BUILD_HOST_EXECUTABLE)
+1054
View File
File diff suppressed because it is too large Load Diff
+235
View File
@@ -0,0 +1,235 @@
Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
Redistribution and use in source form and compiled forms (SGML, HTML,
PDF, PostScript, RTF and so forth) with or without modification, are
permitted provided that the following conditions are met:
Redistributions in source form must retain the above copyright
notice, this list of conditions and the following disclaimer as the
first lines of this file unmodified.
Redistributions in compiled form (transformed to other DTDs,
converted to PDF, PostScript, RTF and other formats) 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.
THIS DOCUMENTATION IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND
NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD
DOCUMENTATION PROJECT 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 DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Android - Table of Device Tree
==============================
0) Document revision
v1.0 - Initial version (dng)
v1.1 - Add v2 format to allow subtype (dng)
1) Android boot image:
----------------------
1.1) Header:
1) Magic (8B)
2) kernel size (4B)
3) kernel addr (4B)
4) ramdisk size (4B)
5) ramdisk addr (4B)
6) 2ndary size (4B)
7) 2ndary addr (4B)
8) tags addr (4B)
9) page size (4B)
10) unused #1 (4B) (zero in standard Android)
11) unused #2 (4B) (zero in standard Android)
12) product name (16B)
13) kernel cmdline (512B)
14) id (8B)
1.2) Layout:
A) header (as above - 1 page)
B) kernel (n pages)
C) ramdisk (m pages)
D) second stage (o pages)
2) QC table of device tree
--------------------------
2.1) Changes:
i) use "unused #1, #2" members in existing boot image
header to point to new table of device tree
(#1 - size of QC table of DT)
ii) append table of device tree (described later)
after "D) second stage"
2.2) Format:
size
x +------------------+
| | MAGIC ("QCDT") | 4B
| +------------------+
header | VERSION | uint32 (version 3)
| +------------------+
| | num of DTBs | uint32 (number of DTB entries)
x +------------------+
| | platform id #1 | uint32 (e.g. ID for MSM8974)
| +------------------+
| | variant id #1 | uint32 (e.g. ID for CDP, MTP)
| +------------------+
| | subtype id #1 | uint32 (e.g. ID for subtype) (QCDT v2)
device +------------------+
#1 | soc rev #1 | uint32 (e.g. MSM8974 v2)
entry +------------------+
| | pmic0 #1 | uint32 (pmic0-> first smallest SID of existing pmic)
| +------------------+
| | pmic1 #1 | uint32 (pmic1-> secondary smallest SID of existing pmic)
| +------------------+
| | pmic2 #1 | uint32 (pmic2-> third smallest SID of existing pmic)
| +------------------+
| | pmic3 #1 | uint32 (pmic3-> fourth smallest SID of existing pmic)
| +------------------+
| | offset #1 | uint32 (byte offset from start/before MAGIC
| +------------------+ to DTB entry)
| | size #1 | uint32 (size in bytes of DTB blob)
x +------------------+
. .
. . (repeat)
. .
x +------------------+
| | platform id #Z | uint32 (e.g. ID for MSM8974)
| +------------------+
device | variant id #Z | uint32 (e.g. ID for CDP, MTP)
#Z +------------------+
entry | subtype id #Z | uint32 (e.g. ID for subtype) (QCDT v2)
(last) +------------------+
| | soc rev #Z | uint32 (e.g. MSM8974 v2)
| +------------------+
| | pmic0 #1 | uint32 (pmic0-> first smallest SID of existing pmic)
| +------------------+
| | pmic1 #1 | uint32 (pmic1-> secondary smallest SID of existing pmic)
| +------------------+
| | pmic2 #1 | uint32 (pmic2-> third smallest SID of existing pmic)
| +------------------+
| | pmic3 #1 | uint32 (pmic3-> fourth smallest SID of existing pmic)
| +------------------+
| | offset #Z | uint32 (byte offset from start/before MAGIC
x +------------------+ to DTB entry)
| 0 ("zero") | uint32 (end of list delimiter)
+------------------+ to DTB entry)
| padding | variable length for next DTB to start on
+------------------+ page boundary
| DTB #1 | variable (start is page aligned)
| |
| |
+------------------+
| padding | variable length for next DTB to start on
+------------------+ page boundary
.
.
.
+------------------+
| DTB #Z (last) | variable (start is page aligned)
| |
| |
+------------------+
3) Operations
-------------
3.1) Build-time:
1) Each DTS per device will add a "qcom,msm-id" entry
e.g. for msm8974-sim.dts, add
qcom,msm-id = <x y z>;
or
qcom,msm-id = <x z>;
qcom,board-id = <y y'>;
or
qcom,msm-id = <x z>;
qcom,board-id = <y y'>;
qcom,pmic-id = <a b c d>;
x = ID for msm8974
y = ID for CDP, MTP, etc.
y' = ID for subtype (assumed zero if absent)
z = ID for soc revision
a = pmic0
b = pmic1
c = pmic2
d = pmic3
SBL populates the pmic entries always in ascending order of SID, so
pmic0-> SID0, pmic1-> SID1, pmic2-> SID2, pmic3-> SID3.
e.g. for qcom,pmic-id = <pmic0 pmic1 pmic2 pmic3>
Board X = MSM8994 + PM8994 + PMI8994 (Existing boards [ROW])
Board Y = MSM8994 + PM8994 + PMI8994 + PM8004 (Internal SS board variant)
Board Z = MSM8994 + PM8994 + PM8004 (Boards that SS will be making)
For all boards X, Y, and Z, PMICs have the following SIDs and REVID SUBTYPEs
(i.e. PMIC Model):
PM8994 - SID 0 and 1; subtype = 9
PMI8994 - SID 2 and 3; subtype = 10
PM8004 - SID 4 and 5; subtype = 12
LK using SMEM PMIC info(1 as major and 0 as minor version for example):
Board X: qcom,pmic-id = <0x0109 0x010A 0x0 0x0>;
Board Y: qcom,pmic-id = <0x0109 0x010A 0x010C 0x0>;
Board Z: qcom,pmic-id = <0x0109 0x010C 0x0 0x0>;
The entry can optionally be an array:
qcom,msm-id = <x1 y1 z1>, <x2 y2 z2>, ...;
or
qcom,msm-id = <x1 z1>, <x2 z2>, ...;
qcom,board-id = <y1 y1'>, ...;
or
qcom,msm-id = <x1 z1>, <x2 z2>, ...;
qcom,board-id = <y1 y1'>, ...;
qcom,pmic-id = <a1 b1 c1 d1>, ...;
Note that qcom,msm-id, qcom,board-id and qcom,pmic-id are not matched pairs.
2) Kernel compile will generate the DTB
3) Android build will run a new tool (dtbTool)
a) scan the DTB output directory for all compiled DTB
b) decompile the DTB for "qcom,msm-id"/"qcom,board-id"/"qcom,pmic-id"
c) generate the QC table of device tree in sorted
order (platform, variant, subtype, soc rev, pmic0, pmic1, pmic2, pmic3)
d) modified mkbootimg will merge new table of DT
3.2) Run-time:
1) LK bootloader will obtain platform id/variant/subtype/soc rev/major ver/minor ver
/pmic0/pmic1/pmic2/pmic3 info either from early bootloaders or via other means
2) LK bootloader will check entries #10 for non-zero
value (set to zero for standard boot.img). If the
value is non-zero, refer to page section after
the "second stage" in the boot.img layout
3) Check QCDT magic
4) Check QCDT version (optional LK to handle multiple
QCDT version)
5) LK scans through the QCDT table to look for matching
entry. Search order is:
1) msm ID exact match
2) Platform type exact match
3) subtype ID exact match
4) HLOS subtype exact match
5) Pmic0 model ID exact match
6) Pmic1 model ID exact match
7) Pmic2 model ID exact match
8) Pmic3 model ID exact match
9) foundry ID, look for exact match, if not found choose
device tree with foundry-id(0x0)
10) select the highest soc rev in QCDT that is
equal to or lower than the runtime detected soc rev
11) select the highest major&minor ver in QCDT that is
equal to or lower than the runtime detected major ver
12) select the highest pmic0 major&minor in QCDT that is
equal to or lower than the runtime detected pmic0
13) select the highest pmic1 major&minor in QCDT that is
equal to or lower than the runtime detected pmic1
14) select the highest pmic2 major&minor in QCDT that is
equal to or lower than the runtime detected pmic2
15) select the highest pmic3 major&minor in QCDT that is
equal to or lower than the runtime detected pmic3
6) Load the matching DTB blob to the tags addr
7) LK pass the correct DTB to the kernel
-22
View File
@@ -1,22 +0,0 @@
# GPS configuration for rubenslte (SM-T365), taken from the stock ROM.
# The msm8226-common default disables AGPS (CAPABILITIES=0x31, no XTRA),
# which leaves the GNSS engine in standalone-only mode.
XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra2.bin
XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra2.bin
XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra2.bin
XTRA_VERSION_CHECK=0
ERR_ESTIMATE=0
NTP_SERVER=time.gpsonextra.net
DEBUG_LEVEL = 2
INTERMEDIATE_POS=0
SUPL_VER=0x10000
SUPL_ES=0
USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=1
SUPL_MODE=3
CAPABILITIES=0x37
LPP_PROFILE = 0
NMEA_PROVIDER=1
SGLTE_TARGET=0
A_GLONASS_POS_PROTOCOL_SELECT = 0
DEL_EPH_ONLY = 0
-14
View File
@@ -1,14 +0,0 @@
#ifndef SAMSUNG_LIGHTS_H
#define SAMSUNG_LIGHTS_H
/*
* Board specific nodes
*
* rubenslte exposes the panel backlight through the mdss_fb LED class
* device. There is no touchkey backlight or notification LED on this
* device.
*/
#define PANEL_BRIGHTNESS_NODE "/sys/class/leds/lcd-backlight/brightness"
#define PANEL_MAX_BRIGHTNESS_NODE "/sys/class/leds/lcd-backlight/max_brightness"
#endif // SAMSUNG_LIGHTS_H
-15
View File
@@ -1,15 +0,0 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_C_INCLUDES := \
device/samsung/msm8226-common/init \
system/core/base/include \
system/core/init
LOCAL_CFLAGS := -Wall
LOCAL_SRC_FILES := init_msm.cpp
LOCAL_MODULE := libinit_msm
include $(BUILD_STATIC_LIBRARY)
-4
View File
@@ -1,4 +0,0 @@
#include <vendor_init.h>
void vendor_load_properties() {
}
-4
View File
@@ -1,4 +0,0 @@
key 115 VOLUME_UP
key 158 BACK
key 172 HOME
key 254 APP_SWITCH
-63
View File
@@ -1,63 +0,0 @@
$(call inherit-product, frameworks/native/build/tablet-7in-hdpi-1024-dalvik-heap.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# ^ It's pretty much like tablet, except with telephony. The Tab
# Active has GSM, so this is fine.
PRODUCT_NAME := lineage_rubenslte
PRODUCT_BRAND := samsung
PRODUCT_MANUFACTURER := samsung
# The following is just like the stock ROM.
PRODUCT_MODEL := SM-T365
PRODUCT_DEVICE := rubenslte
PRODUCT_CHARACTERISTICS := tablet
PRODUCT_GMS_CLIENTID_BASE := android-samsung
TARGET_SCREEN_HEIGHT := 1280
TARGET_SCREEN_WIDTH := 800
PRODUCT_AAPT_PREF_CONFIG := hdpi
# Fstab and init
PRODUCT_PACKAGES += fstab.qcom init.target.rc
# Vibrator
PRODUCT_PACKAGES += android.hardware.vibrator@1.0-impl
# Lights
PRODUCT_PACKAGES += android.hardware.light@2.0-service.samsung
# Overlays
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay $(LOCAL_PATH)/overlay-lineage
# Permissions
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
# Sensors
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/sensors/_hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/_hals.conf
# Keylayout
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/keylayout/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl
# Audio
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
$(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
# GPS
# Overrides the msm8226-common gps.conf (first PRODUCT_COPY_FILES entry
# for a destination wins), enabling AGPS/XTRA as in the stock ROM.
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/gps/gps.conf:system/etc/gps.conf
$(call inherit-product-if-exists, vendor/samsung/rubenslte/rubenslte-vendor.mk)
$(call inherit-product, device/samsung/msm8226-common/msm8226.mk)
-20
View File
@@ -1,20 +0,0 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>android.hardware.light</name>
<transport>hwbinder</transport>
<version>2.0</version>
<interface>
<name>ILight</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
<name>android.hardware.vibrator</name>
<transport arch="32">passthrough</transport>
<version>1.0</version>
<interface>
<name>IVibrator</name>
<instance>default</instance>
</interface>
</hal>
</manifest>
+26
View File
@@ -0,0 +1,26 @@
LOCAL_PATH := $(call my-dir)
DTBTOOL := $(HOST_OUT_EXECUTABLES)/dtbToolLineage$(HOST_EXECUTABLE_SUFFIX)
$(INSTALLED_DTIMAGE_TARGET): $(DTBTOOL) $(INSTALLED_KERNEL_TARGET)
$(hide) $(DTBTOOL) $(BOARD_DTBTOOL_ARGS) -o $@ -s $(BOARD_KERNEL_PAGESIZE) -p $(KERNEL_OUT)/scripts/dtc/ $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/;
$(hide) chmod a+r $@
@echo "Made DT image: $@"
.PHONY: dtimage
dtimage: $(INSTALLED_DTIMAGE_TARGET)
$(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(INSTALLED_DTIMAGE_TARGET)
$(hide) $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $@
$(hide) echo -n "SEANDROIDENFORCE" >> $@
$(hide) $(call assert-max-image-size,$@,$(BOARD_BOOTIMAGE_PARTITION_SIZE),raw)
@echo "Made boot image: $@"
$(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTIMG) $(recovery_ramdisk) $(recovery_kernel) $(INSTALLED_DTIMAGE_TARGET)
$(hide) $(MKBOOTIMG) $(INTERNAL_RECOVERYIMAGE_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $@
$(hide) echo -n "SEANDROIDENFORCE" >> $@
$(hide) $(call assert-max-image-size,$@,$(BOARD_RECOVERYIMAGE_PARTITION_SIZE),raw)
@echo "Made recovery image: $@"
$(recovery_ramdisk): $(TARGET_RECOVERY_ROOT_TIMESTAMP)
$(hide) $(MKBOOTFS) $(TARGET_RECOVERY_ROOT_OUT) | xz --format=lzma -c -6 > $@
@echo "Compressed $@ with LZMA"
+12
View File
@@ -0,0 +1,12 @@
$(call inherit-product, $(SRC_TARGET_DIR)/product/embedded.mk)
$(call inherit-product, vendor/omni/config/common.mk)
PRODUCT_COPY_FILES += \
bionic/libc/zoneinfo/tzdata:recovery/root/system/usr/share/zoneinfo/tzdata
PRODUCT_BRAND := samsung
PRODUCT_MANUFACTURER := samsung
PRODUCT_MODEL := SM-T365
PRODUCT_DEVICE := rubenslte
PRODUCT_RELEASE_NAME := rubenslte
PRODUCT_NAME := omni_rubenslte
@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Hardware keys present on the device, stored as a bit field.
This integer should equal the sum of the corresponding value for each
of the following keys present:
1 - Home
2 - Back
4 - Menu
8 - Assistant (search)
16 - App switch
32 - Camera
64 - Volume rocker
For example, a device with Home, Back and Menu keys would set this
config to 7. -->
<integer name="config_deviceHardwareKeys">83</integer>
<!-- Hardware keys present on the device with the ability to wake, stored as a bit field.
1 - Home
2 - Back
4 - Menu
8 - Assistant (search)
16 - App switch
32 - Camera
64 - Volume rocker
Home wakes by default (home_wake_screen setting defaults to 1);
volume can be enabled by the user. -->
<integer name="config_deviceHardwareWakeKeys">65</integer>
</resources>
@@ -1,86 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="config_screenBrightnessSettingMinimum">20</integer>
<integer name="config_screenBrightnessSettingDefault">143</integer>
<integer name="config_screenBrightnessSettingMaximum">255</integer>
<integer name="config_screenBrightnessDim">30</integer>
<bool name="config_automatic_brightness_available">true</bool>
<!-- The auto-brightness curve and brightness limits below are taken
from the stock SM-T365 framework-res.apk, so they match this
panel's calibration. -->
<integer-array name="config_autoBrightnessLevels">
<item>15</item>
<item>150</item>
<item>1000</item>
<item>5000</item>
</integer-array>
<integer-array name="config_autoBrightnessLcdBacklightValues">
<item>10</item>
<item>80</item>
<item>162</item>
<item>190</item>
<item>255</item>
</integer-array>
<!-- Tethering interfaces / upstream types (stock SM-T365
values). -->
<string-array translatable="false" name="config_tether_wifi_regexs">
<item>"wlan0"</item>
</string-array>
<string-array translatable="false" name="config_tether_usb_regexs">
<item>"usb\\d"</item>
<item>"rndis\\d"</item>
<item>"ncm\\d"</item>
</string-array>
<string-array translatable="false" name="config_tether_bluetooth_regexs">
<item>"bnep\\d"</item>
<item>"bt-pan"</item>
</string-array>
<integer-array translatable="false" name="config_tether_upstream_types">
<item>0</item>
<item>1</item>
<item>4</item>
<item>5</item>
<item>7</item>
</integer-array>
<string-array translatable="false" name="radioAttributes">
<item>"1,1"</item>
<item>"0,1"</item>
<item>"7,1"</item>
</string-array>
<!-- Wi-Fi (stock SM-T365 values). -->
<bool translatable="false" name="config_wifi_dual_band_support">true</bool>
<bool translatable="false" name="config_wifi_background_scan_support">true</bool>
<string name="config_wifi_tcp_buffers" translatable="false">524288,1048576,4525824,524288,1048576,4525824</string>
<string-array name="config_mobile_tcp_buffers">
<item>default:4096,87380,704512,4096,16384,110208</item>
<item>edge:4093,26280,35040,4096,16384,35040</item>
<item>evdo:4094,87380,262144,4096,16384,262144</item>
<item>gprs:4092,30000,30000,4096,8760,11680</item>
<item>hsdpa:4094,87380,704512,4096,16384,262144</item>
<item>hspa:4094,87380,704512,4096,16384,262144</item>
<item>hspap:4094,87380,1220608,4096,16384,1220608</item>
<item>hsupa:4094,87380,704512,4096,16384,262144</item>
<item>lte:524288,1048576,2560000,524288,1048576,2560000</item>
<item>umts:4094,87380,704512,4096,16384,110208</item>
</string-array>
<!-- Device characteristics (stock SM-T365 values). -->
<bool name="config_batterySdCardAccessibility">false</bool>
<integer name="config_overrideHasPermanentMenuKey">2</integer>
<integer name="config_longPressOnHomeBehavior">2</integer>
<!-- The Samsung QCOM modem handles network selection restore itself. -->
<bool name="skip_restoring_network_selection">true</bool>
</resources>
@@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="wifi_tether_configure_ssid_default" translatable="false">Galaxy Tab Active</string>
</resources>
+22
View File
@@ -0,0 +1,22 @@
/boot emmc /dev/block/platform/msm_sdcc.1/by-name/boot
/recovery emmc /dev/block/platform/msm_sdcc.1/by-name/recovery
/system ext4 /dev/block/platform/msm_sdcc.1/by-name/system
/data ext4 /dev/block/platform/msm_sdcc.1/by-name/userdata
/cache ext4 /dev/block/platform/msm_sdcc.1/by-name/cache
/sdcard auto /dev/block/mmcblk1p1 flags=display="MicroSD";storage;wipeingui;removable
/efs ext4 /dev/block/platform/msm_sdcc.1/by-name/efs flags=display="EFS"
/modem emmc /dev/block/platform/msm_sdcc.1/by-name/apnhlos
/mdm emmc /dev/block/platform/msm_sdcc.1/by-name/modem
/preload ext4 /dev/block/platform/msm_sdcc.1/by-name/hidden flags=display="Preload"
### Stock recovery.fstab
# /dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc default recoveryonly
# /dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc default recoveryonly
# /dev/block/platform/msm_sdcc.1/by-name/system /system ext4 default recoveryonly
# /dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 default wait,length=-16384
# /dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 default recoveryonly
# /dev/block/mmcblk1p1 /sdcard vfat default recoveryonly
# /dev/block/platform/msm_sdcc.1/by-name/efs /efs ext4 default recoveryonly
# /dev/block/platform/msm_sdcc.1/by-name/apnhlos /modem emmc default recoveryonly
# /dev/block/platform/msm_sdcc.1/by-name/modem /mdm emmc default recoveryonly
# /dev/block/platform/msm_sdcc.1/by-name/hidden /preload ext4 default recoveryonly
-17
View File
@@ -1,17 +0,0 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := fstab.qcom
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/fstab.qcom
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.target.rc
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.target.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)
-19
View File
@@ -1,19 +0,0 @@
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,errors=panic wait,recoveryonly
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=continue wait,check,formattable,encryptable=footer,length=-16384
# In stock, the following are mounted in init.target.rc. We do it in the fstab.
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=continue wait,check,formattable
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/efs /efs ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware-modem vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/platform/msm_sdcc.1/by-name/apnhlos /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults recoveryonly
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults recoveryonly
/dev/block/platform/msm_sdcc.1/by-name/hidden /preload ext4 defaults recoveryonly
/dev/block/platform/msm_sdcc.1/by-name/fota /misc emmc defaults defaults
/devices/msm_sdcc.2/mmc_host/mmc* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
/devices/platform/msm_hsusb_host/usb* auto auto defaults voldmanaged=usb:auto
# Not done in stock, but newer Android versions might need a bit extra memory.
/dev/block/zram0 none swap defaults zramsize=75%,swapprio=10,notrim
-11
View File
@@ -1,11 +0,0 @@
on boot
# More aggressive swappiness should be good.
write /proc/sys/vm/swappiness 100
# For GNSS (GPS)
chown system system /dev/subsys_modem
chmod 0660 /dev/subsys_modem
mkdir /data/misc/location 0770 gps system
mkdir /data/misc/location/xtra 0770 gps system
mkdir /data/misc/location/gpsone_d 0770 gps system
restorecon_recursive /data/misc/location
-7
View File
@@ -1,7 +0,0 @@
ro.vendor.extension_library=/system/vendor/lib/libqti-perfd-client.so
# The following fixes lots of display glitches.
debug.hwui.use_buffer_age=false
lockscreen.rot_override=true
ro.sf.lcd_density=213
+2
View File
@@ -0,0 +1,2 @@
add_lunch_combo omni_rubenslte-eng
add_lunch_combo omni_rubenslte-userdebug