From owner-freebsd-arm@freebsd.org Sun Nov 26 11:47:30 2017 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B8F83DC15C1 for ; Sun, 26 Nov 2017 11:47:30 +0000 (UTC) (envelope-from freebsd-arm@dino.sk) Received: from mailhost.netlabit.sk (mailhost.netlabit.sk [84.245.65.72]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 56ACC687C2 for ; Sun, 26 Nov 2017 11:47:29 +0000 (UTC) (envelope-from freebsd-arm@dino.sk) Received: from zeta.dino.sk (fw3.dino.sk [84.245.95.254]) (AUTH: LOGIN milan) by mailhost.netlabit.sk with ESMTPA; Sun, 26 Nov 2017 12:42:17 +0100 id 00DE187E.5A1AA899.0000CC3E Date: Sun, 26 Nov 2017 12:42:17 +0100 From: Milan Obuch To: freebsd-arm@freebsd.org Subject: Allwinner H3/H2+ dts question - regression? Message-ID: <20171126124217.2a512392@zeta.dino.sk> X-Mailer: Claws Mail 3.15.1 (GTK+ 2.24.31; i386-portbld-freebsd10.4) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Nov 2017 11:47:30 -0000 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.