Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Nov 2012 23:46:27 -0800
From:      Oleksandr Tymoshenko <gonzo@bluezbox.com>
To:        Tim Kientzle <kientzle@freebsd.org>
Cc:        FreeBSD Hackers <hackers@freebsd.org>, Alexander Yerenkow <yerenkow@gmail.com>
Subject:   Re: FreeBSD on RaspberryPi
Message-ID:  <C706651B-ABBE-4CEC-96D9-A5214BFEC11D@bluezbox.com>
In-Reply-To: <EBE2570F-E57F-42F7-A7A5-5291E8CD81F1@freebsd.org>
References:  <31C904E6-F230-4187-AE32-F9A7B1A7C38E@freebsd.org> <CAPJF9w=-pgVsz3JkKcwq7ZRYUNKUdFdEvU0fZZzZrVxTRpLW3w@mail.gmail.com> <4A5E03E5-3295-4FD4-9A06-7D1C4E9E0C12@freebsd.org> <CAPJF9wk%2B_5F4PAu8bK6A=Lfup6Qi_5OUJOqWfcJRKLJmeGSqGg@mail.gmail.com> <B11C8BD8-1F6B-4300-9BC9-77CD81F9670E@freebsd.org> <CAPJF9wnk6qqAA3F69CokRrHOsAotbUDtQPOiZ=EuhO7ZfM2y0Q@mail.gmail.com> <EFED5426-7DF7-41DA-82B1-6FEAB21EA098@freebsd.org> <9E4DA920-BE72-4AA0-8159-43205CDEF5CD@bluezbox.com> <EBE2570F-E57F-42F7-A7A5-5291E8CD81F1@freebsd.org>

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

On 2012-11-25, at 9:32 AM, Tim Kientzle <kientzle@freebsd.org> wrote:

>=20
> On Nov 24, 2012, at 8:01 PM, Oleksandr Tymoshenko wrote:
>=20
>>=20
>> On 2012-11-24, at 4:47 PM, Tim Kientzle <kientzle@freebsd.org> wrote:
>>=20
>>=20

.. skipped ..

>> Tim,
>>=20
>> I'm almost done with getting kernel working with latest raspberry Pi =
firmware. Just need
>> to figure out how to make ubldr pass FDT pointer from u-boot to =
kernel and handle=20
>> /reserve/ information in ARM machdep code.=20
>=20
> Let me know if you need help with this.  I've worked with
> the ubldr FDT code recently.
>=20
>> Meanwhile I suggest editing .dts file manually. Fill out "display" =
node properties with proper
>> display resolution and depth. Also add ukbd driver. That should get =
you working console.
>=20
> I'll try that.
>=20
> I'm curious:  why is this information coming from the DTS?
> That seems pretty complex; I thought that the
> console code would query this information via the mailbox
> interface.


It's either FDT blob or message box interface. Implementation complexity =
is about the same.
But since we're getting other variables (like MAC address, memory size) =
from FDT I decided
to be consistent and get all of them from there. The issue I'm facing is =
that ubldr gets FDT blob
either from file directly or from ELF kernel itself. While on Raspberry =
Pi to works as follows:

- Firmware loads .dtb file from SD card to specified address
- Fixes up values like amount of memory, reserved regions, UART and =
clock frequencies,=20
   MAC address, display resolution.
- Passes control to next link in boot chain (e.g. U-Boot)

I'm thinking about adding compile-time constant FDT_BLOB_ADDRESS and =
arrange possible
FDT sources in following priority:

- Check FDT_BLOB_ADDRESS (if defined)
- Check dtb file
- Check ELF kernel

Does it sound sane enough?=20=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C706651B-ABBE-4CEC-96D9-A5214BFEC11D>