FreeBSD on Utilite (revisited)

Martin Waschbüsch martin at waschbuesch.de
Tue Mar 1 06:56:22 UTC 2016


> Am 29.02.2016 um 08:49 schrieb Oleksandr Tymoshenko <gonzo at freebsd.org>:
> 
>> 
>> On Feb 28, 2016, at 11:18 PM, Martin Waschbüsch <martin at waschbuesch.de> wrote:
>> 
>> 
>>> Am 29.02.2016 um 07:29 schrieb Russell Haley <russ.haley at gmail.com>:
>>> 
>>> It seems compulab's imx6 som is called the CM-FX6. There are some imx6-cm-fx6 and imx6q-cm-fx6 files in their linux kernel on github?
>>> 
>>>https://github.com/utilite-computer/linux-kernel/tree/utilite/devel/arch/arm/boot/dts
>> 
>> Thank you, Russ.
>> 
>> There already is a dts file for the cm-fx6 in the FreeBSD kernel sources
>> for instance /usr/src/sys/gnu/dts/arm/imx6q-cm-fx6.dts
>> 
>> However, the same is true for the Wandboard
>> /usr/src/sys/gnu/dts/arm/imx6qdl-wandboard.dtsi
>> and yet, Crochet uses the files found under
>> /usr/src/sys/boot/fdt/dts/arm/
> 
> In early days of FDT support number of supported ARM boards was really
> small and people tended to write their own DTS files from the scratch,
> instead of using ones from Linux due to licensing concerns. These
> DTS files were placed to boot/dts/fdt. As number of supported hardware
> grew it became clear that this practice is a dead end, we can't keep
> up with changes provided by vendors. So after some research it was
> concluded that we can bring DTS files from Linux. I don't remember
> exact reasoning but the gist of it: they're not code, they're set 
> of facts about hardware. "Upstream" files were placed to gnu/dts.
> 
> Some of the files in boot/dts/fdt are just wrappers around
> vendor-provided dts/dtsi files, fixing Linux-specific 
> idiosyncrasies or adding new nodes. for instances, there
> is no PRUSS node in Linux DTS for beaglebone, but 
> boot/fdt/dts/arm/beaglebone-common.dtsi adds it.
> 
> You should be able to use .dts file in either directory, build system
> checks boot/fdt first and then gnu/ AFAIR. 

Thanks for that explanation. This makes sense now.

>> 
>> So, I went with the wandboard-quad.dts file from there, seeing as it should be quite similar to my Utilite Pro.
>> So far, no luck. Once the loader slurps in the compiled .dtb, the system hangs with no further sign of activity.
> 
> 
> Check stdout/stderr settings in “chosen” node. Looks like
> imx6q-cm-fx6.dts uses UART4 for serial output while Wandboard 
> quad uses UART0.

That is a valuable piece of information, thanks!

I also noticed that for IMX6 kernel config, ROOTDEV is hardcoded. Maybe I am overlooking something, but why go to all the length of making sure u-boot runs and loads ubldr to have loader capabilities and then not specify the desired rootdev via loader but compile it into the kernel?
Obviously, I do not know if the Wandboard supports it, but the Utilite can boot from either mmc, usb or msata.


More information about the freebsd-arm mailing list