From 61181ce2d7546ec27a2e527735630f41d416e6b9 Mon Sep 17 00:00:00 2001 From: Martijn Braam Date: Thu, 13 Jan 2022 16:50:30 +0100 Subject: [PATCH] sipeed-licheezero: new device (MR 2843) --- .../testing/device-sipeed-licheezero/APKBUILD | 61 +++++++++++++++++++ .../device-sipeed-licheezero/deviceinfo | 23 +++++++ .../device-sipeed-licheezero/overlay.txt | 2 + .../overlay/i2c0-user.dts | 12 ++++ .../device-sipeed-licheezero/uboot-script.cmd | 32 ++++++++++ 5 files changed, 130 insertions(+) create mode 100644 device/testing/device-sipeed-licheezero/APKBUILD create mode 100644 device/testing/device-sipeed-licheezero/deviceinfo create mode 100644 device/testing/device-sipeed-licheezero/overlay.txt create mode 100644 device/testing/device-sipeed-licheezero/overlay/i2c0-user.dts create mode 100644 device/testing/device-sipeed-licheezero/uboot-script.cmd diff --git a/device/testing/device-sipeed-licheezero/APKBUILD b/device/testing/device-sipeed-licheezero/APKBUILD new file mode 100644 index 000000000..af891d936 --- /dev/null +++ b/device/testing/device-sipeed-licheezero/APKBUILD @@ -0,0 +1,61 @@ +# Reference: +pkgname=device-sipeed-licheezero +pkgdesc="Sipeed Lichee Zero" +pkgver=0.1 +pkgrel=0 +url="https://postmarketos.org" +license="MIT" +arch="armv7" +options="!check !archcheck" +depends=" + linux-edge + mesa-dri-gallium + postmarketos-base + u-boot-sunxi + uboot-tools +" +makedepends="devicepkg-dev dtc" +source=" + deviceinfo + uboot-script.cmd + overlay.txt + overlay/i2c0-user.dts + " + +build() { + devicepkg_build $startdir $pkgname + mkimage \ + -A arm \ + -O linux \ + -T script \ + -C none \ + -a 0 \ + -e 0 \ + -n postmarketos \ + -d "$srcdir"/uboot-script.cmd \ + "$srcdir"/boot.scr + + dtc \ + -@ \ + -I dts \ + -O dtb \ + -o "$srcdir"/i2c0-user.dtbo \ + "$srcdir"/i2c0-user.dts +} + +package() { + devicepkg_package $startdir $pkgname + install -Dm644 "$srcdir"/boot.scr \ + "$pkgdir"/boot/boot.scr + install -Dm644 "$srcdir"/overlay.txt \ + "$pkgdir"/boot/overlay.txt + install -Dm644 "$srcdir"/i2c0-user.dtbo \ + "$pkgdir"/boot/overlay/i2c0-user.dtbo +} + +sha512sums=" +db99fe3bba838c2c66ad1c569683a8eebc9ca23429555197b743153e84d6fda57644468eab179d1d8efaea3780965d4be793f8d9b6f5edbe95018925e90d30f0 deviceinfo +44dcd9a3cafd6670e7a75d9a2f966322ba0bb6ef081641bde136e7faa80c0d1fa1b3342302f36e5e999dde2c5099b31b106f1df33f6375b9453282dbdffa8ed4 uboot-script.cmd +3893ee2b0d8ddd018cc909d8157d79e6637fe546670430899c463452fd92ae9d9d6c4d212631d93b55e838f29b9e34fd22ab58a3ce628fec75a2d21944f8313d overlay.txt +8980f09f9afd276d0373545f203ee362f663ae055bf87df22e8085e8a4e53a4e46e96e2b4f8adb24b1dc77fffdf050fb8663008a742ad77c6cfbc50e3aff043f i2c0-user.dts +" diff --git a/device/testing/device-sipeed-licheezero/deviceinfo b/device/testing/device-sipeed-licheezero/deviceinfo new file mode 100644 index 000000000..c7fc44ba6 --- /dev/null +++ b/device/testing/device-sipeed-licheezero/deviceinfo @@ -0,0 +1,23 @@ +# Reference: +# Please use double quotes only. You can source this file in shell +# scripts. + +deviceinfo_format_version="0" +deviceinfo_name="Sipeed Lichee Zero" +deviceinfo_manufacturer="Sipeed" +deviceinfo_codename="sipeed-licheezero" +deviceinfo_year="2017" +deviceinfo_modules_initfs="configfs roles musb_hdrc" +deviceinfo_arch="armv7" + +# Device related +deviceinfo_chassis="embedded" +deviceinfo_keyboard="true" +deviceinfo_external_storage="true" +deviceinfo_screen_width="320" +deviceinfo_screen_height="240" +deviceinfo_getty="ttyS0;115200" + +# Bootloader related +deviceinfo_flash_method="none" +deviceinfo_sd_embed_firmware="u-boot/LicheePi_Zero/u-boot-sunxi-with-spl.bin:8" diff --git a/device/testing/device-sipeed-licheezero/overlay.txt b/device/testing/device-sipeed-licheezero/overlay.txt new file mode 100644 index 000000000..1aa390c48 --- /dev/null +++ b/device/testing/device-sipeed-licheezero/overlay.txt @@ -0,0 +1,2 @@ +# Add space seperated overlay names, will be loaded from /boot/overlay/${name}.dtbo +overlay= diff --git a/device/testing/device-sipeed-licheezero/overlay/i2c0-user.dts b/device/testing/device-sipeed-licheezero/overlay/i2c0-user.dts new file mode 100644 index 000000000..c602f0967 --- /dev/null +++ b/device/testing/device-sipeed-licheezero/overlay/i2c0-user.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "licheepi,licheepi-zero"; + fragment@0 { + target-path = "/soc/i2c@1c2ac00"; + __overlay__ { + status = "okay"; + }; + }; +}; diff --git a/device/testing/device-sipeed-licheezero/uboot-script.cmd b/device/testing/device-sipeed-licheezero/uboot-script.cmd new file mode 100644 index 000000000..939607002 --- /dev/null +++ b/device/testing/device-sipeed-licheezero/uboot-script.cmd @@ -0,0 +1,32 @@ +setenv bootargs init=/init.sh rw console=tty0 console=ttyS0,115200 panic=10 consoleblank=0 loglevel=1 PMOS_NO_OUTPUT_REDIRECT PMOS_FORCE_PARTITION_RESIZE + +printenv + +echo Loading DTB ${fdtfile} +load mmc 0:1 ${fdt_addr_r} dtbs-edge/${fdtfile} + +echo Loading Initramfs +load mmc 0:1 ${ramdisk_addr_r} initramfs +setenv ramdisk_size ${filesize} + +echo Loading Kernel +load mmc 0:1 ${kernel_addr_r} vmlinuz-edge + + +echo Resizing FDT +fdt addr ${fdt_addr_r} +fdt resize + +echo Loading user config +setexpr fdtoverlay_addr_r ${fdt_addr_r} + F0000 +if load mmc 0:1 ${fdtoverlay_addr_r} overlay.txt && env import -t ${fdtoverlay_addr_r} ${filesize} && test -n ${overlay}; then + echo Loaded overlay.txt: ${overlay} + for ov in ${overlay}; do + echo Load ${ov}.dtbo + load mmc 0:1 ${fdtoverlay_addr_r} overlay/${ov}.dtbo && fdt apply ${fdtoverlay_addr_r} + done + echo Loaded all overlays +fi + +echo Booting kernel +bootz ${kernel_addr_r} ${ramdisk_addr_r}:${ramdisk_size} ${fdt_addr_r}