arrow-db410c: new device (Arrow DragonBoard 410c) (MR 1293)

The DB410c is a SBC with APQ8016 SoC. It runs on mainline without
any patches. This port makes use of the existing linux-postmarketos-qcom-msm8916
kernel package that is used for other mainline MSM8916 devices.

Tested functionality:
  - USB Network, USB Host (e.g. an USB keyboard)
  - Flashing (Fastboot)
  - Display (HDMI)
  - WiFi/BT
  - GPU
  - Audio (HDMI)
  - FDE

Not tested:
  - GPS

Note: The firmware package is called firmware-qcom-db410c (instead of arrow)
because the firmware is provided directly by Qualcomm, not Arrow.
This commit is contained in:
Minecrell 2020-06-08 15:25:14 +02:00 committed by Bart Ribbers
parent af01e26142
commit 87a0624e93
No known key found for this signature in database
GPG key ID: 699D16185DAFAE61
3 changed files with 109 additions and 0 deletions

View file

@ -0,0 +1,30 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Minecrell <minecrell@minecrell.net>
pkgname=device-arrow-db410c
pkgdesc="Arrow DragonBoard 410c"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
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-qcom-db410c-wcnss firmware-qcom-db410c-wcnss-nv"
mkdir "$subpkgdir"
}
sha512sums="6f1d55b39c3cc058088cadd80d212722442d879a90ddcf0f36f01eaaadc5cdc4164a5b73a589b646ab2133c13a4b80e953d6972195a6030153f7f0c4fc835494 deviceinfo"

View file

@ -0,0 +1,33 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell scripts.
deviceinfo_format_version="0"
deviceinfo_name="Arrow DragonBoard 410c"
deviceinfo_manufacturer="Arrow"
deviceinfo_codename="arrow-db410c"
deviceinfo_year="2015"
deviceinfo_dtb="qcom/apq8016-sbc"
deviceinfo_append_dtb="true"
deviceinfo_modules_initfs="display-connector adv7511 msm"
deviceinfo_arch="aarch64"
# Device related
deviceinfo_chassis="embedded"
deviceinfo_keyboard="true"
deviceinfo_external_storage="true"
deviceinfo_screen_width="1920"
deviceinfo_screen_height="1080"
deviceinfo_getty="ttyMSM0;115200"
# 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"
deviceinfo_flash_fastboot_partition_system="rootfs"

View file

@ -0,0 +1,46 @@
pkgname=firmware-qcom-db410c
pkgver=1034.2.1
pkgrel=0
pkgdesc="Firmware for DragonBoard 410c"
url="https://releases.linaro.org/96boards/dragonboard410c/qualcomm/firmware/"
subpackages="$pkgname-doc $pkgname-modem $pkgname-wcnss $pkgname-wcnss-nv:wcnss_nv"
arch="aarch64"
license="custom"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
makedepends="mtools"
source="https://releases.linaro.org/96boards/dragonboard410c/qualcomm/firmware/linux-board-support-package-r$pkgver.zip"
builddir="$srcdir/linux-board-support-package-r$pkgver"
_fwdir="/lib/firmware/postmarketos"
unpack() {
default_unpack
# Extract firmware files from FAT file system image
mcopy -i "$builddir"/bootloaders-linux/NON-HLOS.bin -p -m -v \
::image/mba.mbn ::image/modem.* ::image/wcnss.* "$srcdir"
}
package() {
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
install -Dm644 NOTICE.txt "$pkgdir"/usr/share/licenses/$pkgname/NOTICE
}
modem() {
pkgdesc="DragonBoard 410c modem firmware"
install -Dm644 "$srcdir"/mba.mbn -t "$subpkgdir/$_fwdir"
install -Dm644 "$srcdir"/modem.* -t "$subpkgdir/$_fwdir"
}
wcnss() {
pkgdesc="DragonBoard 410c WiFi/BT firmware"
install -Dm644 "$srcdir"/wcnss.* -t "$subpkgdir/$_fwdir"
}
wcnss_nv() {
pkgdesc="DragonBoard 410c WiFi/BT firmware configuration"
install -Dm644 "$builddir"/proprietary-linux/wlan/prima/WCNSS_* \
-t "$subpkgdir/$_fwdir"/wlan/prima
}
sha512sums="4b5d0250552ff3b0a55af9395e62064299a1240f22a5f50383de95723db964351412fa2b38f24fe73fdeb613366e0eb6b3c335600c238546db783ca84647e2d2 linux-board-support-package-r1034.2.1.zip"