Date: Sun, 01 Feb 2015 10:47:39 -0700 From: Ian Lepore <ian@freebsd.org> To: ticso@cicely.de Cc: freebsd-arm@freebsd.org, Bernd Walter <ticso@cicely7.cicely.de> Subject: Re: porting for Novena and other new iMX6 boards Message-ID: <1422812859.15718.279.camel@freebsd.org> In-Reply-To: <20150128190737.GJ58886@cicely7.cicely.de> References: <20150128190737.GJ58886@cicely7.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2015-01-28 at 20:07 +0100, Bernd Walter wrote: > I do own a few iMX6 boards, which are not directly supported by > FreeBSD. > My latest addition is one of those famous Novena boards. > > The filesystem on the supplied micro-SD card lists: > [57]cicely13# ls -al > total 7464 > drwxr-xr-x 1 root wheel 16384 Jan 1 1980 . > drwxr-xr-x 37 root wheel 1024 Dec 13 10:36 .. > -rwxr-xr-x 1 root wheel 39835 Nov 14 22:28 novena.dtb > -rwxr-xr-x 1 root wheel 39835 Nov 14 22:29 novena.recovery.dtb > -rwxr-xr-x 1 root wheel 304876 Nov 14 22:27 u-boot.img > -rwxr-xr-x 1 root wheel 35840 Nov 14 22:27 u-boot.spl > -rwxr-xr-x 1 root wheel 3598728 Nov 14 22:29 zImage.recovery > -rwxr-xr-x 1 root wheel 3598728 Nov 14 22:28 zimage > > I think I can handle setting up a FreeBSD kernel with the required > IO specifications as long as those definitions are compiled into > the kernel. > However I'm unsure about the whole uboot story and could use some help. > As far as I know we do need special features from that uboot to > boot a FreeBSD kernel with loader support. > For the kernel, just use the generic IMX6 kernel. There really shouldn't be any other imx6 kernel configs anymore, but I've been lax in deleting obsolete stuff. For u-boot, I'd say you should start with sysutils/u-boot-wandboard from ports. You probably need to keep all the patches in files/ except the one for include/configs/edm_cf_imx6.h. To handle config, you may need to do no more than find the right .h file for your board and cut and paste the entire bottom of the patched wandboard config file into your board's config file. That is, from the "FreeBSD customizations from here down" marker to the end. For the dts source, look first in sys/gnu/dts/arm and see if your board is already there. If it is, that's the one to use, if it's not, see if your vendor has published their dts source in github or somewhere. Oh, I just noticed you have the .dtb from the vendor, you can use that, just copy it into /boot/dtb/ in your root filesystem. The freebsd imx6 code is designed to use vendor-supplied dts assuming they stuck to the documented bindings for imx6. Given that the dtb should be named imx6q-novena.dtb, I'm afraid maybe it's not fully standard. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1422812859.15718.279.camel>