Skip site navigation (1)Skip section navigation (2)
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>