xiaomi-kenzo: new device (Xiaomi Redmi Note 3) (!461)

Boots succsfully, SSH over USB works fine, display and touch screen
works fine. WiFi is also confirmed to be working.

[ci:skip-build]: already built successfully in CI
This commit is contained in:
Idan Horo 2019-06-24 13:58:07 +03:00 committed by Oliver Smith
parent 8220ed31e6
commit 624e777a6f
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
7 changed files with 4358 additions and 0 deletions

View file

@ -0,0 +1,29 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname="device-xiaomi-kenzo"
pkgdesc="Xiaomi Redmi Note 3"
pkgver=0.1
pkgrel=1
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="postmarketos-base linux-xiaomi-kenzo mkbootimg mesa-dri-swrast mdss-fb-init-hack libsparse"
makedepends="devicepkg-dev"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
source="deviceinfo"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
nonfree_firmware() {
pkgdesc="Wifi firmware"
depends="firmware-xiaomi-kenzo"
mkdir "$subpkgdir"
}
sha512sums="6307cdc07e910b8a8c991b4a0552c558a30f86fb2c930778d51ef6a80a144e67c32b782696059cad3415ed81e32c04c41e3ee6833046599474c36e56f4dfb528 deviceinfo"

View file

@ -0,0 +1,33 @@
# 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 Note 3"
deviceinfo_manufacturer="Xiaomi"
deviceinfo_codename="xiaomi-kenzo"
deviceinfo_date=""
deviceinfo_dtb=""
deviceinfo_modules_initfs=""
deviceinfo_arch="aarch64"
# Device related
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="1080"
deviceinfo_screen_height="1920"
deviceinfo_dev_touchscreen="/dev/input/event0"
deviceinfo_dev_touchscreen_calibration=""
deviceinfo_dev_keyboard=""
# 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 ramoops_memreserve=4M androidboot.selinux=permissive buildvariant=eng"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="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"
deviceinfo_flash_sparse=true

View file

@ -0,0 +1,68 @@
From 44f841be2a223d672eaf9fa3029fd9249aeca583 Mon Sep 17 00:00:00 2001
From: MOVZX <movzx@yahoo.com>
Date: Tue, 25 Apr 2017 17:04:40 +0300
Subject: [PATCH] prima: Fix GCC6 Warnings
Signed-off-by: MOVZX <movzx@yahoo.com>
---
drivers/staging/prima/CORE/MAC/src/include/utilsApi.h | 2 +-
drivers/staging/prima/CORE/MAC/src/pe/sch/schBeaconGen.c | 2 +-
drivers/staging/prima/CORE/SME/src/csr/csrApiScan.c | 2 +-
drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c | 5 ++---
4 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/prima/CORE/MAC/src/include/utilsApi.h b/drivers/staging/prima/CORE/MAC/src/include/utilsApi.h
index 3a175473378..798a05cd2b4 100644
--- a/drivers/staging/prima/CORE/MAC/src/include/utilsApi.h
+++ b/drivers/staging/prima/CORE/MAC/src/include/utilsApi.h
@@ -705,7 +705,7 @@ halRoundS32(tANI_S32 p)
else
k = p;
- return(k);
+ return(k);
}
// New functions for endianess conversion
diff --git a/drivers/staging/prima/CORE/MAC/src/pe/sch/schBeaconGen.c b/drivers/staging/prima/CORE/MAC/src/pe/sch/schBeaconGen.c
index 0fc798995ae..6427a04e108 100644
--- a/drivers/staging/prima/CORE/MAC/src/pe/sch/schBeaconGen.c
+++ b/drivers/staging/prima/CORE/MAC/src/pe/sch/schBeaconGen.c
@@ -60,7 +60,7 @@
// Temporarily (maybe for all of Alpha-1), assuming TIM = 0
//
-const tANI_U8 P2pOui[] = {0x50, 0x6F, 0x9A, 0x9};
+tANI_U8 P2pOui[] = {0x50, 0x6F, 0x9A, 0x9};
tSirRetStatus schGetP2pIeOffset(tANI_U8 *pExtraIe, tANI_U32 extraIeLen, tANI_U16 *pP2pIeOffset)
diff --git a/drivers/staging/prima/CORE/SME/src/csr/csrApiScan.c b/drivers/staging/prima/CORE/SME/src/csr/csrApiScan.c
index 23ab858c355..b4f26def1d1 100644
--- a/drivers/staging/prima/CORE/SME/src/csr/csrApiScan.c
+++ b/drivers/staging/prima/CORE/SME/src/csr/csrApiScan.c
@@ -5698,7 +5698,7 @@ static tANI_BOOLEAN csrScanProcessScanResults( tpAniSirGlobal pMac, tSmeCmd *pCo
if (eHAL_STATUS_SUCCESS != status)
smsLog(pMac, LOGE,
FL( "failed to update the supported channel list"));
- pMac->scan.defer_update_channel_list = false;
+ pMac->scan.defer_update_channel_list = false;
}
#ifdef WLAN_AP_STA_CONCURRENCY
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,13 @@
diff --git a/drivers/video/msm/msm_dba/msm_dba.c b/drivers/video/msm/msm_dba/msm_dba.c
index cc6512a..eb073a7 100644
--- a/drivers/video/msm/msm_dba/msm_dba.c
+++ b/drivers/video/msm/msm_dba/msm_dba.c
@@ -22,7 +22,7 @@
#include <linux/err.h>
#include <video/msm_dba.h>
-#include <msm_dba_internal.h>
+#include "msm_dba_internal.h"
static DEFINE_MUTEX(register_mutex);

View file

@ -0,0 +1,74 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/lineageos_kenzo_defconfig
pkgname="linux-xiaomi-kenzo"
pkgver=3.10.105
pkgrel=0
pkgdesc="Xiaomi Redmi Note 3 kernel fork"
arch="aarch64"
_carch="arm64"
_flavor="xiaomi-kenzo"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps"
makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev gcc6"
# 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_msm8956"
_commit="92430f1a110b9b49e69fb1d3bde81c0f048d0282"
_config="config-${_flavor}.${arch}"
source="
$pkgname-$_commit.tar.gz::https://github.com/LineageOS/${_repository}/archive/${_commit}.tar.gz
$_config
01_fix_gcc6_errors.patch
02_fix_msm_dba.patch
"
builddir="$srcdir/${_repository}-${_commit}"
prepare() {
default_prepare
downstreamkernel_prepare "$srcdir" "$builddir" "$_config" "$_carch" "$HOSTCC"
}
build() {
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
msg "Combine DTB and Image.gz"
msg "(Because QCOM's custom Makefile builds into the wrong direcotry)"
cat "$builddir/arch/$_carch/boot/Image.gz" \
"$builddir/arch/arm/boot/dts/kenzo-msm8956-mtp.dtb" \
> "$builddir/arch/$_carch/boot/Image.gz-dtb"
}
package() {
# kernel.release
install -D "$builddir/include/config/kernel.release" \
"$pkgdir/usr/share/kernel/$_flavor/kernel.release"
# zImage (find the right one)
cd "$builddir/arch/$_carch/boot"
_target="$pkgdir/boot/vmlinuz-$_flavor"
for _zimg in zImage-dtb Image.gz-dtb *zImage Image; do
[ -e "$_zimg" ] || continue
msg "zImage found: $_zimg"
install -Dm644 "$_zimg" "$_target"
break
done
if ! [ -e "$_target" ]; then
error "Could not find zImage in $PWD!"
return 1
fi
}
sha512sums="c2d57468544d9b96e7f55d8358419fecdbbb75ae02e08fb3e008a882750855966d989a79e058888bcdd5542f322fd26ac217cd73c316768183b496f108089b43 linux-xiaomi-kenzo-92430f1a110b9b49e69fb1d3bde81c0f048d0282.tar.gz
9f2737e98e9dd34097bc3e21aab2acd540627e352b431c82c1b1887e3e0c62bd2307d2031c83c7a3b0f8c118c8525dc989c17141410d8645fccdae6da0d53d01 config-xiaomi-kenzo.aarch64
972e98523d6ef06342e69a09e979bdd86904cf7f9a843b519b37791e531b680182564a2ab537c94629c3589f4e775b2c39de04c64e210a0f8b6f10745c3596f1 01_fix_gcc6_errors.patch
7e765cb696fa8c3dfbc305b05cbf1fad85fb9572613d5391e945341dae5974a745f4906c795dc841e5562b19ab77d5257f9741e514af2c2573aa4bb8b262ce51 02_fix_msm_dba.patch"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,33 @@
pkgname=firmware-xiaomi-kenzo
pkgver=1
pkgrel=1
pkgdesc="Firmware files for Xiaomi Redmi Note 3"
url="https://postmarketos.org"
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.b12 wcnss.mdt"
_files_prima="WCNSS_wlan_dictionary.dat WCNSS_qcom_cfg.ini WCNSS_qcom_wlan_nv.bin WCNSS_cfg.dat"
_commit="a95bb1dcd92fb301d8e4401679f6c19d93f5875c"
source="$pkgname-$_commit.tar.gz::https://gitlab.com/IdanHoro/vendor_xiaomi_kenzo/-/archive/${_commit}/vendor_xiaomi_kenzo-${_commit}.tar.gz"
package() {
cd "$srcdir/vendor_xiaomi_kenzo-${_commit}"
# /lib/firmware/postmarketos
for _i in $_files; do
install -D -m644 "$_i" \
"$pkgdir/lib/firmware/postmarketos/$_i"
done
# /lib/firmware/postmarketos/wlan/prima
for _i in $_files_prima; do
install -D -m644 "wlan/prima/$_i" \
"$pkgdir/lib/firmware/postmarketos/wlan/prima/$_i"
done
}
sha512sums="804a69851e13d7ebcc90782b6bf246150327ad4282d67195bb7018bbeae93670e4896a336dadf3bd992110517afd2116df165a132545a0f62072bb6261a7588d firmware-xiaomi-kenzo-a95bb1dcd92fb301d8e4401679f6c19d93f5875c.tar.gz"