motorola-perry: new device (Motorola E4) (MR 1111)

This commit is contained in:
lastramses 2020-05-13 16:04:21 -04:00 committed by Alexey Min
parent dbc272fe9f
commit fafac1bd9b
No known key found for this signature in database
GPG key ID: 0B19D2A65870B448
8 changed files with 5191 additions and 0 deletions

View file

@ -0,0 +1,31 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-motorola-perry
pkgdesc="Motorola Moto E4"
pkgver=0.1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
options="!check !archcheck"
depends="postmarketos-base linux-motorola-perry mkbootimg mesa-dri-swrast msm-fb-refresher mdss-fb-init-hack"
makedepends="devicepkg-dev"
source="deviceinfo initfs-hook.sh"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
nonfree_firmware() {
pkgdesc="Wifi firmware"
depends="firmware-motorola-perry-wcnss wcnss-wlan"
mkdir "$subpkgdir"
}
sha512sums="bbc01cefc4eb6b750438fd10ccea75ecd222bc3aa53f6fb84badbc1437f2360775891fbce9dbee8359d9e99a9553d68b7b5c0b8780f596bfd3ae90bf5bc23d5c deviceinfo
f33e8f7287659bcf738397f8f09bb51666820362dffd2c1dbb9afd28640ba22cc5e8f714ffbb1e0913d913fffdc95191cef38f933cfa77b15466ac633ab92d95 initfs-hook.sh"

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="motorola Moto E4"
deviceinfo_manufacturer="motorola"
deviceinfo_codename="motorola-perry"
deviceinfo_year="2017"
deviceinfo_chassis="handset"
deviceinfo_dtb=""
deviceinfo_modules_initfs=""
deviceinfo_arch="aarch64"
# Device related
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="720"
deviceinfo_screen_height="1280"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=30 msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 earlycon=msm_hsl_uart,0x78B0000 vmalloc=400M buildvariant=user"
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,6 @@
#!/bin/sh
# enable touchscreen
sleep 5 # a little delay before activating touchscreen
echo 1 > /sys/devices/soc/78b7000.i2c/i2c-3/3-0020/drv_irq

View file

@ -0,0 +1,51 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/perry_defconfig
pkgname=linux-motorola-perry
pkgver=3.18.140
pkgrel=0
pkgdesc="Motorola Moto E4 kernel fork"
arch="aarch64"
_carch="arm64"
_flavor="motorola-perry"
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"
_repository="android_kernel_motorola_msm8937"
_commit="729b33fc2d3125da153badce07a88e22a16a37a9"
_config="config-$_flavor.$arch"
source="
$pkgname-$_commit.tar.gz::https://github.com/moto-msm8937/$_repository/archive/$_commit/$pkgname-$_commit.tar.gz
$_config
arm-smmu.patch
epl8802_alsps.patch
"
builddir="$srcdir/$_repository-$_commit"
_outdir="out"
prepare() {
default_prepare
. downstreamkernel_prepare
}
build() {
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" \
O="$_outdir"
dtbTool -s 2048 -p "scripts/dtc/" -o "out/arch/arm64/boot/dt.img" "out/arch/arm64/boot/dts"
}
package() {
KERNEL_IMAGE_NAME="Image.gz" downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir"
install -Dm644 "$builddir/out/arch/arm64/boot/dt.img" "$pkgdir/boot/dt.img"
}
sha512sums="f31bfdb0941ee1976763eafd1bdc4048ba646e6bb7bc9ef7e40ada11369bcd514ac9cd57d1b2eb793b5af0697b028bfcd2ed1686de233d3ea52ac27dd9998d5c linux-motorola-perry-729b33fc2d3125da153badce07a88e22a16a37a9.tar.gz
9ed82ed6016526f4da8c0ecb1d2a8f1197fd6e054552002aa84799d28aad4dbe3543d3ebe57606ab62291de506015483061c566baab08a570b725ef789a5ff2e config-motorola-perry.aarch64
a1d0e865c91f7eb542832e3ff60fc7083bc4f5b5a7abecbf13ad6a867a5fab7c84e4187df8c4960dd01d610e1a968c801572f3e7fee97bc851bf3ab32c2e3f8c arm-smmu.patch
2f58744834780143b8f3df1d61bc2c9d4f712d18db9fec4b70768f302e27f1ac04402bf4ee28be635d6b942c941e68760c7ff86ebf053c744b29fd43bd9d5e47 epl8802_alsps.patch"

View file

@ -0,0 +1,12 @@
Patch description to silence apkbuild linter
--- msm8937/drivers/iommu/arm-smmu.c 2020-03-20 21:37:03.859877919 -0400
+++ msm8937/drivers/iommu/arm-smmu.c 2020-03-20 21:39:30.947875693 -0400
@@ -2824,7 +2824,7 @@
}
cfg->num_streamids = 1;
- ret = msm_pcie_configure_sid(dev, &sid, &tmp);
+ ret = 1; //msm_pcie_configure_sid(dev, &sid, &tmp);
if (ret) {
dev_err(dev,
"Couldn't configure SID through PCI-e driver: %d\n",

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,19 @@
*** android_kernel_motorola_msm8937-729b33fc2d3125da153badce07a88e22a16a37a9/drivers/input/misc/epl8802_alsps.c 2020-05-11 19:38:28.627639792 -0400
--- android_kernel_motorola_msm8937-729b33fc2d3125da153badce07a88e22a16a37a9/drivers/input/misc/epl8802_alsps.c 2020-05-11 19:38:43.062853597 -0400
***************
*** 32,38 ****
#include <linux/miscdevice.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
- #include <asm/mach-types.h>
#include <asm/setup.h>
#include <linux/wakelock.h>
#include <linux/jiffies.h>
--- 32,38 ----
#include <linux/miscdevice.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
+ //#include <asm/mach-types.h>
#include <asm/setup.h>
#include <linux/wakelock.h>
#include <linux/jiffies.h>

View file

@ -0,0 +1,27 @@
pkgname=firmware-motorola-perry
pkgver=1
pkgrel=0
pkgdesc="Firmware for Motorola Perry E4"
url="https://github.com/lastramses/firmware-motorola-perry"
subpackages="$pkgname-wcnss"
arch="aarch64"
license="proprietary"
options="!check !strip !archcheck"
_commit="813155d3bbce0f8a83cace3fd8c3cceedc184a46"
source="https://github.com/lastramses/firmware-motorola-perry/archive/$_commit/firmware-motorola-perry-$_commit.tar.gz"
builddir="$srcdir/$pkgname-$_commit"
_fwdir="/lib/firmware/postmarketos"
package() {
# parent package is empty
mkdir -p "$pkgdir"
}
wcnss() {
pkgdesc="Motorola Moto E4 WiFi firmware"
install -Dm644 "$builddir"/wcnss.* -t "$subpkgdir/$_fwdir"
install -Dm644 "$builddir"/wlan/prima/WCNSS_* -t "$subpkgdir/$_fwdir"/wlan/prima
}
sha512sums="de37ff72ab99f2cc8da29091cda0c11eda7a08c3c0c5d91827ea4356f62e55adf5546dc2377d584a501394941bb4364529781841ed808cd64bd587b2ddd4589f firmware-motorola-perry-813155d3bbce0f8a83cace3fd8c3cceedc184a46.tar.gz"