xiaomi-ferrari: new device (Xiaomi Mi 4i) (MR 1207)

This commit is contained in:
SUNGOLDSV 2020-06-05 13:34:07 +02:00 committed by Oliver Smith
parent 0e28a47d9f
commit daa2ea2956
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
8 changed files with 4384 additions and 0 deletions

View file

@ -0,0 +1,29 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-ferrari
pkgdesc="Xiaomi Mi 4i"
pkgver=0.1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="postmarketos-base linux-xiaomi-ferrari mkbootimg mesa-dri-swrast msm-fb-refresher"
makedepends="devicepkg-dev"
source="deviceinfo"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
nonfree_firmware() {
pkgdesc="Wifi firmware"
depends="firmware-xiaomi-ferrari"
mkdir "$subpkgdir"
}
sha512sums="300804054f604f6836b800fa9eb215f1ef7d2ffef7c61af53d64bb4248a9b112e2103a8806b76e6568b05302986027042e874820fc4dd8cd1a5506162516a9af deviceinfo"

View file

@ -0,0 +1,32 @@
# 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 Mi 4i"
deviceinfo_manufacturer="Xiaomi"
deviceinfo_codename="xiaomi-ferrari"
deviceinfo_chassis="handset"
deviceinfo_year="2015"
deviceinfo_dtb=""
deviceinfo_modules_initfs=""
deviceinfo_arch="aarch64"
# Device related
deviceinfo_keyboard="false"
deviceinfo_external_storage="false"
deviceinfo_screen_width="1080"
deviceinfo_screen_height="1920"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 earlyprintk androidboot.selinux=permissive buildvariant=eng"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="true"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_offset_base="0x80000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="2048"

View file

@ -0,0 +1,18 @@
Fix compilation with GCC-6
diff --git a/drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c b/drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c
index 14c6eadf524..e26b697f793 100644
--- a/drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c
+++ b/drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c
@@ -587,9 +587,8 @@ _NV_TEMPLATE_TABLE NvTablesBuiltIn[/*TABLES_MAX*/][TABLE_ENTRIES_MAX] = {
((char *)&(nvDefaults.tables.hwCalValues.calData.psSlpTimeOvrHdxLNA5G) -
(char *)&nvDefaults.tables.hwCalValues.calData),"psSlpTimeOvrHdxLNA5G"},
{"ed",_ID_U8,SINGULAR,0,0,0,
- (((char *)&(nvDefaults.tables.hwCalValues.calData.psSlpTimeOvrHdxLNA5G) +
- sizeof(uint16)) - (char *)&nvDefaults.tables.hwCalValues.calData),
- "nv_TxBBFSel9MHz"},
+ ((char *)&(nvDefaults.tables.hwCalValues.calData.psSlpTimeOvrHdxLNA5G) -
+ (char *)&nvDefaults.tables.hwCalValues.calData),"nv_TxBBFSel9MHz"},
{"ee",_ID_U8,SINGULAR,0,0,0,
((char *)&(nvDefaults.tables.hwCalValues.calData.hwParam2) -
(char *)&nvDefaults.tables.hwCalValues.calData),"hwParam2"},

View file

@ -0,0 +1,58 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/ferrari_defconfig
pkgname=linux-xiaomi-ferrari
pkgver=3.10.104
pkgrel=0
pkgdesc="Xiaomi Mi 4i kernel fork"
arch="aarch64"
_carch="arm64"
_flavor="xiaomi-ferrari"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native"
makedepends="bash bc bison devicepkg-dev flex openssl-dev perl dtbtool gcc6 linux-headers"
# Compiler: GCC 6 (doesn't boot when compiled with newer versions)
if [ "${CC:0:5}" != "gcc6-" ]; then
CC="gcc6-$CC"
HOSTCC="gcc6-gcc"
CROSS_COMPILE="gcc6-$CROSS_COMPILE"
fi
# Source
_repository="android_kernel_xiaomi_ferrari"
_commit="2368662e6a4fa4f5e3782666638e8f0f22bad650"
_config="config-$_flavor.$arch"
source="
$pkgname-$_commit.tar.gz::https://github.com/LineageOS/$_repository/archive/$_commit.tar.gz
$_config
gcc7-give-up-on-ilog2-const-optimizations.patch
gcc8-fix-put-user.patch
01_prima_gcc6.patch
"
builddir="$srcdir/$_repository-$_commit"
_outdir="out"
prepare() {
default_prepare
. downstreamkernel_prepare
}
build() {
unset LDFLAGS
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
}
package() {
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir"
# Master DTB (deviceinfo_bootimg_qcdt)
dtbTool -p scripts/dtc/ -o "$_outdir/arch/$_carch/boot"/dt.img "$_outdir/arch/$_carch/boot/"
install -Dm644 "$_outdir/arch/$_carch/boot"/dt.img "$pkgdir"/boot/dt.img
}
sha512sums="2cd2854045eaada791e912612ce609ca4cb5d7082a5019fc86effa92db3fe4a1df8bce433feaf32a04ecd3d1eb368a19b24de706298ad8fce4d6d32269ddf949 linux-xiaomi-ferrari-2368662e6a4fa4f5e3782666638e8f0f22bad650.tar.gz
1a7c0a9d56541d7d22e05914d6bbc8a6c06fca596c5aa700d2e83408510a5aa4b65da2312fa1c85f4101264d845fefa6c72943b3b498b970d4b4d8d72b9e2ad1 config-xiaomi-ferrari.aarch64
77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch
197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch
a246e10cd979a7f5defb3a97049448b70cff892d667e41f998431ddbeb0e19a84687296b2456e807dd48090823bec63a340f07f3b4ba32121113914e41d299da 01_prima_gcc6.patch"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
../../.shared-patches/linux/gcc7-give-up-on-ilog2-const-optimizations.patch

View file

@ -0,0 +1 @@
../../.shared-patches/linux/gcc8-fix-put-user.patch

View file

@ -0,0 +1,53 @@
pkgname=firmware-xiaomi-ferrari
pkgver=1
pkgrel=0
pkgdesc="Firmware files for Xiaomi Mi 4i"
url="https://github.com/TheMuppets/proprietary_vendor_xiaomi"
arch="aarch64"
license="proprietary"
depends="wcnss-wlan"
options="!strip !check !archcheck"
# Source
_files="wcnss.b00 wcnss.b01 wcnss.b02 wcnss.b04 wcnss.b06 wcnss.b09 wcnss.b10 wcnss.b11 wcnss.mdt"
_files_prima="WCNSS_cfg.dat WCNSS_qcom_cfg.ini WCNSS_qcom_wlan_nv.bin"
_commit="d963fe57af50bae41c0412d38abb7ea068ac4e35"
_prima_commit="0e096905ac1db7a6aa726e797ad9a3f9ee0d9035"
_url="https://github.com/SUNGOLDSV/proprietary_vendor_xiaomi_ferrari/raw/$_commit/proprietary/etc/firmware"
_prima_url="https://github.com/SUNGOLDSV/device_xiaomi_ferrari/raw/$_prima_commit/wifi"
source=""
for _i in $_files; do
source="$source $pkgname-$_commit-$_i::$_url/$_i"
done
for _i in $_files_prima; do
source="$source $pkgname-$_commit-$_i::$_prima_url/$_i"
done
package() {
cd "$srcdir"
# /lib/firmware/postmarketos
for _i in $_files; do
install -D -m644 "$pkgname-$_commit-$_i" \
"$pkgdir/lib/firmware/postmarketos/$_i"
done
# /lib/firmware/postmarketos/wlan/prima
for _i in $_files_prima; do
install -D -m644 "$pkgname-$_commit-$_i" \
"$pkgdir/lib/firmware/postmarketos/wlan/prima/$_i"
done
}
sha512sums="cd7c5e582a624b1aa34e46d62259e646acf16cb22544d4d95cfa871af1078ff4805651051a433d8d073df74b4ee05bf5a3f58b1e180e34af46b9696a5c610d7e firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-wcnss.b00
af61d9e71389574ab9ef7c3e5ffa9cfd99cabf581d83aec2c68062cc29fafb3a6943eec44390f67d2f29a6df57259e55ed327e45ebdd874078cb7d89ad3cb6c3 firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-wcnss.b01
c921fc7edc4a208b23b405482c6be351ba7a52e1c1162bc148247805f26e038782e7b1a436954dd57677d6311470f3edf7da8a5bb9fa02b8afa4c6f70c0c43ab firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-wcnss.b02
33aec5659e3226b7fba3c95a3064d6bc74f24223dab27455f0c168892826e1d1d8c758c0bde4bef94a7f10d6712343038e1941af2d8adb20aba5ac9ce56a6207 firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-wcnss.b04
1bd5f3dc7314bfcd3f7423e6c0a1db3c712be1810177bb5fe20c25cd03913a0f4cb6265021e9b4bb0ac7cb08eb1019a614b11732479fe6680936a001ff5f9827 firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-wcnss.b06
c331a2a21695186c1ebd2c9facdc5fa856bedc757a50936b72577e76147373747d26bacfce0e165f089e182cc227ada737a0b42e51d9bdec16fb5f8ca795b091 firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-wcnss.b09
8a8f52b7cb06a2c78e980c75c794a64bd67e085ed52478e9f1aa734493f3e074b1f810eaff4760120b6c1a8d69a866e00fd43d414b8c85d1cc5117b6052db6c3 firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-wcnss.b10
8b4e4c575c5f7e6c1aab9f798025ff515dd897b3921d9ca48a823ccfa9c41ba8bacdbc961317764fb9041c3dbbc8ebe955398f3a83fce613fec2e1e9847275fe firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-wcnss.b11
2fe76aec3fbd313ab597bad6a424e59b7fa6265a08e601d34e8866b476185ec76b7b71aead91b8a29b1b887912e41fec47e99f016b87181604335c5aadfc2c07 firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-wcnss.mdt
fb92214f928143228c0683934342ceff11f19bec0581684e98e155262bed03f51c21a21881ec03316f917c127b607a2943efea4847b908f1c02864a1e507fb50 firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-WCNSS_cfg.dat
284fe8cfceff62b07089db11f994571de18554aa5d94cda825c36c1ec64cffab0acd0ae797fdb49bdb37ca47944cbd738da709e9f858fb459866f38f17163c98 firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-WCNSS_qcom_cfg.ini
78060e3a4fa87ff5abd5eb649d9321a5c2c40b2eaeb411438dae97e0e78a62b3835bdc44d2880bb8b83359ec3b0ee845a17f4404f578854e59becb06a02fb0fc firmware-xiaomi-ferrari-d963fe57af50bae41c0412d38abb7ea068ac4e35-WCNSS_qcom_wlan_nv.bin"