pine64-pinenote: new device (MR 3778)

Co-developed-by: Caleb Connolly <caleb@connolly.tech>
[ci:skip-build]: already built successfully in CI
This commit is contained in:
Petr Hodina 2023-03-05 15:42:46 +01:00 committed by Oliver Smith
parent 712149558b
commit 804b97dc20
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
7 changed files with 6218 additions and 0 deletions

View file

@ -0,0 +1,48 @@
# Maintainer: Petr Hodina <phodina@protonmail.com>
pkgname=device-pine64-pinenote
pkgdesc="Pine64 PineNote"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
linux-pine64-pinenote
postmarketos-base
"
makedepends="devicepkg-dev"
source="deviceinfo
phoc.ini
"
subpackages="
$pkgname-nonfree-firmware:nonfree_firmware
$pkgname-phosh
"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
nonfree_firmware() {
pkgdesc="WiFi, Bluetooth and display firmware"
depends="firmware-pine64-pinenote"
mkdir "$subpkgdir"
}
phosh() {
install_if="$pkgname=$pkgver-r$pkgrel phosh"
depends="postmarketos-theme"
install -Dm644 "$srcdir"/phoc.ini \
-t "$subpkgdir"/etc/phosh
}
sha512sums="
c6847fc0128f8ccbc76fee5b5cd328c3b9d67774097e0fd16ee4a6cb8645b953bb38f0598fad6610abb64e43a8db3cae54c426dfcb58eecf750f5ea35a2af0fc deviceinfo
4bf5158fbd53274a7429e825bb66225001f2403a4851e2d6803323b77d9095738ee3e5340ac85baf3e86bb4f47d38af8cbd78d8a5055c59a62f5b06e722e19cb phoc.ini
"

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="Pine64 PineNote"
deviceinfo_manufacturer="Pine64"
deviceinfo_codename="pine64-pinenote"
deviceinfo_year="2021"
deviceinfo_dtb="rockchip/rk3566-pinenote-v1.2"
deviceinfo_arch="aarch64"
deviceinfo_gpu_accelerated="true"
# Device related
deviceinfo_chassis="tablet"
deviceinfo_keyboard="false"
deviceinfo_external_storage="false"
deviceinfo_screen_width="1404"
deviceinfo_screen_height="1872"
deviceinfo_getty="ttyS2;1500000"
# initfs
deviceinfo_modules_initfs="tps65185-regulator rockchip_ebc drm_kms_helper drm_shmem_helper pvi_waveform"
# Bootloader related
deviceinfo_flash_method="rkdeveloptool"
deviceinfo_flash_sparse="true"
deviceinfo_flash_rk_partition_kernel="cache"
deviceinfo_flash_rk_partition_system="userdata"
deviceinfo_generate_extlinux_config="true"
deviceinfo_kernel_cmdline="earlycon console=tty0 console=ttyS2,1500000n8 PMOS_NO_OUTPUT_REDIRECT vt.default_red=0xFF,0xBC,0x4F,0xB4,0x56,0xBC,0x4F,0x00,0xA1,0xCF,0x84,0xCA,0x8D,0xB4,0x84,0x68 vt.default_grn=0xFF,0x55,0xBA,0xBA,0x4D,0x4D,0xB3,0x00,0xA0,0x8F,0xB3,0xCA,0x88,0x93,0xA4,0x68 vt.default_blu=0xFF,0x58,0x5F,0x58,0xC5,0xBD,0xC5,0x00,0xA8,0xBB,0xAB,0x97,0xBD,0xC7,0xC5,0x68 PMOS_FORCE_PARTITION_RESIZE"

View file

@ -0,0 +1,6 @@
# /etc/phosh/phoc.ini
# Overwrites values set in /usr/share/phosh/phoc.ini
# e-ink is an "Unknown" display type for now in mainline
[output:Unknown-1]
scale = 2.0

View file

@ -0,0 +1 @@
/lib/firmware/rockchip/ebc.wbf

View file

@ -0,0 +1,31 @@
# Maintainer: Petr Hodina <phodina@protonmail.com>
pkgname=firmware-pine64-pinenote
pkgver=1
pkgrel=0
pkgdesc="Firmware for Pine64 Pinenote"
url="https://gitlab.com/calebccff/firmware-pine64-pinenote"
arch="aarch64"
license="proprietary"
options="!check !archcheck !strip !tracedeps pmb:cross-native"
_commit="6676e4cabf5f68062da86ef528ac033507f02529"
source="https://gitlab.com/calebccff/firmware-pine64-pinenote/-/archive/$_commit/firmware-pine64-pinenote-$_commit.tar.gz
30-eink-waveform.files
"
builddir="$srcdir/$pkgname-$_commit/"
package() {
install -Dm644 "$srcdir/30-eink-waveform.files" \
"$pkgdir/etc/postmarketos-mkinitfs/files/30-eink-waveform.files"
install -Dm644 waveform.bin "$pkgdir"/lib/firmware/rockchip/ebc.wbf
install -Dm644 brcm/BCM4345C0_cy.hcd "$pkgdir"/lib/firmware/brcm/BCM4345C0_cy.hcd
install -Dm644 brcm/BCM4345C0.hcd "$pkgdir"/lib/firmware/brcm/BCM4345C0.hcd
install -Dm644 brcm/fw_bcm43455c0_ag_cy.bin "$pkgdir"/lib/firmware/brcm/brcmfmac43455-sdio.bin
install -Dm644 brcm/nvram_ap6255_cy.txt "$pkgdir"/lib/firmware/brcm/brcmfmac43455-sdio.txt
}
sha512sums="
645df0df980a2595f6d7afc2a2477c1754a8e23f10a35f656c03410ad2e0e932d1501e648fcf8f1b22cf0c1e7b24b9a3eab3304780622701e343b89580ee1a54 firmware-pine64-pinenote-6676e4cabf5f68062da86ef528ac033507f02529.tar.gz
6f28e561114d8740c4eb3115231fb714aaa8e194ffe38c1b656bbed121eb3dff3684130b8f3eb58f76b6caa1f5eb1dd07856d6ff4b88fa8c45d2555e30e01e86 30-eink-waveform.files
"

View file

@ -0,0 +1,61 @@
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm64/configs/pinenote_defconfig
pkgname=linux-pine64-pinenote
pkgver=5.17.0
pkgrel=0
pkgdesc="Pine64 PineNote close to mainline fork"
arch="aarch64"
_carch="arm64"
_flavor="pine64-pinenote"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native"
makedepends="bison findutils flex installkernel openssl-dev perl"
# Source
_repo="linux"
_tag=20230119
_config="config-$_flavor.$arch"
source="
$pkgname-$_tag.tar.gz::https://github.com/m-weigand/$_repo/archive/refs/tags/v$_tag.tar.gz
$_config
"
builddir="$srcdir/linux-$_tag"
prepare() {
default_prepare
cp "$srcdir/config-$_flavor.$CARCH" .config
}
build() {
unset LDFLAGS
# FIXME: Currently we need the verbose flag as the CI kills the build
# without any output in the console after 900s (pma#1990)
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-$_flavor" V=1
}
package() {
mkdir -p "$pkgdir"/boot
install -Dm644 "$builddir/arch/$_carch/boot/Image" \
"$pkgdir/boot/vmlinuz"
make modules_install dtbs_install \
ARCH="$_carch" \
INSTALL_PATH="$pkgdir"/boot/ \
INSTALL_MOD_PATH="$pkgdir" \
INSTALL_MOD_STRIP=1 \
INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs
rm -f "$pkgdir"/lib/modules/*/build "$pkgdir"/lib/modules/*/source
install -D "$builddir"/include/config/kernel.release \
"$pkgdir"/usr/share/kernel/$_flavor/kernel.release
}
sha512sums="
24cc2471ebae2ebef9321fe3fbda48f2aaf8161ae8480d429b506815ac165ed61f71e496001c62a4feac40785cb3f46111efa6f38f30397e1ee8df95a131bfcf linux-pine64-pinenote-20230119.tar.gz
ef85c30d1c9886297cdb56e758127dca26d06ae308e8e140bfa7c59ccd15d4947a6fd5c2d2bb4b15073d7c52bb0a4f5010eb66ec3067afd1d835c98b6e802ffa config-pine64-pinenote.aarch64
"

File diff suppressed because it is too large Load diff