samsung-chagalllte: new device

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6457
This commit is contained in:
C-VD 2025-04-27 12:32:45 +03:00 committed by Robert Eckelmann
parent d38efd838b
commit 4fafe4406f
No known key found for this signature in database
GPG key ID: 30C0D50BEF63BF54
11 changed files with 4051 additions and 0 deletions

View file

@ -0,0 +1,32 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-chagalllte
pkgdesc="Samsung Galaxy Tab S 10.5 LTE"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
options="!check !archcheck"
depends="
linux-samsung-chagalllte
mkbootimg
msm-fb-refresher
postmarketos-base
postmarketos-base-downstream
"
makedepends="devicepkg-dev"
source="
deviceinfo
"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
sha512sums="
752a61821b722f0b91c95a75298dd54b83b23b91a7a9955fa568951c78696456d6198e03bbba2d8b7ed2570363b69a4af519d56371872222d503130e659eeb6d deviceinfo
"

View file

@ -0,0 +1,29 @@
# 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 S 10.5 LTE"
deviceinfo_manufacturer="Samsung"
deviceinfo_codename="samsung-chagalllte"
deviceinfo_year="2014"
deviceinfo_arch="armv7"
# Device related
deviceinfo_chassis="tablet"
deviceinfo_external_storage="true"
deviceinfo_create_initfs_extra="true"
# Bootloader related
deviceinfo_flash_method="heimdall-bootimg"
deviceinfo_generate_bootimg="true"
deviceinfo_flash_pagesize="2048"
deviceinfo_header_version="0"
deviceinfo_flash_offset_base="0x10000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_heimdall_partition_kernel="BOOT"
deviceinfo_flash_heimdall_partition_rootfs="SYSTEM"
deviceinfo_bootimg_append_seandroidenforce="true"

View file

@ -0,0 +1,59 @@
commit 611c7138d2812827c3a62940576bf62c61cd8515
Author: Henrik Grimler <henrik@grimler.se>
Date: Fri Nov 27 18:01:34 2020 +0100
Fix so that FIMC IS can be disabled
* mach-exynos: don't set EXYNOS5_{DEV,SETUP}_FIMC_IS for universal5420
* board-universal5420-media: add ifdef guard to fix compilation error
* pm_domains: always init exynos54xx_pd_isp to prevent null pointer dereference
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 2aed1a4dfbac..9667d665363d 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -883,8 +883,6 @@ config MACH_UNIVERSAL5420
select EXYNOS5_SETUP_HSI2C4
select EXYNOS5_SETUP_HSI2C5
select EXYNOS5_SETUP_HSI2C6
- select EXYNOS5_DEV_FIMC_IS
- select EXYNOS5_SETUP_FIMC_IS
help
Machine support for Universal board based on EXYNOS5420
endif
diff --git a/arch/arm/mach-exynos/board-universal5420-media.c b/arch/arm/mach-exynos/board-universal5420-media.c
index 91677b04f9e8..4e461819fa68 100644
--- a/arch/arm/mach-exynos/board-universal5420-media.c
+++ b/arch/arm/mach-exynos/board-universal5420-media.c
@@ -1166,6 +1166,7 @@ void __init exynos5_universal5420_media_init(void)
sizeof(s5p_mipi_csis1_default_data), &s5p_device_mipi_csis1);
#endif
+#ifdef CONFIG_VISION_MODE
#ifdef CONFIG_VIDEO_EXYNOS_FIMC_LITE
#if !defined(CONFIG_V1A) && !defined(CONFIG_V2A)
s3c_i2c1_set_platdata(NULL);
@@ -1178,6 +1179,7 @@ void __init exynos5_universal5420_media_init(void)
s3c_set_platdata(&exynos_flite2_default_data,
sizeof(exynos_flite2_default_data), &exynos_device_flite2);
#endif
+#endif /* CONFIG_VISION_MODE */
/* camera */
#ifdef CONFIG_VIDEO_EXYNOS5_FIMC_IS
diff --git a/arch/arm/mach-exynos/pm_domains5.c b/arch/arm/mach-exynos/pm_domains5.c
index 3220333bed94..2599bb756958 100644
--- a/arch/arm/mach-exynos/pm_domains5.c
+++ b/arch/arm/mach-exynos/pm_domains5.c
@@ -1224,8 +1224,8 @@ static int exynos5420_pm_domain_init(void)
exynos_pm_add_clk(&exynos5420_spd_mscl1, NULL, "mscl");
exynos_pm_add_clk(&exynos5420_spd_mscl2, NULL, "mscl");
#endif
-#ifdef CONFIG_EXYNOS5_DEV_FIMC_IS
exynos_pm_powerdomain_init(&exynos54xx_pd_isp);
+#ifdef CONFIG_EXYNOS5_DEV_FIMC_IS
exynos_pm_add_platdev(&exynos54xx_pd_isp, &exynos5_device_fimc_is);
exynos_pm_add_platdev(&exynos54xx_pd_isp, &s3c64xx_device_spi3);
exynos_pm_add_clk(&exynos54xx_pd_isp, &exynos5_device_fimc_is.dev, "gscl_wrap0");

View file

@ -0,0 +1,37 @@
From 50088414b5eacfa0a2345f26448fd27dc28bc245 Mon Sep 17 00:00:00 2001
From: Henrik Grimler <henrik@grimler.se>
Date: Mon, 1 Jan 2024 09:04:29 +0100
Subject: [PATCH] drivers: psmouse: add guard for Finger Sensing Pad code
To fix errors like:
armv7-alpine-linux-musleabihf-ld: drivers/built-in.o: in function `psmouse_extensions':
psmouse-base.c:(.text+0x22f0c8): undefined reference to `fsp_detect'
armv7-alpine-linux-musleabihf-ld: psmouse-base.c:(.text+0x22f398): undefined reference to `fsp_detect'
---
drivers/input/mouse/psmouse-base.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
index 22fe2547e169..d4ec99d8cc84 100644
--- a/drivers/input/mouse/psmouse-base.c
+++ b/drivers/input/mouse/psmouse-base.c
@@ -818,6 +818,7 @@ static int psmouse_extensions(struct psmouse *psmouse,
return PSMOUSE_TOUCHKIT_PS2;
}
+#ifdef CONFIG_MOUSE_PS2_SENTELIC
/*
* Try Finger Sensing Pad. We do it here because its probe upsets
* Trackpoint devices (causing TP_READ_ID command to time out).
@@ -833,7 +834,7 @@ static int psmouse_extensions(struct psmouse *psmouse,
max_proto = PSMOUSE_IMEX;
}
}
-
+#endif
/*
* Reset to defaults in case the device got confused by extended
* protocol probes. Note that we follow up with full reset because
--
2.43.0

View file

@ -0,0 +1,70 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/lineageos_chagalllte_defconfig
pkgname=linux-samsung-chagalllte
pkgver=3.4.113
pkgrel=0
pkgdesc="Samsung Galaxy Tab S 10.5 LTE kernel fork"
arch="armv7"
_carch="arm"
_flavor="samsung-chagalllte"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native"
makedepends="
bash
bc
bison
devicepkg-dev
findutils
flex
openssl-dev
perl
xz
"
# Source
_repository="android_kernel_samsung_exynos5420"
_commit="de0cdcf10dcca77b400f15d83c1edf4f264a0f02"
_config="config-$_flavor.$arch"
source="
$pkgname-$_commit.tar.gz::https://github.com/exynos5420/$_repository/archive/$_commit.tar.gz
$_config
01-fix-FIMC-IS-disabling.patch
02-drivers-psmouse-add-guard-for-Finger-Sensing-Pad-cod.patch
fix-check-lxdialog.patch
gcc7-give-up-on-ilog2-const-optimizations.patch
gcc8-fix-put-user.patch
gcc10-extern_YYLOC_global_declaration.patch
linux3.4-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.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"
}
package() {
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" \
"$_flavor" "$_outdir"
}
sha512sums="
360313e4d32751ba7f577ddd8e7a53d9a0cf3813a305a468711031f7a581d69c274d5ec129c0c614cb184f03fb02d7b7f30ddf92058a17d78ff381f05345645e linux-samsung-chagalllte-de0cdcf10dcca77b400f15d83c1edf4f264a0f02.tar.gz
582940f2436a22f64af6125e058a713e71ed9a712a6dac34be37a109b45646ab584a5727f97c5cf316ec62bdb0761c2a458a0ecc4ad24b8be464943bed3fa755 config-samsung-chagalllte.armv7
00c86b897193340ce4e8184e622d830d16efe9a5c10c12357e5f6ab98193a28f69c0006bdfe0d3429f1136a9820b8f8ff262d07b0314e40f4c7b664013e0b8a6 01-fix-FIMC-IS-disabling.patch
a3df24c8d9116a3ad3559aac5ce126049e9123df633990ec72facd64ef538ed773e3ac0da233f2e04d99164d590340d598cfb3da3bbea502cf7c2cd3ef08cf24 02-drivers-psmouse-add-guard-for-Finger-Sensing-Pad-cod.patch
c112c8492cb53b81def544bb405fac7627e78e12d481c6749c7e56ebbdc4d6c128b4969b7213140704be045eb622b7953d3c61bf623c661eb6c3976c958fce13 fix-check-lxdialog.patch
77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch
197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch
2b48f1bf0e3f70703d2cdafc47d5e615cc7c56c70bec56b2e3297d3fa4a7a1321d649a8679614553dde8fe52ff1051dae38d5990e3744c9ca986d92187dcdbeb gcc10-extern_YYLOC_global_declaration.patch
9e3b067fa1b19ad02500c4fce1b6142051df3845c508e615788beb650c4f953683107ac2d80670c4e3df38f532e0e91060d2d13ec04c9ec985abd2dfa82e900b linux3.4-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.patch
"

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,13 @@
diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh
index 9d2a4c58..364eaecb 100644
--- a/scripts/kconfig/lxdialog/check-lxdialog.sh
+++ b/scripts/kconfig/lxdialog/check-lxdialog.sh
@@ -43,7 +43,7 @@ trap "rm -f $tmp" 0 1 2 3 15
check() {
$cc -x c - -o $tmp 2>/dev/null <<'EOF'
#include CURSES_LOC
-main() {}
+int main() { return 0; }
EOF
if [ $? != 0 ]; then
echo " *** Unable to find the ncurses libraries or the" 1>&2

View file

@ -0,0 +1 @@
../../.shared-patches/linux/gcc10-extern_YYLOC_global_declaration.patch

View file

@ -0,0 +1 @@
../../.shared-patches/linux/gcc7-give-up-on-ilog2-const-optimizations.patch

View file

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

View file

@ -0,0 +1 @@
../../.shared-patches/linux/linux3.4-ARM-8933-1-replace-Sun-Solaris-style-flag-on-section.patch