Allwinner H3/H2+ dts question - regression?

Eugene Sevastyanov eval at iptk.ru
Mon Nov 27 04:45:43 UTC 2017


Hi,

Faced with exactly the same problem. Installed FreeBSD on the Orange Pi Zero board, but in the regular dts there is no description for emac. So I wrote my dts, partly taking information from the native file, and partly from Linux.
To avoid rebuilding the whole kernel for the compilation of dtb, I created a separate project. In the attached archive, the project with the original dts and the received dtb for Orange Pi Zero. In fact, this is a copy of the structure of the native FreeBSD source tree with only the necessary files for DTS compilation.
The script arm.sh takes care of all the work on creating a bootable flash drive. Uncomment there only the necessary sections. The script DOES NOT COPY the resulting dtb on the USB flash drive, be careful.

> Hi,
> 
> after some time I am playing a bit again with my Allwinner H3/H2+ based
> boards. First I crossbuild world and kernel using svn rev. 324530,
> after trying to upgrade older armv6 to current armv7 with no success,
> put them on micro SD card and tested it. I found there are some dtb's
> for this SOC, but none worked well. I tested ethernet, USB and thermal
> devices. Ethernet worked only with sun8i-h3-nanopi-neo.dtb, but using
> it USB did not work.
> 
> Then I upgraded sources to svn rev. 326187 and built new kernel
> natively. While resulting kernel loads, none of dtb's provided have
> ethernet working. Using nanopi-neo.dtb from old revision, originally
> identical with sun8i-h3-nanopi-neo.dtb, provides me again with working
> ethernet.
> 
> This raises a question what changed with dts sources and why we have no
> stable working dts... By the way, I am using GENERIC-NOCTF-NOINET6
> kernel (plain GENERIC, just with CTF and INET6 options removed),
> currently on Orange Pi Zero and Orange Pi R1 boards, the later being
> almost identical with the former, just there is second USB
> connected ethernet port instead of usual USB port, and changed wifi
> module, which does not works for us anyway.
> 
> I looked over our sources and could not find any definition of emac for
> Allwinner H3/H2+ SoC. Is it just me or is it really somehow lost?
> 
> One more question, loosely related - how does one build dtb file? I
> mean, I know I can just invoke 'make buildkernel -DNO_CLEAN' and all
> dtb's for boards defined in makefile will be created. However, I think
> it is handy to do it on board tested, because you can simply stop
> u-boot, type
> 
> env set fdtfile sun8i-h2-plus-orangepi-zero.dtb;boot
> 
> and test new definition. Reboot is quick on Allwinner board I have, but
> 'make buildkernel -DNO_CLEAN' takes ~ 3 minutes, additionally, your dts
> needs to be mentioned in Makefile. I found it is actually done with
> 
> /usr/src/sys/tools/fdt/make_dtb.sh /usr/src/sys sun8i-h2-plus-orangepi-zero.dts /usr/obj/usr/src/arm.armv7/sys/GENERIC-NOCTF-NOINET6/modules/usr/src/sys/modules/dtb/allwinner
> 
> (in one line) invoked from some make command, but this does not give me
> exactly the same result, probably environment differs. dtb file created
> this way is larger than one produced with 'make buildkernel' command,
> there are some fixups added. No idea whether it does any harm or not.
> 
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
> 
> 


More information about the freebsd-arm mailing list