Sure, I can explain how that works.

Each i.MX6 based boards contains an FreeScale i.MX6 SoC. The
SoC contains peripherals, for example a few sd card controllers,
and ethernet controller and a lot other devices. On the board itself
you have an Ethernet PHY which is connected to the controller.

This PHY is different for each board which has to be initialized
differently per board.  Also, there’s usually a GPIO reset pin for
it, which is also different for each board.

Therefore, you define in the code which devices each board
contains[0], or how to reset the PHY[1], or even how to initialize
it[2].

x86 uses ACPI, ARMv8 will also use it.  On armv7 there’s no
dynamic way apart from manually defining it or using  theFDT.
FDT is a good way to describe a board, but you need a bunch
of code to make it work in a rather MI way.

This is something one should work on, but as of now there’s no
good FDT support here.

Note that as of now you also have do manually define which
serial which board uses as console.  As OpenBSD does not
support the Utilite, the code will panic quite early saying
„unknown board“.  But as it doesn’t even know how to print
to the console, you won’t see anything at all.

Hope that clears a few things up.

[0] https://github.com/bitrig/bitrig/blob/master/sys/arch/armv7/imx/imx.c#L118
[1] 
https://github.com/bitrig/bitrig/blob/master/sys/arch/armv7/imx/imxenet.c#L238
[2] 
https://github.com/bitrig/bitrig/blob/master/sys/arch/armv7/imx/imxenet.c#L466

> Am 12.10.2014 um 12:05 schrieb cITs <c...@codeintheshell.org>:
> 
> Would you mind sharing the code that "manually defines the board" or at
> least at what level that happens and by what it is caused?
> Is it a drm module or is it a serial?
> 
> Am 12.10.2014 um 10:41 schrieb Patrick Wildt:
>> I have a Utilite, and it works fine here, running a BSD. I don’t know
>> if anything bad happens running whatever Linux they ship.
>> 
>> The images shipped by OpenBSD do not work on the Utilite.  This is
>> because _every_ board currently has to be manually defined in the code.
>> With a few additional code, the Utilite would work as well.
>> 
>> I have been using the machine for a while now, and it’s been a rather
>> stable companion, compiling the src tree and lots of ports.  That said,
>> I have not clocked the machine to the maximum of 1.2GHz, so I can’t
>> tell how it reacts when it’s heated even more.
>> 
>> 
> 


Reply via email to