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 >