From 5fea0974777d1faf37c995bdc2f328db3718e83f Mon Sep 17 00:00:00 2001
From: user0-07161 <userthenyancat@google.com>
Date: Thu, 29 Aug 2024 20:48:06 +0200
Subject: [PATCH] Add tolino page 2 support. This currently fully works, (WiFi,
 Booting, Flashing to internal SD), EXCEPT graphics.

---
 device/testing/device-tolino-page2/APKBUILD   | 34 +++++++++++++++++
 device/testing/device-tolino-page2/deviceinfo | 35 +++++++++++++++++
 .../device-tolino-page2/modules-initfs        |  3 ++
 device/testing/u-boot-tolino-page2/APKBUILD   | 38 +++++++++++++++++++
 .../u-boot-tolino-page2.post-upgrade          |  6 +++
 5 files changed, 116 insertions(+)
 create mode 100644 device/testing/device-tolino-page2/APKBUILD
 create mode 100644 device/testing/device-tolino-page2/deviceinfo
 create mode 100644 device/testing/device-tolino-page2/modules-initfs
 create mode 100644 device/testing/u-boot-tolino-page2/APKBUILD
 create mode 100644 device/testing/u-boot-tolino-page2/u-boot-tolino-page2.post-upgrade

diff --git a/device/testing/device-tolino-page2/APKBUILD b/device/testing/device-tolino-page2/APKBUILD
new file mode 100644
index 00000000000..0fe5678b6d8
--- /dev/null
+++ b/device/testing/device-tolino-page2/APKBUILD
@@ -0,0 +1,34 @@
+# Reference: <https://postmarketos.org/devicepkg>
+pkgname=device-tolino-page2
+pkgdesc="Tolino Page 2"
+pkgver=1
+pkgrel=0
+url="https://postmarketos.org"
+license="MIT"
+arch="armv7"
+options="!check !archcheck"
+depends="
+	kobo-epdc-extractor
+	linux-postmarketos-imx-ereader
+	perl
+	postmarketos-base
+	u-boot-tolino-page2
+"
+makedepends="devicepkg-dev"
+source="
+	deviceinfo
+	modules-initfs
+"
+
+build() {
+	devicepkg_build $startdir $pkgname
+}
+
+package() {
+	devicepkg_package $startdir $pkgname
+}
+
+sha512sums="
+d7e1de85bdd817936b173b5c2e373c7053a68600f5d851b45f7b8422c7cd2c2e90fc6b755ce01c3aeb09b57126d39462407aa34a5a6cc09a0bab53e8092c2a3f  deviceinfo
+5d53ee902538e53c4fe79eaef8e3800b9d3f73ec70d2a9887ddb11a6715ca76ce17128e3c02c2b6f2f575fb86f15c2415c24466d4b1a031f7a346d0db186dcb1  modules-initfs
+"
diff --git a/device/testing/device-tolino-page2/deviceinfo b/device/testing/device-tolino-page2/deviceinfo
new file mode 100644
index 00000000000..eff777f77c4
--- /dev/null
+++ b/device/testing/device-tolino-page2/deviceinfo
@@ -0,0 +1,35 @@
+# Reference: <https://postmarketos.org/deviceinfo>
+# Please use double quotes only. You can source this file in shell
+# scripts.
+
+deviceinfo_format_version="0"
+deviceinfo_name="Tolino Page 2"
+deviceinfo_manufacturer="Tolino"
+deviceinfo_codename="tolino-page2"
+deviceinfo_year="2017"
+deviceinfo_dtb=""
+deviceinfo_arch="armv7"
+deviceinfo_dtb="imx6sl-tolino-shine3"
+deviceinfo_kernel_cmdline="console=ttymxc0,115200"
+deviceinfo_generate_extlinux_config="true"
+
+# Device related
+deviceinfo_chassis="tablet"
+deviceinfo_keyboard="false"
+deviceinfo_external_storage="true"
+
+# Bootloader related
+deviceinfo_flash_method="none"
+deviceinfo_kernel_cmdline="console=ttymxc0,115200 init=/init androidboot.console=ttymxc0 max17135:pass=2, fbmem=6M video=mxcepdcfb:E060SCM,bpp=16 no_console_suspend"
+deviceinfo_sd_embed_firmware_step_size="512"
+deviceinfo_sd_embed_firmware="u-boot/tolino-page2/u-boot.imx:2"
+# deviceinfo_generate_bootimg="false"
+deviceinfo_bootimg_qcdt="false"
+deviceinfo_bootimg_dtb_second="false"
+deviceinfo_flash_pagesize="2048"
+deviceinfo_header_version="0"
+deviceinfo_flash_offset_base="0x80800000"
+deviceinfo_flash_offset_kernel="0x00008000"
+deviceinfo_flash_offset_ramdisk="0x01000000"
+deviceinfo_flash_offset_second="0x00f00000"
+deviceinfo_flash_offset_tags="0x00000100"
diff --git a/device/testing/device-tolino-page2/modules-initfs b/device/testing/device-tolino-page2/modules-initfs
new file mode 100644
index 00000000000..426836e8681
--- /dev/null
+++ b/device/testing/device-tolino-page2/modules-initfs
@@ -0,0 +1,3 @@
+tps6518x_hwmon
+tps6518x_regulator
+mxc_epdc_drm
diff --git a/device/testing/u-boot-tolino-page2/APKBUILD b/device/testing/u-boot-tolino-page2/APKBUILD
new file mode 100644
index 00000000000..572b3fa68aa
--- /dev/null
+++ b/device/testing/u-boot-tolino-page2/APKBUILD
@@ -0,0 +1,38 @@
+# Reference: <https://postmarketos.org/devicepkg>
+pkgname=u-boot-tolino-page2
+pkgver=2023.10
+pkgrel=0
+pkgdesc="U-Boot for Tolino Page 2"
+arch="armv7"
+_carch="arm"
+license="GPL-2.0"
+url="https://github.com/akemnade/u-boot-fslc"
+makedepends="bash bc dtc bison flex openssl-dev"
+options="!check !tracedeps pmb:cross-native"
+
+install="$pkgname.post-upgrade"
+_repository="u-boot-fslc"
+_commit="4518da106aae1a8ce97d8ca41c248b79fcec63ed"
+source="
+	$pkgname-$_commit.tar.gz::https://github.com/akemnade/$_repository/archive/$_commit.tar.gz
+"
+
+builddir="$srcdir/$_repository-$_commit"
+
+build() {
+	make ARCH="$_carch" mx6sltolinoshine3_defconfig
+	scripts/config -e ENV_IS_IN_EXT4
+	scripts/config -d ENV_IS_IN_MMC
+	scripts/config --set-str ENV_EXT4_INTERFACE "mmc"
+	scripts/config --set-str ENV_EXT4_DEVICE_AND_PART "0:1"
+	scripts/config --set-str ENV_EXT4_FILE "/uboot.env"
+	make ARCH="$_carch"
+}
+
+package() {
+	install -D -m644 "$builddir/u-boot-dtb.imx" "$pkgdir/usr/share/u-boot/tolino-page2/u-boot.imx"
+}
+
+sha512sums="
+664c2780aad4ae86e411fe71a8d0e0cf98ca7ef98c3daed9e20b4e88e930bb3f0ca2073052d0481338505c29e7641c0fa54efb320398acf7f659c57193fcd7e7  u-boot-tolino-page2-4518da106aae1a8ce97d8ca41c248b79fcec63ed.tar.gz
+"
diff --git a/device/testing/u-boot-tolino-page2/u-boot-tolino-page2.post-upgrade b/device/testing/u-boot-tolino-page2/u-boot-tolino-page2.post-upgrade
new file mode 100644
index 00000000000..cc5556a9768
--- /dev/null
+++ b/device/testing/u-boot-tolino-page2/u-boot-tolino-page2.post-upgrade
@@ -0,0 +1,6 @@
+#!/bin/sh
+DEV=`mount | sed -n -E 's:.*(/dev/mmcblk[0-9])p[0-9] on /boot .*:\1:p'`
+if [ -n "$DEV" ] ; then
+	dd if=/usr/share/u-boot/tolino-shine3/u-boot.imx bs=512 seek=2 of="$DEV"
+fi
+
-- 
GitLab