On Thu, 2 Apr 2020 14:18:24 +0200 Stefan Roese <s...@denx.de> wrote: > Hi Moritz, > > On 02.04.20 13:30, Moritz Berghof wrote: > > it's really great that you answered so fast and helpfully, thank you! > > > > It's great you want get the board ported to mainline. Me too. > > > > > > I build the U-boot mainline and uploaded on my espressobin. Used the ATF > > and WTMI from Marvell. > > > > When I start the flashed .bin file, the U-boot crashed at this following > > point. "Synchronous Abort" handler, esr 0x96000210 > > Looks like an issue with SATA - not sure why. You might want to try to > disable SATA / AHCI for testing. > > > Prompt is attached at this mail. > > > > I think there is a problem with the RAM. For example, I build the U-Boot > > for 1 GB RAM with the Marvell U-boot and the mainline/master. Important > > constant is DDR_TOPOLOGY=2 > > > > make DEBUG=0 USE_COHERENT_MEM=0 LOG_LEVEL=20 SECURE=0 > > CLOCKSPRESET=CPU_1000_DDR_800 DDR_TOPOLOGY=2 WTP=... BOOTDEV=SPINOR > > PARTNUM=0 PLAT=a3700 all fip > > > > But when the u-boot mainline starts it promts: > > U-Boot 2020.04-rc3-00188-g350c44dfb9 (Mar 31 2020 - 10:52:01 +0200) > > > > DRAM: 512 MiB > > > > > > The Marvell U-boot promts DRAM: 1 GiB > > > > > > > > So my question is, where do you define the RAM Size? > > Take a look at arch/arm/mach-mvebu/arm64-common.c. Perhaps this code > needs some changes for CONFIG_ARMADA_A3700 similar to what is done > for CONFIG_ARMADA_8K ? > > I suggest you debug in this area a bit to see, where it goes wrong.
There is a register on A3720 which should contain information about how much RAM the system has (0xD0000200 if the device contains only one DDR chip). It is written by the TIM image. I am going to send a patch which uses this register to determine RAM size for Turris Mox. The thing is that without upgrade of TIM header some Moxes may report 1 GB RAM in this register, although they only have 512 MB. So a call to get_ram_size will still be needed. Marek