xiaomi-fire: new device (MR 4827)
Working: USB OTG, display, external/internal storage
This commit is contained in:
parent
fe54a7be49
commit
65ae048ae5
8 changed files with 5774 additions and 0 deletions
31
device/testing/device-xiaomi-fire/APKBUILD
Normal file
31
device/testing/device-xiaomi-fire/APKBUILD
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# Reference: <https://postmarketos.org/devicepkg>
|
||||||
|
# Maintainer: Eray Tutmaz <tarkanttmz261@gmail.com>
|
||||||
|
pkgname=device-xiaomi-fire
|
||||||
|
pkgdesc="Xiaomi Redmi 12"
|
||||||
|
pkgver=0.1
|
||||||
|
pkgrel=0
|
||||||
|
url="https://postmarketos.org"
|
||||||
|
license="MIT"
|
||||||
|
arch="aarch64"
|
||||||
|
options="!check !archcheck"
|
||||||
|
depends="
|
||||||
|
mkbootimg
|
||||||
|
postmarketos-base
|
||||||
|
linux-xiaomi-fire
|
||||||
|
msm-fb-refresher
|
||||||
|
postmarketos-base-downstream
|
||||||
|
"
|
||||||
|
makedepends="devicepkg-dev"
|
||||||
|
source="deviceinfo"
|
||||||
|
|
||||||
|
build() {
|
||||||
|
devicepkg_build $startdir $pkgname
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
devicepkg_package $startdir $pkgname
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="
|
||||||
|
6857f3cf8723ad8126923135b6349c4cbd82d5e1444a63707eb5d744e8439ebe54dec110ef342599efe47c2a87dc76c302c63a502b3af886acb37369354f157d deviceinfo
|
||||||
|
"
|
37
device/testing/device-xiaomi-fire/deviceinfo
Normal file
37
device/testing/device-xiaomi-fire/deviceinfo
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# Reference: <https://postmarketos.org/deviceinfo>
|
||||||
|
# Please use double quotes only. You can source this file in shell scripts.
|
||||||
|
deviceinfo_format_version="0"
|
||||||
|
deviceinfo_name="Xiaomi Redmi 12"
|
||||||
|
deviceinfo_manufacturer="Xiaomi"
|
||||||
|
deviceinfo_codename="xiaomi-fire"
|
||||||
|
deviceinfo_year="2023"
|
||||||
|
deviceinfo_dtb="mediatek/mt6768"
|
||||||
|
deviceinfo_arch="aarch64"
|
||||||
|
|
||||||
|
# Device related
|
||||||
|
deviceinfo_chassis="handset"
|
||||||
|
deviceinfo_keyboard="false"
|
||||||
|
deviceinfo_external_storage="true"
|
||||||
|
|
||||||
|
# Bootloader related
|
||||||
|
deviceinfo_flash_method="fastboot"
|
||||||
|
deviceinfo_kernel_cmdline="bootopt=64S3,32N2,64N2 firmware_class.path=/lib/firmware/postmarketos"
|
||||||
|
deviceinfo_generate_bootimg="true"
|
||||||
|
deviceinfo_bootimg_qcdt="false"
|
||||||
|
deviceinfo_bootimg_mtk_mkimage="false"
|
||||||
|
deviceinfo_bootimg_dtb_second="false"
|
||||||
|
deviceinfo_flash_pagesize="2048"
|
||||||
|
deviceinfo_flash_sparse="true"
|
||||||
|
deviceinfo_flash_fastboot_partition_rootfs="super"
|
||||||
|
deviceinfo_header_version="2"
|
||||||
|
deviceinfo_append_dtb="false"
|
||||||
|
deviceinfo_flash_offset_dtb="0x0bc08000"
|
||||||
|
deviceinfo_flash_offset_base="0x40078000"
|
||||||
|
deviceinfo_flash_offset_kernel="0x00008000"
|
||||||
|
deviceinfo_flash_offset_ramdisk="0x07c08000"
|
||||||
|
deviceinfo_flash_offset_second="0xbff88000"
|
||||||
|
deviceinfo_flash_offset_tags="0x0bc08000"
|
||||||
|
|
||||||
|
# NOTE: Flashing kernel on upgrades unsupported due to "dd: error writing
|
||||||
|
# '/dev/disk/by-partlabel/boot_a': Operation not permitted"
|
||||||
|
# (the current slot's boot partition appears to be write-protected :/)
|
87
device/testing/linux-xiaomi-fire/APKBUILD
Normal file
87
device/testing/linux-xiaomi-fire/APKBUILD
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
# Reference: <https://postmarketos.org/vendorkernel>
|
||||||
|
# Kernel config based on: arch/arm64/configs/fire_defconfig
|
||||||
|
pkgname=linux-xiaomi-fire
|
||||||
|
pkgver=4.19.191
|
||||||
|
pkgrel=0
|
||||||
|
pkgdesc="Xiaomi Redmi 12 4G kernel fork"
|
||||||
|
arch="aarch64"
|
||||||
|
_carch="arm64"
|
||||||
|
_flavor="xiaomi-fire"
|
||||||
|
url="https://kernel.org"
|
||||||
|
license="GPL-2.0-only"
|
||||||
|
options="!strip !check !tracedeps pmb:cross-native"
|
||||||
|
makedepends="
|
||||||
|
android-tools
|
||||||
|
bash
|
||||||
|
bc
|
||||||
|
bison
|
||||||
|
devicepkg-dev
|
||||||
|
findutils
|
||||||
|
flex
|
||||||
|
openssl-dev
|
||||||
|
perl
|
||||||
|
linux-headers
|
||||||
|
cpio
|
||||||
|
gzip
|
||||||
|
xz
|
||||||
|
clang
|
||||||
|
"
|
||||||
|
|
||||||
|
export CC="clang"
|
||||||
|
export HOSTCC="clang"
|
||||||
|
|
||||||
|
# Source
|
||||||
|
_repository="Xiaomi_Kernel_OpenSource"
|
||||||
|
_commit="1d1aedfe40b2f5fd06c783b752af0197f38966eb"
|
||||||
|
_config="config-$_flavor.$arch"
|
||||||
|
source="
|
||||||
|
$pkgname-$_commit.tar.gz::https://github.com/MiCode/$_repository/archive/$_commit.tar.gz
|
||||||
|
$_config
|
||||||
|
fix_kernel_genheaders.patch
|
||||||
|
fix_broken_inline_functions.patch
|
||||||
|
primary_display_fix.patch
|
||||||
|
add-mt6768-dtb.patch
|
||||||
|
"
|
||||||
|
builddir="$srcdir/$_repository-$_commit"
|
||||||
|
_outdir="out"
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
default_prepare
|
||||||
|
REPLACE_GCCH=0
|
||||||
|
|
||||||
|
. downstreamkernel_prepare
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
unset LDFLAGS
|
||||||
|
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
|
||||||
|
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
if [ -f "$_outdir"/arch/arm64/boot/Image ]; then
|
||||||
|
rm "$_outdir"/arch/arm64/boot/Image
|
||||||
|
fi
|
||||||
|
|
||||||
|
mv "$_outdir"/arch/arm64/boot/Image.gz "$_outdir"/arch/arm64/boot/Image
|
||||||
|
|
||||||
|
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" \
|
||||||
|
"$_flavor" "$_outdir"
|
||||||
|
|
||||||
|
make dtbs_install O="$_outdir" ARCH="$_carch" \
|
||||||
|
INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs
|
||||||
|
|
||||||
|
# We also need to convert the kernel DTB into a proper android dtb image with the 64-byte header
|
||||||
|
mv "$pkgdir"/boot/dtbs/mediatek/mt6768.dtb "$pkgdir"/boot/dtbs/mediatek/mt6768.dtb.bak
|
||||||
|
mkdtboimg create "$pkgdir"/boot/dtbs/mediatek/mt6768.dtb "$pkgdir"/boot/dtbs/mediatek/mt6768.dtb.bak
|
||||||
|
rm "$pkgdir"/boot/dtbs/mediatek/mt6768.dtb.bak
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="
|
||||||
|
d90442e481e6e9589e4e758e095cb246e427fe89607a8b83e2d93f821df0ab1ef71596acd54a08a9cdd1d811fbf2fdc9220d2c40fc3399b0b44b7463076ed33b linux-xiaomi-fire-1d1aedfe40b2f5fd06c783b752af0197f38966eb.tar.gz
|
||||||
|
45b743eafd5c4eb6aeaaec24df1a7e531f21d0d5a6ea52668f389fd6a6870b381113f8d4755c80e5eb47298cab519c8f323b0480470156efddbcc2491e071dd5 config-xiaomi-fire.aarch64
|
||||||
|
e683d72073caf32864963b213d9210ad88e675eb5595028f916e6d15d6d4bdcea46e59f7e3615670c4a4e35e048dcee9b6e372559ee5126d243946439c9e3dbb fix_kernel_genheaders.patch
|
||||||
|
3c45e4748b03164b88780f20a86e21a79e81e5486a0d380226382c5ae40a23a36bd6ccfab4ed221b54a30015203e9ab22ea6876b7c6e166cf6b0c4bc6574ea79 fix_broken_inline_functions.patch
|
||||||
|
4829b15f0682d5d016da83e44b2b75b221c7415598cf5c4377490146ed7f6f36e7e037ae053698fefb922af293c4415f0409e68398d91285c68b35a87e0929a2 primary_display_fix.patch
|
||||||
|
580337b2ada8a2684ac5d1beddf8ecbaa23a3e36e21bdae8abc83ff25182c0324bbaf0eb7a05d0d81feb269508a243f087c0a11b8520e1f4251465a5c3a7481b add-mt6768-dtb.patch
|
||||||
|
"
|
8
device/testing/linux-xiaomi-fire/add-mt6768-dtb.patch
Normal file
8
device/testing/linux-xiaomi-fire/add-mt6768-dtb.patch
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
--- a/arch/arm64/boot/dts/mediatek/Makefile 2024-02-12 20:15:23.410216868 +0300
|
||||||
|
+++ b/arch/arm64/boot/dts/mediatek/Makefile 2024-02-12 20:16:30.621493436 +0300
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
dtb-$(CONFIG_ARCH_MEDIATEK) += auto2712p1v1-ivi-boot.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_MEDIATEK) += auto2712p1v1-ivi-nand-boot.dtb
|
||||||
|
-
|
||||||
|
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt6768.dtb
|
5521
device/testing/linux-xiaomi-fire/config-xiaomi-fire.aarch64
Normal file
5521
device/testing/linux-xiaomi-fire/config-xiaomi-fire.aarch64
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,41 @@
|
||||||
|
--- a/kernel/sched/sched.h
|
||||||
|
+++ b/kernel/sched/sched.h
|
||||||
|
@@ -2362,7 +2362,7 @@
|
||||||
|
extern struct mutex uclamp_mutex;
|
||||||
|
|
||||||
|
unsigned long uclamp_eff_value(struct task_struct *p, enum uclamp_id clamp_id);
|
||||||
|
-inline void uclamp_se_set(struct uclamp_se *uc_se,
|
||||||
|
+void uclamp_se_set(struct uclamp_se *uc_se,
|
||||||
|
unsigned int value, bool user_defined);
|
||||||
|
void
|
||||||
|
uclamp_update_active_tasks(struct cgroup_subsys_state *css,
|
||||||
|
--- a/include/linux/blk-crypto.h
|
||||||
|
+++ b/include/linux/blk-crypto.h
|
||||||
|
@@ -30,7 +30,7 @@
|
||||||
|
int blk_crypto_evict_key(struct request_queue *q,
|
||||||
|
const struct blk_crypto_key *key);
|
||||||
|
|
||||||
|
-inline void blk_crypto_flock(struct keyslot_manager *ksm, unsigned int flags);
|
||||||
|
+void blk_crypto_flock(struct keyslot_manager *ksm, unsigned int flags);
|
||||||
|
|
||||||
|
|
||||||
|
#else /* CONFIG_BLK_INLINE_ENCRYPTION */
|
||||||
|
@@ -45,7 +45,7 @@
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static inline void blk_crypto_flock(struct keyslot_manager *ksm,
|
||||||
|
+static void blk_crypto_flock(struct keyslot_manager *ksm,
|
||||||
|
unsigned int flags) {}
|
||||||
|
|
||||||
|
#endif /* CONFIG_BLK_INLINE_ENCRYPTION */
|
||||||
|
--- a/include/linux/keyslot-manager.h
|
||||||
|
+++ b/include/linux/keyslot-manager.h
|
||||||
|
@@ -98,7 +98,7 @@
|
||||||
|
unsigned int wrapped_key_size,
|
||||||
|
u8 *secret, unsigned int secret_size);
|
||||||
|
|
||||||
|
-inline void ksm_flock(struct keyslot_manager *ksm, unsigned int flags);
|
||||||
|
+void ksm_flock(struct keyslot_manager *ksm, unsigned int flags);
|
||||||
|
|
||||||
|
#endif /* CONFIG_BLK_INLINE_ENCRYPTION */
|
29
device/testing/linux-xiaomi-fire/fix_kernel_genheaders.patch
Normal file
29
device/testing/linux-xiaomi-fire/fix_kernel_genheaders.patch
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
--- a/kernel/gen_kheaders.sh
|
||||||
|
+++ b/kernel/gen_kheaders.sh
|
||||||
|
@@ -8,7 +8,6 @@
|
||||||
|
outdir="$(pwd)"
|
||||||
|
tarfile=$1
|
||||||
|
cpio_dir=$outdir/$tarfile.tmp
|
||||||
|
-cpio=$KBUILD_SRC/tools/build/cpio
|
||||||
|
|
||||||
|
dir_list="
|
||||||
|
include/
|
||||||
|
@@ -59,7 +58,7 @@
|
||||||
|
pushd $srctree > /dev/null
|
||||||
|
for f in $dir_list;
|
||||||
|
do find "$f" -name "*.h";
|
||||||
|
-done | $cpio --quiet -pd $cpio_dir
|
||||||
|
+done | cpio --quiet -pd $cpio_dir
|
||||||
|
|
||||||
|
popd > /dev/null
|
||||||
|
|
||||||
|
@@ -67,7 +66,7 @@
|
||||||
|
# happen with out of tree builds. Just silence CPIO for now.
|
||||||
|
for f in $dir_list;
|
||||||
|
do find "$f" -name "*.h";
|
||||||
|
-done | $cpio --quiet -pd $cpio_dir >/dev/null 2>&1
|
||||||
|
+done | cpio --quiet -pd $cpio_dir >/dev/null 2>&1
|
||||||
|
|
||||||
|
|
||||||
|
# Remove comments except SDPX lines
|
||||||
|
|
20
device/testing/linux-xiaomi-fire/primary_display_fix.patch
Normal file
20
device/testing/linux-xiaomi-fire/primary_display_fix.patch
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
--- a/drivers/misc/mediatek/video/mt6768/videox/primary_display.c 2024-02-12 12:22:54.865660409 +0300
|
||||||
|
+++ b/drivers/misc/mediatek/video/mt6768/videox/primary_display.c 2024-02-12 19:56:55.926758389 +0300
|
||||||
|
@@ -8636,7 +8636,7 @@
|
||||||
|
} else {
|
||||||
|
_cmdq_insert_wait_frame_done_token_mira(cmdq_handle_lcm_cmd);
|
||||||
|
disp_lcm_set_lcm_cmd(pgc->plcm, cmdq_handle_lcm_cmd, lcm_cmd,
|
||||||
|
- lcm_count, level);
|
||||||
|
+ lcm_count, &level);
|
||||||
|
_cmdq_flush_config_handle_mira(cmdq_handle_lcm_cmd, 1);
|
||||||
|
}
|
||||||
|
DISPCHECK("[CMD]%s ret=%d\n", __func__, ret);
|
||||||
|
@@ -8648,7 +8648,7 @@
|
||||||
|
_cmdq_insert_wait_frame_done_token_mira(cmdq_handle_lcm_cmd);
|
||||||
|
|
||||||
|
disp_lcm_set_lcm_cmd(pgc->plcm, cmdq_handle_lcm_cmd, lcm_cmd,
|
||||||
|
- lcm_count, level);
|
||||||
|
+ lcm_count, &level);
|
||||||
|
cmdqRecSetEventToken(cmdq_handle_lcm_cmd,
|
||||||
|
CMDQ_SYNC_TOKEN_CONFIG_DIRTY);
|
||||||
|
mmprofile_log_ex(ddp_mmp_get_events()->primary_set_cmd,
|
Loading…
Reference in a new issue