gts3l-common to msm8996-common

This commit is contained in:
ivanmeler 2022-12-01 14:19:46 +00:00
parent 5b80ec6669
commit c5afdb6c1d
30 changed files with 36 additions and 368 deletions

View file

@ -25,7 +25,7 @@
LOCAL_PATH := $(call my-dir)
ifneq ($(filter gts3llte gts3lwifi,$(TARGET_DEVICE)),)
ifneq ($(filter heroqlte hero2qlte,$(TARGET_DEVICE)),)
include $(call all-makefiles-under,$(LOCAL_PATH))

View file

@ -1,17 +0,0 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := AudioRotationMonitor
LOCAL_CERTIFICATE := platform
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
include $(BUILD_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))

View file

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.lineageos.audiorotationmonitor"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="android.uid.system">
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="21" />
<application
android:label="AudioRotationMonitor"
android:persistent="true">
<receiver android:name="org.lineageos.audiorotationmonitor.BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<service android:name="org.lineageos.audiorotationmonitor.DisplayListenerService"
android:permission="AudioRotationMonitorService">
</service>
</application>
</manifest>

View file

@ -1,3 +0,0 @@
-keep class org.lineageos.audiorotationmonitor.* {
*;
}

View file

@ -1,14 +0,0 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := set-audio-rotation
LOCAL_MODULE_TAGS := optional
LOCAL_INIT_RC := set-audio-rotation.rc
LOCAL_SRC_FILES := \
set-audio-rotation.cpp
LOCAL_SHARED_LIBRARIES := \
libbase \
libtinyalsa
include $(BUILD_EXECUTABLE)

View file

@ -1,79 +0,0 @@
/*
* Copyright (C) 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.
*/
#define LOG_TAG "set-audio-rotation"
#include <android-base/logging.h>
#include <tinyalsa/asoundlib.h>
constexpr int SLOT_POSITIONS_0[] = { 0, 1, 0, 1 };
constexpr int SLOT_POSITIONS_90[] = { 1, 1, 0, 0 };
constexpr int SLOT_POSITIONS_180[] = { 1, 0, 1, 0 };
constexpr int SLOT_POSITIONS_270[] = { 0, 0, 1, 1 };
void setMixerValueByName(mixer *mixer, const char *name, int value) {
const auto ctl = mixer_get_ctl_by_name(mixer, name);
if (ctl == nullptr) {
LOG(ERROR) << "Failed to find mixer ctl for " << name;
return;
}
if (mixer_ctl_set_value(ctl, 0, value) < 0) {
LOG(ERROR) << "Failed to set ctl value " << value << " for " << name;
return;
}
}
void setSlotPositions(const int *values) {
const auto mixer = mixer_open(0);
if (mixer == nullptr) {
LOG(ERROR) << "Failed to open mixer";
return;
}
setMixerValueByName(mixer, "ExtSPK LL TDM_ADC_SEL", values[0]);
setMixerValueByName(mixer, "ExtSPK LR TDM_ADC_SEL", values[1]);
setMixerValueByName(mixer, "ExtSPK UL TDM_ADC_SEL", values[2]);
setMixerValueByName(mixer, "ExtSPK UR TDM_ADC_SEL", values[3]);
setMixerValueByName(mixer, "ExtSPK LL TDM_DAC_SEL", values[0]);
setMixerValueByName(mixer, "ExtSPK LR TDM_DAC_SEL", values[1]);
setMixerValueByName(mixer, "ExtSPK UL TDM_DAC_SEL", values[2]);
setMixerValueByName(mixer, "ExtSPK UR TDM_DAC_SEL", values[3]);
mixer_close(mixer);
};
int main(int argc, char **argv) {
if (argc != 2) {
return -1;
}
if (strcmp(argv[1], "0") == 0) {
setSlotPositions(SLOT_POSITIONS_0);
} else if (strcmp(argv[1], "1") == 0) {
setSlotPositions(SLOT_POSITIONS_90);
} else if (strcmp(argv[1], "2") == 0) {
setSlotPositions(SLOT_POSITIONS_180);
} else if (strcmp(argv[1], "3") == 0) {
setSlotPositions(SLOT_POSITIONS_270);
} else {
return -1;
}
return 0;
}

View file

@ -1,2 +0,0 @@
on property:sys.audio.rotation=*
exec - root audio -- /system/bin/set-audio-rotation ${sys.audio.rotation}

View file

@ -1,32 +0,0 @@
/*
* Copyright (c) 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.
*/
package org.lineageos.audiorotationmonitor;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class BootCompletedReceiver extends BroadcastReceiver {
private static final String TAG = "AudioRotationMonitor";
@Override
public void onReceive(final Context context, Intent intent) {
Log.d(TAG, "Starting");
context.startService(new Intent(context, DisplayListenerService.class));
}
}

View file

@ -1,89 +0,0 @@
/*
* Copyright (c) 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.
*/
package org.lineageos.audiorotationmonitor;
import android.content.Context;
import android.hardware.display.DisplayManager;
import android.os.Handler;
import android.os.SystemProperties;
import android.util.Log;
import android.view.Surface;
import android.view.WindowManager;
public class DisplayListener implements DisplayManager.DisplayListener {
private static final boolean DEBUG = true;
private static final String TAG = "DisplayListener";
private static final String AUDIO_ROTATION_PROP = "sys.audio.rotation";
private Context mContext;
private Handler mHandler;
private DisplayManager mDisplayManager;
private WindowManager mWindowManager;
private final Object mRotationLock = new Object();
private int mDeviceRotation = Surface.ROTATION_0;
public DisplayListener(Context context) {
mContext = context;
mHandler = new Handler();
mDisplayManager = mContext.getSystemService(DisplayManager.class);
mWindowManager = mContext.getSystemService(WindowManager.class);
}
@Override
public void onDisplayAdded(int displayId) {
if (DEBUG) Log.d(TAG, "onDisplayAdded");
}
@Override
public void onDisplayRemoved(int displayId) {
if (DEBUG) Log.d(TAG, "onDisplayRemoved");
}
@Override
public void onDisplayChanged(int displayId) {
if (DEBUG) Log.d(TAG, "onDisplayChanged");
updateOrientation();
}
private void updateOrientation() {
// Even though we're responding to device orientation events,
// use display rotation so audio stays in sync with video/dialogs
int newRotation = mWindowManager.getDefaultDisplay().getRotation();
synchronized (mRotationLock) {
if (newRotation != mDeviceRotation) {
mDeviceRotation = newRotation;
SystemProperties.set(AUDIO_ROTATION_PROP, String.valueOf(mDeviceRotation));
}
}
}
public void enable() {
if (DEBUG) Log.d(TAG, "Enabling");
mDisplayManager.registerDisplayListener(this, mHandler);
updateOrientation();
}
public void disable() {
if (DEBUG) Log.d(TAG, "Disabling");
mDisplayManager.unregisterDisplayListener(this);
}
}

View file

@ -1,54 +0,0 @@
/*
* Copyright (c) 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.
*/
package org.lineageos.audiorotationmonitor;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class DisplayListenerService extends Service {
private static final String TAG = "DisplayListenerService";
private static final boolean DEBUG = true;
private DisplayListener mDisplayListener;
@Override
public void onCreate() {
if (DEBUG) Log.d(TAG, "Creating service");
mDisplayListener = new DisplayListener(this);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (DEBUG) Log.d(TAG, "Starting service");
mDisplayListener.enable();
return START_STICKY;
}
@Override
public void onDestroy() {
if (DEBUG) Log.d(TAG, "Destroying service");
mDisplayListener.disable();
super.onDestroy();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}

View file

@ -17,7 +17,7 @@
BOARD_VENDOR := samsung
COMMON_PATH := device/samsung/gts3l-common
COMMON_PATH := device/samsung/msm8996-common
# Architecture
TARGET_ARCH := arm64
@ -42,7 +42,8 @@ TARGET_NO_BOOTLOADER := true
# Kernel
BOARD_KERNEL_BASE := 0x80000000
BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7464900.sdhci lpm_levels.sleep_disabled=1 rcupdate.rcu_expedited=1 cma=32M@0-0xffffffff loop.max_part=7
BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=746900.sdhci lpm_levels.sleep_disabled=1 rcupdate.rcu_expedited=1 cma=32M@0-0xffffffff
#BOARD_KERNEL_CMDLINE := loop.max_part=7
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
BOARD_KERNEL_PAGESIZE := 4096

View file

@ -1,4 +1,4 @@
# Common Device Tree for Samsung Galaxy Tab S3
# Common Device Tree for Samsung S7 QCOM
## Copyright
@ -6,6 +6,7 @@
Copyright (C) 2017 The LineageOS Project
Copyright (C) 2018-2020 Valera Chigir <valera1978@tut.by>
Copyright (C) 2021-2022 Deokgyu Yang <secugyu@gmail.com>
Copyright (C) 2022 Ivan Meler <i_ivan@windowslive.com>
```
## License

View file

@ -22,7 +22,7 @@
#ifndef _BDROID_BUILDCFG_H
#define _BDROID_BUILDCFG_H
#define BTM_DEF_LOCAL_NAME "Samsung Galaxy Tab S3"
#define BTM_DEF_LOCAL_NAME "Samsung Galaxy S7"
#define BLUETOOTH_QTI_SW TRUE
#define MAX_ACL_CONNECTIONS 16
#define MAX_L2CAP_CHANNELS 16

View file

@ -31,8 +31,8 @@ LOCAL_SHARED_LIBRARIES := \
libutils \
android.hardware.light@2.0
LOCAL_MODULE := android.hardware.light@2.0-service.gts3l
LOCAL_INIT_RC := android.hardware.light@2.0-service.gts3l.rc
LOCAL_MODULE := android.hardware.light@2.0-service.msm8996
LOCAL_INIT_RC := android.hardware.light@2.0-service.msm8996.rc
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_OWNER := samsung

View file

@ -1,4 +1,4 @@
service vendor.light-hal-2-0 /vendor/bin/hw/android.hardware.light@2.0-service.gts3l
service vendor.light-hal-2-0 /vendor/bin/hw/android.hardware.light@2.0-service.msm8996
interface android.hardware.light@2.0::ILight default
class hal
user system

View file

@ -29,7 +29,7 @@
#define PANEL_MAX_BRIGHTNESS_NODE "/sys/class/leds/lcd-backlight/max_brightness"
#define BUTTON_BRIGHTNESS_NODE "/sys/class/sec/sec_touchkey/brightness"
// Those two paths don't exist in the Galaxy Tab S3 sysfs
// Those two paths don't exist in the Galaxy S7 QCOM sysfs
#define LED_BLINK_NODE "/sys/class/sec/led/led_blink"
#define LED_BLN_NODE "/sys/class/misc/backlightnotification/notification_led"

View file

@ -13,7 +13,7 @@
// limitations under the License.
cc_defaults {
name: "livedisplay_samsung_gts3l_defaults",
name: "livedisplay_samsung_msm8996_defaults",
defaults: ["hidl_defaults"],
relative_install_path: "hw",
srcs: [
@ -31,8 +31,8 @@ cc_defaults {
}
cc_binary {
name: "vendor.lineage.livedisplay@2.0-service.gts3l",
init_rc: ["vendor.lineage.livedisplay@2.0-service.gts3l.rc"],
defaults: ["livedisplay_samsung_gts3l_defaults"],
name: "vendor.lineage.livedisplay@2.0-service.msm8996",
init_rc: ["vendor.lineage.livedisplay@2.0-service.msm8996.rc"],
defaults: ["livedisplay_samsung_msm8996_defaults"],
vendor: true,
}

View file

@ -1,7 +1,7 @@
on post-fs-data
mkdir /data/vendor/display 0770 system system
service livedisplay-hal-2-0-gts3l /vendor/bin/hw/vendor.lineage.livedisplay@2.0-service.gts3l
service livedisplay-hal-2-0-msm8996 /vendor/bin/hw/vendor.lineage.livedisplay@2.0-service.msm8996
class late_start
user system
group system

View file

@ -15,10 +15,10 @@
# limitations under the License.
#
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_n.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_m.mk)
# Get non-open-source specific aspects
$(call inherit-product-if-exists, vendor/samsung/gts3l-common/gts3l-common-vendor.mk)
$(call inherit-product-if-exists, vendor/samsung/msm8996-common/msm8996-common-vendor.mk)
# Overlays
DEVICE_PACKAGE_OVERLAYS += \
@ -31,11 +31,8 @@ PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := xhdpi
# Boot animation
TARGET_SCREEN_HEIGHT := 2048
TARGET_SCREEN_WIDTH := 1536
# Device characteristics
PRODUCT_CHARACTERISTICS := tablet
TARGET_SCREEN_HEIGHT := 2560
TARGET_SCREEN_WIDTH := 1440
# Permissions
PRODUCT_COPY_FILES += \
@ -100,9 +97,7 @@ PRODUCT_PACKAGES += \
libqcomvoiceprocessing \
libvolumelistener \
tinymix \
libaudioprimary_shim \
AudioRotationMonitor \
set-audio-rotation
libaudioprimary_shim
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/audio/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio/audio_policy_configuration.xml \
@ -135,7 +130,7 @@ PRODUCT_PACKAGES += \
Snap
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/camera/msm8996_camera_gts3.xml:$(TARGET_COPY_OUT_VENDOR)/firmware/msm8996_camera_gts3.xml \
$(LOCAL_PATH)/camera/msm8996_camera_heroq.xml:$(TARGET_COPY_OUT_VENDOR)/firmware/msm8996_camera_gts3.xml \
$(LOCAL_PATH)/camera/N05QL_s5k5e3yx_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/firmware/N05QL_s5k5e3yx_chromatix.xml \
$(LOCAL_PATH)/camera/W13QS_imx258_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/firmware/W13QS_imx258_chromatix.xml
@ -251,11 +246,11 @@ PRODUCT_PACKAGES += \
# Lights
PRODUCT_PACKAGES += \
android.hardware.light@2.0-service.gts3l
android.hardware.light@2.0-service.msm8996
# LiveDisplay
PRODUCT_PACKAGES += \
vendor.lineage.livedisplay@2.0-service.gts3l
vendor.lineage.livedisplay@2.0-service.msm8996
# Media
PRODUCT_COPY_FILES += \
@ -393,7 +388,7 @@ PRODUCT_PACKAGES += \
# Touch
PRODUCT_PACKAGES += \
vendor.lineage.touch@1.0-service.gts3l
vendor.lineage.touch@1.0-service.msm8996
# Trust HAL
PRODUCT_PACKAGES += \

View file

@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.networkstack.tethering.samsung_gts3l"
package="com.android.networkstack.tethering.samsung_msm8996"
android:versionCode="1"
android:versionName="1.0">
<application android:hasCode="false" />

View file

@ -15,7 +15,7 @@
-->
<!-- Pixel specific wifi overlays -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.wifi.resources.samsung_gts3l"
package="com.android.wifi.resources.samsung_msm8996"
android:versionCode="1"
android:versionName="1.0">
<application android:hasCode="false" />

View file

@ -19,7 +19,6 @@
/(vendor|system/vendor)/bin/hw/macloader u:object_r:macloader_exec:s0
/(vendor|system/vendor)/bin/secril_config_svc u:object_r:secril_config_svc_exec:s0
/system/bin/lpm u:object_r:charger_exec:s0
/system/bin/set-audio-rotation u:object_r:set-audio-rotation_exec:s0
# CPU tunable for EAS
/sys/devices/system/cpu/cpu[0-3]/cpufreq/schedutil(/.*)? u:object_r:sysfs_devices_system_cpu:s0
@ -178,8 +177,8 @@
/(vendor|system/vendor)/bin/hw/android\.hardware\.light@2\.0-service\.samsung u:object_r:hal_light_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.usb@1\.2-service-qti u:object_r:hal_usb_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.fastcharge@1\.0-service\.samsung u:object_r:hal_lineage_fastcharge_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.livedisplay@2\.0-service\.gts3l u:object_r:hal_lineage_livedisplay_sysfs_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.touch@1\.0-service\.gts3l u:object_r:hal_lineage_touch_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.livedisplay@2\.0-service\.msm8996 u:object_r:hal_lineage_livedisplay_sysfs_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.touch@1\.0-service\.msm8996 u:object_r:hal_lineage_touch_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.samsung\.hardware\.miscpower@1\.0-service u:object_r:hal_power_default_exec:s0
# Rootfs

View file

@ -1,8 +0,0 @@
type set-audio-rotation, domain, coredomain;
type set-audio-rotation_exec, exec_type, file_type;
init_daemon_domain(set-audio-rotation)
# Allow set-audio-rotation to read and write to audio_device
allow set-audio-rotation audio_device:dir r_dir_perms;
allow set-audio-rotation audio_device:chr_file rw_file_perms;

View file

@ -25,7 +25,7 @@ source "${HELPER}"
setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true
# Warning headers and guards
write_headers "gts3llte gts3lwifi"
write_headers "heroqlte hero2qlte"
# The standard common blobs
write_makefiles "${MY_DIR}/proprietary-files.txt" true

View file

@ -273,7 +273,7 @@ thermal_module_t HAL_MODULE_INFO_SYM = {
.module_api_version = THERMAL_HARDWARE_MODULE_API_VERSION_0_1,
.hal_api_version = HARDWARE_HAL_API_VERSION,
.id = THERMAL_HARDWARE_MODULE_ID,
.name = "Galaxy Tab S3 Thermal HAL",
.name = "Galaxy S7 QCOM Thermal HAL",
.author = "The Android Open Source Project",
.methods = &thermal_module_methods,
},

View file

@ -13,9 +13,9 @@
// limitations under the License.
cc_binary {
name: "vendor.lineage.touch@1.0-service.gts3l",
init_rc: ["vendor.lineage.touch@1.0-service.gts3l.rc"],
vintf_fragments: ["vendor.lineage.touch@1.0-service.gts3l.xml"],
name: "vendor.lineage.touch@1.0-service.msm8996",
init_rc: ["vendor.lineage.touch@1.0-service.msm8996.rc"],
vintf_fragments: ["vendor.lineage.touch@1.0-service.msm8996.xml"],
defaults: ["hidl_defaults"],
relative_install_path: "hw",
vendor: true,

View file

@ -14,7 +14,7 @@
* limitations under the License.
*/
#define LOG_TAG "vendor.lineage.touch@1.0-service.gts3l"
#define LOG_TAG "vendor.lineage.touch@1.0-service.msm8996"
#include <android-base/logging.h>
#include <hidl/HidlTransportSupport.h>

View file

@ -3,7 +3,7 @@ on init
chown system system /sys/class/sec/sec_touchkey/input/enabled
chmod 0660 /sys/class/sec/sec_touchkey/input/enabled
service vendor.touch-hal-1-0 /vendor/bin/hw/vendor.lineage.touch@1.0-service.gts3l
service vendor.touch-hal-1-0 /vendor/bin/hw/vendor.lineage.touch@1.0-service.msm8996
class hal
user system
group system