samsung-a21s: new device
Mainline 7.2 port for the Samsung Galaxy A21s, Exynos 850. Working: display, touchscreen, Phosh with GPU acceleration. Signed-off-by: Thomas Turner <tturner@lineageos.org> Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9467>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
maintainer="Thomas Turner <tturner@lineageos.org>"
|
||||
pkgname=device-samsung-a21s
|
||||
pkgver=1
|
||||
pkgrel=0
|
||||
pkgdesc="Samsung Galaxy A21s"
|
||||
url="https://postmarketos.org"
|
||||
arch="aarch64"
|
||||
license="MIT"
|
||||
depends="
|
||||
android-tools-mkbootimg
|
||||
firmware-samsung-a21s
|
||||
linux-postmarketos-exynos850
|
||||
postmarketos-base
|
||||
"
|
||||
makedepends="
|
||||
android-tools-mkdtboimg
|
||||
devicepkg-dev
|
||||
dtc
|
||||
"
|
||||
source="
|
||||
deviceinfo
|
||||
exynos850-samsung-a21s-empty.dts
|
||||
"
|
||||
options="!archcheck !check"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
|
||||
dtc -O dtb -o "$srcdir/dtbo" -I dts "$srcdir/exynos850-samsung-a21s-empty.dts"
|
||||
mkdtboimg create "$srcdir/dtbo.img" "$srcdir/dtbo" --custom0=0x6 --custom1=0x20
|
||||
}
|
||||
|
||||
package() {
|
||||
devicepkg_package $startdir $pkgname
|
||||
|
||||
install -Dm644 "$srcdir/dtbo.img" "$pkgdir/boot/dtbo.img"
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
246ee4a60eba0354667313f1653a8df7468a09f9607b4330e3ef3818dec6d3840ad9467e778aa49082ab211e6a98b2a52393a1c918ca71284d120e45553ff772 deviceinfo
|
||||
6e127e53f2380efad88b64d9720954ca633b4dace54afba29207afd210b0c43cf6fe6c636cfb9f14aa486bd6887da3b30f2a241d4a9244cd593639790c0c53b9 exynos850-samsung-a21s-empty.dts
|
||||
"
|
||||
@@ -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="Samsung Galaxy A21s"
|
||||
deviceinfo_manufacturer="Samsung"
|
||||
deviceinfo_codename="samsung-a21s"
|
||||
deviceinfo_year="2020"
|
||||
deviceinfo_dtb="exynos850-a217f-3gb"
|
||||
deviceinfo_arch="aarch64"
|
||||
|
||||
# Device related
|
||||
deviceinfo_chassis="handset"
|
||||
deviceinfo_drm="true"
|
||||
deviceinfo_external_storage="true"
|
||||
deviceinfo_swap_size_recommended="1024"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_create_initfs_extra="true"
|
||||
deviceinfo_flash_pagesize="2048"
|
||||
deviceinfo_header_version="2"
|
||||
deviceinfo_flash_offset_dtb="0x00000000"
|
||||
deviceinfo_flash_offset_kernel="0x00008000"
|
||||
deviceinfo_flash_offset_ramdisk="0x01000000"
|
||||
deviceinfo_flash_offset_second="0xf0000000"
|
||||
deviceinfo_flash_offset_tags="0x00000100"
|
||||
|
||||
deviceinfo_flash_fastboot_partition_dtbo="dtbo"
|
||||
deviceinfo_flash_fastboot_partition_vbmeta="vbmeta"
|
||||
@@ -0,0 +1,8 @@
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
model = "Samsung Galaxy A21s";
|
||||
compatible = "samsung,exynos850";
|
||||
dtbo-hw_rev = <0x06>;
|
||||
dtbo-hw_rev_end = <0x20>;
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
/usr/lib/firmware/td4150_a21s.bin
|
||||
@@ -0,0 +1,28 @@
|
||||
maintainer="Thomas Turner <tturner@lineageos.org>"
|
||||
pkgname=firmware-samsung-a21s
|
||||
pkgver=1
|
||||
pkgrel=0
|
||||
pkgdesc="Firmware for a21s"
|
||||
url="https://github.com/samsungexynos850/firmware-samsung-a21s"
|
||||
arch="aarch64"
|
||||
license="proprietary"
|
||||
options="!check !strip !archcheck !tracedeps
|
||||
pmb:cross-native
|
||||
"
|
||||
source="
|
||||
https://raw.githubusercontent.com/samsungexynos850/firmware-samsung-a21s/refs/heads/master/td4150_a21s.bin
|
||||
30-initramfs-firmware-samsung-a21s.files
|
||||
"
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir"/usr/lib/firmware
|
||||
mv "$srcdir"/td4150_a21s.bin "$pkgdir"/usr/lib/firmware/
|
||||
|
||||
install -Dm644 "$srcdir"/30-initramfs-$pkgname.files -t \
|
||||
"$pkgdir"/usr/share/mkinitfs/files
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
a9624ddaebe4885eedb81984f54f05c65d68114a371a5711878289380476f2ce710cfa96fb6ffc8d7ce2889715669009f48368344ac5095114d452a23549c465 td4150_a21s.bin
|
||||
dbc91c5cbe60fd0bb0a9daf582ebf1184fa89664aa934cad4952aa28bd161bb97921e86aa20dcc98df994c84c6a5cd74caee3784b3fcb9533ae6ece35db0602a 30-initramfs-firmware-samsung-a21s.files
|
||||
"
|
||||
@@ -0,0 +1,81 @@
|
||||
# Kernel config based on: arch/arm64/configs/exynos850_defconfig
|
||||
maintainer="Thomas Turner <tturner@lineageos.org>"
|
||||
pkgname=linux-postmarketos-exynos850
|
||||
pkgver=7.2.0
|
||||
pkgrel=0
|
||||
pkgdesc="Mainline kernel fork for Exynos850"
|
||||
arch="aarch64"
|
||||
_carch="arm64"
|
||||
_flavor="postmarketos-exynos850"
|
||||
url="https://github.com/samsungexynos850/linux"
|
||||
license="GPL-2.0-only"
|
||||
options="!strip !check !tracedeps
|
||||
pmb:cross-native
|
||||
pmb:kconfigcheck-nftables
|
||||
"
|
||||
makedepends="
|
||||
android-tools-mkdtboimg
|
||||
bash
|
||||
bc
|
||||
bison
|
||||
clang
|
||||
elfutils-dev
|
||||
findutils
|
||||
flex
|
||||
linux-headers
|
||||
lld
|
||||
llvm
|
||||
openssl-dev
|
||||
pahole
|
||||
perl
|
||||
postmarketos-installkernel
|
||||
python3
|
||||
"
|
||||
|
||||
_repository="linux"
|
||||
_commit="8be82eacf2ea237e8a3d06d4f5b1bf6554571322"
|
||||
_config="config-$_flavor.$arch"
|
||||
|
||||
# Source
|
||||
source="
|
||||
linux-$_commit.tar.gz::https://github.com/samsungexynos850/$_repository/archive/$_commit.tar.gz
|
||||
$_config
|
||||
"
|
||||
builddir="$srcdir/linux-$_commit"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
cp "$srcdir/$_config" .config
|
||||
}
|
||||
|
||||
build() {
|
||||
unset LDFLAGS
|
||||
make ARCH="$_carch" LLVM=1 \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1))-postmarketOS"
|
||||
}
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir"/boot
|
||||
|
||||
for ram in 3gb 4gb 6gb; do
|
||||
mv arch/arm64/boot/dts/exynos/exynos850-a217f-"${ram}".dtb dtb
|
||||
mkdtboimg create arch/arm64/boot/dts/exynos/exynos850-a217f-"${ram}".dtb dtb --custom1=0xff
|
||||
done
|
||||
|
||||
make install modules_install dtbs_install \
|
||||
ARCH="$_carch" \
|
||||
LLVM=1 \
|
||||
INSTALL_PATH="$pkgdir"/boot \
|
||||
INSTALL_MOD_PATH="$pkgdir"/usr \
|
||||
INSTALL_MOD_STRIP=1 \
|
||||
INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs
|
||||
rm -f "$pkgdir"/usr/lib/modules/*/build "$pkgdir"/usr/lib/modules/*/source
|
||||
|
||||
install -Dm644 "$builddir"/include/config/kernel.release \
|
||||
"$pkgdir"/usr/share/kernel/$_flavor/kernel.release
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
41d91860fcbb7f3c8e8e1c9bd05ebffb1665a4c7ffa308692c065d7c78d8e400f099ef497c8a1016c729f2ebc1bd1ff004d87be480aa23e38e3bf4ef1fafcfca linux-8be82eacf2ea237e8a3d06d4f5b1bf6554571322.tar.gz
|
||||
3a8a4fe4a6136aef54ec959db6b7bc717fb07067c96c64b7bacf58bfccc1bf18b50fa21283549b201ba0464e02285f186d723717af16ba84293dec4446eb3a3e config-postmarketos-exynos850.aarch64
|
||||
"
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user