
On 5 Nov 2014, sbabic@denx.de wrote:
Let's see the advantages you are listing here. Of course, if we are comparing to the way was mostly used for i.MXes, it takes advantages. Using only the DCD, most configurations must be decided at compile time. This does not allow to have a single image for multiple boards, for example if a different i.MX6 variant is mounted on the board. And there are a lot of other things that are known only at runtime.
But generally in the U-Boot project was already found solution, that is not only valid for Freescale's i.MXes: SPL. Using SPL, this adds much more flexibility as with plugins. You can program whatever you want, and of course you can add any runtime detection is possible, without intervention of the BOOT ROM. And this is not limited to ddr settzing, clock gating or pinmux setup.
This is not a new approach, and support for SPL was already added to mainline - see the Gateway's ventana board. The different layout of the pinmux is correctly handled. The processor is detected at runtime, making possible to have a single image for several variations of the same board.
I see that plugins are the way found to circumvent the static limitations of the DCD, but it is not a general solution. On the other side, the SPL concept works well on i.MXes as on other SOCs (TIs, Nvidia,...).
This seems true that the SPL is another way to implement the 'plug-in' features as they relate to DCD.
I have not changed my mind and I still think that i.MXes in U-Boot should not be an island in the project. Some general concepts must work for all supported SOCs, including i.MXes. In principle, I tend to reject this patchset, because the same new features you list here are already available with SPL. And I encourage to use SPL for other and new i.MX boards.
I think a portion not taken care of by SPL is 2nd and subsequent image verification. The HAB ROM loader will use the 'plug-in' to initialize and load to alternate media. However, when control returns, I think that the 2nd image is authenticated. In order to do the same in the SPL, you need to restrict the IRAM locations used and make calls to the ROM code or implement some other 2nd image authentication.
For non-secure boots, the SPL seems equivalent. With secondary image verification in the SPL, then I think it would be equivalent to the 'plug-in'. The SPL would be supported in all HAB versions. I don't know if the 'plug-in' is supported with earlier iMx series like the iMx2/3x series using HABv3. So an SPL with image verification seems superior, even for the iMx series by itself.
Fwiw, Bill Pringlemeir.