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