From 9848333b6c6da715cb36b3773929ef0bcf1e2b3d Mon Sep 17 00:00:00 2001 From: Emmanuel Vadot Date: Mon, 26 Nov 2018 16:38:39 +0000 Subject: [PATCH] release: arm64: Add PINEBOOK config Add a configuration for PINEBOOK image. Pinebook is a arm64 laptop based on a Pine64 board. Since the usb trackpad need a quirk, add a common function for adding quirk for arm board. A default one is supplied as most board to not need quirks. Reviewed by: gjb MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D18337 --- release/arm64/PINEBOOK.conf | 42 +++++++++++++++++++++++++++++++++++++ release/tools/arm.subr | 5 +++++ 2 files changed, 47 insertions(+) create mode 100644 release/arm64/PINEBOOK.conf diff --git a/release/arm64/PINEBOOK.conf b/release/arm64/PINEBOOK.conf new file mode 100644 index 00000000000..ced3b7eb409 --- /dev/null +++ b/release/arm64/PINEBOOK.conf @@ -0,0 +1,42 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +EMBEDDED_TARGET_ARCH="aarch64" +EMBEDDED_TARGET="arm64" +EMBEDDEDBUILD=1 +EMBEDDEDPORTS="sysutils/u-boot-pinebook" +FAT_SIZE="54m -b 1m" +FAT_TYPE="16" +IMAGE_SIZE="2560M" +KERNEL="GENERIC" +MD_ARGS="-x 63 -y 255" +NODOC=1 +PART_SCHEME="MBR" +FDT_OVERLAYS="sun50i-a64-sid,sun50i-a64-ths,sun50i-a64-timer" +export BOARDNAME="PINEBOOK" + +arm_install_uboot() { + UBOOT_DIR="/usr/local/share/u-boot/u-boot-pinebook" + UBOOT_FILES="u-boot-sunxi-with-spl.bin" + chroot ${CHROOTDIR} dd if=${UBOOT_DIR}/${UBOOT_FILES} \ + of=/dev/${mddev} bs=1k seek=8 conv=sync + + return 0 +} + +arm_do_quirk() { + echo '# Enable quirk for trackpad' \ + >> ${CHROOTDIR}/${DESTDIR}/boot/loader.conf + echo 'usb_quirk_load=YES' \ + >> ${CHROOTDIR}/${DESTDIR}/boot/loader.conf + echo 'ums_load=YES' \ + >> ${CHROOTDIR}/${DESTDIR}/boot/loader.conf + echo 'hw.usb.quirk="0x258a 0x000c 0x0000 0xffff UQ_CFG_INDEX=1"' \ + >> ${CHROOTDIR}/${DESTDIR}/boot/loader.conf + # We want EFIFB but there is no node and so we cannot know + # which regulator is used for powering lcd/hdmi + echo 'hw.regulator.disable_unused=0' \ + >> ${CHROOTDIR}/${DESTDIR}/boot/loader.conf +} diff --git a/release/tools/arm.subr b/release/tools/arm.subr index 690adf18e56..5b024334188 100644 --- a/release/tools/arm.subr +++ b/release/tools/arm.subr @@ -174,6 +174,7 @@ arm_install_base() { arm64_setup_multicons arm_setup_fdt_overlays arm_setup_minimal_loader + arm_do_quirk echo '# Custom /etc/fstab for FreeBSD embedded images' \ > ${CHROOTDIR}/${DESTDIR}/etc/fstab @@ -238,3 +239,7 @@ arm_install_uboot() { return 0 } + +arm_do_quirk() { + # Override in the arm{,64}/BOARD.conf file. +}