A unified imx6 kernel config, old WANDBOARD-* configs going away
Ian Lepore
ian at FreeBSD.org
Sun Mar 2 16:41:16 UTC 2014
On Sun, 2014-03-02 at 09:30 -0700, Warner Losh wrote:
> On Mar 1, 2014, at 8:42 PM, Ian Lepore <ian at FreeBSD.org> wrote:
>
> > On Sat, 2014-03-01 at 18:01 -0700, Tom Everett wrote:
> >> I'm looking at the crochet code, and I see in freebsd_install_fdt that both
> >> *.dtb and *.dts are supported. However on the source tree it's imx6.dtsi.
> >> What's the difference b/t a dts file and a dtsi file?
> >
> > A .dtsi file is an include file used by .dts files. A .dtb is the
> > binary (compiled) form used by the kernel.
> >
> > So there are several wandboard-something.dts files, each of which
> > includes imx6.dtsi where all the common parts live. For a new imx6
> > device, a new board-named file similar to one of the wandboard files is
> > necessary, and it would also include imx6.dtsi.
>
> As would other boards that use the imx6 SoC. They’d have their own .dts
> file that included the imx6.dsti and customized it for how they are wired
> together.
>
> > We're pushing hard towards just using the standard dtb files from
> > vendors, but we've got a bit of work to do before we're there.
>
> I have some rough changes that allow us to build N different DTBs as part
> of the kernel build, but not glom them into the kernel. Not strictly required
> for this, but helpful.
>
> I’m planning on having Atmel use 100% vendor supplied files as well.
> It is a very good goal. There’s also efforts on the linux side to separate out
> the device-trees from the linux kernel, which is where I grabbed the recent
> /vendor/device-tree stuff from.
>
> Warner
For imx6, the big obstacle to using vendor dtb files is now just the
device instantiation order. The stock dts files list devices basically
in order of their memory-mapped register addresses, but we need the
interrupt controller to be available first regardless of where it's
mapped, and likewise for a few other critical devices.
I need to do another round of experimentation with the
EARLY_DRIVER_MODULE() stuff and multipass device instantiation. We may
not be all that far from success.
-- Ian
More information about the freebsd-arm
mailing list