On Sun, Aug 27, 2017 at 09:42:31PM +0200, Peter Hessler wrote:
> taken from Icenowy Zheng's repository,
> commit bd656cab0c3e0669e977641c15095f32d7b0731f
>
> This gives us basic support for the Pine64 Pinebook
>
> OK?
>
> $ sysctl hw
> hw.machine=arm64
> hw.model=ARM Cortex-A53 r0p4
> hw.ncpu=1
> hw.byteorder=1234
> hw.pagesize=4096
> hw.disknames=sd0:d76c5b9369f79257
> hw.diskcount=1
> hw.product=Pinebook
> hw.physmem=2021924864
> hw.usermem=2021912576
> hw.ncpufound=1
> hw.allowpowerdown=1
So the only real change over the sopine config is using a dtb that sets
a different model string?
The dts should be closer to sun50i-a64-pine64-plus.dts
The defconfig should be the same as sopine_baseboard_defconfig
with CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pinebook" but without
CONFIG_SUN8I_EMAC=y.
Ideally the dts would just be another one in the sopine image
CONFIG_OF_LIST="sun50i-a64-pine64-plus sun50i-a64-pinebook"
This will require a way of testing if the spl is running on
the pinebook from
board_fit_config_name_match() in u-boot/board/sunxi/board.c
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/openbsd/ports/sysutils/u-boot/Makefile,v
> retrieving revision 1.25
> diff -u -p -u -p -r1.25 Makefile
> --- Makefile 24 Aug 2017 08:53:02 -0000 1.25
> +++ Makefile 27 Aug 2017 19:38:53 -0000
> @@ -7,7 +7,7 @@ FLAVOR?= arm
>
> COMMENT= U-Boot firmware
> VERSION= 2017.09-rc2
> -REVISION= 1
> +REVISION= 2
> DISTNAME= u-boot-${VERSION}
> PKGNAME= u-boot-${FLAVOR}-${VERSION:S/-//}
> FULLPKGNAME= ${PKGNAME}
> @@ -56,6 +56,7 @@ SUNXI64=\
> orangepi_prime \
> orangepi_win \
> pine64_plus \
> + pinebook \
> sopine_baseboard
> BOARDS=\
> mvebu_espressobin-88f3720 \
> Index: patches/patch-arch_arm_dts_Makefile
> ===================================================================
> RCS file: patches/patch-arch_arm_dts_Makefile
> diff -N patches/patch-arch_arm_dts_Makefile
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-arch_arm_dts_Makefile 27 Aug 2017 19:16:11 -0000
> @@ -0,0 +1,15 @@
> +$OpenBSD$
> +
> +Index: arch/arm/dts/Makefile
> +--- arch/arm/dts/Makefile.orig
> ++++ arch/arm/dts/Makefile
> +@@ -338,7 +338,8 @@ dtb-$(CONFIG_MACH_SUN50I) += \
> + sun50i-a64-bananapi-m64.dtb \
> + sun50i-a64-orangepi-win.dtb \
> + sun50i-a64-pine64-plus.dtb \
> +- sun50i-a64-pine64.dtb
> ++ sun50i-a64-pine64.dtb \
> ++ sun50i-a64-pinebook.dtb
> + dtb-$(CONFIG_MACH_SUN9I) += \
> + sun9i-a80-optimus.dtb \
> + sun9i-a80-cubieboard4.dtb \
> Index: patches/patch-arch_arm_dts_sun50i-a64-pinebook_dts
> ===================================================================
> RCS file: patches/patch-arch_arm_dts_sun50i-a64-pinebook_dts
> diff -N patches/patch-arch_arm_dts_sun50i-a64-pinebook_dts
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-arch_arm_dts_sun50i-a64-pinebook_dts 27 Aug 2017
> 19:17:38 -0000
> @@ -0,0 +1,68 @@
> +$OpenBSD$
> +
> +Index: arch/arm/dts/sun50i-a64-pinebook.dts
> +--- arch/arm/dts/sun50i-a64-pinebook.dts.orig
> ++++ arch/arm/dts/sun50i-a64-pinebook.dts
> +@@ -0,0 +1,62 @@
> ++/*
> ++ * Copyright (c) 2016 ARM Ltd.
> ++ *
> ++ * This file is dual-licensed: you can use it either under the terms
> ++ * of the GPL or the X11 license, at your option. Note that this dual
> ++ * licensing only applies to this file, and not this project as a
> ++ * whole.
> ++ *
> ++ * a) This library is free software; you can redistribute it and/or
> ++ * modify it under the terms of the GNU General Public License as
> ++ * published by the Free Software Foundation; either version 2 of the
> ++ * License, or (at your option) any later version.
> ++ *
> ++ * This library is distributed in the hope that it will be useful,
> ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
> ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> ++ * GNU General Public License for more details.
> ++ *
> ++ * Or, alternatively,
> ++ *
> ++ * b) Permission is hereby granted, free of charge, to any person
> ++ * obtaining a copy of this software and associated documentation
> ++ * files (the "Software"), to deal in the Software without
> ++ * restriction, including without limitation the rights to use,
> ++ * copy, modify, merge, publish, distribute, sublicense, and/or
> ++ * sell copies of the Software, and to permit persons to whom the
> ++ * Software is furnished to do so, subject to the following
> ++ * conditions:
> ++ *
> ++ * The above copyright notice and this permission notice shall be
> ++ * included in all copies or substantial portions of the Software.
> ++ *
> ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
> ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> ++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
> ++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> ++ * OTHER DEALINGS IN THE SOFTWARE.
> ++ */
> ++
> ++/dts-v1/;
> ++
> ++#include "sun50i-a64-pine64.dts"
> ++
> ++/ {
> ++ model = "Pinebook";
> ++ compatible = "pine64,pinebook", "allwinner,sun50i-a64";
> ++
> ++ aliases {
> ++ serial0 = &uart0;
> ++ };
> ++
> ++ chosen {
> ++ stdout-path = "serial0:115200n8";
> ++ };
> ++
> ++ memory {
> ++ reg = <0x40000000 0x40000000>;
> ++ };
> ++};
> Index: patches/patch-configs_pinebook_defconfig
> ===================================================================
> RCS file: patches/patch-configs_pinebook_defconfig
> diff -N patches/patch-configs_pinebook_defconfig
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-configs_pinebook_defconfig 27 Aug 2017 19:17:25 -0000
> @@ -0,0 +1,27 @@
> +$OpenBSD$
> +
> +Index: configs/pinebook_defconfig
> +--- configs/pinebook_defconfig.orig
> ++++ configs/pinebook_defconfig
> +@@ -0,0 +1,21 @@
> ++CONFIG_ARM=y
> ++CONFIG_ARCH_SUNXI=y
> ++CONFIG_MACH_SUN50I=y
> ++CONFIG_RESERVE_ALLWINNER_BOOT0_HEADER=y
> ++CONFIG_SUNXI_DRAM_LPDDR3_STOCK=y
> ++CONFIG_DRAM_CLK=552
> ++CONFIG_DRAM_ZQ=3881949
> ++CONFIG_DRAM_ODT_EN=y
> ++CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pinebook"
> ++# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> ++CONFIG_SPL=y
> ++CONFIG_SPL_ATF_SUPPORT=y
> ++CONFIG_SPL_ATF_TEXT_BASE=0x44000
> ++# CONFIG_CMD_IMLS is not set
> ++# CONFIG_CMD_FLASH is not set
> ++# CONFIG_CMD_FPGA is not set
> ++# CONFIG_SPL_DOS_PARTITION is not set
> ++# CONFIG_SPL_ISO_PARTITION is not set
> ++# CONFIG_SPL_EFI_PARTITION is not set
> ++CONFIG_SPL_SPI_SUNXI=y
> ++CONFIG_USB_EHCI_HCD=y
> Index: pkg/PFRAG.aarch64
> ===================================================================
> RCS file: /cvs/openbsd/ports/sysutils/u-boot/pkg/PFRAG.aarch64,v
> retrieving revision 1.5
> diff -u -p -u -p -r1.5 PFRAG.aarch64
> --- pkg/PFRAG.aarch64 24 Aug 2017 08:53:02 -0000 1.5
> +++ pkg/PFRAG.aarch64 27 Aug 2017 19:19:43 -0000
> @@ -48,6 +48,13 @@ share/u-boot/pine64_plus/u-boot-sunxi-wi
> share/u-boot/pine64_plus/u-boot.bin
> share/u-boot/pine64_plus/u-boot.img
> share/u-boot/pine64_plus/u-boot.itb
> +share/u-boot/pinebook/
> +share/u-boot/pinebook/sunxi-spl.bin
> +share/u-boot/pinebook/u-boot
> +share/u-boot/pinebook/u-boot-sunxi-with-spl.bin
> +share/u-boot/pinebook/u-boot.bin
> +share/u-boot/pinebook/u-boot.img
> +share/u-boot/pinebook/u-boot.itb
> share/u-boot/rpi_3/
> share/u-boot/rpi_3/u-boot
> share/u-boot/rpi_3/u-boot.bin
>
>
>
>
> --
> In America, any boy may become president and I suppose that's just one
> of the risks he takes.
> -- Adlai Stevenson
>