I would like to ask if anyone of you know what is the difference between the freescale iMX u-boot found in the Freescale i.MX u-boot Tree website here http://git.freescale.com/git/cgit.cgi/imx/uboot-imx.git/?h=imx_v2014.04_3.14.28_1.0.0_ga and imx U-Boot Custodian Tree found in the actual u-boot project repo here git.denx.de Git - u-boot/u-boot-imx.git/summary
I ask this because I'm new to embedded linux and recently I got the UDOO board to experiment and learn and looking into the linux world I understand that u-boot is a generic, or universal, bootloader that can work with several different boards and processors and as such, there is a version of u-boot that works with the UDOO board found here GitHub - UDOOboard/uboot-imx: Das U-Boot for UDOO
In the README for the UDOO u-boot says that it is based on the Freescale's U-Boot (uboot-imx) version 2015.04. and doing some thinking about this topic of u-boot I realized that all u-boot versions for all the boards out there have to have their roots, I mean their origin, at the same u-boot "generic" project right?
Now, searching on the U-Boot project I found that there is a fork of u-boot for the i.MX called "imx U-Boot Custodian Tree" in the original project site, BUT there is the freescale public git repo that has a u-boot version for the i.MX. This is confusing because for instance if I would create my own board with an i.MX processor which repo should I be cloning, the one in the freescale repo or the one from the u-boot site?
I think that I should need to clone the one in the freescale repo but why is there a iMX fork in the u-boot site? what is this for? Also understanding this will help me to understand and see all the changes made to the u-boot to adapt it for i.MX6 processors and therefore understand better how this is made in order to successfully "adapt" u-boot for other boards.
And the reason why this is important is because number one, is not good practice, at least to me, just take something and use it without knowing exactly what and why I'm doing it, and second, because in the future I may need to add, remove, or modify something in u-boot to tailor it for a specific project or board.
I already cloned the iMX uboot custodian tree (git://git.denx.de/u-boot-imx.git), the freescale i.MX git repo (uboot-imx.git - Freescale i.MX u-boot Tree) and the generic u-boot project (http://git.denx.de/u-boot.git) these three should have one ancestor in common right? What branches should I need to checkout in every repository in order to come clean in a beyond compare between them?
Thanks for helping!!