samsung-serranovelte: new device (Samsung Galaxy S4 Mini Value Edition) (!828)

samsung-serranovelte runs Linux mainline (linux-postmarketos-qcom-msm8916)
with support for:

  - Display
  - Touchscreen
  - Sound
  - GPIO keys
  - NFC
  - Vibrator
  - IMU (Accelerometer + Gyroscope)
  - Battery

The primary limitation of samsung-serranovelte is that it can only run
ARMv7 (32-bit) binaries, even though its hardware (MSM8916) is 64-bit
capable. This is because it was never updated with 64-bit compatible
firmware (usually introduced together with the Android 5.0 update).

[ci:skip-vercheck]: only added new architectures
This commit is contained in:
Minecrell 2019-12-07 15:00:58 +01:00 committed by Alexey Min
parent cf8b2f605d
commit 3a70f3748f
No known key found for this signature in database
GPG key ID: 0B19D2A65870B448
3 changed files with 105 additions and 0 deletions

View file

@ -0,0 +1,29 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname="device-samsung-serranovelte"
pkgdesc="Samsung Galaxy S4 Mini Value Edition"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
options="!check !archcheck"
depends="postmarketos-base mkbootimg linux-postmarketos-qcom-msm8916 soc-qcom-msm8916"
makedepends="devicepkg-dev"
source="deviceinfo"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
nonfree_firmware() {
pkgdesc="GPU/WiFi/BT/Video firmware"
depends="linux-firmware-qcom firmware-samsung-serranovelte-venus firmware-samsung-serranovelte-wcnss"
mkdir "$subpkgdir"
}
sha512sums="71e014f672180c64f8037f00e45f23be2d013aa4488b2d0581bec523af2a9e3d4c75171fcfc55049426a4869a0597e00979e67cf08c10abefed100c413e4913e deviceinfo"

View file

@ -0,0 +1,39 @@
# 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 S4 Mini Value Edition"
deviceinfo_manufacturer="Samsung"
deviceinfo_codename="samsung-serranovelte"
deviceinfo_date=""
deviceinfo_dtb="qcom-msm8916-samsung-serranovelte"
deviceinfo_append_dtb="true"
deviceinfo_modules_initfs=""
deviceinfo_arch="armv7"
# Device related
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="540"
deviceinfo_screen_height="960"
deviceinfo_dev_touchscreen="/dev/input/by-path/platform-78b9000.i2c-event"
deviceinfo_dev_touchscreen_calibration=""
deviceinfo_dev_keyboard=""
# MSM DRM cannot take over the framebuffer from the bootloader at the moment
deviceinfo_no_framebuffer="true"
# The panel on this device displays everything horizontally flipped for some reason (WTF Samsung?).
# Make it look normal by instructing the kernel to flip the screen using video=540x960,reflect_x.
deviceinfo_kernel_cmdline="earlycon=msm_serial_dm,0x78b0000 console=ttyMSM0,115200,n8 video=540x960,reflect_x PMOS_NO_OUTPUT_REDIRECT"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_generate_bootimg="true"
deviceinfo_flash_offset_base="0x80000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x02000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x01e00000"
deviceinfo_flash_pagesize="2048"
deviceinfo_flash_sparse="true"

View file

@ -0,0 +1,37 @@
pkgname=firmware-samsung-serranovelte
pkgver=2
pkgrel=0
pkgdesc="Firmware for Samsung Galaxy S4 Mini Value Edition"
url="https://pepethekingprawn.gitlab.io/firmware/"
subpackages="$pkgname-modem $pkgname-venus $pkgname-wcnss"
arch="armv7"
license="proprietary"
options="!check !strip !archcheck"
source="https://pepethekingprawn.gitlab.io/firmware/GT-I9195I.tar.xz"
_fwdir="/lib/firmware/postmarketos"
package() {
# parent package is empty
mkdir -p "$pkgdir"
}
modem() {
pkgdesc="Samsung Galaxy S4 Mini Value Edition modem firmware"
install -Dm644 "$srcdir"/mba.mbn -t "$subpkgdir/$_fwdir"
install -Dm644 "$srcdir"/modem.* -t "$subpkgdir/$_fwdir"
}
venus() {
pkgdesc="Samsung Galaxy S4 Mini Value Edition video firmware"
install -Dm644 "$srcdir"/venus.* -t "$subpkgdir/$_fwdir"/qcom/venus-1.8
}
wcnss() {
pkgdesc="Samsung Galaxy S4 Mini Value Edition WiFi/BT firmware"
cd "$srcdir"
install -Dm644 wcnss.* -t "$subpkgdir/$_fwdir"
install -Dm644 WCNSS_* -t "$subpkgdir/$_fwdir"/wlan/prima
}
sha512sums="9064ef28a3bb19a193b47f7d689ae397cdccd7cd8469bc8f7cdd4a76006a15c3f57b9a6081b9c4bd1e8499816cf244bc82337f956799a58dfc8ed40130ce5686 GT-I9195I.tar.xz"