samsung-a3lte: new device (Samsung Galaxy A3 - SM-A300F) (MR 1433)
SM-A300F is pretty much identical to SM-A300FU (note the U), but it needs different firmware for some reason.
This commit is contained in:
parent
460c8de69d
commit
dea5488d93
5 changed files with 165 additions and 0 deletions
64
device/testing/device-samsung-a3lte/APKBUILD
Normal file
64
device/testing/device-samsung-a3lte/APKBUILD
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
# Reference: <https://postmarketos.org/devicepkg>
|
||||||
|
# Maintainer: Nikita Travkin <nikitos.tr@gmail.com>
|
||||||
|
# Maintainer: Minecrell <minecrell@minecrell.net>
|
||||||
|
pkgname=device-samsung-a3lte
|
||||||
|
pkgdesc="Samsung Galaxy A3 (SM-A300F)"
|
||||||
|
pkgver=1
|
||||||
|
pkgrel=0
|
||||||
|
url="https://postmarketos.org"
|
||||||
|
license="MIT"
|
||||||
|
arch="aarch64"
|
||||||
|
options="!check !archcheck"
|
||||||
|
depends="postmarketos-base mkbootimg soc-qcom-msm8916"
|
||||||
|
makedepends="devicepkg-dev"
|
||||||
|
source="deviceinfo modprobe.conf rootston.ini"
|
||||||
|
subpackages="
|
||||||
|
$pkgname-kernel-mainline:kernel_mainline
|
||||||
|
$pkgname-kernel-mainline-modem:kernel_mainline_modem
|
||||||
|
$pkgname-nonfree-firmware:nonfree_firmware
|
||||||
|
$pkgname-nonfree-firmware-modem:nonfree_firmware_modem
|
||||||
|
$pkgname-phosh
|
||||||
|
"
|
||||||
|
|
||||||
|
build() {
|
||||||
|
devicepkg_build $startdir $pkgname
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
devicepkg_package $startdir $pkgname
|
||||||
|
}
|
||||||
|
|
||||||
|
kernel_mainline() {
|
||||||
|
pkgdesc="Close to mainline kernel (no modem, audio routed directly)"
|
||||||
|
depends="linux-postmarketos-qcom-msm8916"
|
||||||
|
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
|
||||||
|
}
|
||||||
|
|
||||||
|
kernel_mainline_modem() {
|
||||||
|
pkgdesc="Close to mainline kernel (non-free modem, audio routed through ADSP)"
|
||||||
|
depends="linux-postmarketos-qcom-msm8916 soc-qcom-msm8916-modem"
|
||||||
|
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
|
||||||
|
}
|
||||||
|
|
||||||
|
nonfree_firmware() {
|
||||||
|
pkgdesc="GPU/WiFi/BT/Video(/Modem) firmware"
|
||||||
|
depends="linux-firmware-qcom firmware-samsung-a3lte-venus firmware-samsung-a3lte-wcnss"
|
||||||
|
mkdir "$subpkgdir"
|
||||||
|
}
|
||||||
|
|
||||||
|
nonfree_firmware_modem() {
|
||||||
|
pkgdesc="Modem firmware"
|
||||||
|
depends="firmware-samsung-a3lte-modem"
|
||||||
|
install_if="$pkgname-nonfree-firmware $pkgname-kernel-mainline-modem"
|
||||||
|
mkdir "$subpkgdir"
|
||||||
|
}
|
||||||
|
|
||||||
|
phosh() {
|
||||||
|
install_if="$pkgname postmarketos-ui-phosh"
|
||||||
|
install -Dm644 "$srcdir"/rootston.ini \
|
||||||
|
"$subpkgdir"/etc/phosh/rootston.ini
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="6f6b53fce933f25793aeca747411b32c31244fd149e971d640b3330913d9d443532b2b4c1138f58f13a46dda2d3854503256a0212cddac28b1f17df9c6d7c519 deviceinfo
|
||||||
|
ee4263607eee2d12bd796d19606de35005f0a1ae4b8ff86e4556f2233c533b62d651dabe558081b5ff768a6b8158f34dd9b74b3dcece159e55d635b1d807928b modprobe.conf
|
||||||
|
f3667b914bb955be9e97db31dc7ed4a7c5d0c369be9549d587bb7208e270590c0c3fa36a0dd997d6f8305c5c9afb3b906423af6ca8724e806f995e61226cfc83 rootston.ini"
|
39
device/testing/device-samsung-a3lte/deviceinfo
Normal file
39
device/testing/device-samsung-a3lte/deviceinfo
Normal 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 A3 (SM-A300F)"
|
||||||
|
deviceinfo_manufacturer="Samsung"
|
||||||
|
deviceinfo_codename="samsung-a3lte"
|
||||||
|
deviceinfo_year="2014"
|
||||||
|
|
||||||
|
# Eventually this should be replaced with a special DTB for a3lte.
|
||||||
|
# However, the differences are minimal, so for now a3u-eur works fine.
|
||||||
|
deviceinfo_dtb_mainline="qcom/msm8916-samsung-a3u-eur"
|
||||||
|
deviceinfo_dtb_mainline_modem="qcom/msm8916-samsung-a3u-eur-modem"
|
||||||
|
deviceinfo_append_dtb="true"
|
||||||
|
deviceinfo_modules_initfs=""
|
||||||
|
deviceinfo_arch="aarch64"
|
||||||
|
|
||||||
|
# Device related
|
||||||
|
deviceinfo_chassis="handset"
|
||||||
|
deviceinfo_keyboard="false"
|
||||||
|
deviceinfo_external_storage="true"
|
||||||
|
deviceinfo_screen_width="540"
|
||||||
|
deviceinfo_screen_height="960"
|
||||||
|
deviceinfo_getty="ttyMSM0;115200"
|
||||||
|
|
||||||
|
# MSM DRM cannot take over the framebuffer from the bootloader at the moment
|
||||||
|
deviceinfo_no_framebuffer="true"
|
||||||
|
|
||||||
|
# Bootloader related
|
||||||
|
deviceinfo_flash_method="fastboot"
|
||||||
|
deviceinfo_kernel_cmdline="earlycon console=ttyMSM0,115200 PMOS_NO_OUTPUT_REDIRECT"
|
||||||
|
deviceinfo_generate_bootimg="true"
|
||||||
|
deviceinfo_flash_offset_base="0x80000000"
|
||||||
|
deviceinfo_flash_offset_kernel="0x00080000"
|
||||||
|
deviceinfo_flash_offset_ramdisk="0x02000000"
|
||||||
|
deviceinfo_flash_offset_second="0x00f00000"
|
||||||
|
deviceinfo_flash_offset_tags="0x01e00000"
|
||||||
|
deviceinfo_flash_pagesize="2048"
|
||||||
|
deviceinfo_flash_sparse="true"
|
20
device/testing/device-samsung-a3lte/modprobe.conf
Normal file
20
device/testing/device-samsung-a3lte/modprobe.conf
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#
|
||||||
|
# There is a weird probe issue if both MSM DRM and the panel driver are built
|
||||||
|
# as modules: When MSM DRM is loaded it registers the DSI bus for the panel.
|
||||||
|
# At this point the panel is not loaded yet, so the kernel sends an uevent
|
||||||
|
# to userspace to load the necessary panel module.
|
||||||
|
#
|
||||||
|
# This causes some delay until the panel module is loaded, so MSM DRM fails to
|
||||||
|
# probe temporarily and returns -EPROBE_DEFER (to request probing again later).
|
||||||
|
# Unfortunately this will also unregister the DSI bus for the panel, and the
|
||||||
|
# kernel will not try probing MSM DRM + panel again until some other (slow)
|
||||||
|
# driver loads after MSM DRM.
|
||||||
|
#
|
||||||
|
# Usually WCNSS (WiFi/BT) fits that criteria, allowing the display to work.
|
||||||
|
# But this does not work if the user decides to exclude proprietary firmware.
|
||||||
|
#
|
||||||
|
# To avoid this problem we add an explicit soft dependency for MSM DRM
|
||||||
|
# on the panel module, so modprobe loads the panel module first and MSM DRM
|
||||||
|
# will immediately find the panel it is looking for.
|
||||||
|
#
|
||||||
|
softdep msm pre: panel-samsung-s6e88a0-ams452ef01
|
5
device/testing/device-samsung-a3lte/rootston.ini
Normal file
5
device/testing/device-samsung-a3lte/rootston.ini
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
[cursor:seat0]
|
||||||
|
map-to-output:DSI-1
|
||||||
|
|
||||||
|
[output:DSI-1]
|
||||||
|
scale = 1
|
37
device/testing/firmware-samsung-a3lte/APKBUILD
Normal file
37
device/testing/firmware-samsung-a3lte/APKBUILD
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
pkgname=firmware-samsung-a3lte
|
||||||
|
pkgver=1
|
||||||
|
pkgrel=0
|
||||||
|
pkgdesc="Firmware for Samsung Galaxy A3 (SM-A300F)"
|
||||||
|
url="https://rizzotherat.gitlab.io/firmware/"
|
||||||
|
subpackages="$pkgname-modem $pkgname-venus $pkgname-wcnss"
|
||||||
|
arch="aarch64"
|
||||||
|
license="proprietary"
|
||||||
|
options="!check !strip !archcheck"
|
||||||
|
source="https://pepethekingprawn.gitlab.io/firmware/SM-A300F.tar.xz"
|
||||||
|
|
||||||
|
_fwdir="/lib/firmware/postmarketos"
|
||||||
|
|
||||||
|
package() {
|
||||||
|
# parent package is empty
|
||||||
|
mkdir -p "$pkgdir"
|
||||||
|
}
|
||||||
|
|
||||||
|
modem() {
|
||||||
|
pkgdesc="Samsung Galaxy A3 (SM-A300F) modem firmware"
|
||||||
|
install -Dm644 "$srcdir"/mba.mbn -t "$subpkgdir/$_fwdir"
|
||||||
|
install -Dm644 "$srcdir"/modem.* -t "$subpkgdir/$_fwdir"
|
||||||
|
}
|
||||||
|
|
||||||
|
venus() {
|
||||||
|
pkgdesc="Samsung Galaxy A3 (SM-A300F) video firmware"
|
||||||
|
install -Dm644 "$srcdir"/venus.* -t "$subpkgdir/$_fwdir"/qcom/venus-1.8
|
||||||
|
}
|
||||||
|
|
||||||
|
wcnss() {
|
||||||
|
pkgdesc="Samsung Galaxy A3 (SM-A300F) WiFi/BT firmware"
|
||||||
|
cd "$srcdir"
|
||||||
|
install -Dm644 wcnss.* -t "$subpkgdir/$_fwdir"
|
||||||
|
install -Dm644 WCNSS_* -t "$subpkgdir/$_fwdir"/wlan/prima
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="7aeeeca56f629589a02434f6e24ac141139d1080fae369864450917fb3ad2bc8a64803201e9771ff932bf79a379207772b975fc4c184561338e87213093380df SM-A300F.tar.xz"
|
Loading…
Reference in a new issue