Date: Sat, 24 Jun 2017 13:13:40 +0200 From: Johnny Sorocil <jsorocil@gmail.com> To: freebsd-arm@freebsd.org Subject: Orange Pi Zero support Message-ID: <CADxA8SoTM2WWUhGZ=B-7Y7QthyaWRU2Si94Cw41ccCyQHA846w@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
--001a113b06da6926fa0552b2cfc0 Content-Type: text/plain; charset="UTF-8" Hi all! I am trying to run FreeBSD on Orange Pi Zero board (Allwinner H2+ SoC). I have few questions: 1) How to build vanilla u-boot which will be capable booting FreeBSD kernel? I have managed to load ubldr, but not the kernel. 2) How to use newer Linux dts/dtb files? 1) u-boot This is how I built u-boot: git clone git://git.denx.de/u-boot.git cd u-boot git checkout v2017.05 # apply patch so it can be built on FreeBSD (tested on FreeBSD 11.1-BETA1) (in the attachment) gmake ARCH=arm CROSS_COMPILE=arm-none-eabi- orangepi_zero_defconfig gmake -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi- dd if=u-boot-sunxi-with-spl.bin conv=notrunc,sync of=/dev/mmcsd0 bs=1024 seek=8 In the u-boot prompt: fatload mmc 0 0x42000000 ubldr.bin setenv fdtfile sun8i-h3-orangepi-one.dtb go 0x4200000 ubldr will work as expected, but kernel will hang at the start. If I use /usr/local/share/u-boot/u-boot-orangepi-one/u-boot-sunxi-with-spl.bin then the kernel and userland will boot normally. This is tested booting -CURRENT from Jul 22 (git: 57e30b47aab) 2) newer DTS/DTB If I use sun8i-h3-orangepi-one.dtb from FreeBSD source tree then the board will boot fine, but I don't have network. I can also boot normally if the dtb file is rebuilt manually: cd /usr/src/sys/gnu/dts/arm cpp -P -x assembler-with-cpp -I /usr/src/sys/gnu/dts/include -include sun8i-h3-orangepi-plus.dts /dev/null | dtc -O dtb -o ./sun8i-h3-rebuilt.dtb ls -lh sun8i-h3-rebuilt.dtb -rw-r--r-- 1 root wheel 15K Jun 24 13:02 sun8i-h3-rebuilt.dtb But, if dtb files from Armbian (Linux 4.11) are used, kernel will hang: Using DTB from loaded file 'boot/dtb-4.11.3-sun8i/sun8i-h2-plus-orangepi-zero.dtb'. Kernel entry at 0x42200100... Kernel args: -v The same file boots Linux without problems. I don't know why newer dtb files won't work because there is no output on serial console. Any ideas how to make it work? --001a113b06da6926fa0552b2cfc0 Content-Type: text/plain; charset="US-ASCII"; name="uboot_v2017.05.diff" Content-Disposition: attachment; filename="uboot_v2017.05.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j4b37e9x0 ZGlmZiAtLWdpdCBhL2xpYi9iY2guYyBiL2xpYi9iY2guYwppbmRleCBlYzUzNDgzNzc0Li5iNDVj NTA3YzUxIDEwMDY0NAotLS0gYS9saWIvYmNoLmMKKysrIGIvbGliL2JjaC5jCkBAIC02MSw3ICs2 MSwxMSBAQAogI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgogI2Vsc2UKICNpbmNsdWRlIDxlcnJu by5oPgorI2lmZGVmIF9fRnJlZUJTRF9fCisjaW5jbHVkZSA8bWFjaGluZS9lbmRpYW4uaD4KKyNl bHNlCiAjaW5jbHVkZSA8ZW5kaWFuLmg+CisjZW5kaWYKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNp bmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTExMiw3ICsxMTYsNyBA QCBzdHJ1Y3QgZ2ZfcG9seV9kZWcxIHsKIAl1bnNpZ25lZCBpbnQgICBjWzJdOwogfTsKIAotI2lm ZGVmIFVTRV9IT1NUQ0MKKyNpZiBkZWZpbmVkIFVTRV9IT1NUQ0MgJiYgIWRlZmluZWQgX19GcmVl QlNEX18KIHN0YXRpYyBpbnQgZmxzKGludCB4KQogewogCWludCByID0gMzI7Cg== --001a113b06da6926fa0552b2cfc0--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADxA8SoTM2WWUhGZ=B-7Y7QthyaWRU2Si94Cw41ccCyQHA846w>