a32: Initial device tree

This commit is contained in:
AndroidHQ254 2023-09-28 16:51:08 +03:00
commit a7680fac8b
No known key found for this signature in database
GPG key ID: 48008337615EE8A9
53 changed files with 9973 additions and 0 deletions

8
Android.bp Normal file
View file

@ -0,0 +1,8 @@
//
// Copyright (C) 2023 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
soong_namespace {
}

11
Android.mk Normal file
View file

@ -0,0 +1,11 @@
#
# Copyright (C) 2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),a32)
include $(call all-subdir-makefiles,$(LOCAL_PATH))
endif

13
AndroidProducts.mk Normal file
View file

@ -0,0 +1,13 @@
#
# Copyright (C) 2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/lineage_a32.mk
COMMON_LUNCH_CHOICES := \
lineage_a32-user \
lineage_a32-userdebug \
lineage_a32-eng

105
BoardConfig.mk Normal file
View file

@ -0,0 +1,105 @@
#
# Copyright (C) 2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
DEVICE_PATH := device/samsung/a32
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-a
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_ABI2 :=
TARGET_CPU_VARIANT := generic
TARGET_CPU_VARIANT_RUNTIME := cortex-a53
TARGET_2ND_ARCH := arm
TARGET_2ND_ARCH_VARIANT := armv7-a-neon
TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := generic
TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a53
# APEX
DEXPREOPT_GENERATE_APEX_IMAGE := true
# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := a32
TARGET_NO_BOOTLOADER := true
# Display
TARGET_SCREEN_DENSITY := 420
# Kernel
BOARD_BOOTIMG_HEADER_VERSION := 2
BOARD_KERNEL_BASE := 0x40078000
BOARD_KERNEL_CMDLINE := bootopt=64S3,32N2,64N2 loop.max_part=7
BOARD_KERNEL_PAGESIZE := 2048
BOARD_RAMDISK_OFFSET := 0x07c08000
BOARD_KERNEL_TAGS_OFFSET := 0x0bc08000
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOTIMG_HEADER_VERSION)
BOARD_MKBOOTIMG_ARGS += --ramdisk_offset $(BOARD_RAMDISK_OFFSET)
BOARD_MKBOOTIMG_ARGS += --tags_offset $(BOARD_KERNEL_TAGS_OFFSET)
BOARD_KERNEL_IMAGE_NAME := Image
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
BOARD_KERNEL_SEPARATED_DTBO := true
TARGET_KERNEL_CONFIG := a32_defconfig
TARGET_KERNEL_SOURCE := kernel/samsung/a32
# Kernel - prebuilt
TARGET_FORCE_PREBUILT_KERNEL := true
ifeq ($(TARGET_FORCE_PREBUILT_KERNEL),true)
TARGET_PREBUILT_KERNEL := $(DEVICE_PATH)/prebuilts/kernel
TARGET_PREBUILT_DTB := $(DEVICE_PATH)/prebuilts/dtb.img
BOARD_MKBOOTIMG_ARGS += --dtb $(TARGET_PREBUILT_DTB)
BOARD_INCLUDE_DTB_IN_BOOTIMG :=
BOARD_PREBUILT_DTBOIMAGE := $(DEVICE_PATH)/prebuilts/dtbo.img
BOARD_KERNEL_SEPARATED_DTBO :=
endif
# Partitions
BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64)
BOARD_BOOTIMAGE_PARTITION_SIZE := 33554432
BOARD_DTBOIMG_PARTITION_SIZE := 256800
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 33554432
BOARD_SUPER_PARTITION_SIZE := 9126805504 # TODO: Fix hardcoded value
BOARD_SUPER_PARTITION_GROUPS := samsung_dynamic_partitions
BOARD_SAMSUNG_DYNAMIC_PARTITIONS_PARTITION_LIST :=
BOARD_SAMSUNG_DYNAMIC_PARTITIONS_SIZE := 9122611200 # TODO: Fix hardcoded value
# Platform
TARGET_BOARD_PLATFORM := mt6768
# Properties
TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
TARGET_PRODUCT_PROP += $(DEVICE_PATH)/product.prop
TARGET_SYSTEM_EXT_PROP += $(DEVICE_PATH)/system_ext.prop
TARGET_ODM_PROP += $(DEVICE_PATH)/odm.prop
TARGET_ODM_DLKM_PROP += $(DEVICE_PATH)/odm_dlkm.prop
TARGET_VENDOR_DLKM_PROP += $(DEVICE_PATH)/vendor_dlkm.prop
# Recovery
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.ramplus
BOARD_INCLUDE_RECOVERY_DTBO := true
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true
# Security patch level
VENDOR_SECURITY_PATCH := 2021-08-01
# Verified Boot
BOARD_AVB_ENABLE := true
BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --flags 3
BOARD_AVB_RECOVERY_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
BOARD_AVB_RECOVERY_ALGORITHM := SHA256_RSA4096
BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 1
BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1
# VINTF
DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest.xml
# Inherit the proprietary files
include vendor/samsung/a32/BoardConfigVendor.mk

9
README.md Normal file
View file

@ -0,0 +1,9 @@
# Android device tree for samsung SM-A325F (a32)
```
#
# Copyright (C) 2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
```

79
device.mk Normal file
View file

@ -0,0 +1,79 @@
#
# Copyright (C) 2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
# Enable updating of APEXes
$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
# Include GSI keys
$(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk)
# fastbootd
PRODUCT_PACKAGES += \
android.hardware.fastboot@1.1-impl-mock \
fastbootd
# Health
PRODUCT_PACKAGES += \
android.hardware.health@2.1-impl \
android.hardware.health@2.1-impl.recovery \
android.hardware.health@2.1-service
# Overlays
PRODUCT_ENFORCE_RRO_TARGETS := *
# Partitions
PRODUCT_BUILD_SUPER_PARTITION := false
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Product characteristics
PRODUCT_CHARACTERISTICS := default
# Rootdir
PRODUCT_PACKAGES += \
hdm_status.sh \
init.insmod.sh \
install-recovery.sh \
PRODUCT_PACKAGES += \
fstab.ramplus \
factory_init.connectivity.common.rc \
factory_init.connectivity.rc \
factory_init.project.rc \
factory_init.rc \
init.aee.rc \
init.ago.rc \
init.cgroup.rc \
init.connectivity.common.rc \
init.connectivity.rc \
init.modem.rc \
init.mt6768.rc \
init.mt6768.usb.rc \
init.mt6769t.rc \
init.project.rc \
init_connectivity.rc \
meta_init.connectivity.common.rc \
meta_init.connectivity.rc \
meta_init.modem.rc \
meta_init.project.rc \
meta_init.rc \
meta_init.vendor.rc \
multi_init.rc \
init.recovery.mt6768.rc \
init.recovery.mt6769t.rc \
init.recovery.samsung.rc \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rootdir/etc/fstab.ramplus:$(TARGET_COPY_OUT_RAMDISK)/fstab.ramplus
# Shipping API level
PRODUCT_SHIPPING_API_LEVEL := 30
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH)
# Inherit the proprietary files
$(call inherit-product, vendor/samsung/a32/a32-vendor.mk)

61
extract-files.sh Normal file
View file

@ -0,0 +1,61 @@
#!/bin/bash
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
set -e
DEVICE=a32
VENDOR=samsung
# Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
ANDROID_ROOT="${MY_DIR}/../../.."
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
if [ ! -f "${HELPER}" ]; then
echo "Unable to find helper script at ${HELPER}"
exit 1
fi
source "${HELPER}"
# Default to sanitizing the vendor folder before extraction
CLEAN_VENDOR=true
KANG=
SECTION=
while [ "${#}" -gt 0 ]; do
case "${1}" in
-n | --no-cleanup )
CLEAN_VENDOR=false
;;
-k | --kang )
KANG="--kang"
;;
-s | --section )
SECTION="${2}"; shift
CLEAN_VENDOR=false
;;
* )
SRC="${1}"
;;
esac
shift
done
if [ -z "${SRC}" ]; then
SRC="adb"
fi
# Initialize the helper
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
"${MY_DIR}/setup-makefiles.sh"

28
lineage_a32.mk Normal file
View file

@ -0,0 +1,28 @@
#
# Copyright (C) 2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
# Inherit some common Lineage stuff.
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
# Inherit from a32 device
$(call inherit-product, device/samsung/a32/device.mk)
PRODUCT_DEVICE := a32
PRODUCT_NAME := lineage_a32
PRODUCT_BRAND := samsung
PRODUCT_MODEL := SM-A325F
PRODUCT_MANUFACTURER := samsung
PRODUCT_GMS_CLIENTID_BASE := android-samsung-ss
PRODUCT_BUILD_PROP_OVERRIDES += \
PRIVATE_BUILD_DESC="a32xx-user 13 TP1A.220624.014 A325FXXU6DWH3 release-keys"
BUILD_FINGERPRINT := samsung/a32xx/a32:12/SP1A.210812.016/A325FXXU6DWH3:user/release-keys

282
manifest.xml Normal file
View file

@ -0,0 +1,282 @@
<manifest version="4.0" type="device" target-level="5">
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
<fqname>@7.0::IDevicesFactory/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.audio.effect</name>
<transport>hwbinder</transport>
<fqname>@7.0::IEffectsFactory/default</fqname>
</hal>
<hal format="aidl">
<name>android.hardware.biometrics.face</name>
<fqname>IFace/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.bluetooth</name>
<transport>hwbinder</transport>
<fqname>@1.1::IBluetoothHci/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.bluetooth.audio</name>
<transport>hwbinder</transport>
<fqname>@2.1::IBluetoothAudioProvidersFactory/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.camera.provider</name>
<transport>hwbinder</transport>
<fqname>@2.6::ICameraProvider/legacy/0</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.gatekeeper</name>
<transport>hwbinder</transport>
<fqname>@1.0::IGatekeeper/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.gnss</name>
<transport>hwbinder</transport>
<fqname>@1.1::IGnss/default</fqname>
<fqname>@2.1::IGnss/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.allocator</name>
<transport>hwbinder</transport>
<fqname>@4.0::IAllocator/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.composer</name>
<transport>hwbinder</transport>
<fqname>@2.1::IComposer/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.graphics.mapper</name>
<transport arch="32+64">passthrough</transport>
<fqname>@4.0::IMapper/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.keymaster</name>
<transport>hwbinder</transport>
<fqname>@4.0::IKeymasterDevice/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
<fqname>@1.0::IOmx/default</fqname>
<fqname>@1.0::IOmxStore/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.memtrack</name>
<transport>hwbinder</transport>
<fqname>@1.0::IMemtrack/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.radio</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl">
<name>android.hardware.radio</name>
<transport>hwbinder</transport>
<fqname>@1.2::ISap/slot1</fqname>
<fqname>@1.2::ISap/slot2</fqname>
<fqname>@1.5::IRadio/slot1</fqname>
<fqname>@1.5::IRadio/slot2</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.radio.config</name>
<transport>hwbinder</transport>
<fqname>@1.1::IRadioConfig/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.radio.deprecated</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl">
<name>android.hardware.renderscript</name>
<transport arch="32+64">passthrough</transport>
<fqname>@1.0::IDevice/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.tetheroffload.config</name>
<transport>hwbinder</transport>
<fqname>@1.0::IOffloadConfig/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.tetheroffload.control</name>
<transport>hwbinder</transport>
<fqname>@1.1::IOffloadControl/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.thermal</name>
<transport>hwbinder</transport>
<fqname>@1.0::IThermal/default</fqname>
<fqname>@2.0::IThermal/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.aee</name>
<transport>hwbinder</transport>
<fqname>@1.1::IAee/AEE</fqname>
<fqname>@1.1::IAee/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.apmonitor</name>
<transport>hwbinder</transport>
<fqname>@2.0::IApmService/apm_hidl_service</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.atci</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.bluetooth.audio</name>
<transport>hwbinder</transport>
<fqname>@2.2::IBluetoothAudioProvidersFactory/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.camera.isphal</name>
<transport>hwbinder</transport>
<fqname>@1.0::IISPModule/internal/0</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.composer_ext</name>
<transport>hwbinder</transport>
<fqname>@1.0::IComposerExt/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.dmc</name>
<transport>hwbinder</transport>
<fqname>@1.2::IDmcService/dmc_hidl_service</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.log</name>
<transport>hwbinder</transport>
<fqname>@1.0::ILog/ATMWiFiHidlServer</fqname>
<fqname>@1.0::ILog/ConnsysFWHidlServer</fqname>
<fqname>@1.0::ILog/LoggerHidlServer</fqname>
<fqname>@1.0::ILog/MobileLogHidlServer</fqname>
<fqname>@1.0::ILog/ModemLogHidlServer</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.mdmonitor</name>
<transport>hwbinder</transport>
<fqname>@1.0::IMDMonitorService/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.meta</name>
<transport>hwbinder</transport>
<fqname>@1.0::IMetaTst/MetaATDHidlServer</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.mmagent</name>
<transport>hwbinder</transport>
<fqname>@1.1::IMMAgent/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.mms</name>
<transport>hwbinder</transport>
<fqname>@1.6::IMms/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.mtkpower</name>
<transport>hwbinder</transport>
<fqname>@1.2::IMtkPerf/default</fqname>
<fqname>@1.2::IMtkPower/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.mtkradioex</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.netdagent</name>
<transport>hwbinder</transport>
<fqname>@1.0::INetdagent/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.nvram</name>
<transport>hwbinder</transport>
<fqname>@1.1::INvram/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.nwk_opt</name>
<transport>hwbinder</transport>
<fqname>@1.0::INwkOpt/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.mediatek.hardware.videotelephony</name>
<transport>hwbinder</transport>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.audio</name>
<transport>hwbinder</transport>
<fqname>@1.0::ISehDevicesFactory/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.bluetooth</name>
<transport>hwbinder</transport>
<fqname>@2.0::ISehBluetooth/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.bluetooth.audio</name>
<transport>hwbinder</transport>
<fqname>@2.1::ISehBluetoothAudioProvidersFactory/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.gnss</name>
<transport>hwbinder</transport>
<fqname>@2.0::ISehGnss/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.miscpower</name>
<transport>hwbinder</transport>
<fqname>@2.0::ISehMiscPower/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.radio</name>
<transport>hwbinder</transport>
<fqname>@2.2::ISehRadio/slot1</fqname>
<fqname>@2.2::ISehRadio/slot2</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.radio.bridge</name>
<transport>hwbinder</transport>
<fqname>@2.0::ISehBridge/slot1</fqname>
<fqname>@2.0::ISehBridge/slot2</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.radio.channel</name>
<transport>hwbinder</transport>
<fqname>@2.0::ISehChannel/epdgd</fqname>
<fqname>@2.0::ISehChannel/epdgd2</fqname>
<fqname>@2.0::ISehChannel/imsd</fqname>
<fqname>@2.0::ISehChannel/imsd2</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.security.drk</name>
<transport>hwbinder</transport>
<fqname>@2.0::ISehDrk/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.security.skpm</name>
<transport>hwbinder</transport>
<fqname>@1.0::ISehSkpm/default</fqname>
</hal>
<hal format="aidl">
<name>vendor.samsung.hardware.snap</name>
<fqname>ISehSnap/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.sysinput</name>
<transport>hwbinder</transport>
<fqname>@1.3::ISehSysInputDev/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.tlc.payment</name>
<transport>hwbinder</transport>
<fqname>@1.0::ISehTlcPayment/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.wifi.supplicant</name>
<transport>hwbinder</transport>
<fqname>@3.1::ISehSupplicant/default</fqname>
</hal>
</manifest>

1
odm.prop Normal file
View file

@ -0,0 +1 @@
ro.vendor.qti.va_odm.support=0

1
odm_dlkm.prop Normal file
View file

@ -0,0 +1 @@

BIN
prebuilts/dtb.img Normal file

Binary file not shown.

BIN
prebuilts/dtbo.img Normal file

Binary file not shown.

BIN
prebuilts/kernel Normal file

Binary file not shown.

37
product.prop Normal file
View file

@ -0,0 +1,37 @@
bluetooth.device.class_of_device=90,2,12
bluetooth.profile.a2dp.source.enabled=true
bluetooth.profile.asha.central.enabled=false
bluetooth.profile.avrcp.target.enabled=true
bluetooth.profile.bap.broadcast.assist.enabled=false
bluetooth.profile.bap.broadcast.source.enabled=false
bluetooth.profile.bap.unicast.client.enabled=false
bluetooth.profile.bas.client.enabled=false
bluetooth.profile.ccp.server.enabled=false
bluetooth.profile.csip.set_coordinator.enabled=false
bluetooth.profile.gatt.enabled=true
bluetooth.profile.hap.client.enabled=false
bluetooth.profile.hfp.ag.enabled=true
bluetooth.profile.hid.device.enabled=true
bluetooth.profile.hid.host.enabled=true
bluetooth.profile.map.server.enabled=true
bluetooth.profile.mcp.server.enabled=false
bluetooth.profile.opp.enabled=true
bluetooth.profile.pan.nap.enabled=true
bluetooth.profile.pan.panu.enabled=true
bluetooth.profile.pbap.server.enabled=true
bluetooth.profile.sap.server.enabled=true
bluetooth.profile.vcp.controller.enabled=false
persist.bluetooth.bqr.event_mask=0
persist.bluetooth.bqr.min_interval_ms=0
restore.feature.use_samsung_smart_switch_flow=1
ro.com.google.clientidbase=android-samsung-ss
ro.com.google.gmsversion=13_202304
ro.frp.pst=/dev/block/persistent
ro.opa.eligible_device=true
ro.setupwizard.mode=OPTIONAL
ro.setupwizard.rotation_locked=false
ro.setupwizard.wifi_on_exit=false
setupwizard.feature.enable_stencil_partner_customization=1
setupwizard.feature.support_oem_large_screen_landscape_temporary_by_sys_prop=true
setupwizard.phenotype_sync_timeout_ms=90000
setupwizard.theme=glif_v3_light

2178
proprietary-files.txt Normal file

File diff suppressed because it is too large Load diff

66
reorder-libs.py Normal file
View file

@ -0,0 +1,66 @@
#!/usr/bin/env python
#
# Copyright (C) 2021 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
from functools import cmp_to_key
from locale import LC_ALL, setlocale, strcoll
from pathlib import Path
FILES = [Path(file) for file in [
"proprietary-files.txt",
]]
setlocale(LC_ALL, "C")
def strcoll_extract_utils(string1: str, string2: str) -> int:
# Skip logic if one of the string if empty
if not string1 or not string2:
return strcoll(string1, string2)
# Remove '-' from strings if there,
# it is used to indicate a build target
string1 = string1.removeprefix('-')
string2 = string2.removeprefix('-')
# If no directories, compare normally
if not "/" in string1 and not "/" in string2:
return strcoll(string1, string2)
string1_dir = string1.rsplit("/", 1)[0] + "/"
string2_dir = string2.rsplit("/", 1)[0] + "/"
if string1_dir == string2_dir:
# Same directory, compare normally
return strcoll(string1, string2)
if string1_dir.startswith(string2_dir):
# First string dir is a subdirectory of the second one,
# return string1 > string2
return -1
if string2_dir.startswith(string1_dir):
# Second string dir is a subdirectory of the first one,
# return string2 > string1
return 1
# Compare normally
return strcoll(string1, string2)
for file in FILES:
if not file.is_file():
print(f"File {str(file)} not found")
continue
with open(file, 'r') as f:
sections = f.read().split("\n\n")
ordered_sections = []
for section in sections:
section_list = [line.strip() for line in section.splitlines()]
section_list.sort(key=cmp_to_key(strcoll_extract_utils))
ordered_sections.append("\n".join(section_list))
with open(file, 'w') as f:
f.write("\n\n".join(ordered_sections).strip() + "\n")

186
rootdir/Android.bp Normal file
View file

@ -0,0 +1,186 @@
//
// Copyright (C) 2023 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
// Init scripts
sh_binary {
name: "hdm_status.sh",
src: "bin/hdm_status.sh",
vendor: true,
}
sh_binary {
name: "init.insmod.sh",
src: "bin/init.insmod.sh",
vendor: true,
}
sh_binary {
name: "install-recovery.sh",
src: "bin/install-recovery.sh",
vendor: true,
}
// Init configuration files
prebuilt_etc {
name: "factory_init.connectivity.common.rc",
src: "etc/factory_init.connectivity.common.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "factory_init.connectivity.rc",
src: "etc/factory_init.connectivity.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "factory_init.project.rc",
src: "etc/factory_init.project.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "factory_init.rc",
src: "etc/factory_init.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.aee.rc",
src: "etc/init.aee.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.ago.rc",
src: "etc/init.ago.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.cgroup.rc",
src: "etc/init.cgroup.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.connectivity.common.rc",
src: "etc/init.connectivity.common.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.connectivity.rc",
src: "etc/init.connectivity.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.modem.rc",
src: "etc/init.modem.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.mt6768.rc",
src: "etc/init.mt6768.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.mt6768.usb.rc",
src: "etc/init.mt6768.usb.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.mt6769t.rc",
src: "etc/init.mt6769t.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init.project.rc",
src: "etc/init.project.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "init_connectivity.rc",
src: "etc/init_connectivity.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "meta_init.connectivity.common.rc",
src: "etc/meta_init.connectivity.common.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "meta_init.connectivity.rc",
src: "etc/meta_init.connectivity.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "meta_init.modem.rc",
src: "etc/meta_init.modem.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "meta_init.project.rc",
src: "etc/meta_init.project.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "meta_init.rc",
src: "etc/meta_init.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "meta_init.vendor.rc",
src: "etc/meta_init.vendor.rc",
sub_dir: "init/hw",
vendor: true,
}
prebuilt_etc {
name: "multi_init.rc",
src: "etc/multi_init.rc",
sub_dir: "init/hw",
vendor: true,
}
// fstab
prebuilt_etc {
name: "fstab.ramplus",
src: "etc/fstab.ramplus",
vendor: true,
}

33
rootdir/Android.mk Normal file
View file

@ -0,0 +1,33 @@
#
# Copyright (C) 2023 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
LOCAL_PATH := $(call my-dir)
# Recovery init configuration files
include $(CLEAR_VARS)
LOCAL_MODULE := init.recovery.mt6768.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.recovery.mt6768.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.recovery.mt6769t.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.recovery.mt6769t.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.recovery.samsung.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.recovery.samsung.rc
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
include $(BUILD_PREBUILT)

58
rootdir/bin/hdm_status.sh Normal file
View file

@ -0,0 +1,58 @@
#! /vendor/bin/sh
if [ "$#" -ne 1 ]
then
echo "Usage: $0 <hdm_status value>"
exit
fi
count=0
policy=0
array=(1 2 4 8 16 32 64 128 256 512)
name_arry=(cam mmc usb wlan bt gps dis aud cpm sen)
hdm_status=$1
hdm_swblock_status=$(getprop "ro.vendor.hdm.supported.swblock")
echo "hdmstatus = $hdm_status"
echo "hdm supported swblock = $hdm_swblock_status"
HDM_STATUS_SPLIT=$(echo $hdm_status | tr "&|" "\n")
#get hdm policy from ro.boot.hdm_status
for split in $HDM_STATUS_SPLIT
do
count=$((($count + 1)%2))
if [ $count -eq 0 ]; then
split16="0x$split"
echo "split16 = $split16"
policy=$(($policy|$split16))
fi
done
echo "$policy"
hex=$(printf "0x%x" "$policy")
echo "$hex"
#setprop vendor.hdm.status "$hex"
#check sw block
swblock=$(($policy&$hdm_swblock_status))
swblockhex=$(printf "0x%x" "$swblock")
echo "swblockhex = $swblockhex"
setprop vendor.hdm.swblock.status "$swblockhex"
#start sw block
count=0
for isblock in ${array[@]}
do
if [ $(($isblock&$swblock)) -eq $isblock ]; then
echo "swblock enable = ${name_arry[$count]}"
swblockname=$(printf "vendor.hdm.internal.%s" "${name_arry[$count]}")
setprop $swblockname "boot"
fi
count=$(($count + 1))
done

Some files were not shown because too many files have changed in this diff Show more