Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Mar 2014 12:01:31 -0700
From:      Warner Losh <bsdimp@gmail.com>
To:        Ian Lepore <ian@FreeBSD.org>
Cc:        Tim Kientzle <tim@kientzle.com>, freebsd-arm <freebsd-arm@FreeBSD.org>
Subject:   Re: A unified imx6 kernel config, old WANDBOARD-* configs going away
Message-ID:  <05B4DCBB-E8A9-4EC1-B50C-3D2965828BF1@bsdimp.com>
In-Reply-To: <1393688945.1149.225.camel@revolution.hippie.lan>
References:  <1393594966.1149.161.camel@revolution.hippie.lan> <F38D0A2F-D2AF-426D-8515-BD111501B2A2@kientzle.com> <1393688945.1149.225.camel@revolution.hippie.lan>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mar 1, 2014, at 8:49 AM, Ian Lepore <ian@FreeBSD.org> wrote:

> On Sat, 2014-03-01 at 07:41 -0800, Tim Kientzle wrote:
>> On Feb 28, 2014, at 5:42 AM, Ian Lepore <ian@freebsd.org> wrote:
>>=20
>>> I've added a new imx6 unified kernel config named IMX6.  It has no
>>> compiled-in fdt, and can boot all three flavors of Wandboard when =
u-boot
>>> and ubldr load a dtb file.  Folks should start using it and =
eventually
>>> the WANDBOARD* configs will go away when nobody needs them anymore.
>>=20
>> Nice!  Another step towards GENERIC ARM.

Yes, many more steps to go, but if we can have a generic kernel per SoC =
that=92s
miles ahead of where we are now.

>>> the .dtb file in your /boot/kernel or /boot/modules directory, and =
ubldr
>>> will load it from there, using the filename set in the u-boot env =
var
>>> fdt_file.
>>=20
>> Using a U-Boot env var to specify the FDT is a nice idea.

When U-Boot itself doesn=92t have the DTB already in the image, yes.

>>> Unfortunately we can't do a single image that boots any wandboard,
>>> because u-boot itself has to be different for each board.  This is =
what
>>> my u-boot env looks like on each wandboard:
>>>=20
>>> =3D> printenv
>>> baudrate=3D115200
>>> bootcmd=3Drun ubnet
>>> bootdelay=3D1
>>> console=3Dttymxc0
>>> fdt_file=3Dwandboard-dual.dtb
>>> loadaddr=3D11000000
>>> loaderdev=3Dnet
>>> ubmmc=3Dfatload mmc 0 ${loadaddr} ubldr; bootelf
>>> ubnet=3Ddhcp ${loadaddr} /wand/boot/ubldr;bootelf
>>>=20
>>> Environment size: 265/8188 bytes
>>>=20
>>> The only thing that differs per-board is the fdt_file setting, and =
the
>>> u-boot binary itself.
>>=20
>> If you could get to a single U-Boot binary, you might
>> be able to do what BeagleBone does:  The U-boot.env
>> script detects the board variation and conditionally
>> loads the correct DTB blob.
>=20
> That's my long-term goal, but it'll take some major u-boot hacking,
> probably won't happen for months.  The imx6 quad chip is different
> enough from the solo and dual-lite that a single u-boot to handle both
> will be kind of tricky the way the u-boot code is structured now.  =
Doing
> a single u-boot for solo+dual-lite is so trivial I'm not sure why
> wandboard didn't do it that way.

Things get more complicated when more boards are involved=85  For all
the Atmel boards, the user or board maker (more typically) will have to
include the DTB so you know which one of the dozens of choices is
present=85But then again, from the kernel/ubldr perspective, the right =
DTB
is present, and you are good to go

Warner=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?05B4DCBB-E8A9-4EC1-B50C-3D2965828BF1>