Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Towboot PinePhone compatibility #399

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions PKGBUILDS/pine64/device-pine64-pinephone/PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
# Maintainer: Danct12 <[email protected]>
pkgname=device-pine64-pinephone
pkgver=0.2
pkgrel=4
pkgrel=5
pkgdesc="PinePhone device package"
arch=(aarch64)
url="https://github.com/dreemurrs-embedded/Pine64-Arch"
license=('MIT')
depends=(danctnix-tweaks alsa-ucm-pinephone linux-megi uboot-pinephone rtl8723bt-firmware anx7688-firmware
ov5640-firmware eg25-manager)
depends=(danctnix-tweaks alsa-ucm-pinephone linux-megi rtl8723bt-firmware anx7688-firmware
ov5640-firmware eg25-manager uboot-tools)
optdepends=('uboot-pinephone: required if not using tow-boot')
install="$pkgname.install"
backup=("boot/boot.txt")
source=(10-proximity.rules
10-pinephone-brightness.rules
pinephone-suspend-hook.sh
machine-info
pulseaudio-pinetweaks.conf)
pulseaudio-pinetweaks.conf
boot.txt
mkscr)

package() {
# Kanged from Mobian, this is to make iio-sensor-proxy works with proximity sensor.
Expand All @@ -28,10 +32,15 @@ package() {
install -Dm644 "$srcdir"/machine-info "$pkgdir"/etc/machine-info

install -Dm644 "$srcdir"/pulseaudio-pinetweaks.conf "$pkgdir"/etc/pulse/daemon.conf.d/pinetweaks.conf

# u-boot startup script
install -Dm644 -t "${pkgdir}"/boot boot.txt mkscr
}

md5sums=('b72ff096c022588f72c226283ac328bd'
'3a478fece4381cf41fb795009bfe8cc3'
'b0912b95d7d810a0f161d9bd79fc162b'
'b53781dde1d7a9a44e5076f3be463570'
'1504e684e5a2aec439e0674cdfc9d3c1')
'1504e684e5a2aec439e0674cdfc9d3c1'
'69400a6dfe94221172b2a00f18b1a8bd'
'021623a04afd29ac3f368977140cfbfd')
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
gpio set 98 # Enable vibrator

if test ${mmc_bootdev} -eq 0; then
if test ${devnum} -eq 0; then
echo "Booting from SD"
setenv linux_mmcdev 0
else
Expand All @@ -9,7 +9,7 @@ else
fi

# If we have at least 2 partitions, then the 1st one is /boot, and / is #2
if part size mmc ${mmc_bootdev} 2 none; then
if part size mmc ${devnum} 2 none; then
setenv rootpart 2
else
setenv rootpart 1
Expand All @@ -19,17 +19,17 @@ fi
setenv bootargs loglevel=4 console=${console} console=tty0 root=/dev/mmcblk${linux_mmcdev}p${rootpart} rw rootwait quiet bootsplash.bootfile=bootsplash-themes/danctnix/bootsplash

echo "Loading kernel..."
load mmc ${mmc_bootdev}:1 ${ramdisk_addr_r} ${bootdir}/Image.gz
load mmc ${devnum}:1 ${ramdisk_addr_r} ${bootdir}/Image.gz

echo "Uncompressing kernel..."
unzip ${ramdisk_addr_r} ${kernel_addr_r}

echo "Loading initramfs..."
load mmc ${mmc_bootdev}:1 ${ramdisk_addr_r} ${bootdir}/initramfs-linux.img
load mmc ${devnum}:1 ${ramdisk_addr_r} ${bootdir}/initramfs-linux.img
setenv ramdisk_size ${filesize}

echo "Loading dtb..."
load mmc ${mmc_bootdev}:1 ${fdt_addr_r} ${bootdir}/dtbs/${fdtfile}
load mmc ${devnum}:1 ${fdt_addr_r} ${bootdir}/dtbs/${fdtfile}

echo Resizing FDT
fdt addr ${fdt_addr_r}
Expand All @@ -42,7 +42,7 @@ fdt list /memory

echo Loading user script
setenv user_scriptaddr 0x61dbc200
load mmc ${mmc_bootdev}:1 ${user_scriptaddr} ${bootdir}/user.scr
load mmc ${devnum}:1 ${user_scriptaddr} ${bootdir}/user.scr
if test $? -eq 0; then source ${user_scriptaddr}; else echo No user script found; fi

echo "Booting..."
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
post_install() {
post_upgrade() {
echo "Generating U-Boot script"
mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d /boot/boot.txt /boot/boot.scr

systemctl enable eg25-manager
}

post_upgrade() {
systemctl enable eg25-manager
post_install() {
post_upgrade
}
20 changes: 15 additions & 5 deletions PKGBUILDS/pine64/device-pine64-pinetab/PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,21 +1,26 @@
# Maintainer: Danct12 <[email protected]>
pkgname=device-pine64-pinetab
pkgver=0.2
pkgrel=3
pkgrel=4
pkgdesc="PineTab device package"
arch=(aarch64)
url="https://github.com/dreemurrs-embedded/Pine64-Arch"
license=('MIT')
install="$pkgname.install"
backup=("boot/boot.txt")
depends=(linux-megi
uboot-pinephone
rtl8723bt-firmware
ov5640-firmware
alsa-ucm-pinetab)
uboot-tools # we need this for mkscr
alsa-ucm-pinetab
uboot-pinephone)
source=(pinetab-suspend-hook.sh
phoc.ini
machine-info
pulseaudio-pinetweaks.conf
gsk-renderer-gl.sh)
gsk-renderer-gl.sh
boot.txt
mkscr)

package() {
# Current workaround for suspend
Expand All @@ -29,10 +34,15 @@ package() {
install -Dm644 "$srcdir"/pulseaudio-pinetweaks.conf "$pkgdir"/etc/pulse/daemon.conf.d/pinetweaks.conf

install -Dm755 "$srcdir"/gsk-renderer-gl.sh -t "$pkgdir"/etc/profile.d/

# u-boot startup script
install -Dm644 -t "${pkgdir}"/boot boot.txt mkscr
}

md5sums=('b0912b95d7d810a0f161d9bd79fc162b'
'ecd8742a921d805e6756abc522da1dba'
'340993065eb26f928700733369be2d9b'
'1504e684e5a2aec439e0674cdfc9d3c1'
'df623da01912f5ce89c178639fc22656')
'df623da01912f5ce89c178639fc22656'
'57662f9c45c1432c2756149724422f6d'
'021623a04afd29ac3f368977140cfbfd')
47 changes: 47 additions & 0 deletions PKGBUILDS/pine64/device-pine64-pinetab/boot.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
if test ${devnum} -eq 0; then
echo "Booting from SD"
setenv linux_mmcdev 0
else
echo "Booting from eMMC"
setenv linux_mmcdev 2
fi

# If we have at least 2 partitions, then the 1st one is /boot, and / is #2
if part size mmc ${devnum} 2 none; then
setenv rootpart 2
else
setenv rootpart 1
setenv bootdir "/boot"
fi

setenv bootargs loglevel=4 console=${console} console=tty0 root=/dev/mmcblk${linux_mmcdev}p${rootpart} rw rootwait quiet bootsplash.bootfile=bootsplash-themes/danctnix/bootsplash

echo "Loading kernel..."
load mmc ${devnum}:1 ${ramdisk_addr_r} ${bootdir}/Image.gz

echo "Uncompressing kernel..."
unzip ${ramdisk_addr_r} ${kernel_addr_r}

echo "Loading initramfs..."
load mmc ${devnum}:1 ${ramdisk_addr_r} ${bootdir}/initramfs-linux.img
setenv ramdisk_size ${filesize}

echo "Loading dtb..."
load mmc ${devnum}:1 ${fdt_addr_r} ${bootdir}/dtbs/${fdtfile}

echo Resizing FDT
fdt addr ${fdt_addr_r}
fdt resize

echo Adding FTD RAM clock
fdt mknode / memory
fdt set /memory ram_freq ${ram_freq}
fdt list /memory

echo Loading user script
setenv user_scriptaddr 0x61dbc200
load mmc ${devnum}:1 ${user_scriptaddr} ${bootdir}/user.scr
if test $? -eq 0; then source ${user_scriptaddr}; else echo No user script found; fi

echo "Booting..."
booti ${kernel_addr_r} ${ramdisk_addr_r}:0x${ramdisk_size} ${fdt_addr_r}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
post_upgrade() {
echo "Generating U-Boot script"
mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d /boot/boot.txt /boot/boot.scr
}

post_install() {
post_upgrade
}
9 changes: 9 additions & 0 deletions PKGBUILDS/pine64/device-pine64-pinetab/mkscr
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash

if [[ ! -x /usr/bin/mkimage ]]; then
echo "mkimage not found. Please install uboot-tools:"
echo " pacman -S uboot-tools"
exit 1
fi

mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt boot.scr
7 changes: 0 additions & 7 deletions PKGBUILDS/pine64/uboot-pinephone/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,8 @@ pkgdesc="U-Boot for PinePhone"
arch=('aarch64')
url='http://www.denx.de/wiki/U-Boot/WebHome'
license=('GPL')
depends=('uboot-tools') # we need this for mkscr
makedepends=('bc' 'python' 'swig' 'dtc' 'python-setuptools')
install=${pkgname}.install
backup=("boot/boot.txt")

_commit_atf="d005bfcdff423fc84f03c657e0dcdb4b45621b22"

Expand All @@ -23,8 +21,6 @@ source=("https://ftp.denx.de/pub/u-boot/u-boot-${pkgver/rc/-rc}.tar.bz2"
'0001-expose-DRAM-clock-speed.patch'
'Improve-Allwinner-A64-timer-workaround.patch'
'Add-volume_key-environment-variable.patch'
'boot.txt'
'mkscr'
'update-u-boot'
'scp.bin')
md5sums=('49ba74a214d14c6340c8067bc1ed5fa0'
Expand All @@ -33,8 +29,6 @@ md5sums=('49ba74a214d14c6340c8067bc1ed5fa0'
'061a510280d16bddf16679cf0d23bf6e'
'98ad5f31b1d7ff2e6e03555f29ebc6e6'
'fb9def68f0b44c69f88f7923e21379cc'
'06c27a80909035513aac45036e8d954b'
'021623a04afd29ac3f368977140cfbfd'
'5f85361d1d5ce47ff11ec4009cc2e18a'
'90616d501a12d6f7a12c4349f789c343')

Expand Down Expand Up @@ -132,6 +126,5 @@ package() {
cp u-boot-sunxi-with-spl-pinetab{-624,-552,-528,-492}.bin "${pkgdir}"/boot
cp u-boot-sunxi-with-spl-pinephone{-624,-552,-528,-492}.bin "${pkgdir}"/boot

cp ../boot.txt ../mkscr "${pkgdir}"/boot
mkdir -p "${pkgdir}"/usr/bin && cp ../update-u-boot "${pkgdir}"/usr/bin
}