Is the source code for the boot rom for the VisionFive 2 available?

is it possible to have the datasheet for AXP15060 outside China?

1 Like

There is a very old revision of the document (0.1 2018-04-10) at https://wiki.pine64.org/wiki/STAR64#Datasheets_for_Components_and_Peripherals

2 Likes

states that S7 is actually used for BootROM. (at very bottom of the page). My suspect is that 0x01100000 is start of physical ITIM/DTIM region of S7 core. The TRM hints about that, but probably incomplete, listing only DTIM. 0x01100000 contains function pointers (interrupt vector table?) into main BootROM or CLINT.

SHA256 of my dump from there is be17f6ea8c7d6f7ad6dd6f64e6e4218da5cc81172fe3982a268a6b2b7e446fb2, and it’s same for different board revisions. Somewhere in middle it contains some randomly looking data.

Someone would like to check if S7 is actually executing something.

3 Likes

I think, one has to look such things on the grand scale of things too. Just a small example from the everyday world of politics in my home country Austria: In 2019 we had Corona lockdown and all our human rights kicked with feet. The friends of our government cabinets of first Kurz (discharged dishonorably from office, the first one to happen so in the second republic of Austria) and Nehammer, were emptying the state budget leaving a lot of really needy people die in the dirt and wrecking the public health systems by replacing a good health care system with World War I Lazarett technology. Then came Ukraine and now the government Nehammer has hardened the laws for child abuse, sexual abuse, is permanently reorganising security police and state intelligence, every second day we have a femicide or family massacre in news headlines and still government Nehammer has not resigned and its members are not yet dangling down from ropes in front of the chancellors office. When Nehammer speaks in public, he is barely able to utter a meaningful sentence, much less connecting some words together to build a sentence. Our president Alexander van der Bellen gives his human rights and government critical speeches somewhere in the outskirts aso. This seems quite representative of what is going on here in this discussion about compromised and vermin-infested boot procedure. Like this it happens in all governments around the world nowadays…

Related: Bootloader recovery tool

1 Like

@RcL : waves hand… these are not the firmware sources you are looking for.

This thread is about the boot rom; even lower level than U-Boot and SBI; the first code that runs and loads U-Boot & co. from disk.

1 Like

0x40000000 is the start of DRAM. 0x240000000 is the uncached alias of DRAM. Max supported DRAM size is 8G, as you can see the size between start of DRAM and start of DRAM alias is 8G. This is a trick to avoid keeping flushing caches when talk to some devices who does non-cache-coherent DMA.

I believe we can pretty much rule out any access between 0x40000000 to 0x440000000, because before SPL, DRAM is not yet initialized, and BootROM should not access that.

2 Likes

All have a look at hrv/jhre - Codeberg.org repository I have organized. You can contribute your interpretation of any function at some address. There is a HOWTO getting started guide which describes how to begin with Ghidra. Pull requests are welcome and if you have a Codeberg (non-profit community git server effort) account you are then welcome to be added to the Org and commit directly on the repo. This is a kind of fun puzzle for anyone at any skill level: there are some easy const functions such as 2a0001ec-function-oscillator_frequency_24MHz.c that take only a moment to reason about then fill out.

To the IDA and radare2 experts I do encourage to expand the HOWTO guide with complete descriptions of getting started in these tools as well.

Happy hacking, everyone!

1 Like