January 21, 2025

Antminer S9 board - U-boot - maybe it is time for plan B

Of course we have to first of all figure out what plan B is!! (This ends up being a great idea).

My thinking is as follows:

I shouldn't have to be debugging U-Boot. I used the u-boot-xlnx repository thinking it would be the latest and greatest straight from Xilinx, but that is not proving out well. Maybe they have forgotten about good old Zynq as they work on support for newer silicon. And they aren't (clearly they are not) doing regression testing on support for the old chips. The whole CONFIG_OF_LIST business is a well intentioned pain in the ass, and may well be an unfinished project.

I would like to find an older version that simply uses a different and unique defconfig (and probably device tree) for each board. I am not working with one of the supported boards like a zybo or a zedboard. I have either an EBAZ or an Antminer, and I know these have differences. A notable one is that they use NAND flash on the boards rather than SPI flash like the Zybo and Zedboard do -- so I will want to set up my own configs in any event. Doing this within the CONFIG_OF_LIST scheme will involve me in half finished work and a learning curve. I would rather start with something like a Zybo config and work from there, but it turns out that I have better options. Stay tuned.

What do I have right now, laying around

(1) My first work with U-boot was back in the days of the BBB (beagle board black) which used either omap3_beagle_defconfig or more likely am335x_boneblack_defconfig. I have the source tree I used back then, it is this. Wow! All the way back in 2015.
BBB/u-boot-2015.10-patched
This has files like zynq_zybo_defconfig and zynq_zed_defconfig, which are just what I am looking for. No sign of the cursed xilinx_zynq_virt_defconfig. The Makefile sets version to 2015

(2) My next work was with the Orange Pi, and I have this:

OrangePi/Xulong/u-boot-orangepi
It also has individual defconfig for the zed and zybo, as well as other zynq boards, so this looks more recent than the BBB sources. It even has the cursed xilinx_zynq_virt_defconfig. Dates on files are 2021. The Makefile sets version to 2020. (3) I also have a recent clone of the main U-boot repository:
U-boot/u-boot.Git
This does not have individual defconfig files for zed or zybo. The date in the Makefile is 2022. I do not want this. I have some other source trees also, but they are too recent and are relying on the xilinx_zynq_virt_defconfig file.

What should I use for my plan B?

It is either the BBB sources from 2015 or the Orange Pi sources from 2020. After some contemplation, I decided on the 2020 Orange Pi sources. I made a new copy and got busy. See the next page.
Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org