I am running stock (unpatched) u-boot and linux with a custom environment and device tree on a Colibri VF50. I am trying to understand how my kernel is picking up the MTD partitioning, as this isn’t defined in the kernel or my device tree, and I am not passing this information through the kernel command line.
I’ve figured out that the partitioning is derived from the u-boot mtdparts command line. First of all, here is /proc/mtd:
I’m failing to find the right documentation, this is clearly part of the hand-off from u-boot to linux.
Is U-boot injecting this information into the DTS? If so presumably it’s somewhere under /sys/firmware/devicetree, and presumably this is documented somewhere?
I’m keen to understand this so I don’t break my system by accident in the future!
So, yes, it is definitely being injected into my in-memory device tree: I find the partitions under /sys/firmware/devicetree/base/soc/aips-bus@40080000/nand@400e0000/nand@0.
So I guess my question reduces to this: which modifications can U-boot make to my device tree, where is this documented, and how do I manage these changes?
On top of the mtd partitioning we add serial number, toradex,product-id and, toradex,board-rev.
Then there are some standard properties which U-Boot patches, among them the mac address, RAM memory layout and others.
Which reference manual do you mean? I’m not finding much reference to the phrase "nand flash boot". I’m guessing BCB is “boot control block”? My best guess as to what you mean by “reference manual” is the “VFxxx Controller Reference Manual” downloadable from here?
I guess I already know what I need to know, which is leave it alone!