lenovo-achilles: new device (MR 4103)
[ci:skip-build] already built successfully in CI
This commit is contained in:
parent
016e512c83
commit
cf607b6987
13 changed files with 4199 additions and 0 deletions
38
device/testing/device-lenovo-achilles/APKBUILD
Normal file
38
device/testing/device-lenovo-achilles/APKBUILD
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
# Reference: <https://postmarketos.org/devicepkg>
|
||||||
|
pkgname=device-lenovo-achilles
|
||||||
|
pkgdesc="Lenovo Tab2 A10-30L"
|
||||||
|
pkgver=0.1
|
||||||
|
pkgrel=0
|
||||||
|
url="https://postmarketos.org"
|
||||||
|
license="MIT"
|
||||||
|
arch="armv7"
|
||||||
|
options="!check !archcheck"
|
||||||
|
depends="
|
||||||
|
linux-lenovo-achilles
|
||||||
|
mkbootimg
|
||||||
|
postmarketos-base
|
||||||
|
"
|
||||||
|
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-lenovo-achilles"
|
||||||
|
mkdir "$subpkgdir"
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="
|
||||||
|
9248cf9f86d0ee6a4247a7f5f582f949b31516037655c4ee468bdcbcddd666170fceb84c25f87d0e30987a824f8ee0325a6baf6660a7f177636d66dfcc8605ab deviceinfo
|
||||||
|
"
|
31
device/testing/device-lenovo-achilles/deviceinfo
Normal file
31
device/testing/device-lenovo-achilles/deviceinfo
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# 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 Tab2 A10-30L"
|
||||||
|
deviceinfo_manufacturer="Lenovo"
|
||||||
|
deviceinfo_codename="lenovo-achilles"
|
||||||
|
deviceinfo_year="2015"
|
||||||
|
deviceinfo_arch="armv7"
|
||||||
|
|
||||||
|
# Device related
|
||||||
|
deviceinfo_chassis="tablet"
|
||||||
|
deviceinfo_keyboard="false"
|
||||||
|
deviceinfo_external_storage="true"
|
||||||
|
deviceinfo_screen_width="1280"
|
||||||
|
deviceinfo_screen_height="800"
|
||||||
|
|
||||||
|
# Bootloader related
|
||||||
|
deviceinfo_flash_method="fastboot"
|
||||||
|
deviceinfo_kernel_cmdline="androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 earlyprintk"
|
||||||
|
deviceinfo_generate_bootimg="true"
|
||||||
|
deviceinfo_bootimg_qcdt="true"
|
||||||
|
deviceinfo_bootimg_mtk_mkimage="false"
|
||||||
|
deviceinfo_bootimg_dtb_second="false"
|
||||||
|
deviceinfo_flash_pagesize="2048"
|
||||||
|
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"
|
32
device/testing/firmware-lenovo-achilles/APKBUILD
Normal file
32
device/testing/firmware-lenovo-achilles/APKBUILD
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
pkgname=firmware-lenovo-achilles
|
||||||
|
pkgver=1
|
||||||
|
pkgrel=0
|
||||||
|
_commit="12e11bf9e713114e177b82dee23b8dd457a29783"
|
||||||
|
pkgdesc="Firmware files for Lenovo TB2-X30L (aka A10-30L, achilles)"
|
||||||
|
url="https://postmarketos.org"
|
||||||
|
arch="armv7"
|
||||||
|
license="proprietary"
|
||||||
|
depends="wcnss-wlan"
|
||||||
|
source="$pkgname-$_commit.tar.gz::https://gitlab.com/aleiepure/proprietary_vendor_lenovo/-/archive/$_commit.tar.gz"
|
||||||
|
options="!check !strip !archcheck !spdx !tracedeps pmb:cross-native"
|
||||||
|
builddir="$srcdir/proprietary_vendor_lenovo-$_commit"
|
||||||
|
|
||||||
|
package() {
|
||||||
|
_files="
|
||||||
|
wcnss.b00 wcnss.b01 wcnss.b02 wcnss.b04 wcnss.b06
|
||||||
|
wcnss.b09 wcnss.b10 wcnss.b11 wcnss.b12 wcnss.mdt"
|
||||||
|
for _i in $_files; do
|
||||||
|
install -D -m644 "$_i" "$pkgdir"/lib/firmware/postmarketos/"$_i"
|
||||||
|
done
|
||||||
|
|
||||||
|
_files="WCNSS_cfg.dat WCNSS_qcom_cfg.ini
|
||||||
|
WCNSS_qcom_wlan_nv.bin WCNSS_qcom_wlan_nv_4x.bin WCNSS_wlan_dictionary.dat"
|
||||||
|
for _i in $_files; do
|
||||||
|
install -D -m644 wlan/prima/"$_i" \
|
||||||
|
"$pkgdir"/lib/firmware/postmarketos/wlan/prima/"$_i"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="
|
||||||
|
0f14b6176b442cf3784e6c7d8035dd5688e437b63716e0adc4423e85b5c168a2e3c2a247809e559de56fa08d4474bbb2dc803312cf4fe4d1ddb966b8d6cada5f firmware-lenovo-achilles-12e11bf9e713114e177b82dee23b8dd457a29783.tar.gz
|
||||||
|
"
|
|
@ -0,0 +1,30 @@
|
||||||
|
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
|
||||||
|
index 39eb16b0..bfe2a2f5 100644
|
||||||
|
--- a/arch/arm/include/asm/ftrace.h
|
||||||
|
+++ b/arch/arm/include/asm/ftrace.h
|
||||||
|
@@ -45,7 +45,7 @@ void *return_address(unsigned int);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
-extern inline void *return_address(unsigned int level)
|
||||||
|
+static inline void *return_address(unsigned int level)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c
|
||||||
|
index fafedd86..6b6b4d07 100644
|
||||||
|
--- a/arch/arm/kernel/return_address.c
|
||||||
|
+++ b/arch/arm/kernel/return_address.c
|
||||||
|
@@ -63,10 +63,12 @@ void *return_address(unsigned int level)
|
||||||
|
#warning "TODO: return_address should use unwind tables"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+/*
|
||||||
|
void *return_address(unsigned int level)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
+*/
|
||||||
|
|
||||||
|
#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/drivers/media/platform/msm/vidc/hfi_packetization.c b/drivers/media/platform/msm/vidc/hfi_packetization.c
|
||||||
|
index 758331eb..d58ee53d 100644
|
||||||
|
--- a/drivers/media/platform/msm/vidc/hfi_packetization.c
|
||||||
|
+++ b/drivers/media/platform/msm/vidc/hfi_packetization.c
|
||||||
|
@@ -324,7 +324,7 @@ int create_pkt_cmd_sys_ping(struct hfi_cmd_sys_ping_packet *pkt)
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
-inline int create_pkt_cmd_sys_session_init(
|
||||||
|
+static inline int create_pkt_cmd_sys_session_init(
|
||||||
|
struct hfi_cmd_sys_session_init_packet *pkt,
|
||||||
|
struct hal_session *session,
|
||||||
|
u32 session_domain, u32 session_codec)
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/drivers/video/msm/mdss/mdp3_ctrl.c b/drivers/video/msm/mdss/mdp3_ctrl.c
|
||||||
|
index db089c07..811c0705 100755
|
||||||
|
--- a/drivers/video/msm/mdss/mdp3_ctrl.c
|
||||||
|
+++ b/drivers/video/msm/mdss/mdp3_ctrl.c
|
||||||
|
@@ -2481,7 +2481,7 @@ int mdp3_ctrl_init(struct msm_fb_data_type *mfd)
|
||||||
|
splash_mismatch = 1;
|
||||||
|
|
||||||
|
mdp3_interface->on_fnc = mdp3_ctrl_on;
|
||||||
|
- mdp3_interface->off_fnc = mdp3_ctrl_off;
|
||||||
|
+ mdp3_interface->off_fnc = NULL;
|
||||||
|
mdp3_interface->do_histogram = NULL;
|
||||||
|
mdp3_interface->cursor_update = NULL;
|
||||||
|
mdp3_interface->dma_fnc = mdp3_ctrl_pan_display;
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/net/netfilter/Makefile b/net/netfilter/Makefile
|
||||||
|
index e7f0d7d2..153c4f40 100644
|
||||||
|
--- a/net/netfilter/Makefile
|
||||||
|
+++ b/net/netfilter/Makefile
|
||||||
|
@@ -110,7 +110,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_CONNTRACK) += xt_conntrack.o
|
||||||
|
obj-$(CONFIG_NETFILTER_XT_MATCH_CPU) += xt_cpu.o
|
||||||
|
obj-$(CONFIG_NETFILTER_XT_MATCH_DCCP) += xt_dccp.o
|
||||||
|
obj-$(CONFIG_NETFILTER_XT_MATCH_DEVGROUP) += xt_devgroup.o
|
||||||
|
-obj-$(CONFIG_NETFILTER_XT_MATCH_DSCP) += xt_dscp.o
|
||||||
|
+obj-$(CONFIG_NETFILTER_XT_MATCH_DSCP) += xt_DSCP.o
|
||||||
|
obj-$(CONFIG_NETFILTER_XT_MATCH_ECN) += xt_ecn.o
|
||||||
|
obj-$(CONFIG_NETFILTER_XT_MATCH_ESP) += xt_esp.o
|
||||||
|
obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
|
13
device/testing/linux-lenovo-achilles/05-fix_yylloc.patch
Normal file
13
device/testing/linux-lenovo-achilles/05-fix_yylloc.patch
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||||
|
index 2d30f417..d0eb405c 100644
|
||||||
|
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||||
|
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
|
||||||
|
@@ -637,7 +637,7 @@ char *yytext;
|
||||||
|
#include "srcpos.h"
|
||||||
|
#include "dtc-parser.tab.h"
|
||||||
|
|
||||||
|
-YYLTYPE yylloc;
|
||||||
|
+extern YYLTYPE yylloc;
|
||||||
|
|
||||||
|
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
||||||
|
#define YY_USER_ACTION \
|
97
device/testing/linux-lenovo-achilles/APKBUILD
Normal file
97
device/testing/linux-lenovo-achilles/APKBUILD
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
# Reference: https://wiki.postmarketos.org/wiki/Lenovo_Tab2_A10-30L_(lenovo-achilles)
|
||||||
|
# Kernel config extracted from recovery (https://gitlab.com/aleiepure/lenovo_achilles_kernel)
|
||||||
|
|
||||||
|
pkgname=linux-lenovo-achilles
|
||||||
|
pkgver=3.10.49
|
||||||
|
pkgrel=0
|
||||||
|
pkgdesc="Lenovo Tab2 A10-30L kernel fork"
|
||||||
|
arch="armv7"
|
||||||
|
_carch="arm"
|
||||||
|
_flavor="lenovo-achilles"
|
||||||
|
url="https://kernel.org"
|
||||||
|
license="GPL-2.0-only"
|
||||||
|
options="!strip !check !tracedeps pmb:cross-native"
|
||||||
|
makedepends="
|
||||||
|
bash
|
||||||
|
bc
|
||||||
|
bison
|
||||||
|
devicepkg-dev
|
||||||
|
dtbtool
|
||||||
|
findutils
|
||||||
|
flex
|
||||||
|
openssl-dev
|
||||||
|
perl
|
||||||
|
linux-headers
|
||||||
|
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="lenovo_achilles_kernel"
|
||||||
|
_commit="e123f2de60d1c980ec4ecdb266bf030bcfdb065e"
|
||||||
|
_config="config-$_flavor.$arch"
|
||||||
|
source="
|
||||||
|
$pkgname-$_commit.tar.gz::https://gitlab.com/aleiepure/$_repository/-/archive/$_commit.tar.gz
|
||||||
|
$_config
|
||||||
|
01-fix_return_address.patch
|
||||||
|
02-fix_hfi_packetization.patch
|
||||||
|
03-fix_blank_display.patch
|
||||||
|
04-fix_netfilter_makefile.patch
|
||||||
|
05-fix_yylloc.patch
|
||||||
|
gcc7-give-up-on-ilog2-const-optimizations.patch
|
||||||
|
gcc8-fix-put-user.patch
|
||||||
|
kernel-use-the-gnu89-standard-explicitly.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"
|
||||||
|
|
||||||
|
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
|
||||||
|
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" \
|
||||||
|
modules
|
||||||
|
|
||||||
|
# Master DTB (deviceinfo_bootimg_qcdt)
|
||||||
|
dtbTool -o "$_outdir/arch/$_carch/boot"/dt.img \
|
||||||
|
"$_outdir/arch/$_carch/boot/"
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" \
|
||||||
|
"$_flavor" "$_outdir"
|
||||||
|
|
||||||
|
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
|
||||||
|
INSTALL_MOD_PATH="$pkgdir" \
|
||||||
|
modules_install
|
||||||
|
|
||||||
|
install -Dm644 "$_outdir/arch/$_carch/boot"/dt.img \
|
||||||
|
"$pkgdir"/boot/dt.img
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="
|
||||||
|
93677bc7a789665e83e1cc8b0d0ed98fcd3e6336f147c8cf05fceaa5fe7371485bc9cba42552e2a8ba5b22599d2961e44dc301b7e442ffb39ef55b2270d9868c linux-lenovo-achilles-e123f2de60d1c980ec4ecdb266bf030bcfdb065e.tar.gz
|
||||||
|
99b3a1b84a9403c600882e61d1176becb4b7bd72383601512a822526784043524350ffba8b97d65d4740ec2f9e507dc1f9c89c632477d3032bcb1f63dcca7614 config-lenovo-achilles.armv7
|
||||||
|
02df3e4071c7870938422f68da54f997557634acb6ac57fddc30f9437d5993d0b197d53a7c99536d0e92c54d563c3881a455f0b14e529d43638f0c52f404a0f5 01-fix_return_address.patch
|
||||||
|
ce59712aa8ee0fd748ad3b63d20955500544d8852b985e6d3958adcd8039ac9f8e56e282f9238af06ab1d99ceb750003c4fc73eaba580a7f1545d69e1d0b0b2a 02-fix_hfi_packetization.patch
|
||||||
|
34f6f12772c91cd9536d85c0b728ed4b6be623e912bc09b6ea8188d42a6cae1867e8fc716bc17bf2b4bd1632bccfe1971ef1bc2c9a225dd34c37196f1d6e1dac 03-fix_blank_display.patch
|
||||||
|
75dfd14bccd38740603e65733c780ebfa77d730d3eb0d0779d294104e815b420b1145cd541350c77c27e4938a76663ea7145d2fcb0087e2a23416a0532894173 04-fix_netfilter_makefile.patch
|
||||||
|
13032010c1ce7e9dd05fa97c91ace4a78635f261f7756b572b9a452b2ac96dfd481a1f49c06022b61c4415bebe71e3c564179e3294110534e2c94a8c52c994a0 05-fix_yylloc.patch
|
||||||
|
77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch
|
||||||
|
197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch
|
||||||
|
ad0182a483791fc88e058838bc331b2f04a75ba291e763767babdb815efadfc3b4fda97e69e2e3f00a426cabea088e35297a92bd287592597d1e309be68ee92c kernel-use-the-gnu89-standard-explicitly.patch
|
||||||
|
"
|
3916
device/testing/linux-lenovo-achilles/config-lenovo-achilles.armv7
Normal file
3916
device/testing/linux-lenovo-achilles/config-lenovo-achilles.armv7
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1 @@
|
||||||
|
../../.shared-patches/linux/gcc7-give-up-on-ilog2-const-optimizations.patch
|
1
device/testing/linux-lenovo-achilles/gcc8-fix-put-user.patch
Symbolic link
1
device/testing/linux-lenovo-achilles/gcc8-fix-put-user.patch
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../.shared-patches/linux/gcc8-fix-put-user.patch
|
|
@ -0,0 +1 @@
|
||||||
|
../../.shared-patches/linux/kernel-use-the-gnu89-standard-explicitly.patch
|
Loading…
Reference in a new issue