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: > > On Nov 24, 2012, at 8:01 PM, Oleksandr Tymoshenko wrote: > >> >> On 2012-11-24, at 4:47 PM, Tim Kientzle <kientzle@freebsd.org> wrote: >> >> .. skipped .. >> Tim, >> >> 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 >> /reserve/ information in ARM machdep code. > > Let me know if you need help with this. I've worked with > the ubldr FDT code recently. > >> 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. > > I'll try that. > > 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, 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?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C706651B-ABBE-4CEC-96D9-A5214BFEC11D>
