Hi Everyone,

This discussion of creating device trees especially in the context of
upgrading linux is extremely relevant.  I have experienced my fair of pain
debugging device trees during kernel upgrades, and this pain is a frequent 
topic
at the various Linux conferences.  It is safe to say, this problem is not
unique to SOCFGPAs, but the FPGA can make the pain more acute.

As some background, sopc2dts is an Open Source tool that can help make 
device
trees based on a FPGA designs described in a "sopcinfo" file produced by
Altera design tools.  Sopc2dts predates SOCFPGAs and was created by
Walter Goossen originally for Linux running on Nios-II.  Sopc2dts can
also be used to make device trees for SOCFPGAs, but as many folks have 
pointed out, the output of sopc2dts does not always produce suitable 
device
trees for every version of the Linux kernel.

The SoC Embedded Development Suite (SoCEDS) includes a snapshot of 
sopc2dts and
a set of "board info" files that can be used to create device trees for 
the
the reference designs using the kernel version shipped with that version 
of SoCEDS.  Version 16.0 of SoCEDS shipped with linux-3.10-ltsi.

When upgrading kernels, the process people have described by taking the 
base
device tree found in the kernel version's source tree and merging it with
the FPGA portion of the output to Sopc2dts is a perfectly reasonable work
flow.  Interestingly, this work flow has similarities to using dynamic
device tree overlays in the boot flow.  

With dynamic device tree overlays, Linux could boot using the minimum 
device 
tree to get to user space. Once in user space, one or more overlays could 
be 
applied to the live device tree in order to enable more components on the 
SoC,
program the FPGA, and instantiate necessary drivers for components in the 
FPGA.
I think such a boot flow would be easier to debug and provide substantial 
flexibility to manage the overall boot flow.  I would like to hear what 
other folks think about using dynamic device tree overlays.

Matthew Gerlach
_______________________________________________
Rfi mailing list
[email protected]
http://lists.rocketboards.org/cgi-bin/mailman/listinfo/rfi

Reply via email to