a32: Initial device tree
This commit is contained in:
commit
a7680fac8b
53 changed files with 9973 additions and 0 deletions
8
Android.bp
Normal file
8
Android.bp
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
//
|
||||
// Copyright (C) 2023 The LineageOS Project
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
soong_namespace {
|
||||
}
|
||||
11
Android.mk
Normal file
11
Android.mk
Normal 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
13
AndroidProducts.mk
Normal 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
105
BoardConfig.mk
Normal 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
9
README.md
Normal 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
79
device.mk
Normal 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
61
extract-files.sh
Normal 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
28
lineage_a32.mk
Normal 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
282
manifest.xml
Normal 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
1
odm.prop
Normal file
|
|
@ -0,0 +1 @@
|
|||
ro.vendor.qti.va_odm.support=0
|
||||
1
odm_dlkm.prop
Normal file
1
odm_dlkm.prop
Normal file
|
|
@ -0,0 +1 @@
|
|||
|
||||
BIN
prebuilts/dtb.img
Normal file
BIN
prebuilts/dtb.img
Normal file
Binary file not shown.
BIN
prebuilts/dtbo.img
Normal file
BIN
prebuilts/dtbo.img
Normal file
Binary file not shown.
BIN
prebuilts/kernel
Normal file
BIN
prebuilts/kernel
Normal file
Binary file not shown.
37
product.prop
Normal file
37
product.prop
Normal 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
2178
proprietary-files.txt
Normal file
File diff suppressed because it is too large
Load diff
66
reorder-libs.py
Normal file
66
reorder-libs.py
Normal 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
186
rootdir/Android.bp
Normal 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
33
rootdir/Android.mk
Normal 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
58
rootdir/bin/hdm_status.sh
Normal 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
Loading…
Reference in a new issue