Compare commits

...

28 Commits

Author SHA1 Message Date
Jens Lody 070d8ce0bb Shishufy the build. 9 months ago
Simon1511 8cd10872fb a52q: switch to AIDL fingerprint HAL 9 months ago
Tim Zimmermann 6a5d33288f a52q: Switch to hardware/samsung camera provider HAL 9 months ago
Simon1511 ca845259c0 a52q: pull everything from A525FXXU6EWL3 (U) 9 months ago
Ruchit d260e2021a a52q: Bump dependencies 9 months ago
Ruchit 8b583502a6 a52q: Rebrand defconfig 9 months ago
Ruchit 77c2a47ba5 a52q: A525FXXU6DWH2 9 months ago
Ruchit 8be0883490 a52q: A525FXXS6DWG2 9 months ago
Simon1511 217ec831fb a52q: A525FXXS5DWD1 9 months ago
Simon1511 5223a075eb a52q: Fully redo extract-files and setup-makesfiles scripts 9 months ago
Simon1511 820e9c073a a52q: A525FXXU4CVJB 9 months ago
Ruchit Marathe d55a4e437f a52q: overlay: set power button location for lock animation 9 months ago
LuK1337 69736853a4 a52q: Set a default Settings.Global.DEVICE_NAME 9 months ago
Simon1511 54807c93e0 a52q: Replace LOCAL_PATH with DEVICE_PATH 9 months ago
Sal Savage 86ad649dfb a52q: Replace BTM_DEF_LOCAL_NAME with a sysprop 9 months ago
Ruchit Marathe 2c3c9b719a a52q: dependencies: Update for thirteen 2 years ago
Ruchit af559e411d a52q: Build PE recovery 2 years ago
Henrique Silva 80dd40335f
a52q: Format aosp.dependencies 2 years ago
Ruchit 3b640d267e a52q: Fix aosp.dependencies 2 years ago
Ruchit Marathe 43aaf868b5 a52q: drop android_ from trees 2 years ago
Ruchit d78dd580d0 a52q: Use twelve common branch 2 years ago
Simon1511 69edc4a363 a52q: Move camera.qcom out of common tree 2 years ago
Simon1511 1a389a7509 a52q: Move fingerprint into tree 2 years ago
Ruchit Marathe 2486a41856 a52q: A525FXXU4BVG1 2 years ago
Ruchit 62c0fea638 a52q: Define TARGET_BOOT_ANIMATION_RES to 1080p 2 years ago
Ruchit Marathe 0e1bec3273 a52q: Fix adaptive brightness not being stable 2 years ago
Ruchit Marathe 71a161fa41
Add Device information 2 years ago
Ryzen5950XT 648ddc399a PE bringup 3 years ago
  1. 8
      AndroidProducts.mk
  2. 13
      BoardConfig.mk
  3. 23
      README.md
  4. 14
      aosp.dependencies
  5. 55
      aosp_a52q.mk
  6. 14
      bootleg_a52q.mk
  7. 95
      configs/audio/mixer_paths.xml
  8. 6
      device.mk
  9. 64
      extract-files.sh
  10. 6
      lineage.dependencies
  11. 7
      overlay/frameworks/base/core/res/res/values/config.xml
  12. 22
      overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
  13. 19
      overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
  14. 4
      proprietary-files.txt
  15. 45
      setup-makefiles.sh
  16. 7
      vendor.prop

@ -14,9 +14,9 @@
# limitations under the License. # limitations under the License.
PRODUCT_MAKEFILES := \ PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/lineage_a52q.mk $(LOCAL_DIR)/bootleg_a52q.mk
COMMON_LUNCH_CHOICES := \ COMMON_LUNCH_CHOICES := \
lineage_a52q-userdebug \ bootleg_a52q-userdebug \
lineage_a52q-user \ bootleg_a52q-user \
lineage_a52q-eng bootleg_a52q-eng

@ -14,16 +14,25 @@
# limitations under the License. # limitations under the License.
# #
LOCAL_PATH := device/samsung/a52q DEVICE_PATH := device/samsung/a52q
include device/samsung/sm7125-common/BoardConfigCommon.mk include device/samsung/sm7125-common/BoardConfigCommon.mk
# Kernel # Kernel
TARGET_KERNEL_CONFIG := vendor/lineage-a52q_defconfig TARGET_KERNEL_CONFIG := vendor/pixel_experience-a52q_defconfig
BOARD_NAME := SRPTH31C002 BOARD_NAME := SRPTH31C002
# Camera
SOONG_CONFIG_NAMESPACES += samsungCameraVars
SOONG_CONFIG_samsungCameraVars += extra_ids
# ID=54 is macro
SOONG_CONFIG_samsungCameraVars_extra_ids := 54
# Display # Display
TARGET_SCREEN_DENSITY := 420 TARGET_SCREEN_DENSITY := 420
# OTA assert # OTA assert
TARGET_OTA_ASSERT_DEVICE := a52q TARGET_OTA_ASSERT_DEVICE := a52q
# Properties
TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop

@ -0,0 +1,23 @@
The Samsung Galaxy A52 4G is a mid range phone from Samsung released in March 2021
Device specifications
Device | Samsung Galaxy A52 4G
:-------------: |:-------------:
SoC | Qualcomm SM7125 Snapdragon 720G
CPU | Octa-core (2x2.3 GHz Kryo 465 Gold & 6x1.8 GHz Kryo 465 Silver)
GPU | Adreno 618
Memory | 4GB, 6GB, 8GB
Shipped Android version | Android 11
Storage | 128GB, 256GB
MicroSD | microSDXC (uses shared SIM slot)
Battery | Li-Po 4500 mAh, non-removable
Dimensions | 159.9 x 75.1 x 8.4 mm
Display | 1080 x 2400 pixels, 20:9 ratio (~407 ppi density)
Rear camera 1 | 64 MP, f/1.8, 26mm (wide), 1/1.7", 0.8µm, PDAF, OIS
Rear camera 2 | 12 MP, f/2.2, 123˚ (ultrawide), 1.12µm
Rear camera 3 | 5 MP, f/2.4, (macro)
Front camera | 32 MP, f/2.2, 26mm (wide), 1/2.8", 0.8µm
Image
![alt text](https://fdn2.gsmarena.com/vv/bigpic/samsung-galaxy-a52-4g.jpg "Samsung Galaxy A52 4G")

@ -0,0 +1,14 @@
[
{
"repository":"vendor_samsung_a52q",
"target_path":"vendor/samsung/a52q",
"branch":"fourteen",
"remote":"pixel-devices-blobs"
},
{
"repository":"device_samsung_sm7125-common",
"target_path":"device/samsung/sm7125-common",
"branch":"fourteen",
"remote":"pixel-devices"
}
]

@ -0,0 +1,55 @@
#
# Copyright (C) 2021 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.
#
# Inherit device configuration
$(call inherit-product, device/samsung/a52q/device.mk)
# Inherit from the 64 bit configuration
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
# Inherit from the common Open Source product configuration
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
# Inherit some common Lineage stuff
$(call inherit-product, vendor/aosp/config/common_full_phone.mk)
# Enable updating of APEXes
$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
# Boot animation
TARGET_SCREEN_HEIGHT := 2400
TARGET_SCREEN_WIDTH := 1080
TARGET_BOOT_ANIMATION_RES := 1080
## Device identifier. This must come after all inclusions
PRODUCT_NAME := aosp_a52q
PRODUCT_DEVICE := a52q
PRODUCT_BRAND := samsung
PRODUCT_MODEL := SM-A525F
PRODUCT_MANUFACTURER := samsung
PRODUCT_GMS_CLIENTID_BASE := android-samsung
# Recovery
TARGET_USES_AOSP_RECOVERY := true
PRODUCT_SHIPPING_API_LEVEL := 30
# Vendor fingerprint
BUILD_FINGERPRINT := "samsung/a52qnsxx/a52q:11/RP1A.200720.012/A525FXXU6EWL3:user/release-keys"
PRIVATE_BUILD_DESC := "a52qnsxx-user 11 RP1A.200720.012 A525FXXU6EWL3 release-keys"
# Security patch
VENDOR_SECURITY_PATCH := 2023-12-01

@ -24,23 +24,29 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base_telephony.mk)
# Inherit some common Lineage stuff # Inherit some common Lineage stuff
$(call inherit-product, vendor/lineage/config/common_full_phone.mk) $(call inherit-product, vendor/bootleggers/config/common_full_phone.mk)
# Enable updating of APEXes # Enable updating of APEXes
$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
# Boot animation # Boot animation
TARGET_BOOTANIMATION_PRELOAD := true
TARGET_BOOTANIMATION_TEXTURE_CACHE := true
TARGET_SCREEN_HEIGHT := 2400 TARGET_SCREEN_HEIGHT := 2400
TARGET_SCREEN_WIDTH := 1080 TARGET_SCREEN_WIDTH := 1080
TARGET_BOOT_ANIMATION_RES := 1080
## Device identifier. This must come after all inclusions ## Device identifier. This must come after all inclusions
PRODUCT_NAME := lineage_a52q PRODUCT_NAME := bootleg_a52q
PRODUCT_DEVICE := a52q PRODUCT_DEVICE := a52q
PRODUCT_BRAND := samsung PRODUCT_BRAND := samsung
PRODUCT_MODEL := SM-A525F PRODUCT_MODEL := SM-A525F
PRODUCT_MANUFACTURER := samsung PRODUCT_MANUFACTURER := samsung
PRODUCT_GMS_CLIENTID_BASE := android-samsung PRODUCT_GMS_CLIENTID_BASE := android-samsung
# Recovery
TARGET_USES_AOSP_RECOVERY := true
PRODUCT_SHIPPING_API_LEVEL := 30 PRODUCT_SHIPPING_API_LEVEL := 30
# Vendor fingerprint
BUILD_FINGERPRINT := "samsung/a52qnsxx/a52q:11/RP1A.200720.012/A525FXXU6DWH2:user/release-keys"
PRIVATE_BUILD_DESC := "a52qnsxx-user 11 RP1A.200720.012 A525FXXU6DWH2 release-keys"

@ -265,6 +265,7 @@
<!-- Incall Music --> <!-- Incall Music -->
<ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" /> <ctl name="Incall_Music Audio Mixer MultiMedia2" value="0" />
<ctl name="Incall_Music Audio Mixer MultiMedia9" value="0" /> <ctl name="Incall_Music Audio Mixer MultiMedia9" value="0" />
<ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="0" />
<!-- Incall Music End --> <!-- Incall Music End -->
<!-- compress-voip-call start --> <!-- compress-voip-call start -->
@ -4076,5 +4077,99 @@
<path name="incall_music_uplink bt-a2dp"> <path name="incall_music_uplink bt-a2dp">
<path name="incall_music_uplink" /> <path name="incall_music_uplink" />
</path> </path>
<path name="incall_music_uplink afe-proxy">
<path name="incall_music_uplink" />
</path>
<path name="incall_music_uplink call-proxy">
<path name="incall_music_uplink" />
</path>
<path name="incall_music_uplink2">
<ctl name="Incall_Music_2 Audio Mixer MultiMedia9" value="1" />
</path>
<path name="incall_music_uplink2 speaker">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 handset">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 handset-hac">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 display-port">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 bt-sco">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 bt-sco-wb">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 speaker-and-display-port">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 afe-proxy">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 usb-headphones">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 usb-headset">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 speaker-and-usb-headphones">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 headphones">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 speaker-and-headphones">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 speaker-and-bt-sco">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 voice-tty-hco-handset">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 speaker-and-bt-a2dp">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 bt-a2dp">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 afe-proxy">
<path name="incall_music_uplink2" />
</path>
<path name="incall_music_uplink2 call-proxy">
<path name="incall_music_uplink2" />
</path>
<path name="call-proxy">
</path>
<path name="call-proxy-in">
</path>
</mixer> </mixer>

@ -14,9 +14,9 @@
# limitations under the License. # limitations under the License.
# #
LOCAL_PATH := device/samsung/a52q DEVICE_PATH := device/samsung/a52q
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay DEVICE_PACKAGE_OVERLAYS += $(DEVICE_PATH)/overlay
# call the common setup # call the common setup
$(call inherit-product, device/samsung/sm7125-common/common.mk) $(call inherit-product, device/samsung/sm7125-common/common.mk)
@ -30,4 +30,4 @@ PRODUCT_PACKAGES += \
# Audio # Audio
PRODUCT_COPY_FILES += \ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml $(DEVICE_PATH)/configs/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml

@ -1,63 +1,21 @@
#!/bin/bash #!/bin/bash
# #
# Copyright (C) 2018-2020 The LineageOS Project # Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2023 The LineageOS Project
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
set -e # If we're being sourced by the common script that we called,
# stop right here. No need to go down the rabbit hole.
DEVICE_COMMON=a52q if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
VENDOR=samsung return
# Load extractutils 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 fi
# Initialize the helper set -e
setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}"
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
# Fix proprietary blobs export DEVICE=a52q
BLOB_ROOT="$ANDROID_ROOT"/vendor/"$VENDOR"/"$DEVICE_COMMON"/proprietary export DEVICE_COMMON=sm7125-common
export VENDOR=samsung
"${MY_DIR}/setup-makefiles.sh" "./../../${VENDOR}/${DEVICE_COMMON}/extract-files.sh" "$@"

@ -1,6 +0,0 @@
[
{
"repository": "android_device_samsung_sm7125-common",
"target_path": "device/samsung/sm7125-common"
}
]

@ -40,11 +40,4 @@
@see https://www.w3.org/TR/SVG/paths.html#PathData @see https://www.w3.org/TR/SVG/paths.html#PathData
--> -->
<string translatable="false" name="config_mainBuiltInDisplayCutout">M 0,0 M 0,12.25101276465640 a 10.60613009248640,10.60613009248640 0 1,0 0,21.21226018497290 a 10.60613009248640,10.60613009248640 0 1,0 0,-21.21226018497290 Z @dp</string> <string translatable="false" name="config_mainBuiltInDisplayCutout">M 0,0 M 0,12.25101276465640 a 10.60613009248640,10.60613009248640 0 1,0 0,21.21226018497290 a 10.60613009248640,10.60613009248640 0 1,0 0,-21.21226018497290 Z @dp</string>
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props">
<item>540</item>
<item>2137</item>
<item>119</item>
</integer-array>
</resources> </resources>

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/**
* Copyright (c) 2016, 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.
*/
-->
<resources>
<!-- Default for Settings.Global.DEVICE_NAME $1=MODEL-->
<string name="def_device_name_simple">Galaxy A52 4G</string>
</resources>

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2020 Paranoid Android
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.
-->
<resources>
<!-- Location on the screen of the center of the physical power button. This is a reasonable
default that should be overridden by device-specific overlays. -->
<dimen name="physical_power_button_center_screen_location_y">980px</dimen>
</resources>

@ -1,4 +1,4 @@
# All blobs are from A525FXXS4BVA2, unless pinned # All blobs are from A525FXXU6EWL3 (U), unless pinned
# ACDB # ACDB
vendor/etc/audconf/ODM/Global_cal.acdb vendor/etc/audconf/ODM/Global_cal.acdb
@ -55,6 +55,8 @@ vendor/lib/camera/ois_mcu_stm32g_fw.bin
vendor/lib/camera/uw_dual_calibration.bin vendor/lib/camera/uw_dual_calibration.bin
vendor/lib/hw/com.samsung.chi.override.so vendor/lib/hw/com.samsung.chi.override.so
vendor/lib64/hw/com.samsung.chi.override.so vendor/lib64/hw/com.samsung.chi.override.so
vendor/lib/hw/camera.qcom.so
vendor/lib64/hw/camera.qcom.so
vendor/lib/libsec2qc_conversion.so vendor/lib/libsec2qc_conversion.so
vendor/lib64/libsec2qc_conversion.so vendor/lib64/libsec2qc_conversion.so
vendor/lib/libvdis_interface.so vendor/lib/libvdis_interface.so

@ -1,44 +1,21 @@
#!/bin/bash #!/bin/bash
# #
# Copyright (C) 2017-2021 The LineageOS Project # Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2023 The LineageOS Project
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
set -e # If we're being sourced by the common script that we called,
# stop right here. No need to go down the rabbit hole.
DEVICE_COMMON=a52q if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
VENDOR=samsung return
# Load extractutils 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 fi
source "${HELPER}"
# Initialize the helper set -e
setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${ANDROID_ROOT}" true
# Warning headers and guards
write_headers "a52q"
write_makefiles "${MY_DIR}/proprietary-files.txt" true
###################################################################################################
# CUSTOM PART START #
###################################################################################################
OUTDIR=vendor/$VENDOR/$DEVICE_COMMON export DEVICE=a52q
export DEVICE_COMMON=sm7125-common
export VENDOR=samsung
################################################################################################### "./../../${VENDOR}/${DEVICE_COMMON}/extract-files.sh" "$@"
# CUSTOM PART END #
###################################################################################################
# Done
write_footers

@ -0,0 +1,7 @@
# Bluetooth
bluetooth.device.default_name=Galaxy A52 4G
# Fingerprint
ro.vendor.fingerprint.type=udfps_optical
ro.vendor.fingerprint.sensor_location=540|2137|119
ro.vendor.fingerprint.request_touch_event=true
Loading…
Cancel
Save