I have utilized the TI PinMux tool to create all of the necessary functions that I need in my project.
I just cannot seem to get past how to create the .dtb file from the output of the PinMux tool. I have a handful of files that are C defines and such, but no clear path to the dts or dtb file.
I have spend hours looking, and running scripts and pulling down git repos, to find that “my build” which is just the downloaded SDK SDcard image of the Matrix build from TI…
All of the links to the Cloud9 distro are not working, https://github.com/beagleboard/BeagleBoard-DeviceTrees.git for example is not something that works at all. The four files that I have here are ones that are perhaps what I need to use, but I just don’t know where to start.
Thanks in advance.
genericFileFormatIOdelay.txt (922 Bytes)
genericFileFormatPadConf.txt (3.78 KB)
PinmuxConfigSummary.csv (3.99 KB)
devicetree.txt (1 KB)
I do see this base file…
a) is there a user manual for it?
b) after I am done, how to “compile” to a .dtb using the TI SDK build?
am5729-beagleboneai.dts (33.1 KB)
I love the “show-pins” script, but I cannot run that since there is a utf8 mismatch with either perl or whatever is different/dependent on the TI SDK image. The Arago image is just a different animal in so many ways…
That post works great on the normal Cloud9 distro, but not on the TI SDK Matrix image. There are so many changes to the Arago build over the original Cloud9 image that came in flash.
But you did give me an idea – load up the default Cloud9 image, run that and use your referenced post to create my dts and compile the dtb to disk, copy that and then reboot with the TI SDK image, with uEnv pointing to the new dtb board. That might work!
The documentation on the TI site is horrendous, it is out of date, just wrong in spots, etc. For example:
Then, modify “uEnv.txt” on the boot partition (“/run/media/mmcblk0p1” directory on filesystem) to specify fdtfile with the desired dtb file name.
In the image that I have from the latest SDK, uEnv.txt is not on the boot partition, but the second partition /run/media/mmcblk1p1/boot/uEnv.txt. On the raw TI image, that dtb line in uEnv.txt is actually commented out, so whatever the kernel does on boot, is how the pins are defined.
I spent countless hours researching, finding solutions, to find that they are outdated, wrong, don’t work, or not defined well. I don’t know how you all develop in this world, but I am at this point where I have to define the pins correctly, and perhaps, this project is done!
Changing the pinmux can only be done in u-boot this is why the pinmux tool provides nothing for you in the device tree. The Tool will provide generic files that can be used with a perl script located here: https://git.ti.com/cgit/pmt-generic-converter-tool/am57xx_uboot_pin_config/
To change the AM57x pinmux you need to visit this page and follow the steps under “U-Boot” to clone and compile it. Afterwards, edit the file at /board/ti/am57xx/mux_data.h with the output from the perl script.
You can replace it all or edit just the lines you need. Check all the address offsets to make sure you don’t have duplicates.