Merge branch 'master' into 'master'

Added device: Samsung Galaxy Trend Plus (s7580)

See merge request postmarketOS/pmbootstrap!1607
This commit is contained in:
Oliver Smith 2018-07-09 21:54:15 +00:00
commit 614e7f3511
8 changed files with 3515 additions and 0 deletions

View File

@ -0,0 +1,29 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname="device-samsung-kylepro"
pkgdesc="Samsung Galaxy Trend Plus"
pkgver=0.1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="noarch"
options="!check"
depends="postmarketos-base linux-samsung-kylepro mkbootimg mesa-dri-swrast msm-fb-refresher"
makedepends="devicepkg-dev"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
source="deviceinfo"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
nonfree_firmware() {
pkgdesc="Wifi firmware"
depends="firmware-samsung-kylepro"
mkdir "$subpkgdir"
}
sha512sums="4d22f454781115de15df651a46964b7770f08f4d027d7edae6624945eef02cea76ddeec30370ca58902a246cba872af02372f4ff197f786782cdd638b0e0eec6 deviceinfo"

View File

@ -0,0 +1,34 @@
# 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 Trend Plus"
deviceinfo_manufacturer="Samsung"
deviceinfo_date=""
deviceinfo_dtb=""
deviceinfo_modules_initfs=""
deviceinfo_arch="armhf"
# Device related
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="480"
deviceinfo_screen_height="800"
deviceinfo_dev_touchscreen="/dev/input/event4"
deviceinfo_dev_touchscreen_calibration=""
deviceinfo_dev_keyboard=""
# Bootloader related
deviceinfo_flash_method="heimdall-bootimg"
deviceinfo_kernel_cmdline=""
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_flash_offset_base="0x82000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="4096"
deviceinfo_flash_heimdall_partition_kernel=""
deviceinfo_flash_heimdall_partition_system=""

View File

@ -0,0 +1,29 @@
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
index f89515a..2bb8cac 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 0b13a72..8bf0a5a 100644
--- a/arch/arm/kernel/return_address.c
+++ b/arch/arm/kernel/return_address.c
@@ -62,11 +62,6 @@ 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 */
EXPORT_SYMBOL_GPL(return_address);

View File

@ -0,0 +1,22 @@
diff --git a/drivers/video/broadcom/lcd/nt35510_dsi.c b/drivers/video/broadcom/lcd/nt35510_dsi.c
index 3cf5aa4b1ad..132f9350365 100644
--- a/drivers/video/broadcom/lcd/nt35510_dsi.c
+++ b/drivers/video/broadcom/lcd/nt35510_dsi.c
@@ -337,7 +337,7 @@ esd_detection:
static void nt35510_esd_recovery(void)
{
-#ifdef ILI_ESD_OPERATION
+/*#ifdef ILI_ESD_OPERATION
nt35510_esd_reset_set(1);
#endif
@@ -347,7 +347,7 @@ static void nt35510_esd_recovery(void)
#ifdef ILI_ESD_OPERATION
nt35510_esd_reset_set(0);
-#endif
+#endif*/
}
static void esd_work_func(struct work_struct *work)

View File

@ -0,0 +1,80 @@
# Kernel config based on: arch/arm/configs/bcm21664_hawaii_ss_kylepro_rev00_lineage_defconfig
pkgname="linux-samsung-kylepro"
pkgver=3.4.113
pkgrel=0
pkgdesc="Samsung Galaxy Trend Plus kernel fork"
arch="armhf"
_carch="arm"
_flavor="samsung-kylepro"
url="https://kernel.org"
license="GPL2"
options="!strip !check !tracedeps"
makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
HOSTCC="${CC:-gcc}"
HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
# Source
_repository="android_kernel_samsung_kyleproxx"
_commit="026cf3b3e97ec40aa1c0c52837a318725786f05a"
_config="config-${_flavor}.${arch}"
source="
$pkgname-$_commit.tar.gz::https://github.com/Samsung-KYLEPROXX/${_repository}/archive/${_commit}.tar.gz
$_config
compiler-gcc6.h
00_return_address.patch
02_screen_reset.patch
"
builddir="$srcdir/${_repository}-${_commit}"
prepare() {
default_prepare
# gcc6 support
cp -v "$srcdir/compiler-gcc6.h" "$builddir/include/linux/"
# Remove -Werror from all makefiles
local i
local makefiles="$(find . -type f -name Makefile)
$(find . -type f -name Kbuild)"
for i in $makefiles; do
sed -i 's/-Werror-/-W/g' "$i"
sed -i 's/-Werror//g' "$i"
done
# Prepare kernel config ('yes ""' for kernels lacking olddefconfig)
cp "$srcdir"/$_config "$builddir"/.config
yes "" | make ARCH="$_carch" HOSTCC="$HOSTCC" oldconfig
}
build() {
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
}
package() {
# kernel.release
install -D "$builddir/include/config/kernel.release" \
"$pkgdir/usr/share/kernel/$_flavor/kernel.release"
# zImage (find the right one)
cd "$builddir/arch/$_carch/boot"
_target="$pkgdir/boot/vmlinuz-$_flavor"
for _zimg in zImage-dtb Image.gz-dtb *zImage Image; do
[ -e "$_zimg" ] || continue
msg "zImage found: $_zimg"
install -Dm644 "$_zimg" "$_target"
break
done
if ! [ -e "$_target" ]; then
error "Could not find zImage in $PWD!"
return 1
fi
}
sha512sums="b66ab7d8ed557ed095b059beb7b37d196a7290e6c8364560126a94f696718c4a61f99b1e21700d9a4b50c569243e4e2cbfc9fbd9d9517ca49cfa32f31525c27f linux-samsung-kylepro-026cf3b3e97ec40aa1c0c52837a318725786f05a.tar.gz
0891dc88c6c0176f1d291a9ff570c9ab1a477f166312d067f3d3f6674a62f379d3e830ca1229e1834fe152f3c2b75288d4183c2becc3d402b729777f969d926b config-samsung-kylepro.armhf
d80980e9474c82ba0ef1a6903b434d8bd1b092c40367ba543e72d2c119301c8b2d05265740e4104ca1ac5d15f6c4aa49e8776cb44264a9a28dc551e0d1850dcc compiler-gcc6.h
c40eaa11547f5bc2b1ff965506bdfe3015ff16e4b5ad9ccb3b8134ceafd1d32407c4ef2b213e02e036ce1e9bdcbfe768dff7d4b054bec77705a176c1f783b6f5 00_return_address.patch
c0a59be648ef646650c83b5d135daa05aae300c7ad5056d49f1b3f9967c4d7f337b0ddb8ae319b11e43c17aaf5fc9dcc9724463d265c1d765dc85c86f612f4ea 02_screen_reset.patch"

View File

@ -0,0 +1,69 @@
// SOURCE:
// https://github.com/NextThingCo/CHIP-u-boot/issues/10#issuecomment-287515505
#ifndef __LINUX_COMPILER_H
#error "Please don't include <linux/compiler-gcc6.h> directly, include <linux/compiler.h> instead."
#endif
#define __used __attribute__((__used__))
#define __must_check __attribute__((warn_unused_result))
#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
/* Mark functions as cold. gcc will assume any path leading to a call
to them will be unlikely. This means a lot of manual unlikely()s
are unnecessary now for any paths leading to the usual suspects
like BUG(), printk(), panic() etc. [but let's keep them for now for
older compilers]
Early snapshots of gcc 4.3 don't support this and we can't detect this
in the preprocessor, but we can live with this because they're unreleased.
Maketime probing would be overkill here.
gcc also has a __attribute__((__hot__)) to move hot functions into
a special section, but I don't see any sense in this right now in
the kernel context */
#define __cold __attribute__((__cold__))
#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
#ifndef __CHECKER__
# define __compiletime_warning(message) __attribute__((warning(message)))
# define __compiletime_error(message) __attribute__((error(message)))
#endif /* __CHECKER__ */
/*
* Mark a position in code as unreachable. This can be used to
* suppress control flow warnings after asm blocks that transfer
* control elsewhere.
*
* Early snapshots of gcc 4.5 don't support this and we can't detect
* this in the preprocessor, but we can live with this because they're
* unreleased. Really, we need to have autoconf for the kernel.
*/
#define unreachable() __builtin_unreachable()
/* Mark a function definition as prohibited from being cloned. */
#define __noclone __attribute__((__noclone__))
/*
* Tell the optimizer that something else uses this function or variable.
*/
#define __visible __attribute__((externally_visible))
/*
* GCC 'asm goto' miscompiles certain code sequences:
*
* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
*
* Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
*
* (asm goto is automatically volatile - the naming reflects this.)
*/
#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
#define __HAVE_BUILTIN_BSWAP32__
#define __HAVE_BUILTIN_BSWAP64__
#define __HAVE_BUILTIN_BSWAP16__
#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
pkgname=firmware-samsung-kylepro
pkgver=1
pkgrel=0
pkgdesc="Samsung Galaxy Trend Plus Firmware"
url=""https://github.com/Samsung-KYLEPROXX/android_vendor_samsung_kyleproxx
arch="noarch"
license="proprietary"
options="!check !strip"
# Source
_commit="a6725fbede9f2b1f8fa3177b8733e204c753f108"
source=$pkgname-$_commit.tar.gz::$url"/archive/${_commit}.tar.gz"
package() {
cd "$srcdir/android_vendor_samsung_kyleproxx-${_commit}/proprietary/"
# Wifi
install -Dm644 "etc/wifi/bcmdhd_sta.bin" \
"$pkgdir/lib/firmware/postmarketos/bcmdhd_sta.bin"
install -Dm644 "etc/wifi/nvram_net.txt" \
"$pkgdir/lib/firmware/postmarketos/nvram_net.txt"
}
sha512sums="c0ac8771a7ca6be7db485f0f8a3625091ee56513a8d8075659711a0c2c26cd630649d763b6ebda2f7579beeb56e682f6eccfed024cf5400c53cc0b0ec41dff26 firmware-samsung-kylepro-a6725fbede9f2b1f8fa3177b8733e204c753f108.tar.gz"