Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Nov 2017 15:27:24 +0100
From:      Emmanuel Vadot <manu@bidouilliste.com>
To:        Milan Obuch <freebsd-arm@dino.sk>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Allwinner H3/H2+ dts question - regression?
Message-ID:  <20171127152724.679688f6189f27718d76344c@bidouilliste.com>
In-Reply-To: <20171126124217.2a512392@zeta.dino.sk>
References:  <20171126124217.2a512392@zeta.dino.sk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 26 Nov 2017 12:42:17 +0100
Milan Obuch <freebsd-arm@dino.sk> wrote:

> 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 is because emac isn't yet standardized, it will have a stable
binding in dts from Linux 4.15

> 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.

 We have stable DTS, at least in the same "stable" definition as in
Linux mainline.

> 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?

 We have the driver which work well on pine64 and also on H3, we just
need to wait for dts from Linux 4.15

> 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.

 Maybe you do not use the same dtc than buildkernel.

-- 
Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20171127152724.679688f6189f27718d76344c>