zuk-z2-row: new device (!898)

This commit is contained in:
CUI Hao 2020-01-19 21:26:24 -08:00 committed by Alexey Min
parent ce097f1c51
commit 0326ffefa7
No known key found for this signature in database
GPG key ID: 0B19D2A65870B448
11 changed files with 5239 additions and 0 deletions

View file

@ -0,0 +1,37 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname="device-zuk-z2-row"
pkgdesc="Lenovo ZUK Z2 Pro"
pkgver=0.1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="postmarketos-base linux-zuk-z2-row mkbootimg mesa-dri-swrast msm-fb-refresher wcnss-wlan"
makedepends="devicepkg-dev"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
install="$pkgname.post-install"
source="
deviceinfo
modules-load.conf
"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir/modules-load.conf" \
"$pkgdir/etc/modules-load.d/$pkgname.conf"
}
nonfree_firmware() {
pkgdesc="ZUK Z2 Pro firmware blobs"
depends="firmware-zuk-z2-row wcnss-wlan adsp-audio"
mkdir "$subpkgdir"
}
sha512sums="03a45e714655ae8a76bb4fd1778bad309491085be2bb7bbe3a12cf34567969f09287120e97b774a92113a16fbb007e8fa0be60eae4f4b1da28676e10fb5b5402 deviceinfo
e85747dc082df4fd793bc444f1a47c22459ceb411befed90827a079c4cba21d013c3324194b169bf50e0fdf3d49d6d242b3d31947d5c0a1e58d9c4d1cf78bd22 modules-load.conf"

View file

@ -0,0 +1,8 @@
#!/bin/sh
dir="/mnt/vendor"
if ! grep -q "$dir" /etc/fstab; then
mkdir -p "$dir"
echo "PARTLABEL=persist $dir ext4 ro 0 2" >> /etc/fstab
fi

View file

@ -0,0 +1,35 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell scripts.
deviceinfo_format_version="0"
deviceinfo_name="Lenovo ZUK Z2 Pro"
deviceinfo_manufacturer="Lenovo"
deviceinfo_codename="zuk-z2-row"
deviceinfo_date=""
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"
deviceinfo_dev_touchscreen=""
deviceinfo_dev_touchscreen_calibration=""
deviceinfo_dev_keyboard=""
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="androidboot.hardware=qcom ehci-hcd.park=3 lpm_levels.sleep_disabled=1 cma=32M@0-0xffffffff androidboot.selinux=permissive buildvariant=eng"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
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="4096"
deviceinfo_rootfs_image_sector_size="4096"

View file

@ -0,0 +1,4 @@
# Real-time clock
qpnp-rtc
# WiFi
wlan

View file

@ -0,0 +1,85 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/z2_row_defconfig
pkgname="linux-zuk-z2-row"
pkgver=4.4.183
pkgrel=0
pkgdesc="Lenovo ZUK Z2 Pro kernel fork"
arch="aarch64"
_carch="arm64"
_flavor="zuk-z2-row"
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_zuk_msm8996"
_commit="921bfcef4a132f6406e286bd45486d87abb94e68"
_config="config-$_flavor.$arch"
source="
$pkgname-$_commit.tar.gz::https://github.com/LineageOS/$_repository/archive/$_commit.tar.gz
$_config
fix-nf_conntrack_sip_c.patch
fix-includes.patch
fix-macro-declare_usb_function.patch
fix-macro-trace_include_path.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"
# the 'no-pic' flag is necessary to avoid the
# error 'Unknown symbol _GLOBAL_OFFSET_TABLE_ (err 0)' when loading the module
make ARCH="$_carch" CC="${CC:-gcc}" CFLAGS_MODULE="-fno-pic" \
KBUILD_BUILD_VERSION="$((pkgrel + 1))-postmarketOS" modules
}
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
# Modules
cd "$builddir"
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1))-postmarketOS" \
INSTALL_MOD_PATH="$pkgdir" INSTALL_MOD_STRIP=1 \
modules_install
}
sha512sums="f2c719bbafd39e02117c53ef539093e8542dfa4e3534e06bddf780a8a908b8fa0ce6c37b4d051b7d4c0f213c37b8d5bd8c216c95ef99b9ec13c2a4a58786f6a2 linux-zuk-z2-row-921bfcef4a132f6406e286bd45486d87abb94e68.tar.gz
5f32ee9e72f96163b1d62369222c4b5ea4a485170d170b581952f9eae3e7309622e9bdc958b83fad574fe66c0ae41dcf6078ba0c5a3c0fa1c325aeb27e6105fc config-zuk-z2-row.aarch64
43fe667aebde511d55749d738d176f109ef8b0095f9f04015664a11b3f199f545a4f391d520b0dcd4275329a151a3ce19e49c0b8991ed30a934622bdc4e58c75 fix-nf_conntrack_sip_c.patch
5e2e2944dbc726b95db72fed8780607fafbf49cfdf871f78b27eedae30c74510cc3fcd6566a21e2ac2b92508e9e52008c118ed877e679b939b24f66311b6c40d fix-includes.patch
8b3934e3c4115e81ac40a3c8022f3134cd89133f7569557ca857b4fd514078c4898b2ba3427986936d029874903711d04d7757d5a87bcb89137073128e51e8f5 fix-macro-declare_usb_function.patch
c71ed4068fb815b1549cbf9fc2f5dcfc65f969f36700f916b227acb2c6c2f2062b66ef5a176f8876632a9240009a409e5a02c420d77fd3d9c05bb9833012caf0 fix-macro-trace_include_path.patch"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,144 @@
diff -ur a/drivers/bluetooth/btfm_slim.c b/drivers/bluetooth/btfm_slim.c
--- a/drivers/bluetooth/btfm_slim.c 2020-01-20 16:35:42.770014356 -0800
+++ b/drivers/bluetooth/btfm_slim.c 2020-01-20 16:36:48.808884668 -0800
@@ -23,8 +23,8 @@
#include <sound/soc.h>
#include <sound/soc-dapm.h>
#include <sound/tlv.h>
-#include <btfm_slim.h>
-#include <btfm_slim_wcn3990.h>
+#include "btfm_slim.h"
+#include "btfm_slim_wcn3990.h"
#include <linux/bluetooth-power.h>
int btfm_slim_write(struct btfmslim *btfmslim,
diff -ur a/drivers/bluetooth/btfm_slim_codec.c b/drivers/bluetooth/btfm_slim_codec.c
--- a/drivers/bluetooth/btfm_slim_codec.c 2020-01-20 16:35:42.770014356 -0800
+++ b/drivers/bluetooth/btfm_slim_codec.c 2020-01-20 16:36:48.812884599 -0800
@@ -24,7 +24,7 @@
#include <sound/soc.h>
#include <sound/soc-dapm.h>
#include <sound/tlv.h>
-#include <btfm_slim.h>
+#include "btfm_slim.h"
static int bt_soc_enable_status;
diff -ur a/drivers/bluetooth/btfm_slim_wcn3990.c b/drivers/bluetooth/btfm_slim_wcn3990.c
--- a/drivers/bluetooth/btfm_slim_wcn3990.c 2020-01-20 16:35:42.770014356 -0800
+++ b/drivers/bluetooth/btfm_slim_wcn3990.c 2020-01-20 16:36:48.812884599 -0800
@@ -10,8 +10,8 @@
* GNU General Public License for more details.
*/
#include <linux/slimbus/slimbus.h>
-#include <btfm_slim.h>
-#include <btfm_slim_wcn3990.h>
+#include "btfm_slim.h"
+#include "btfm_slim_wcn3990.h"
/* WCN3990 Port assignment */
struct btfmslim_ch wcn3990_rxport[] = {
diff -ur a/drivers/bluetooth/btfm_slim_wcn3990.h b/drivers/bluetooth/btfm_slim_wcn3990.h
--- a/drivers/bluetooth/btfm_slim_wcn3990.h 2020-01-20 16:35:42.770014356 -0800
+++ b/drivers/bluetooth/btfm_slim_wcn3990.h 2020-01-20 16:36:48.812884599 -0800
@@ -12,7 +12,7 @@
#ifndef BTFM_SLIM_WCN3990_H
#define BTFM_SLIM_WCN3990_H
#ifdef CONFIG_BTFM_SLIM_WCN3990
-#include <btfm_slim.h>
+#include "btfm_slim.h"
/* Registers Address */
#define CHRK_SB_COMP_TEST 0x00000000
Only in b/drivers/bluetooth: btfm_slim_wcn3990.h.orig
diff -ur a/drivers/gpu/msm/kgsl_events.c b/drivers/gpu/msm/kgsl_events.c
--- a/drivers/gpu/msm/kgsl_events.c 2020-01-20 16:35:42.882012436 -0800
+++ b/drivers/gpu/msm/kgsl_events.c 2020-01-20 16:36:48.816884531 -0800
@@ -15,7 +15,7 @@
#include <linux/list.h>
#include <linux/workqueue.h>
#include <linux/debugfs.h>
-#include <kgsl_device.h>
+#include "kgsl_device.h"
#include "kgsl_debugfs.h"
#include "kgsl_trace.h"
diff -ur a/drivers/media/platform/msm/camera_v2/common/cam_smmu_api.c b/drivers/media/platform/msm/camera_v2/common/cam_smmu_api.c
--- a/drivers/media/platform/msm/camera_v2/common/cam_smmu_api.c 2020-01-20 16:35:42.958011133 -0800
+++ b/drivers/media/platform/msm/camera_v2/common/cam_smmu_api.c 2020-01-20 16:36:48.812884599 -0800
@@ -27,7 +27,7 @@
#include <linux/sizes.h>
#include <soc/qcom/scm.h>
#include <soc/qcom/secure_buffer.h>
-#include <msm_camera_tz_util.h>
+#include "msm_camera_tz_util.h"
#include "cam_smmu_api.h"
#define SCRATCH_ALLOC_START SZ_128K
diff -ur a/drivers/media/platform/msm/camera_v2/sensor/msm_sensor.h b/drivers/media/platform/msm/camera_v2/sensor/msm_sensor.h
--- a/drivers/media/platform/msm/camera_v2/sensor/msm_sensor.h 2020-01-20 16:35:42.958011133 -0800
+++ b/drivers/media/platform/msm/camera_v2/sensor/msm_sensor.h 2020-01-20 16:36:48.824884395 -0800
@@ -31,9 +31,10 @@
#include <media/msm_cam_sensor.h>
#include <media/v4l2-subdev.h>
#include <media/v4l2-ioctl.h>
-#include "msm_camera_i2c.h"
-#include "msm_camera_dt_util.h"
-#include "msm_sd.h"
+
+#include "io/msm_camera_i2c.h"
+#include "io/msm_camera_dt_util.h"
+#include "../msm_sd.h"
#define DEFINE_MSM_MUTEX(mutexname) \
static struct mutex mutexname = __MUTEX_INITIALIZER(mutexname)
diff -ur a/drivers/platform/msm/mhi/mhi_ssr.c b/drivers/platform/msm/mhi/mhi_ssr.c
--- a/drivers/platform/msm/mhi/mhi_ssr.c 2020-01-20 16:35:43.110008525 -0800
+++ b/drivers/platform/msm/mhi/mhi_ssr.c 2020-01-20 16:36:48.820884463 -0800
@@ -11,8 +11,8 @@
*/
#include <linux/pm_runtime.h>
-#include <mhi_sys.h>
-#include <mhi.h>
+#include "mhi_sys.h"
+#include "mhi.h"
#include <soc/qcom/subsystem_restart.h>
#include <soc/qcom/subsystem_notif.h>
#include <linux/esoc_client.h>
diff -ur a/include/trace/events/msm_cam.h b/include/trace/events/msm_cam.h
--- a/include/trace/events/msm_cam.h 2020-01-20 16:35:43.717998100 -0800
+++ b/include/trace/events/msm_cam.h 2020-01-20 16:36:48.824884395 -0800
@@ -16,7 +16,7 @@
#if !defined(_TRACE_MSM_VFE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_MSM_VFE_H
-#include "msm_isp.h"
+#include "../../../drivers/media/platform/msm/camera_v2/isp/msm_isp.h"
#include <linux/types.h>
#include <linux/tracepoint.h>
diff -ur a/sound/soc/msm/apq8096-auto.c b/sound/soc/msm/apq8096-auto.c
--- a/sound/soc/msm/apq8096-auto.c 2020-01-20 16:35:43.829996179 -0800
+++ b/sound/soc/msm/apq8096-auto.c 2020-01-20 16:36:48.832884258 -0800
@@ -33,7 +33,7 @@
#include <sound/q6core.h>
#include <sound/pcm_params.h>
#include <sound/info.h>
-#include <device_event.h>
+#include "device_event.h"
#include <soc/qcom/boot_stats.h>
#include "qdsp6v2/msm-pcm-routing-v2.h"
diff -ur a/sound/soc/msm/msm8996.c b/sound/soc/msm/msm8996.c
--- a/sound/soc/msm/msm8996.c 2020-01-20 16:35:43.829996179 -0800
+++ b/sound/soc/msm/msm8996.c 2020-01-20 16:36:48.828884327 -0800
@@ -31,7 +31,7 @@
#include <sound/q6core.h>
#include <sound/pcm_params.h>
#include <sound/info.h>
-#include <device_event.h>
+#include "device_event.h"
#include "qdsp6v2/msm-pcm-routing-v2.h"
#include "../codecs/wcd9xxx-common.h"
#include "../codecs/wcd9330.h"

View file

@ -0,0 +1,40 @@
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -4295,7 +4295,7 @@
return data;
}
-DECLARE_USB_FUNCTION_INIT(ffs, ffs_alloc_inst, ffs_alloc);
+DECLARE_USB_FUNCTION(ffs, ffs_alloc_inst, ffs_alloc);
static int ffs_init(void)
{
@@ -4303,7 +4303,7 @@
if (IS_ERR_OR_NULL(ffs_ipc_log))
ffs_ipc_log = NULL;
- return 0;
+ usb_function_register(&ffsusb_func);
}
module_init(ffs_init);
@@ -4327,6 +4327,8 @@
ipc_log_context_destroy(ffs_ipc_log);
ffs_ipc_log = NULL;
}
+
+ usb_function_unregister(&ffsusb_func);
}
module_exit(ffs_exit);
--- a/drivers/usb/gadget/function/f_qc_rndis.c
+++ b/drivers/usb/gadget/function/f_qc_rndis.c
@@ -1528,7 +1528,7 @@
return rndis_ipa_params.skip_ep_cfg;
}
-DECLARE_USB_FUNCTION_INIT(rndis_bam, qcrndis_alloc_inst, qcrndis_alloc);
+DECLARE_USB_FUNCTION(rndis_bam, qcrndis_alloc_inst, qcrndis_alloc);
static int __init usb_qcrndis_init(void)
{

View file

@ -0,0 +1,44 @@
diff -ur a/drivers/gpu/msm/adreno_trace.h b/drivers/gpu/msm/adreno_trace.h
--- a/drivers/gpu/msm/adreno_trace.h 2020-01-20 16:35:42.882012436 -0800
+++ b/drivers/gpu/msm/adreno_trace.h 2020-01-20 16:43:45.557852681 -0800
@@ -17,7 +17,7 @@
#undef TRACE_SYSTEM
#define TRACE_SYSTEM kgsl
#undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
+#define TRACE_INCLUDE_PATH ../../drivers/gpu/msm
#undef TRACE_INCLUDE_FILE
#define TRACE_INCLUDE_FILE adreno_trace
diff -ur a/drivers/gpu/msm/kgsl_trace.h b/drivers/gpu/msm/kgsl_trace.h
--- a/drivers/gpu/msm/kgsl_trace.h 2020-01-20 16:35:42.882012436 -0800
+++ b/drivers/gpu/msm/kgsl_trace.h 2020-01-20 16:43:45.557852681 -0800
@@ -17,7 +17,7 @@
#undef TRACE_SYSTEM
#define TRACE_SYSTEM kgsl
#undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
+#define TRACE_INCLUDE_PATH ../../drivers/gpu/msm
#undef TRACE_INCLUDE_FILE
#define TRACE_INCLUDE_FILE kgsl_trace
diff -ur a/drivers/net/ethernet/msm/rndis_ipa_trace.h b/drivers/net/ethernet/msm/rndis_ipa_trace.h
--- a/drivers/net/ethernet/msm/rndis_ipa_trace.h 2020-01-20 16:35:43.034009830 -0800
+++ b/drivers/net/ethernet/msm/rndis_ipa_trace.h 2020-01-20 16:43:45.557852681 -0800
@@ -77,5 +77,5 @@
/* This part must be outside protection */
#undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
+#define TRACE_INCLUDE_PATH ../../drivers/net/ethernet/msm/
#include <trace/define_trace.h>
diff -ur a/drivers/platform/msm/ipa/ipa_v2/ipa_trace.h b/drivers/platform/msm/ipa/ipa_v2/ipa_trace.h
--- a/drivers/platform/msm/ipa/ipa_v2/ipa_trace.h 2020-01-20 16:35:43.106008595 -0800
+++ b/drivers/platform/msm/ipa/ipa_v2/ipa_trace.h 2020-01-20 16:43:45.557852681 -0800
@@ -148,5 +148,5 @@
/* This part must be outside protection */
#undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
+#define TRACE_INCLUDE_PATH ../../drivers/platform/msm/ipa/ipa_v2/
#include <trace/define_trace.h>

View file

@ -0,0 +1,22 @@
--- a/net/netfilter/nf_conntrack_sip.c
+++ b/net/netfilter/nf_conntrack_sip.c
@@ -1425,8 +1425,7 @@
SIP_HDR_VIA_UDP, NULL, &matchoff,
&matchlen, &addr, &port) > 0 &&
port != ct->tuplehash[dir].tuple.src.u.udp.port &&
- nf_inet_addr_cmp(&addr, &ct->tuplehash[dir].tuple.src.u3) &&
- (dir == IP_CT_DIR_ORIGINAL))
+ nf_inet_addr_cmp(&addr, &ct->tuplehash[dir].tuple.src.u3))
ct_sip_info->forced_dport = port;
for (i = 0; i < ARRAY_SIZE(sip_handlers); i++) {
@@ -1573,9 +1572,6 @@
unsigned int dataoff, datalen;
const char *dptr;
- if (nf_ct_disable_sip_alg)
- return NF_ACCEPT;
-
/* No Data ? */
dataoff = protoff + sizeof(struct udphdr);
if (dataoff >= skb->len)

View file

@ -0,0 +1,20 @@
pkgname=firmware-zuk-z2-row
pkgver=0.20200125
pkgrel=1
pkgdesc="Firmware for Lenovo ZUK Z2 Pro"
url="https://github.com/cuihaoleo/pmos-firmware-zuk-z2-row"
arch="aarch64"
license="proprietary"
depends="wcnss-wlan"
options="!strip !check !archcheck"
_commit="532094ed73675baab03c439f5c1b9248012b5ae8"
source="$url/archive/$_commit.tar.gz"
package() {
cd "$srcdir/pmos-firmware-zuk-z2-row-$_commit"
mkdir -p "$pkgdir/lib/firmware"
cp -r "firmware" "$pkgdir/lib/firmware/postmarketos"
}
sha512sums="d86e7cd1241a1db4ef8adaf110b0fc1e8df16f2464431a2c0b16c189a86fcfdc33034f6552fe719902c8bb00aaf589530dee6f77d8ae4d7cfcc9f42aff54df5b 532094ed73675baab03c439f5c1b9248012b5ae8.tar.gz"