Finally bringing FreeBSD to Parallella

Thomas Skibo thomasskibo at yahoo.com
Fri Dec 30 19:36:26 UTC 2016


Hello.

Using the GNU dts files for Zynq boards is not as easy as just adding the proper compat strings.  Off the top of my head:

- A range of physical memory must be reserved because it is not accessible by all AXI masters.  This is done in zynq-7000.dtsi right now but maybe it can be done in zy7_machdep.c (?))
- Several peripherals (including mpcore-timers) must derive their reference clock speed automagically from the PS clock speed instead of being specified in each peripheral's device tree entry.
- The ethernet driver needs to be able to change its reference clock in response to media speed changes.  The hack I use for this requires the ethernet’s device tree entry to specify the “unit number" of its reference clock so it can request speed changes from the SLCR block.

It’s kind of on my to-do list to have GNU DTS files working for 12.0 but I haven’t been working on it lately.

Regarding Parallella:

I had FreeBSD booting on Parallella several years ago but I bricked my board and so I stopped updating it.  The Parallella has u-boot in a flash memory but without the API option. Rather than trying to re-flash the u-boot and risk bricking the Parallella (which I eventually did anyway), I packaged a u-boot binary with the proper options in a uImage file so the boot process was FSBL —> U-boot —> U-boot —> ubldr —> FreeBSD.  The uImage file I used is in a tarball at http://www.skibo.net/zedbsd/parallella_freebsd.tgz .

I think it would be better, for now, to use RELEASE-11.0 which has good Zynq support and just come up with a BSD style DTS file for Parallella.  I think the only difference between Parallella and Zedboard is that the SD card is attached to SDHCI1 instead of SDHCI0 and the memory size is larger.  My best guess for a DTS file is attached.

Happy New Year.

—
Thomas Skibo
thomasskibo at yahoo.com


-------------- next part --------------
A non-text attachment was scrubbed...
Name: parallella.dts
Type: application/octet-stream
Size: 2086 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20161230/baf2c93e/attachment.obj>


More information about the freebsd-arm mailing list