samsung-gtexswifi: new device (MR 5289)

In order for gtexswifi to boot, the DHTB string must be appended
to boot.img. Screen looks upside down.
This commit is contained in:
19atlas 2024-07-23 13:27:46 +03:00 committed by Ferass El Hafidi
parent 1bfcd0b001
commit 157262f44d
No known key found for this signature in database
GPG key ID: CAB5A5DBC11B967B
10 changed files with 3970 additions and 0 deletions

View file

@ -0,0 +1,5 @@
Section "Device"
Identifier "LCD"
Driver "fbdev"
Option "Rotate" "UD"
EndSection

View file

@ -0,0 +1,51 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: 19atlas <warfarin@vern.cc>
pkgname=device-samsung-gtexswifi
pkgdesc="Samsung Galaxy Tab A 7.0"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
options="!check !archcheck"
replaces="
soc-sprd-audio
pulseaudio
"
depends="
linux-samsung-gtexswifi
mkbootimg
postmarketos-base
msm-fb-refresher
postmarketos-base-downstream
soc-sprd-audio-sc8830
"
_pmb_recommends="firmware-samsung-gtexswifi"
makedepends="devicepkg-dev"
source="
deviceinfo
00-fbdev-rotate-UD.conf
"
subpackages="$pkgname-x11"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
x11() {
install_if="$pkgname=$pkgver-r$pkgrel xorg-server"
# Touch fix
mkdir -p "$pkgdir"/etc/X11/xorg.conf.d
install -Dm644 "$srcdir"/00-fbdev-rotate-UD.conf "$subpkgdir"/etc/X11/xorg.conf.d
}
sha512sums="
0a06682c333e3f30d1c87d1a3ad35d635adade9a476da1a66a03572c0bbe376608850eb7b81b8a803de5f588c9ebb0f0be13f14b48c9f7c8bdec1bad88f550e5 deviceinfo
c6b9e5fa2bb88e3fab5bb445643de91543006568d55d02afb2192a3fece1a87cbf55f9484f4ee3455db3b16370596511bd5bdfbb7b92bcc786d41b254bc88525 00-fbdev-rotate-UD.conf
"

View 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="Samsung Galaxy Tab A 7.0"
deviceinfo_manufacturer="Samsung"
deviceinfo_codename="samsung-gtexswifi"
deviceinfo_year="2016"
deviceinfo_arch="armv7"
# Device related
deviceinfo_chassis="tablet"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
# Bootloader related
deviceinfo_flash_method="heimdall-bootimg"
deviceinfo_kernel_cmdline="console=ttyS1,115200n8 androidboot.selinux=permissive buildvariant=userdebug"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="true"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_bootimg_prepend_dhtb="true"
deviceinfo_flash_pagesize="2048"
deviceinfo_flash_offset_base="0x00000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_sparse="true"
deviceinfo_flash_sparse_samsung_format="1"

View file

@ -0,0 +1,64 @@
# Maintainer: 19atlas <warfarin@vern.cc>
pkgname=firmware-samsung-gtexswifi
pkgver=1
pkgrel=0
pkgdesc="Firmware for Samsung Galaxy Tab A 7.0"
url="https://postmarketos.org"
arch="armv7"
license="proprietary"
options="!check !strip !archcheck !spdx !tracedeps pmb:cross-native"
# Source
_gtexswifi_commit="b65668464d13a608d74670fad197d351c71e3e0c"
_gtexswifi_url="https://github.com/underscoremone/proprietary_vendor_samsung_gtexswifi/raw/$_gtexswifi_commit"
_gtexswifi_wifi_config="
p2p_supplicant_overlay.conf
wpa_supplicant.conf
wpa_supplicant_overlay.conf
"
_gtexswifi_wifi_bin="
macloader
mfgloader
modem_control
modemd
wlandutservice
"
for _i in $_gtexswifi_wifi_config; do
source="$source $pkgname-$_gtexswifi_commit-$_i::$_gtexswifi_url/proprietary/etc/wifi/$_i";
done
for _t in $_gtexswifi_wifi_bin; do
source="$source $pkgname-$_gtexswifi_commit-$_t::$_gtexswifi_url/proprietary/bin/$_t";
done
package() {
# Wifi config
local file
for file in $_gtexswifi_wifi_config; do
install -Dm644 "$srcdir/$pkgname-$_gtexswifi_commit-$file" \
"$pkgdir/lib/firmware/postmarketos/$file"
done
# Wifi binary
local binf
for binf in $_gtexswifi_wifi_bin; do
install -Dm644 "$srcdir/$pkgname-$_gtexswifi_commit-$binf" \
"$pkgdir/lib/firmware/postmarketos/$binf"
done
}
sha512sums="
7417855054694ed3b5f3898455bd1e08be213e4a14439c69b377e4e5417e248c35444db07fa8b374c697e4ba6c438310790ed89735dd8f9c7e7b7cba741e051c firmware-samsung-gtexswifi-b65668464d13a608d74670fad197d351c71e3e0c-p2p_supplicant_overlay.conf
d60a3fab4a82851d4d72f5803664079b81c7f215cb73974e82b11495b77667617214fe1b86b501dc3cc03999a9d0e0a5c264bba90727fd8e9043f12e16ab5438 firmware-samsung-gtexswifi-b65668464d13a608d74670fad197d351c71e3e0c-wpa_supplicant.conf
684912af49751babb58aa7cdd210138a65176de633665911df63912b23e4e3f37f39be83e8a2640826699c587bb67bd4c640eaf03332b0583d004bebc8ca489a firmware-samsung-gtexswifi-b65668464d13a608d74670fad197d351c71e3e0c-wpa_supplicant_overlay.conf
bb4dd97c1df8d1885813c388b168bee24c90373f97ac86aa9c22cc15da47eb7920957547a6aa6235bcd3a524d92e409717d97d3fc51b69fd3eaf42d5a2bac126 firmware-samsung-gtexswifi-b65668464d13a608d74670fad197d351c71e3e0c-macloader
e717eefadf931508ce606d0c1444114ce19c98a8d78dd30e80915a2ac210a636a1e80255f52a06e8fc32adc82aa78fd86b8b1538f3957946ae2a3c33b2798b4a firmware-samsung-gtexswifi-b65668464d13a608d74670fad197d351c71e3e0c-mfgloader
c1ef6d646a8bd360608df5609e47c366b63f36f740eb44c81b6f3a54e775d6555bc54db44651727c65726e9787362fa1c0e54c05686c6936340ff6d573575106 firmware-samsung-gtexswifi-b65668464d13a608d74670fad197d351c71e3e0c-modem_control
2091555e75e499cfb50d240e26377a00a1f8201483f177b7f9d11f18e5ba6333471ddf0185e01818670e6f8f875255fa09991a2b3400616bc8085aef681e5ade firmware-samsung-gtexswifi-b65668464d13a608d74670fad197d351c71e3e0c-modemd
b150bf1aba364a8b87fe0140f745d2fcb19de9ddecf1e952cb950d6d98f930f12862a6d2ce023ca1dc5e402e80e249f375bc033cc44466dc2050995f051be741 firmware-samsung-gtexswifi-b65668464d13a608d74670fad197d351c71e3e0c-wlandutservice
"

View file

@ -0,0 +1,74 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Maintainer: 19atlas <warfarin@vern.cc>
# Kernel config based on: arch/arm/configs/gtexswifi-dt_defconfig
pkgname=linux-samsung-gtexswifi
pkgver=3.10.108
pkgrel=0
pkgdesc="Samsung Galaxy Tab A 7.0 kernel fork"
arch="armv7"
_carch="arm"
_flavor="samsung-gtexswifi"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native"
makedepends="
bash
bc
bison
devicepkg-dev
dtbtool-sprd
findutils
flex
openssl-dev
perl
linux-headers
"
# Source
_repository="android_kernel_samsung_gtexswifi"
_commit="d2e4ebf84f685a87acd90650f998facdefe06c51"
_config="config-$_flavor.$arch"
source="
$pkgname-$_commit.tar.gz::https://github.com/bfourk/$_repository/archive/$_commit.tar.gz
$_config
gcc8-fix-put-user.patch
replace-solaris-style-directive.patch
printk-fix.patch
x11-fix.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"
# Master DTB (deviceinfo_bootimg_qcdt)
dtbTool-sprd -p "$_outdir/scripts/dtc/" \
-o "$_outdir/arch/$_carch/boot"/dt.img \
"$_outdir/arch/$_carch/boot/dts/"
}
package() {
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" \
"$_flavor" "$_outdir"
install -Dm644 "$_outdir/arch/$_carch/boot"/dt.img \
"$pkgdir"/boot/dt.img
}
sha512sums="
3f1e93efa820a0967d601674f4b9204da88631fec3c5766d014b491c303f548fff7d5fbf058fe5e44cb88400cd9dda62eeaff70d934ba8544e1d31ff937eb2c8 linux-samsung-gtexswifi-d2e4ebf84f685a87acd90650f998facdefe06c51.tar.gz
8394c3961b08a5ce08eaa9ba876537ed870c435dbb6db3732f476c83de1e6ad7471347cb1b824a2f07382c02802b3c54ec5379e342ccfb07ec144c912673e39f config-samsung-gtexswifi.armv7
197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch
a4196e0184b3bb1bc8d0cf4fae931dab623bb9cd02732758bb8ac1d0588682960f58d4dba8ccebb1377e853ca5c135d2a700750228d54ac95a33d1cd44533bca replace-solaris-style-directive.patch
292a1a72cf956f0911918e5d07dccb937312838dc43c9ddd2030e96a1cf772cbf0c92ddde41ecfd05ce310f5c119d08b4992d31aabae3775425668eb74d91f35 printk-fix.patch
1bab85f34cb955f25eae3c28e519c325dca3b1b87ad25c15a78f5538a775b3bc2699b615bfc5182e1cb0fdb4520999ff7a0ee03fe3c6a1cef70baa4fb3809b40 x11-fix.patch
"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
../../.shared-patches/linux/gcc8-fix-put-user.patch

View file

@ -0,0 +1,12 @@
diff -ruN android_kernel_samsung_gtexswifiORG/kernel/printk.c android_kernel_samsung_gtexswifi/kernel/printk.c
--- android_kernel_samsung_gtexswifiORG/kernel/printk.c 2023-12-22 18:14:16.474685996 -0500
+++ android_kernel_samsung_gtexswifi/kernel/printk.c 2023-12-22 18:15:10.758550683 -0500
@@ -1928,7 +1928,7 @@
*(str++) = 0;
}
#endif
-
+ str = "tty0";
/*
* Decode str into name, index, options.
*/

View file

@ -0,0 +1,46 @@
From 790756c7e0229dedc83bf058ac69633045b1000e Mon Sep 17 00:00:00 2001
From: Nick Desaulniers <ndesaulniers@google.com>
Date: Mon, 4 Nov 2019 19:31:45 +0100
Subject: [PATCH] ARM: 8933/1: replace Sun/Solaris style flag on section directive
It looks like a section directive was using "Solaris style" to declare
the section flags. Replace this with the GNU style so that Clang's
integrated assembler can assemble this directive.
---
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 3f25fac..a5606a0 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -109,7 +109,7 @@
#endif
.endm
- .section ".start", #alloc, #execinstr
+ .section ".start", "ax"
/*
* sort out different calling conventions
*/
diff --git a/arch/arm/boot/compressed/piggy.gzip.S b/arch/arm/boot/compressed/piggy.gzip.S
index a68adf9..7de824f 100644
--- a/arch/arm/boot/compressed/piggy.gzip.S
+++ b/arch/arm/boot/compressed/piggy.gzip.S
@@ -1,4 +1,4 @@
- .section .piggydata,#alloc
+ .section .piggydata,"a"
.globl input_data
input_data:
.incbin "arch/arm/boot/compressed/piggy.gzip"
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index 22ac2a6..68744e1 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -462,7 +462,7 @@ __v7_setup_stack:
string cpu_elf_name, "v7"
.align
- .section ".proc.info.init", #alloc, #execinstr
+ .section ".proc.info.init", "ax"
/*
* Standard v7 proc info content

View file

@ -0,0 +1,23 @@
From c5bb0d59161730e546f279bfbbd097f5eb3e3a7e Mon Sep 17 00:00:00 2001
From: DolphinChips <DoIphinChips@protonmail.com>
Date: Mon, 21 Oct 2019 19:58:45 +0500
Subject: [PATCH] Add a little hack to sprdfb_main.c
---
drivers/video/sprdfb/sprdfb_main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/video/sprdfb/sprdfb_main.c b/drivers/video/sprdfb/sprdfb_main.c
index 43876285..751616a1 100644
--- a/drivers/video/sprdfb/sprdfb_main.c
+++ b/drivers/video/sprdfb/sprdfb_main.c
@@ -531,7 +531,8 @@ static int sprdfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fb)
if ((var->xres != fb->var.xres) ||
(var->yres != fb->var.yres) ||
(var->xres_virtual != fb->var.xres_virtual) ||
- (var->yres_virtual != fb->var.yres_virtual) ||
+ // (var->yres_virtual != fb->var.yres_virtual) ||
+ (fb->var.yres_virtual % var->yres_virtual != 0) ||
(var->xoffset != fb->var.xoffset) ||
#ifndef BIT_PER_PIXEL_SURPPORT
(var->bits_per_pixel != fb->var.bits_per_pixel) ||