Skip to content

Commit

Permalink
init for aospdtgen
Browse files Browse the repository at this point in the history
  • Loading branch information
Ling0925 committed Jun 3, 2024
0 parents commit 83adfaa
Show file tree
Hide file tree
Showing 67 changed files with 30,115 additions and 0 deletions.
8 changes: 8 additions & 0 deletions Android.bp
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
//
// Copyright (C) 2024 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//

soong_namespace {
}
11 changes: 11 additions & 0 deletions Android.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#
# Copyright (C) 2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#

LOCAL_PATH := $(call my-dir)

ifeq ($(TARGET_DEVICE),NX769J)
include $(call all-subdir-makefiles,$(LOCAL_PATH))
endif
13 changes: 13 additions & 0 deletions AndroidProducts.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#
# Copyright (C) 2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#

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

COMMON_LUNCH_CHOICES := \
lineage_NX769J-user \
lineage_NX769J-userdebug \
lineage_NX769J-eng
102 changes: 102 additions & 0 deletions BoardConfig.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
#
# Copyright (C) 2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#

DEVICE_PATH := device/nubia/NX769J

# A/B
AB_OTA_UPDATER := true
AB_OTA_PARTITIONS +=
BOARD_USES_RECOVERY_AS_BOOT := true

# 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 := kryo300

# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := pineapple
TARGET_NO_BOOTLOADER := true

# Display
TARGET_SCREEN_DENSITY := 480

# Kernel
BOARD_BOOTIMG_HEADER_VERSION := 4
BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_CMDLINE := video=vfb:640x400,bpp=32,memsize=3072000 nosoftlockup bootconfig
BOARD_KERNEL_PAGESIZE := 4096
BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOTIMG_HEADER_VERSION)
BOARD_KERNEL_IMAGE_NAME := Image
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
BOARD_KERNEL_SEPARATED_DTBO := true
TARGET_KERNEL_CONFIG := NX769J_defconfig
TARGET_KERNEL_SOURCE := kernel/nubia/NX769J

# 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 := 262144 # (BOARD_KERNEL_PAGESIZE * 64)
BOARD_BOOTIMAGE_PARTITION_SIZE := 100663296
BOARD_DTBOIMG_PARTITION_SIZE := 8388608
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 104857600
BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE := 8388608
BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 100663296
BOARD_SUPER_PARTITION_SIZE := 9126805504 # TODO: Fix hardcoded value
BOARD_SUPER_PARTITION_GROUPS := nubia_dynamic_partitions
BOARD_NUBIA_DYNAMIC_PARTITIONS_PARTITION_LIST :=
BOARD_NUBIA_DYNAMIC_PARTITIONS_SIZE := 9122611200 # TODO: Fix hardcoded value

# Platform
TARGET_BOARD_PLATFORM := pineapple

# 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_SYSTEM_DLKM_PROP += $(DEVICE_PATH)/system_dlkm.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.enableswap_wb_100_4
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
TARGET_USERIMAGES_USE_EXT4 := true
TARGET_USERIMAGES_USE_F2FS := true

# Security patch level
VENDOR_SECURITY_PATCH := 2024-03-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
BOARD_AVB_VENDOR_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
BOARD_AVB_VENDOR_BOOT_ALGORITHM := SHA256_RSA4096
BOARD_AVB_VENDOR_BOOT_ROLLBACK_INDEX := 1
BOARD_AVB_VENDOR_BOOT_ROLLBACK_INDEX_LOCATION := 1

# VINTF
DEVICE_MANIFEST_FILE += $(DEVICE_PATH)/manifest.xml

# Inherit the proprietary files
include vendor/nubia/NX769J/BoardConfigVendor.mk
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Android device tree for nubia NX769J (NX769J)

```
#
# Copyright (C) 2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
```
109 changes: 109 additions & 0 deletions device.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
#
# Copyright (C) 2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#

# Enable updating of APEXes
$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)

# A/B
$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk)

PRODUCT_PACKAGES += \
[email protected] \
[email protected] \
[email protected]

PRODUCT_PACKAGES += \
update_engine \
update_engine_sideload \
update_verifier

PRODUCT_PACKAGES += \
checkpoint_gc \
otapreopt_script

# API levels
BOARD_API_LEVEL := 34
PRODUCT_SHIPPING_API_LEVEL := 34

# fastbootd
PRODUCT_PACKAGES += \
[email protected] \
fastbootd

# Health
PRODUCT_PACKAGES += \
[email protected] \
[email protected]

# Overlays
PRODUCT_ENFORCE_RRO_TARGETS := *

# Partitions
PRODUCT_USE_DYNAMIC_PARTITIONS := true

# Product characteristics
PRODUCT_CHARACTERISTICS := nosdcard

# Rootdir
PRODUCT_PACKAGES += \
dcc_extension.sh \
init.class_main.sh \
init.crda.sh \
init.kernel.post_boot-pineapple.sh \
init.kernel.post_boot.sh \
init.mdm.sh \
init.qcom.class_core.sh \
init.qcom.coex.sh \
init.qcom.early_boot.sh \
init.qcom.efs.sync.sh \
init.qcom.post_boot.sh \
init.qcom.sdio.sh \
init.qcom.sensors.sh \
init.qcom.sh \
init.qcom.usb.sh \
init.qti.display_boot.sh \
init.qti.kernel.debug-pineapple.sh \
init.qti.kernel.debug.sh \
init.qti.kernel.early_debug-pineapple.sh \
init.qti.kernel.early_debug.sh \
init.qti.kernel.sh \
init.qti.media.sh \
init.qti.qcv.sh \
init.qti.write.sh \
init.ssdaemon_vendor.sh \
init.zte.post_boot.sh \
qca6234-service.sh \
start_wifi_sniffer_log.sh \
stop_wifi_sniffer_log.sh \
system_dlkm_modprobe.sh \
vendor_modprobe.sh \

PRODUCT_PACKAGES += \
fstab.enableswap_wb_100_4 \
init.fingerprint.gf95xx.rc \
init.qcom.factory.rc \
init.qcom.rc \
init.qcom.usb.rc \
init.qti.kernel.rc \
init.qti.kernel.test.rc \
init.qti.ufs.rc \
init.target.rc \
init.vendor.rc \
init.vendor.usb.rc \
init.recovery.qcom.rc \

PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rootdir/etc/fstab.enableswap_wb_100_4:$(TARGET_VENDOR_RAMDISK_OUT)/first_stage_ramdisk/fstab.enableswap_wb_100_4

# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH)

DEVICE_MANIFEST_FILE := vendor/nubia/NX769J/proprietary/vendor/etc/vintf/manifest_pineapple.xml


# Inherit the proprietary files
$(call inherit-product, vendor/nubia/NX769J/NX769J-vendor.mk)
61 changes: 61 additions & 0 deletions extract-files.sh
Original file line number Diff line number Diff line change
@@ -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=NX769J
VENDOR=nubia

# 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 changes: 28 additions & 0 deletions lineage_NX769J.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#
# Copyright (C) 2024 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 NX769J device
$(call inherit-product, device/nubia/NX769J/device.mk)

PRODUCT_DEVICE := NX769J
PRODUCT_NAME := lineage_NX769J
PRODUCT_BRAND := nubia
PRODUCT_MODEL := NX769J
PRODUCT_MANUFACTURER := nubia

PRODUCT_GMS_CLIENTID_BASE := android-zte

PRODUCT_BUILD_PROP_OVERRIDES += \
PRIVATE_BUILD_DESC="NX769J-user 14 UKQ1.230917.001 20240315.170858 release-keys"

BUILD_FINGERPRINT := nubia/NX769J/NX769J:14/UKQ1.230917.001/20240315.170858:user/release-keys
2 changes: 2 additions & 0 deletions manifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<manifest version="None" type="None" target-level="None">
</manifest>
1 change: 1 addition & 0 deletions odm.prop
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ro.vendor.qti.va_odm.support=1
1 change: 1 addition & 0 deletions odm_dlkm.prop
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Binary file added prebuilts/dtb.img
Binary file not shown.
Binary file added prebuilts/dtbo.img
Binary file not shown.
Binary file added prebuilts/kernel
Binary file not shown.
30 changes: 30 additions & 0 deletions product.prop
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
aaudio.hw_burst_min_usec=2000
aaudio.mmap_exclusive_policy=2
aaudio.mmap_policy=2
af.fast_track_multiplier=1
audio.deep_buffer.media=true
audio.offload.min.duration.secs=30
audio.offload.video=true
audio.sys.mute.latency.factor=2
audio.sys.noisy.broadcast.delay=500
audio.sys.offload.pstimeout.secs=3
audio.sys.routing.latency=0
bluetooth.profile.a2dp.source.enabled=true
bluetooth.profile.asha.central.enabled=true
bluetooth.profile.avrcp.controller.enabled=true
bluetooth.profile.avrcp.target.enabled=true
bluetooth.profile.gatt.enabled=true
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.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=false
media.stagefright.audio.deep=false
ro.af.client_heap_size_kbyte=7168
ro.dalvik.vm.enable_uffd_gc=false
ro.product.ab_ota_partitions=product,pvmfw,system,system_ext,vbmeta_system
ro.product.cpu.pagesize.max=4096
Loading

0 comments on commit 83adfaa

Please sign in to comment.